Когда создается мобильное приложение или сайт доставки блюд из кофеен и ресторанов, то первое, с чем приходится сталкиваться, это интерфейсный квест: как привести все неизвестные сценариев пользователей к общему знаменателю, как сделать так, чтобы все многообразие вариантов заказов и доставки блюд сводилось к простым и логичным последовательностям экранов заказа.
Кажется, подобные квесты уже не раз проходили UX-дизайнеры и разработчики, кажется и менеджеры уже много раз сталкивались с похожими запросами от разных заказчиков - бери бритву Оккама, своди все многообразие сценариев к нескольким основным, и “готово!” :)
Но не все так очевидно, особенно в ресторанной сфере, где каждое заведение или сеть стремятся показать свою индивидуальность, выгодно отличиться от конкурентов и запомниться гостям.
Сеть кофеен FLIP подбросили нам ряд интересных интерфейсных (и соответственно, разработческих) задач на реализацию их оффлайновой бизнес-логики в мобильном приложении:
FLIP руководствуются идеей здорового питания, а также внимания к окружающей среде, им важно показать это и даже приобщить гостей к своей идеологии. Например, они всячески мотивируют гостей использовать термокружки вместо одноразовой посуды.
FLIP очень клиентоориентированные, поэтому было необходимо сделать в мобильном приложении различные варианты заказа: заказ в кофейне к столику, самовывоз, доставка по адресу.
FLIP придумали несколько интересных акционных механик для мобильного приложения, нам нужно было их реализовать и проинтегрировать с CRM QuickResto, а также учесть при настройках эквайринга и ОФД.
Расскажем обо всем по порядку.
Если кофейня позиционирует себя как eco-friendly заведение, то часто они не просто согласны налить напиток в вашу кружку, но еще и продают его вам в этом случае со скидкой. FLIP пошли дальше: одноразовый стаканчик - это не дефолтный способ подачи напитка, а наоборот - дополнительная возможность, если вы пришли без термокружки, или не собираетесь пить в заведении из кофейной пары. Поэтому одноразовый стаканчик вы приобретаете дополнительно к напитку за символическую стоимость.
С точки зрения разработки вроде бы все просто: одноразовый стаканчик - это отдельный товар, который можно точно также положить в корзину, как напиток или десерт. НО тут мы сталкиваемся с рядом нюансов:
как гость должен понять (или не забыть), что ему нужно положить один или несколько стаканчиков (если заказывает несколько напитков) в корзину? Ведь устоявшийся паттерн для большинства “я заказываю капучино, и подразумеваю, что мне его подадут в одноразовом стаканчике”.
как бариста поймет, какой именно напиток нужно налить в одноразовый стаканчик, если например гость взял капучино для себя (и у него есть термокружка) и флэт-уайт для коллеги в офис в одноразовый стаканчик, а стаканчик просто добавлен в корзину как отдельный товар?
В первом случае конечно можно выводить на экран предупреждение: “Пожалуйста, купите еще стакан, если он вам нужен”, но это выглядит как-то не изящно, согласитесь :)
Во втором случае можно заставлять гостя указывать, какой напиток нужно подать в стаканчике, но этим мы усложняем жизнь гостю с одной стороны, а с другой - бариста работает на терминале через CRM QuickResto, и в данной системе реализовать связки товаров - нетривиальная задача, которая требует кастомизации со стороны команды разработчиков QuickResto, а это дополнительные сроки и стоимость.
Поэтому мы с заказчиком пришли к решению, что самый оптимальный вариант - сделать одноразовый стаканчик модификатором к напиткам:
любой модификатор может иметь свою собственную стоимость, поэтому ее также назначили одноразовому стаканчику.
модификатор можно применить к любым позициям в меню, что мы и сделали для всех напитков. Бариста не будет мучаться догадками - модификатор всегда отображается примененным к конкретной позиции в заказе.
чтобы гость не забыл добавить одноразовый стаканчик, мы сделали модификатор примененным по умолчанию, это позволяют настройки QuickResto. Но если гость не нуждается в нем, то он просто уберет модификатор тапом на него.
Доставкой из кофейни сейчас никого не удивишь, однако далеко не везде реализована возможность заказа блюда в кофейне через приложение, не подходя к кассе, а это особенно актуально в связи с пандемией, когда не стоит создавать лишних очередей, и есть необходимость минимизировать прямые контакты людей друг с другом. Мы сделали такую возможность для кофеен FLIP:
в мобильном приложении вы выбираете кофейню, в которой хотите выпить кофе или перекусить;
выбираете в меню напитки и еду, кладете в корзину.
при оформлении заказа в корзине указываете вариант доставки “В кофейне” и дополнительно выбираете, хотите ли вы, чтобы официант все принес к вашему столику, или сами заберете у кассы, как только заказ будет готов.
если вы хотите, чтобы заказ принесли к вашему столику, то нужно указать его номер: у каждого столика есть QR-код, который можно отсканировать через приложение, и номер столика автоматически попадет в комментарий к заказу на терминал баристе.
в завершение вы оплачиваете заказ в мобильном приложении и, собственно, все, осталось немного подождать, когда вам принесут ваш заказ :)
С доставкой из кофейни на указанный адрес тоже не все так просто. С одной стороны, сценарий стандартный: пользователь указывает нужный ему адрес доставки, курьер привозит заказ на этот адрес, и все счастливы. С другой стороны есть ряд нюансов:
у FLIP несколько кофеен, пользователь заказывает напитки и блюда из конкретной кофейни, так как ассортимент может незначительно отличаться.
некоторые напитки и готовые блюда должны быть доставлены горячими или со льдом, поэтому важно, чтобы курьер смог осуществить доставку максимально быстро - минут 10-15 максимум.
но есть категории меню, для которых это неважно (например, зерна кофе), их можно доставить в течение дня и даже позже в любую точку Москвы и области.
Исходя из этого, мы сделали для менеджеров кофеен возможность самостоятельно настраивать разные зоны доставки для разных категорий меню и для разных кофеен.
Менеджер выбирает кофейню и категорию меню в этой кофейне, рисует прямо на карте полигон - зону доставки. Так можно нарисовать совершенно разные зоны для каждой кофейни и для каждой категории в меню этой кофейни.
Гость при заказе доставки увидит сообщение, входят ли блюда и напитки, которые у него в корзине, в зону доставки. Если какие-то позиции не входят в зону доставки, он может выбрать: забрать их самостоятельно из кофейни, либо просто удалить из заказа.
Кроме доставки по адресу и заказе внутри кофейни, в приложении также есть возможность заказа самовывозом. Отличие самовывоза от заказа “в кофейне - заберу у кассы” в сервировке заказа: в кофейне напитки и блюда подадут в керамической посуде вместе с приборами, а при самовывозе - удобно упакуют, чтобы вы могли забрать заказ с собой.
У кофеен FLIP есть довольно оригинальные акционные механики, основанные на принципе подписки:
гость может приобрести кофейный проездной, в рамках кофейного проездного он приобретает определенные напитки без оплаты на протяжении всего срока действия проездного.
гость может приобрести кофейную чековую книжку, в рамках которой доступны все напитки из меню без оплаты, но только один раз.
По мере реализации такой бизнес-логики акционных механик мы столкнулись с проблемой: после приобретения чековой или проездного напиток для клиента стоит 0р, а нулевой платеж эквайринг Альфа-банка не обрабатывает, соответственно, ОФД, проинтегрированная с эквайрингом, чек не присылает. А он обязателен и для товарного учета, и для соблюдения законодательства: гость должен получить чек за любую покупку.
Оформить проездные и чековую например как депозиты внутри системы QuickResto не представлялось возможным: не подходила базовая механика, не было возможности создания разных временных слотов и т.д.
Поэтому всю акционную механику мы реализовали на стороне бекенда мобильного приложения, а в мастер-систему QuickResto передавали стоимость товаров как 100% скидку. Для реализации чековой и проездных мы сделали гибкие настройки в бекофисе для менеджера кофеен:
Напитки можно объединять в группы (например, “Daily Dairy”: капучино, флэт-уайт, раф, латте и некоторые другие напитки). Кофейному проездному назначается группа, на которую он распространяется.
Менеджер может назначить срок действия кофейному проездному. В рамках этого срока гость может заказать напитки, на которые распространяется проездной, неограниченное количество раз. Аналогично и для чековой книжки, но там каждый напиток можно заказать только один раз, зато из любой группы.
Каждому проездному менеджер может назначить также доступное количество чашек в соответствии со сроком действия проездного и привязанной группы напитков.
И да, проездных может быть сколько угодно, причем можно в рамках одного проездного создавать несколько вариаций по срокам действия и количеству чашек.
Что касается чека по нулевому платежу - мы настроили прямую интеграцию бекофиса мобильного приложения с ОФД клиента: теперь чеки приходят на любой заказ, будь он за полную стоимость или за 0р.