30 секунд на бронь: автоматизировали бронирование столов в «1С:Ресторан» через Telegram-бот

Всем компаниям 1С:Ресторан
Заказчик Заключено соглашение о неразглашении (NDA). Развлекательный клуб с VR, игровыми приставками и банкетным залом
Задача Настроить «1С:Ресторан», доработать таймеры бронирования и создать Telegram-бот для онлайн-записи
Результат Гости бронируют место за 30 секунд через Telegram. Администратор больше не обрабатывает заявки вручную — бот и 1С делают это автоматически

Ситуация

Заказчик открывал новый развлекательный клуб. В помещении несколько залов: в одном бронируют VR-очки, PlayStation и гоночные рули, в другом — банкетном — отмечают дни рождения. Там же можно заказать еду и напитки.

Для управления клубом заказчик приобрел «1С:Ресторан» — конфигурацию не самую распространенную, но адаптированную под общепит. У нее есть фронт-офис для сенсорных экранов: администратор видит схему зала, бронирует столы, выбивает чеки. 

Проблема была в том, что конфигурацию поставили в голом виде и без настройки работать с ней было сложно. Например, бронирование в «1С:Ресторан» формально существовало, но на практике оказалось неудобным. Можно было забронировать стол, а вот указать, на сколько часов и гостей — нет. Не было таймеров, не было отрисовки помещений. 

Запускать бизнес без настроенной учетной программы — это риск получить путаницу, двойные бронирования и недовольных посетителей. Чтобы предотвратить проблемы на старте, заказчик обратился к нам.

Задача

Заказчик пришел с тремя задачами: 

  1. Настроить «1С:Ресторан»: отрисовать помещения и столы во фронт-офисе, заполнить справочники. 

  2. Доработать систему бронирования, добавить таймеры: чтобы стол блокировался перед приходом гостя и освобождался, если гость не явился. 

  3. Дополнительно — создать Telegram-бот, через который клиенты смогут бронировать места самостоятельно, без звонков администратору.

Решение

Мы внимательно изучили конфигурацию «1С:Ресторан». Система была непривычной: она похожа на 1С:УНФ с интерфейсом для сенсорных экранов. После изучения стало понятно, что базовая настройка и реализация таймеров будет быстрой. А вот с Telegram-ботом оказалось наоборот: он выглядел простой задачкой, но по итогу занял 90% всего времени проекта.

Настроили «1С:Ресторан» и отрисовали залы

Первым делом разобрались с конфигурацией и настроили справочники: помещения, столы, категории. Игровой зал получил свою отрисовку во фронт-офисе — VR-очки и рули отображаются как отдельные столы с понятными подписями. Администратор видит на экране цветную схему зала и может управлять заказами. 

Схема отрисовки игрового зала во фронт-офисе

Создали Telegram-бот с интерактивным календарем

Целевая аудитория клуба — молодые люди, и заказчик справедливо рассудил, что им удобнее бронировать столы через мессенджер, а не по телефону. Бота реализовали на Python с использованием фреймворка aiogram.

Подробнее о технической стороне создания бота и интеграции с 1С рассказали в статье Автоматизация бронирования столов в ресторане: Telegram бот с интерактивным выбором даты и времени, интеграция через HTTP сервис 1С

Сценарий бронирования выглядит так:

  1. Гость нажимает Start и выбирает категорию: VR, PlayStation или Праздник.

  2. Бот показывает интерактивный календарь на текущий и следующий месяц. Даты, на которые нет свободных мест, недоступны. После выбора даты — кнопки со свободными временными слотами (шаг 30 минут).

  3. Гость выбирает время и получает подтверждение. Бронь попадает в 1С, стол блокируется.

Решили проблему интеграции без статического IP

Главная техническая сложность проекта — связать Telegram-бот с 1С без статического IP-адреса. Обычно в таких случаях 1С публикуют как веб-сервис, но у заказчика не было возможности получить статический IP-адрес и настроить отдельный сервер под эту задачу.

Мы нашли обходное решение: установили Telegram-бот прямо на компьютер заказчика, в одну локальную сеть с 1С. Внутри 1С подняли HTTP-сервис, который каждые пять секунд опрашивает бота — забирает новые заявки и отправляет ответы. Бот выступает в роли промежуточного хранилища: принимает заявки от пользователей, держит их в оперативной памяти и отдает при следующем запросе от 1С.

Такая архитектура дала скорость, близкую к реальному времени. Пользователю приходится подождать несколько секунд, но это приемлемо — и точно быстрее, чем дозваниваться до администратора.

Реализовали таймеры бронирования

Дальше мы добавили регистр сведений для хранения броней и реализовали два таймера. Первый — предварительная блокировка: за 30 минут до начала брони стол становится неактивным во фронт-офисе. Администратор видит, что стол забронирован, и не сажает за него случайного гостя. 

Второй — автоматическое освобождение: если гость не пришел и чек не открыт в течение 15 минут после начала брони, стол возвращается в свободные. Это упрощает работу администратора: он видит заранее, к какому столу скоро придет гость, и спокойно готовит игровую зону — освобождает место и проверяет оборудование.

Схема интерфейса бронирования столов в программе администратора

Непредвиденные трудности

Первоначально мы предложили заказчику текстовый вариант бота: гость вводит дату и время вручную, бот проверяет доступность и отвечает. Решение простое в реализации, но заказчика оно не устроило — слишком медленный сценарий для пользователя, слишком много шагов. 

Согласование интерфейса потребовало дополнительных итераций: обсуждали вид кнопок, логику календаря, формулировки сообщений.

Отдельно пришлось продумать сценарий одновременного бронирования: что произойдет, если два человека забронируют один и тот же слот, пока обмен данными с 1С еще не завершился. Реализовали механизм проверки на стороне 1С. Если бот принял две заявки, 1С подтвердит только первую, а второму гостю предложит следующее свободное время.


Результат

Без нашей доработки администратору пришлось бы одновременно принимать звонки, искать в бумажном журнале свободное время — и параллельно обслуживать гостей в зале. 

Теперь посетитель открывает Telegram-бот, за 30 секунд выбирает категорию, дату и время — и получает подтверждение. Бронь автоматически появляется во фронт-офисе 1С. Администратор видит на экране, какой стол забронирован, и готовится к приходу гостя.

В планах — добавить возможность отмены брони прямо в боте и подключить программу лояльности с накоплением баллов.

Длительность. Задача заняла один месяц.

Команда. С нашей стороны работали 2 специалиста: консультант и разработчик 1С. Со стороны заказчика работу курировал управляющий клубом — формулировал требования, согласовывал интерфейс, принимал результат.

Многие проекты
под соглашением о неразглашении (NDA),
поэтому вы можете оставить заявку,
и мы расскажем чуть больше

Услуги

2015
Год основания компании
150+
Специалистов в штате
650+
Клиентов, которым мы помогли
950+
Реализованных проектов

Нам доверяют

Все клиенты
Все клиенты
Нужна помощь, но не знаете, с чего начать?

Напиште нам - мы поможем. Выслушаем Ваши задачи для бизнеса и подберём вариант развития

Лидия Алимова
Руководитель отдела продаж implecs
Иконка стрелки вверх