что касается относительно ботов - ответил
hint000 , что касаемо брони, у вас например в бд есть таблица покупок, так создайте подобную но для брони, и покупки проводите, проверяя наличие минус суммарный бронь по товару (для мгновенных покупателей), или по броню, для тех кто забронировал, в таблице также поставьте дату окончания брони (начало не важно как мне кажется), и запускайте крон, для проверки брони. если время брони истекло, обнуляеете. не истекло, оставляете.