Веб-сервис · Рестораны · Спасение проекта

Сервис заказа и оплаты по QR-коду в ресторане с интеграцией r-keeper и iiko: как мы спасли проект после прежней команды

Гость садится за стол, сканирует QR-код, сам заказывает и оплачивает еду со своего телефона картой или по СБП. Звать официанта и ставить приложение не нужно.

Заказ сразу уходит на кассу ресторана в r-keeper или iiko. Такой сервис заказа без официанта мы сделали для основателей: веб-сервис из трёх частей — для гостей, для ресторанов и для команды сервиса.

Проект достался нам в тяжёлом положении: первая команда сорвала сроки, и основатели уже не верили, что сервис запустится.

Обсудить похожий проект
Заказ по QR-коду: гость листает меню с фото, выбирает «Принесите к столу», платит и видит «Ваш заказ готовится!»
Заказ уходит
на кассу r-keeper и iiko
Оплата гостя
СБП или карта
Части сервиса
гость, ресторан, админка
Срок
3,5 месяца
Вид проекта
  • Веб-сервис
  • Веб-панель ресторана
  • Панель администратора
Технологии
  • React.js
  • PostgreSQL
  • TimeWeb
Интеграции
  • r-keeper
  • iiko
  • Твои Платежи
  • АТОЛ Онлайн
  • CloudTips
  • RedSMS
01 · Проблема

Проблема: заказ по QR-коду без официанта есть только в центре Москвы

В полном зале официанта ждёшь дважды: сначала чтобы заказать, потом чтобы рассчитаться.

Сервисы заказа по QR-коду в ресторане на рынке есть, но почти не выходят за третье кольцо в Москве, хотя пригодились бы любому ресторану, бару или концертной площадке. Механика понятная и проверенная, а рынок почти пустой.

Основатели сами годами пользовались одним из таких сервисов — Бартелло: на мероприятиях, где обычное обслуживание не справлялось с потоком, он не раз их выручал. Отсюда идея: сделать аналог Бартелло для ресторанов за пределами центра Москвы.

Прежде чем браться за разработку, основатели

  • Объехали рестораныв разных регионах России
  • Собрали обратную связьпо функциям
  • Договорились о пилотном запускес несколькими заведениями
02 · Решение

Решение: QR-меню с оплатой, которое встраивается в кассу r-keeper и iiko

Главное условие для сервиса заказа по QR-коду — работать с учётной системой ресторана.

Меню, заказы и склад почти все заведения ведут в r-keeper или iiko, на две системы приходится около 90% рынка. Если сервис живёт отдельно от кассы, персонал дублирует всё вручную, и ресторану такой сервис невыгоден.

Меню, цены и модификаторы подтягиваются из r-keeper или iiko, а оплаченный заказ уходит прямо на кассу ресторана. Гость платит онлайн картой или по СБП через «Твои Платежи», получает фискальный чек от АТОЛ Онлайн и может оставить чаевые через CloudTips.

Поэтому мы сделали систему из трёх частей

  • Сайт для гостяоткрывается по QR-коду в браузере, без установки приложения
  • Веб-панель ресторанаменю, заказы, аналитика, сотрудники, QR-коды
  • Панель администратора сервисаподключение ресторанов, комиссии и общая статистика
03 · Спасение проекта

Как мы спасли проект после прежней команды

Первая команда с проектом не справилась.

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

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

В октябре проект возглавил Игнат Егоров. Мы разобрали переписку и код, а потом пришли к основателям с честной картиной и планом.

План

  • Сменили командуна ту, что уже работала вместе
  • Игнат лично повёл проекти стал единственной точкой связи: ответ в течение дня, без «сломанного телефона» между менеджерами
  • Показали сделанное вживуюрасшарили экран на созвоне и прошли сервис по шагам
  • Договорились, что остаток основатели оплатят тремя частямиа перед каждой оплатой — живая демонстрация, где они сами проверяют результат
  • Перевели все доступы на основателейк платёжному сервису, сервису чаевых, стендам r-keeper и iiko, Telegram-боту. Раньше часть из них была привязана к личным контактам прежнего разработчика

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

Отрывок созвона: Игнат вживую показывает основателям клиентскую часть

