Насколько точными должны быть уведомления, чтобы быть?
Если вы просто хотите, например, чтобы уведомление было в 13:00 дня, вы можете использовать простой cron для запуска каждый день в 12: 50 (в зависимости от настроек).
Если вы хотите, чтобы уведомление было за 12 часов до дня, в зависимости от забронированного времени, например, заказ сделан в 20:00 10.10.2020, уведомление отправляется в 08: 00 09.10.2020, вы можете настроить свой cron на запуск каждые 5 минут (опять же в зависимости от вашей рабочей нагрузки) и отправлять ему уведомления за этот период времени.
Если вы хотите получать точные уведомления, я бы рекомендовал использовать внешний инструмент для задания, например, RabbitMQ с плагином Delayed Messages.
Если вышеприведенное не является опцией, вы можете использовать скрипт «всегда включен», который проверяет изменения каждую секунду.