Telegram-бот для брони столов в баре
Задача:
Автоматизировать процесс бронирования столов для бара «KVARTAL 29» (г. Архангельск), исключить накладки по датам, организовать проверку оплаты (депозитов) и работу менеджера в Telegram.
Что сделано и функционал:
1. Динамический выбор даты: Бот автоматически рассчитывает ближайшие рабочие дни (Пятница/Суббота) с учетом часовых поясов и праздников.
2. Интерактивная карта зон: Выбор локации — внутри бара или во дворе. Для каждой зоны бот отправляет актуальную схему/план рассадки.
3. Бронирование с медиа-превью: По каждому столу выводится категория, стоимость/депозит, правила бара и видеообзор конкретного столика.
4. Прием чеков и FSM: Клиент отправляет фото скриншота оплаты. Бот фиксирует заявку через машины состояний (FSM) и передает чек на проверку.
5. Админ-панель менеджера: В отдельный чат поступает заявка с фото чека и кнопками «Подтвердить», «Отклонить», «Снять бронь». При нажатии менеджер меняет статус в БД, а бот мгновенно уведомляет клиента.
6. Защита от овербукинга: Занятые столы автоматически блокируются в реальном времени на основе статусов в базе данных.
Стек технологий:
• Python 3.11+, Aiogram 3 (CallbackData, Router, FSM)
• Асинхронная СУБД SQLite (aiosqlite)
• Модульная архитектура с обработкой часовых поясов (zoneinfo)