Jedním ze způsobů by bylo použití 'kalendářní tabulky', nebo pokud vás zajímá jen jeden den, 'hodinová tabulka' by stačila. Následující text ilustruje (přibližně), jak byste jej použili.
SELECT clock.time AS available
FROM clock
LEFT JOIN bookings ON clock.time BETWEEN bookings.from AND bookings.to
AND bookings.date = '2013-01-01'
WHERE bookings.id IS NULL
http://www.brianshowalter.com/calendar_tables je příkladem toho, jak vytvořit kalendář v MySQL