30 секунд на бронь: автоматизировали бронирование столов в 1С:Ресторан через Telegram-бот
| Заказчик | Заключено соглашение о неразглашении (NDA). Развлекательный клуб с VR, игровыми приставками и банкетным залом |
|---|---|
| Задача | Настроить «1С:Ресторан», доработать таймеры бронирования и создать Telegram-бот для онлайн-записи |
| Результат | Гости бронируют место за 30 секунд через Telegram. Администратор больше не обрабатывает заявки вручную — бот и 1С делают это автоматически |
Ситуация
Заказчик открывал новый развлекательный клуб. В помещении несколько залов: в одном бронируют VR-очки, PlayStation и гоночные рули, в другом — банкетном — отмечают дни рождения. Там же можно заказать еду и напитки.
Для управления клубом заказчик приобрел 1С:Ресторан — конфигурацию не самую распространенную, но адаптированную под общепит. У нее есть фронт-офис для сенсорных экранов: администратор видит схему зала, бронирует столы, выбивает чеки.
Проблема была в том, что конфигурацию поставили в голом виде и без настройки работать с ней было сложно. Например, бронирование в 1С:Ресторан формально существовало, но на практике оказалось неудобным. Можно было забронировать стол, а вот указать, на сколько часов и гостей — нет. Не было таймеров, не было отрисовки помещений.
Запускать бизнес без настроенной учетной программы — это риск получить путаницу, двойные бронирования и недовольных посетителей. Чтобы предотвратить проблемы на старте, заказчик обратился к нам.
Задача
Заказчик пришел с тремя задачами:
-
Настроить 1С:Ресторан: отрисовать помещения и столы во фронт-офисе, заполнить справочники.
-
Доработать систему бронирования, добавить таймеры: чтобы стол блокировался перед приходом гостя и освобождался, если гость не явился.
-
Дополнительно — создать Telegram-бот, через который клиенты смогут бронировать места самостоятельно, без звонков администратору.
Решение
Мы внимательно изучили конфигурацию 1С:Ресторан. Система была непривычной: она похожа на 1С:УНФ с интерфейсом для сенсорных экранов. После изучения стало понятно, что базовая настройка и реализация таймеров будет быстрой. А вот с Telegram-ботом оказалось наоборот: он выглядел простой задачкой, но по итогу занял 90% всего времени проекта.
Настроили 1С:Ресторан и отрисовали залы
Первым делом разобрались с конфигурацией и настроили справочники: помещения, столы, категории. Игровой зал получил свою отрисовку во фронт-офисе — VR-очки и рули отображаются как отдельные столы с понятными подписями. Администратор видит на экране цветную схему зала и может управлять заказами.
Создали Telegram-бот с интерактивным календарем
Целевая аудитория клуба — молодые люди, и заказчик справедливо рассудил, что им удобнее бронировать столы через мессенджер, а не по телефону. Бота реализовали на Python с использованием фреймворка aiogram.
Подробнее о технической стороне создания бота и интеграции с 1С рассказали в статье Автоматизация бронирования столов в ресторане: Telegram бот с интерактивным выбором даты и времени, интеграция через HTTP сервис 1С
Сценарий бронирования выглядит так:
-
Гость нажимает Start и выбирает категорию: VR, PlayStation или Праздник.
-
Бот показывает интерактивный календарь на текущий и следующий месяц. Даты, на которые нет свободных мест, недоступны. После выбора даты — кнопки со свободными временными слотами (шаг 30 минут).
-
Гость выбирает время и получает подтверждение. Бронь попадает в 1С, стол блокируется.
Решили проблему интеграции без статического IP
Главная техническая сложность проекта — связать Telegram-бот с 1С без статического IP-адреса. Обычно в таких случаях 1С публикуют как веб-сервис, но у заказчика не было возможности получить статический IP-адрес и настроить отдельный сервер под эту задачу.
Мы нашли обходное решение: установили Telegram-бот прямо на компьютер заказчика, в одну локальную сеть с 1С. Внутри 1С подняли HTTP-сервис, который каждые пять секунд опрашивает бота — забирает новые заявки и отправляет ответы. Бот выступает в роли промежуточного хранилища: принимает заявки от пользователей, держит их в оперативной памяти и отдает при следующем запросе от 1С.
Такая архитектура дала скорость, близкую к реальному времени. Пользователю приходится подождать несколько секунд, но это приемлемо — и точно быстрее, чем дозваниваться до администратора.
Реализовали таймеры бронирования
Дальше мы добавили регистр сведений для хранения броней и реализовали два таймера. Первый — предварительная блокировка: за 30 минут до начала брони стол становится неактивным во фронт-офисе. Администратор видит, что стол забронирован, и не сажает за него случайного гостя.
Второй — автоматическое освобождение: если гость не пришел и чек не открыт в течение 15 минут после начала брони, стол возвращается в свободные. Это упрощает работу администратора: он видит заранее, к какому столу скоро придет гость, и спокойно готовит игровую зону — освобождает место и проверяет оборудование.
Непредвиденные трудности
Первоначально мы предложили заказчику текстовый вариант бота: гость вводит дату и время вручную, бот проверяет доступность и отвечает. Решение простое в реализации, но заказчика оно не устроило — слишком медленный сценарий для пользователя, слишком много шагов.
Согласование интерфейса потребовало дополнительных итераций: обсуждали вид кнопок, логику календаря, формулировки сообщений.
Отдельно пришлось продумать сценарий одновременного бронирования: что произойдет, если два человека забронируют один и тот же слот, пока обмен данными с 1С еще не завершился. Реализовали механизм проверки на стороне 1С. Если бот принял две заявки, 1С подтвердит только первую, а второму гостю предложит следующее свободное время.
Результат
Без нашей доработки администратору пришлось бы одновременно принимать звонки, искать в бумажном журнале свободное время — и параллельно обслуживать гостей в зале.
Теперь посетитель открывает Telegram-бот, за 30 секунд выбирает категорию, дату и время — и получает подтверждение. Бронь автоматически появляется во фронт-офисе 1С. Администратор видит на экране, какой стол забронирован, и готовится к приходу гостя.
В планах — добавить возможность отмены брони прямо в боте и подключить программу лояльности с накоплением баллов.
Длительность. Задача заняла один месяц.
Команда. С нашей стороны работали 2 специалиста: консультант и разработчик 1С. Со стороны заказчика работу курировал управляющий клубом — формулировал требования, согласовывал интерфейс, принимал результат.
под соглашением о неразглашении (NDA),
поэтому вы можете оставить заявку,
и мы расскажем чуть больше
Услуги
Внедрение и переходы
Внедряем конфигурации, исправляем ошибки, настраиваем обмены с внешними системами
Доработка 1С
Автоматизируем рабочие процессы под требования бизнеса
Усиление команды 1С
Подключаем специалистов 1С на нужное количество часов. Вы управляете ими, как своими сотрудниками
Обслуживание 1С
Для стабильной работы информационной системы предприятия
Сопровождение 1С:ИТС
Комплексная поддержка пользователей программ "1С:Предприятие"
Разработка и сопровождение 1С
Оцениваем и выполняем задачи с техзаданием или без него
Битрикс разработчики