Бот меню и заказов для ресторана доставки

Задача

Каталог меню и приём заказов прямо в Telegram — с чистым и понятным диалогом и с обменом данными с iiko, учётной системой ресторана.

Что сделал

  • Бот меню на aiogram: категории, составы блюд и карточки товаров на кнопках — весь ассортимент в чате, ничего не нужно набирать текстом.
  • Меню идёт ступенями: главный экран → «Заказать» → категория → блюда категории → карточка товара.
  • Бот помнит, на какой ступени человек смотрит меню, и убирает отжившие сообщения: возврат к списку категорий и на главный экран работает предсказуемо, а чат остаётся чистым.
  • Кнопки главного меню подписаны обычными словами и различаются цветом — по ним видно, куда идти дальше.
  • Модуль обмена с Айко: один вход в систему ресторана на всю сессию вместо нового входа на каждый запрос, корректный выход по завершении и отдельная реакция на каждый вид отказа — не подошёл доступ, не хватило прав, ошиблась сама iiko, запрошенной позиции нет в системе.
  • Маршрут заказа описан от и до: витрина → корзина → подсчёт итога по ценам Айко → доставочный заказ → проверка статуса.

Моя роль

Разработал бота меню и заказов, логику навигации по ступеням меню и модуль обмена с iiko.

Результат

  • Telegram-бот каталога меню с категориями, составами блюд и карточками товаров.
  • Модуль работы с iiko API: инструкция по подключению, обработка сбоев, тесты и пример использования.

Что можно проверить

  • Рабочий бот меню: категории, составы блюд и переход внутрь категории отлажены · февраль 2026
  • Модуль обмена с Айко покрыт тестами: вход в систему, запросы, разбор ошибок · февраль 2026
  • Модуль проверен на сервере iiko заказчика: соединение держится, формат запросов и разбор ответов корректны · февраль 2026

Задача

Ресторан доставки хотел показывать меню и принимать заказы прямо в Telegram, чтобы гость листал категории и товары кнопками и при этом диалог оставался чистым и понятным — без простыни из старых сообщений.

Вторым слоем шёл доступ к «Айко» — учётной системе ресторана. В ней ведутся меню, цены и заказы, поэтому боту нужен понятный способ обращаться к ней: брать оттуда ассортимент и передавать туда заказ, а не работать по отдельной копии меню, которую приходится обновлять руками.

Как устроено меню в чате

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

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

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

Как устроен обмен с iiko

Логика витрины повторяет саму Айко: в меню показываются только те группы, которые включены в меню и не являются служебными наборами добавок, удалённые позиции не попадают в чат вовсе. У блюда бывают размеры — каждый со своей ценой и своей картинкой; у позиций есть описание и добавки, которые человек выбирает там, где они заданы в системе. Из выбранного собирается корзина, итог подсчитывается по ценам iiko, заказ уходит как доставочный, а его статус можно проверить в том же диалоге.

Техническую сторону держит отдельный модуль работы с Айко. Вход в систему ресторана делается один раз на всю сессию и дальше переиспользуется: каждый новый вход занимает лицензионный слот, и при входе на каждый запрос лимит кончился бы в первый же день. По завершении работы вход закрывается корректно, а сбои разбираются по-разному — не подошёл доступ, не хватило прав на раздел, ошиблась сама iiko, запрошенной позиции нет в системе. Модуль покрыт тестами, к нему приложены пример подключения и краткая инструкция; проверка проходила на сервере Айко заказчика — соединение держится, запросы уходят в верном формате, ответы система отдаёт и читаются корректно.

Результат

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

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

Связанные услуги

Боты и автоматизация в мессенджерахИнтеграции iiko («Айко»)

  • Python
  • aiogram
  • Telegram
  • iiko API