This is a great point! And in the class of problems I was trying to illustrate. There's a lot of low hanging fruit here. We're programmers, we should be able to take our frustrations and turn them into solutions! If we're not, then we're doing something wrong lol.
FWIW, in Apple Calendar there is an option for "Travel Time". This will prepend the event with some buffer value. When looking at the event on my calendar, in my iPhone, and ONLY in my iPhone there is a little : (vertical dots + car) symbol and saying (e.g.) "15 minutes travel time", while the event has a vertical continuous bar next to it. On my Macbook, the whole event is just expanded.[0]
My pet peeve: dramatically differing interfaces between devices. I do understand that at times this must happen. But there's no reason for it to in this case. But worse than that, when CREATING a new event on my Macbook it is just so much clunker. I don't see "Starts" and "Ends" until I click on the time, where it instead expands. Then I can see the "travel time" option (in iPhone it is "Travel Time") and if I click the end time I can only select from a pre-determined time of 30min to 3hrs with 30 minute intervals. If I select "starts" I don't get this. In both cases I can __type__ the actual numbers in.
[0] Update: while writing this comment, my macbook's calendar updated to show the vertical dots but does not include the little car nor the text (again with continuous vertical bar under actual event). Why did this take so long? "Just works" my ass. Arch linux has been more stable than trying to live by the Apple way.