I am building a solution to manage the booking calendar of a very active 700-seat rental venue.
The product we sell is time.
One app (named "Rental Periods") contains the critical timing components of each reservation - namely, date, exact start time of each rental, and exact end time.
There could be more than one rental reservation on the same day, but there is only one venue.
QUESTION: How do I prevent users from accidentally booking a newly reserved time range which overlaps with any part of a time range already reserved (sold) to another rental client?