Запуск Telegram-бота для записи на автомойку требует точного распределения ресурсов. Если клиент приезжает на кроссовер, а бокс рассчитан только на компактные машины, администратор тратит время на перенос записи. Разберем, как реализовать выбор конкретного бокса и отправку напоминаний без сбоев в расписании.
Допустим, администратор автомойки открывает Telegram-бота, чтобы протестировать сценарий записи. Он нажимает кнопку «Записаться», выбирает «Бокс №2 (Легковой)» на 14:00 и подтверждает слот. Бот присылает карточку бронирования, а в базе данных этот слот помечается как занятый.
Сравнение вариантов логики записи
Вариант 1: Автоматическое распределение
Бот запрашивает только время и тип мойки, после чего назначает первый попавшийся свободный бокс.
- Критерии: быстрая разработка, меньше шагов для клиента в чате.
- Ограничения: клиент на большой машине может занять бокс с ограничением по высоте, что создаст очередь на въезде.
- Цена ошибки: администратору приходится вручную менять боксы в таблице и звонить клиентам.
Вариант 2: Ручной выбор бокса с учетом габаритов
Бот показывает список свободных боксов с привязкой к параметрам (например, «Бокс №1 — с подъемником», «Бокс №2 — стандарт»).
- Критерии: прозрачное расписание, меньше отмен на месте.
- Ограничения: интерфейс бота длиннее на один экран.
- Цена ошибки: если в базе данных не обновится статус при одновременном клике двух пользователей, возникнет двойная бронь.
Техническая реализация напоминаний
Для отправки сообщения ровно за 120 минут до визита используется связка логики слотов и планировщика задач. Настройка логики происходит через привязку конкретной кнопки к идентификатору бокса в базе данных и запуск отложенной задачи на отправку текста.
Ограничение этого решения: подход подходит только для автомоек с фиксированным количеством боксов и регламентированным временем услуг. При живой очереди с плавающим временем прибытия жесткие слоты вызовут путаницу.
Способ проверки сценария
Отправьте тестовую заявку через интерфейс бота. Если после выбора бокса пришло подтверждение с точным временем, а спустя рассчитанное время поступило напоминание — сценарий работает корректно. Если бот прислал напоминание, но слот в таблице остался свободным, проверьте связку базы данных с планировщиком задач и корректность часового пояса на сервере. Перед запуском на реальных клиентов пройдите этот путь трижды с разных аккаунтов.