Set a start time and then allow the user to select a duration from a list of predefined options; say 15mins, 30 mins, 45 mins.

The end time would be a calculated field based on the start time plus duration (+ a break of 15 mins to avoid back to back bookings).

This is a solution i'd be interested in.