Наименование организации:
ООО «Мой Софт»
40702810310000021416
Расчетный счет:
АО «ТИНЬКОФФ БАНК»
Банк:
044525974
БИК:
781101001
Корреспондентский счет:
7811616280
ИНН:
781101001
КПП:
1167847299410
ОГРН:
ОКПО:
03614300
Бесщетников Антон Игоревич
Генеральный директор:
192019, г. Санкт-Петербург, ул. Мельничная, д. 18, литер А, пом. 18-H 10, оф. 805
Юридический адрес:
Почтовый адрес:
192019, г. Санкт-Петербург, а/я 2
Реквизиты компании ООО «Мой Софт»
По нишам

Чат-бот для доставки еды: приём заказов в мессенджере

Как настроить ИИ-агента для кафе и ресторана: меню, стоп-лист, оплата и уведомления менеджеру. Схемы с таблицами, Telegram-кнопками и платёжными системами.

Команда платформы СаввиОбновлено 15 сентября 20266 мин чтения
Интерфейс чат-бота на экране телефона с меню ресторана и кнопкой оформления заказа
Коротко

Чат-бот для доставки еды получает меню из Google-таблицы, показывает стоп-лист, запрашивает адрес через геолокацию в Telegram, принимает оплату через ЮKassa и отправляет уведомление менеджеру в мессенджер. Всё работает в одном чате без переходов на сторонние сайты.

Пятничный вечер, восемь часов. Ресторан завален звонками — люди спешат заказать еду на выходные. Половина звонков вообще не доходит: линии заняты. Вторая половина: люди дождались, но попадают на стандартный допрос. Есть ли доставка в район? Какова стоимость? До какого времени можно заказать? Менеджер отвечает одно и то же сотый раз за смену. Приход в кассу теряется в этом шуме. ИИ-агент берёт это на себя — обрабатывает сотню заказов одновременно, сообщает, какие блюда закончились, уточняет адрес и скидывает ссылку на оплату. Менеджер смотрит в мессенджер и видит готовый заказ: адрес, сумму, контакты.

Как подключить таблицу с меню и стоп-листом

Меню нужно где-то хранить, откуда агент его достанет. Таблица — хороший выбор. Google-таблица обновляется раз в 1440 минут (то есть раз в день) по умолчанию, и этого хватает для статичного меню. Блюдо кончилось среди дня — вы его помечаете прямо в таблице, и агент вызывает функцию получения данных, видит изменение, сообщает клиенту, что позиция временно недоступна.

Проверьте на своих диалогах.Регистрация без карты, 500 ₽ на тест по промокоду BLOG500

Собрать агента

Таблица содержит столбцы — название блюда, цена, описание, категория (закуски, основное, напитки), статус доступности (1 = в наличии, 0 = нет). Агент берёт эту информацию и вплетает в диалог: показывает, что есть, скрывает недоступное, подсчитывает сумму.

Пример инструкции для функции: Перед началом покажи клиенту меню из таблицы menu, исключив строки, где статус = 0. Если клиент указал напиток, вызови функцию get_menu_item("название блюда") и передай цену в переменную price.

Технически это одна функция — название типа table, аргументы для фильтра. Функция вызывается, таблица отдаёт строки, агент их обрабатывает. Если вы часто обновляете стоп-лист прямо в гугл-таблице, можно уменьшить интервал до 30 минут. Платформа это не рекомендует как норму, но на практике система справляется.

!
Важно: запасные копии

Google-таблицу лучше дублировать локально на случай, если доступ оборвётся. Закачайте Excel-копию в базу знаний агента как вложение на слабый поиск — это подстраховка.

Зона доставки и запрос адреса через геолокацию

Распространённая ошибка — взять адрес текстом. Человек пишет расплывчато, ошибается в названии улицы, и водитель потом звонит уточнять. Лучше сразу запросить координаты.

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

Сценарий работает так:

  1. Агент спрашивает: Отправьте свой адрес через кнопку ниже.
  2. В Telegram срабатывает действие «Кнопки в Telegram» типа «Запрос местоположения».
  3. Клиент кликает один раз и отправляет координаты. Агент получает их в переменную {customer_location}.
  4. Агент проверяет координаты против своей зоны доставки — это может быть таблица полигонов или вызов API геосервиса.
  5. Если доставка возможна — агент напоминает стоимость. Если нет, предлагает самовывоз.

Адрес сохраняется с остальными данными заказа. Менеджер видит точку клиента на карте.

Время готовности и часы работы кухни

Клиент обязательно спросит: А когда мне привезут? Ответ должен быть конкретный. Время готовки зависит от того, что заказано, и есть ли очередь.

Через расписание агента установите часовой пояс и режим: с 11:00 до 23:00 принимаются заказы, с 23:00 до 11:00 — автоответ: Кухня закрывается. Заказ можно оформить с 11 утра.

В инструкции добавьте логику: Если заказано более 3 блюд, прибавь 10 минут к стандартному времени готовки. Если сейчас пиковое время (после 18:00, до 21:00), ещё плюс 5 минут.

