Ideally, IMO, bookings would work like this:
Configured for 15 minutes buffer time before AND after meetings. This give me time to prepare for the next meeting or get to my next appointment.
A customer opens my bookings page and wants to book a 1 hour appointment. Bookings only shows time slots where there is 1 hour 30 minutes available. This provides for 15 minutes before, 1 hour meeting, then 15 minutes after. The meeting time selected is what shows up on my calendar, not 15 minutes before (ie the 15 minute buffer before meetings). The meeting time is 1 hour only so the calendar event does not include the buffer time before or after the meeting.
Everyone has different needs and schedules. This simple change in the logic would fit most people. Another suggestion would be to have user-configurable fixed time slots. For example, 8-9am, 9:30-10:30am, 11am-noon, etc.