Для этого предназначены транзакции. Ваш код бронирования должен НАЧАТЬ транзакцию, подтвердить, что время доступно, используя SELECT, и, если оно доступно, ВСТАВИТЬ или ОБНОВИТЬ базу данных, чтобы сделать резервирование, наконец, ПРИНЯТЬ транзакцию.
Если время недоступно, либо НЕ ВСТАВЛЯЙТЕ, НЕ ОБНОВЛЯЙТЕ базу данных, чтобы сделать резервирование, или ОТМЕНА транзакции.