Во-первых, вам нужно добавить время создания в ваши заказы, иначе у вас не будет возможности различить заказы, созданные три дня назад, и заказы, созданные три миллисекунды назад.
Во-вторых, поймите, что не будет никаких негативных последствий для производительности, если даже несколько сотен неиспользуемых строк в базе данных будут, поэтому это скорее процесс "поддержания чистоты базы данных", чем ситуация "удалить неиспользуемые строки как можно скорее".
Это означает, что вы можете запускать процесс в фиксированное время (например, каждую ночь), который выполняет запрос, подобный следующему:
DELETE FROM booking WHERE datetime = 0
AND create_time < NOW() - INTERVAL 24 HOUR
Добавление индекса на datetime
сделает этот запрос молниеносным независимо от того, сколько действительных бронирований окажется в этой таблице.