04 · До разработки

Наш вклад ещё до разработки: чаевые, ручной режим и дизайн панелей

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

  • Чаевые — через сервисПереводы с карты на карту между частными лицами вызывают вопросы у банка-эквайера, поэтому чаевые проходят через сервис и учитываются в балансе ресторана.
  • Ручной режим для заведений без r-keeper и iikoРесторан ведёт меню и статусы заказов прямо в панели и подключает интеграцию, когда она появится.
  • Дизайн панелей ресторана и администратора — за намиЗдесь сидит вся сложная логика: интеграции, выплаты, регистрация, роли сотрудников. Нарисовать красиво легко. Продумать экраны так, чтобы ни один сценарий не заводил в тупик, лучше той команде, которая потом их разрабатывает.
Сайт для гостя: заказ и оплата по QR-коду со своего телефона

Заказ еды по QR-коду со стола без официанта

Гостю не нужно ловить взгляд официанта и ждать меню. Он открывает меню ресторана с фото, собирает заказ, выбирает «Принесите к столу», указывает номер стола и платит онлайн картой или по СБП. Сразу после оплаты он видит, что заказ принят и готовится.

Если ресторан продаёт алкоголь, гость сначала подтверждает, что ему исполнилось 18 лет. Блюда фильтруются по категориям, а в карточке видны состав, вес, КБЖУ и предупреждения об аллергенах вроде глютена, лактозы или орехов. Ресторан сам решает, показывать меню плиткой с фото или компактным списком. Для заказа регистрация не нужна. Войти через Telegram или по номеру телефона с SMS-кодом стоит ради истории заказов: прошлый заказ потом повторяется в одно касание.

Заказ по QR-коду: гость листает меню с фото, выбирает «Принесите к столу», платит и видит «Ваш заказ готовится!»
Модификаторы блюда в QR-меню: обязательная прожарка, гарниры с доплатой, лимит группы и блюдо с допами в корзине
Сайт для гостя

Модификаторы, комбо и бизнес-ланчи из r-keeper и iiko

Ресторанное меню не обходится без соусов, гарниров и комбо: у стейка есть прожарка, у наггетсов соус, у бизнес-ланча набор блюд на выбор. Мы перенесли эти правила из r-keeper и iiko в сервис. Обязательный выбор помечен звёздочкой, у групп есть лимиты, платные добавки сразу меняют цену блюда.

Модели данных у iiko и r-keeper разные: в iiko бывают модификаторы вне групп, в r-keeper есть отдельные комбо-блюда. Мы научили сервис обоим вариантам, поэтому в одном заказе можно собрать два разных бизнес-ланча. Пока меню подключено к кассе, модификаторы в панели ресторана не редактируются: всё берётся из учётной системы, и сотрудник случайно не сломает заказ.

Сайт для гостя и панель ресторана

Самовывоз в барах и на концертных площадках без столов

На концертных площадках и в барах столов часто нет, есть только стойки. Для них ресторан добавляет в панели места самовывоза с фото и описанием, а гость при оформлении выбирает «Заберу сам». Когда заказ готов, гость видит фото места и понятный ориентир, например «у стойки №2».

Самовывоз по QR-коду: ресторан добавляет стойку с фото, гость выбирает «Заберу сам» и видит место выдачи
Сайт для гостя и панель ресторана

Чаевые через CloudTips и отзывы, которые доходят до ресторана

После заказа гость может оставить чаевые и оценить ресторан по пятибалльной шкале с комментарием. Чаевые идут через CloudTips по ссылке ресторана. Сервис получает уведомление о каждом платеже и показывает чаевые в балансе ресторана рядом с выручкой. Отзыв сразу появляется в панели, и ресторан может на него ответить.

Гость оставляет чаевые и пять звёзд с отзывом, ресторан видит отзыв в веб-панели и отвечает на него

0%заряд заявки

Первый созвон — бесплатно

Тоже есть проект, который застрял у подрядчика?

Сроки сорваны, вместо работающего продукта приходят видеоотчёты, и непонятно, что вообще сделано? Мы разберём код и переписку, честно скажем, в каком состоянии проект, и доведём его до запуска. Давайте созвонимся.

Осталось: имя, телефон, телеграм, галочка

