Почему назрели изменения?
До сотрудничества с нами у кулинарии-кондитерской «Баранкин» было 12 филиалов в Воронеже и интернет-страница с каталогом блюд, но без возможности заказа и оплаты. Онлайн-продажи запустили через Rеstik — облачное решение для автоматизации продаж в общепите, через него подключили сайт доставки. Это вынуждало покупателя совершать лишние переходы из меню на сторонний ресурс, а кулинарию — оплачивать подписку на сервис и комиссию с каждого заказа.
Также клиент пользовался услугами популярных служб доставки. Комиссия агрегаторов доходила до 37% с каждого заказа. Это было совершенно невыгодно для компании и неудобно сотрудникам. Администраторы принимали заказы из 3–5 разных источников, открывали столы в учётной системе r_keeper на планшетах и терминалах, а потом вбивали остатки в каждом сервисе отдельно.
Цели проекта:
- Иметь свой онлайн-сервис заказа еды и со временем отойти от работы со сторонними площадками
- Избавиться от ручного ввода данных и рутины при создании меню
- Централизованно обрабатывать заказы по всем направлениям производства
- Привязать программу лояльности к онлайн-заказам
Для начала мы посчитали юнит-экономику проекта, чтобы понять, через сколько месяцев окупится разработка. Далее провели предпроектное исследование, чтобы определить структуру сайта, описали сценарии оформления заказов в разных категориях. Затем приступили к прототипам, дизайну, верстке и внедрению. Последним этапом стала интеграция с внешними системами.
Стек технологий
Для разработки онлайн-сервиса использовали готовый продукт 1С-Битрикс «CRM + Управление сайтом» (БУС). Фреймворк 1С-Битрикс включает в себя базу данных на MySQL, бэкенд на PHP и фронтенд на HTML, CSS и JavaScript. Кроме того, подключали несколько модулей для БУС для решения локальных задач.
Готовый продукт на платформе 1С-Битрикс использовали, чтобы:
- Увеличить скорость запуска проекта
- Сделать удобной работу в админке для сотрудников клиента
- Интегрировать внешние системы за счет открытого API
- Иметь готовую связку CMS и CRM для быстрой передачи заказов и контроля их стадий
Внешние интеграции настраивали с облачной учетной системой r_keeper и бонусной программой Prime Hill. В обоих случаях дилерами этого ПО выступали сторонние подрядчики.
1С-Битрикс: реализованные функции
Настройка зон доставки
Для программирования зон доставки подключили готовое решение для БУС «Яндекс Доставка». Модуль интегрирован с Яндекс Картами и позволяет настраивать зоны доставки и задавать условия для каждой территории.
На проекте «Баранкин» получилось 43 условия — доставки, самовывоза и по типу корзины. Их сочетание создает сотни комбинаций. Мы перенесли эти правила в систему и обучили сотрудников кулинарии самостоятельно редактировать их в админке.
Добавление позиций меню
Чтобы не нагружать учетную систему, мы решили хранить на сайте основной массив контента. В админку CMS загружаются фотографии блюд и дополнительная информация: пищевая ценность, срок и условия хранения. В r_keeper заполняются наименования блюд и стоимость.
Таким образом, учетная система r_keeper отвечает за основные операции с заказами и остатками, а CMS используется для управления контентом и отображения дополнительной информации на сайте.
Обновление меню
У кулинарии 12 офлайн-кафе, а значит, остатки меняются быстро: одни блюда готовят, а другие раскупают. Чтобы актуализировать позиции на сайте, раз в 10 минут создается запрос в r_keeper. Учетная система отправляет ответный запрос, и меню на сайте обновляется автоматически. Это позволяет предотвратить ситуации, когда распроданные позиции остаются в каталоге или еду приготовили, но не добавили на сайт.
Стоп-лист
API учетной системы не позволяет вернуть позиции из стоп-листа. Например, сотрудник вносит позицию в стоп-лист, но она остается доступной к заказу. Эту проблему мы решили с помощью r_keeper — как именно, опишу чуть ниже.
CRM «Битрикс24»
Настроили обмен данными сайта с r_keeper через Битрикс24. В CRM попадают три категории заявок с сайта: заказ блюд кулинарии, готовых тортов, авторских десертов.
После формирования нового заказа в r_keeper меняются остатки. Чтобы информация о наличии позиций обновилась и на сайте, создается запрос в учетную систему.
Учетная система r_keeper
Облачную r_keeper интегрировали с CMS со второй попытки. Дилер, который обслуживал кулинарию, за полгода не смог реализовать нужный обмен данными с сайтом. В итоге клиент решил сменить дилера. С новым исполнителем задачу решили быстро.
Вот как сейчас происходит обмен данными между учетной системой и БУС.
Добавление позиций
Как я описывал выше, администратор вносит название блюда и цену в r_keeper, а дополнительную информацию и фото — в CMS. То есть большой массив изображений и текстов хранится на сайте, что позволило уменьшить нагрузку на учетную систему и снизить риск зависаний.
Стоп-лист
Если сотрудник внесет позицию в стоп-лист, то вернуть ее оттуда с помощью API не получится. При этом она останется доступной к заказу. Эту проблему мы решили так: каждые 10 минут деактивируем все блюда на сайте, новым запросом получаем актуальные позиции из r_keeper и вновь включаем их на сайте.
Программа лояльности Primе Hill
Ранее кулинария использовала систему «Премиум бонус». Подрядчику не удалось интегрировать сервис с r_keeper и автоматически создавать пользователей при регистрации на сайте. Спустя несколько месяцев попыток клиент решил сменить исполнителя.
Мы помогли клиенту выбрать новый сервис и начали сотрудничать с Primе Hill. Когда заказчик проверил бонусные карты и подключил к программе лояльности все 12 филиалов, мы интегрировали Primе Hill с сайтом и r_keeper.
За счет интеграции покупатели могут получить и потратить баллы как за офлайн-, так и за онлайн-заказы. На сайте отображается общее количество бонусов и баллы, доступные для списания.
Для бонусной системы создается отдельная валюта оплаты, при этом фискальный чек печатается в рублях. Бонусы проходят в системе как скидка, а не как оплата деньгами, чтобы на оплаченные баллами покупки не начислялись новые бонусы.
Как работают интеграции на разных этапах взаимодействия пользователя с онлайн-сервисом
1. Авторизация и регистрация на сайте
На этом этапе задействованы: CMS «1С-Битрикс», встроенный модуль для БУС, программа лояльности Primе Hill.
Подключили встроенный модуль БУС «Авторизация через SMS» для авторизации и регистрации с помощью сообщений. Модуль кастомизировали, чтобы создавать пользователя одновременно на сайте и в программе лояльности. Вот как это работает.
Человек вводит номер телефона на странице регистрации, запрос с сайта отправляется в Primе Hill, и здесь возможны три сценария:
- Если такого пользователя нет, аккаунт создается в бонусной системе и на стороне сайта.
- Если пользователь есть в Primе Hill, но его нет на сайте, данные дополняются на стороне БУС.
- Если пользователь есть в обеих системах, информация с сайта обновляется в программе лояльности.
2. Меню и добавление позиций
На этом этапе задействованы: CMS «1С-Битрикс», программа лояльности Primе Hill, r_keeper.
Когда пользователь выбирает блюда в меню и формирует заказ, в Primе Hill отправляется запрос для его проверки по номеру телефона. В ответ приходит номер бонусной карты покупателя, и запрос возвращается в r_keeper. То есть система проверяет клиента по номеру мобильного, а внутри идентифицирует по номеру бонусной карты. На этом этапе покупатель видит общее количество своих бонусных баллов.
3. Оформление заказа
На этом этапе задействованы: CMS «1С-Битрикс», программа лояльности Primе Hill, r_keeper, CRM «Битрикс24».
Когда пользователь добавляет товары в корзину (то есть известны состав и сумма покупки) и нажимает кнопку «Оформить заказ», запрос отправляется в Primе Hill. В ответ приходит номер бонусной карты, при этом пользователь видит на сайте общее количество баллов и число бонусов, доступных для списания в этом заказе.
Одновременно в r_keeper отправляется полный запрос с позициями меню, стоимостью доставки, номером бонусной карты покупателя.