Запуск скрипта по команде через определенное время?
Пиши время в базу и крон запускай каждую минуту.
Крон смотрит время заказа 12:00 и если текущее время 12:10 а оплаты нет то убирает бронь (какое вам нужно время не известно но предположим 10 мин ожидание). Если крон запустил файл а (текущее время) - (время заказа) < 10 то ничего не делает.
Что мешает сделать так:
Человек написал боту, совершил бронь.
В PHP пишете echo 'ok' (или что там надо для корректного ответа) и прописываете - fastcgi_finish_request();, потом пишите код:sleep(600); //600 секунд / 60 = 10 минут (время ожидания)
// * тут код с проверкой, была совершена оплата, или нет *
Минус решения в том, что процесс будет висеть в системе 10 минут + время выполнения и отдача ответа (при грамотной оптимизации кода это 1-3 секунды максимум), но нагрузки он не создаст, так как он попросту будет спать все эти 10 минут.