Веб-панель ресторана: подключение кассы, заказы и QR-коды

Интеграция меню с r-keeper и iiko за пару кликов

Переносить меню вручную ресторану не придётся. Менеджер нажимает в панели «Интегрироваться с RMS», вводит ключ от r-keeper или iiko и выбирает организацию и меню из списка, который отдаёт касса. Через несколько секунд категории, блюда и цены уже в сервисе. Остаётся создать QR-код для столов, и гость по нему откроет то же меню.

Фото и описания, которые ресторан добавил к блюдам, при обновлении из кассы сохраняются. Можно подтянуть только новые позиции, например перед Новым годом, или перезаписать меню целиком. Под каждый источник (ручное меню, iiko, r-keeper) у сервиса своя таблица, поэтому после отключения интеграции ручное меню возвращается без мусора. Ссылки в QR-кодах строятся по порядковому номеру ресторана, так что тейбл-тенты можно напечатать заранее и раздавать новым заведениям при подключении.

Веб-панель ресторана: подключение r-keeper по ключу, меню загружается, создаётся QR-код, гость открывает то же меню
Веб-панель ресторана

Заказ по QR-коду сразу попадает на кассу r-keeper или iiko

Официанты и кухня работают в r-keeper или iiko, и смотреть в ещё один экран их заставлять нельзя. Оплаченный заказ уходит на кассу ресторана с отметкой о предоплате, а в панели сервиса попадает в список «В работе» с составом, способом получения и номером стола или местом самовывоза. Ресторан меняет статус, и гость видит, что заказ готов.

Если у заведения нет r-keeper или iiko, статусы меняют вручную в той же панели.

Оплаченный заказ появляется в панели ресторана «В работе», ресторан меняет статус, гость видит «готов к выдаче»
Веб-панель ресторана

Что ещё ресторан делает в панели без программиста

Обе панели работают и с телефона. Мобильную версию мы добавили по просьбе основателей, чтобы менеджер проверял заказы, не подходя к компьютеру.

  • Ведёт меню вручную: категории, блюда с фото, составом, КБЖУ, весом и временем приготовления, сопутствующие блюда и предупреждения об аллергенах
  • Скрывает блюдо или целую категорию одним переключателем, отмечает «нет в наличии»
  • Выбирает вид меню для гостей: плитка с фото или список
  • Приглашает сотрудников по ссылке, принимает заявки, создаёт роли и решает, какие разделы доступны каждой роли
  • Видит, кто и когда менял меню и заказы
  • Смотрит аналитику за любой период: число заказов, выручку, средний чек, среднее число блюд в заказе, популярность блюд и категорий
  • Видит баланс отдельно по продажам и по чаевым
  • Добавляет места самовывоза с фото
  • Отвечает на отзывы гостей
  • Создаёт и скачивает QR-коды или отправляет их в мессенджер
Панель администратора сервиса: закрытое подключение ресторанов

Регистрация ресторана только по приглашению

Сервис принимает деньги за рестораны, поэтому пускать к себе кого угодно ему нельзя: фейковые заведения и случайные заявки создают риски. Ресторан регистрируется только по уникальной ссылке-приглашению, которую команда сервиса выдаёт после подписания договора. При регистрации он сразу заполняет данные для агентского договора: тип компании, название, ИНН, адрес и контакты.

Панель администратора: ссылка-приглашение, ресторан заполняет данные для агентского договора, заявка на проверке
Панель администратора сервиса

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

Администратор проверяет заявку и открывает доступ.

Панель администратора сервиса: заявка ресторана на регистрацию, кнопка «Принять» и экран «Доступ разрешён»
Панель администратора сервиса

В этой же панели администратор

  • Задаёт процент комиссии для каждого ресторана
  • Включает каждому заведению способы оплаты: карту, СБП или обе кнопки сразу
  • Видит заказы и выручку любого ресторана с детализацией
  • Запрашивает у ресторана недостающие документы, прикрепляет файл договора
  • Блокирует и разблокирует доступ
  • Смотрит общую статистику и топ ресторанов по числу заказов и по выручке
08 · Деньги

Оплата по QR-коду, чеки АТОЛ и комиссия: как сервис зарабатывает законно