Время доставки вычисляется по расстоянию. Можно интегрировать Яндекс.Карты API или положить в таблицу предзаполненные маршруты. Системная переменная current_datetime_iso позволяет агенту считать точное время прибытия и писать: Доставим к 20:15.

Оплата в чате через ЮKassa

Клиент согласился с заказом и суммой. Теперь нужно получить деньги. Интеграция с ЮKassa отправляет ссылку на оплату прямо в чат.

Когда вы подключаете ЮKassa, создаётся действие типа «ЮKassa». В нём вы указываете сумму, описание платежа (например, Заказ #123, доставка по адресу…) и выбираете, куда отправлять чек: на email или телефон. Система генерирует ссылку и отправляет её клиенту в мессенджер.

Как это выглядит на практике:

  1. Агент суммирует заказ и вызывает функцию payment.
  2. Функция получает сумму (например, 850 рублей).
  3. ЮKassa создаёт платёжную ссылку.
  4. Ссылка уходит клиенту: Перейти к оплате →
  5. Клиент платит в браузере, ЮKassa отправляет уведомление о статусе платежа.
  6. Если платёж прошёл, агент пишет: Спасибо! Заказ принят, платёж подтверждён.
~15 стоимость обработки заказа через агента
53,8 % обращений приходят вне рабочих часов
1 клик чтобы отправить геолокацию в Telegram
Источник: по данным платформы Савви за август 2026

Уведомление менеджеру в Telegram

Заказ оплачен. Менеджер должен это узнать, не зайдя в кабинет платформы. Стандартная функция Вызов менеджера отправляет уведомление в Telegram на номер, который вы укажете.

Условие простое: Когда платёж прошел успешно, вызови менеджера.

В уведомлении будет:

  • данные клиента (имя, телефон)
  • адрес доставки
  • список блюд с ценами
  • время готовки
  • способ оплаты
  • статус платежа

Менеджер видит готовый заказ и может сразу выписать кухне талон или открыть запись в кассовой системе.

Повторные заказы и лояльность

Человек уже заказывал. Во второй раз не хочет вводить адрес с нуля, хочет быстро. Агент помнит предыдущие заказы и может спросить: Повторить последний заказ или добавить что-то?

Платформа сохраняет информацию о клиенте и его историю. Если вы подключили CRM, агент вытягивает профиль: сумму предыдущих покупок, любимые блюда, день рождения. На этой основе может предложить: У вас есть скидка на пиццу.

Промокод при оплате через ЮKassa передаётся отдельным аргументом. Лояльность кодируется в инструкции: Если сумма больше 1500 рублей, предложи код DELIVERY50.

Перелистайте меню и отправляйте заказы

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

Агент обработает столько диалогов одновременно, сколько позволяет ваш тариф. Если уже делали чат-бота для интернет-магазина, с таблицами и оплатой вы знакомы. Тут механика та же, но специфика доставки добавляет геолокацию и время. Сложнее всего учесть пиковые часы и очередь. Помогает база знаний с расписанием, где прописаны часы работы и лимиты. Остальное вычисляет модель, если её научить видеть контекст: клиент заказал в 18:45 в субботу — пиковое время, прибавляем 15 минут к готовке. Работа с таблицами подробно разобрана в отдельной статье, и оплата в чате тоже описана полностью.


Статья опубликована 15 сентября 2026 года. Информация соответствует версии платформы Савви на дату публикации.

Частые вопросы

Можно ли привязать меню к таблице Google?

Да, Савви работает с Google-таблицами и обновляет информацию каждые 1440 минут (24 часа). Для частых изменений меню можно настроить обновление, но не чаще чем раз в 30 минут. Таблица подключается как отдельная сущность через действие с функцией table.

Как агент узнает о стоп-листе, если блюдо нельзя заказать?

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

Поддерживает ли платформа оплату прямо в чате?

Да, через интеграцию ЮKassa. Агент может отправить ссылку на оплату, клиент переходит по ней и оплачивает внутри браузера. После успешной оплаты система отправляет уведомление менеджеру в Telegram.

Как автоматизировать запрос адреса доставки?

В Telegram можно добавить кнопку 'Запрос геолокации', которая отправит координаты и адрес клиента прямо в чат. Агент сохранит их в переменную и рассчитает зону доставки.

Можно ли отправить уведомление менеджеру после оплаты?

Да, это стандартная функция платформы. При успешном платеже система вызывает функцию 'Вызов менеджера', которая отправляет сообщение в Telegram на номер менеджера с деталями заказа.

Может ли чат-бот учитывать время работы кухни?

Да, через расписание агента. Установите часовой пояс и дневное расписание (например, 11:00—23:00). Вне этих часов агент может отправлять автоответ или закрывать приём новых заказов.

Команда платформы СаввиПишем о том, как бизнес внедряет ИИ-агентов, на данных платформы. Обновлено 15 сентября 2026.
BLOG500
Собрать агента