Can't start appointments at hourly increments

I have a facility that can be booked for 1, 2, 3, or 4 hours. It is open from 10am - 6pm. I want people to be able to start their booking at any hour. So someone should be able to book a 2 hour appointment starting at 11am if they wish. However, the system doesn't show 11am as a start time if you select a 2-hour booking. It only shows 10, 12, 14, 16:00 as the start time for 2-hour bookings. If I choose a 3-hour booking, it shows start times 10:00 and 13:00 only. If I choose a 4-hour booking, it shows 10:00 and 14:00 only. The system appears to set the start times based on the duration of booking, not on the hours that are open/available.

How can I set things so that I can start the booking at any hourly interval (that has enough availability to accommodate the booking) instead of staggering the start times based on the duration of the appointment?

For example:
Sally can book a 1-hour appointment at 10am (10-11am)
Bob should be able to start his 2 hour booking at 11am (11am - 1pm)
Ginger can book her 4-hour appointment starting at 1pm (1-5pm)
Walter can book a 1-hour appointment starting at 5pm (5-6pm)
Thus the day would be full.