Сервис заказа по QR-коду берёт процент с каждого заказа по агентскому договору с рестораном, абонентской платы нет. Схему денег мы собрали так, чтобы к ней не к чему было придраться.

  • Оплата через «Твои Платежи» в модели маркетплейсаУ каждого ресторана свой мерчант, и деньги делятся автоматически: ресторан получает свою сумму, сервис — комиссию. Основной способ — СБП с самой низкой комиссией, карта остаётся запасным.
  • Сервисный сбор по желанию гостяГость сам отмечает, будет ли его платить.
  • Два фискальных чека от АТОЛ ОнлайнПервый — за блюда: поставщиком в нём указан ресторан со своим ИНН, а сервис выступает платёжным агентом. Второй — за сервисный сбор. Чеки формируются по ФФД 1.2 и приходят гостю на почту. Чтобы касса принимала чеки с признаком агента, мы вместе с поддержкой АТОЛ разбирали ошибки в реквизитах агента.
  • Чаевые — отдельноСервис комиссию с них не берёт.

Эквайринг выбирали вместе с основателями, рассматривали Альфа-Банк, ЮKassa и Тинькофф Бизнес. Остановились на «Твоих Платежах»: у них нормальная связка с онлайн-кассой АТОЛ и модель маркетплейса, где деньги ресторанов не смешиваются.

09 · Данные

Данные гостей на российских серверах и быстрый вход по SMS

Сервис работает с персональными данными гостей, поэтому живёт на российских серверах TimeWeb.

  • На время разработки он стоял в зарубежном облаке, и уже первые тесты показали, как это тормозит панель. После переезда всё заработало заметно быстрее
  • Заодно сменили SMS-провайдера для входа: через прежнего в России не доходило примерно каждое десятое сообщение
  • Теперь коды отправляет российский RedSMS, ещё рассматривали SMS.ru
10 · Процесс

Как мы работали с основателями после перезапуска проекта

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

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

Многое придумывали вместе. Основатели сами подняли тестовые стенды r-keeper и iiko с реальным меню и комбо, и по ним мы сверяли, как сервис показывает каждую группу модификаторов. Меню одним листом с закреплёнными категориями — их идея: так листать удобнее, чем переключать вкладки.

Когда интеграции упирались в поддержку вендоров (касса не принимала чек, стенд r-keeper не отдавал меню), мы писали в поддержку с двух сторон и параллельно разбирались сами, чтобы не терять время. В конце передали основателям исходный код в их репозитории и ответили на вопросы их будущей команды по архитектуре. Все доступы владельца остались у основателей.

Отрывок созвона: разработчик и основатели вместе сверяют отображение модификаторов iiko и r-keeper со стендом

11 · Результат

Результат: сервис заказа по QR-коду запущен в пилотных ресторанах

За 3,5 месяца мы сделали веб-сервис для заказа и оплаты в ресторане из трёх частей: сайт для гостя, панель ресторана и панель администратора.

Сервис интегрирован с r-keeper и iiko, принимает оплату картой и по СБП через «Твои Платежи», пробивает чеки через АТОЛ Онлайн и принимает чаевые через CloudTips. Он работает на российских серверах, панели адаптированы под телефон.

Сервис запущен в пилотных ресторанах, с которыми партнёрятся основатели, а для подключения новых заведений есть отдельный лендинг.

Полгода проект буксовал. Мы довели его до запуска в рамках исходного бюджета и сохранили отношения с основателями.

Лендинг

Лендинг сервиса для ресторанов

Скринкаст лендинга сервиса заказа и оплаты по QR-коду для ресторанов и баров
Бесплатный созвон

Хотите заказать разработку сервиса для ресторанов или вытащить застрявший проект?

Расскажите, что задумали или что пошло не так, и на бесплатном созвоне разберёмся, с чего начать.

Что будет после заявки

  1. в течение 15 минутПерезвоним и уточним задачуДоговоримся о времени созвона.
  2. на следующий деньСозвон на 30 минутРазберём идею и покажем похожие кейсы.День выбираете вы
  3. через 2 дняОценка сроков и бюджетаПришлём план первой версии.
  4. когда будете готовыДоговор и стартФиксируем цену и этапы в договоре.

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