FLIP

iOS, Android
Июнь 2020 - Ноябрь 2020

When you create a mobile application or site for the delivery of dishes from coffee shops and restaurants, the first thing you have to deal with is an interface quest: how to bring all the unknown user scenarios to a common denominator, how to make sure that all the variety of options for ordering and delivery of dishes is reduced to simple and logical sequence of order screens.

It seems that such quests are not once passed UX-designers and developers, it seems that managers have faced many similar requests from different customers - take Okkam's razor, reduce the variety of scenarios to a few basic, and "ready!" :)

But not everything is so obvious, especially in the restaurant industry, where each restaurant or chain seeks to show its individuality, to differentiate itself from competitors and to be remembered by guests. 

The chain of coffee shops FLIP gave us a number of interesting interface (and, accordingly, development) tasks to implement their offline business logic in a mobile application:

  1. FLIP is guided by the idea of healthy food, as well as attention to the environment, it is important for them to show it and even involve guests to their ideology. For example, they motivate guests in every way to use thermo cups instead of disposable tableware.
  2. FLIP are very client-oriented, that's why it was necessary to make different order options in the mobile application: order in the coffee shop to the table, pick up, delivery to the address.
  3. FLIP came up with some interesting promotional mechanics for the mobile application, we had to implement and integrate them with CRM QuickResto, as well as take into account when setting up acquiring and fiscal reporting.

Let's talk about it the hard way.

Disposable cup

If a coffee shop positions itself as an eco-friendly establishment, they often not only agree to pour a drink into your mug, but also sell it to you at a discount. FLIP went further: the disposable cup is not a default method of drink delivery, but on the contrary - an additional option, if you come without a thermo mug, or are not going to drink in the institution from a coffee pair. Therefore, you buy a disposable cup in addition to the beverage for a symbolic price.

From the design point of view, everything seems to be simple: a disposable cup is a separate product, which can be put in the basket just like a drink or dessert. BUT here we encounter a number of nuances:

  • how should the guest understand (or not forget) that he should put one or more cups (if he orders several drinks) in the basket? After all, a well-established pattern for most "I order a cappuccino, and I mean that I will be served it in a disposable cup".
  • how will a barista understand what kind of drink to pour into a disposable cup, if, for example, the guest has taken a cappuccino for himself (and he has a thermo mug) and a Flat white for a colleague in the office in a disposable cup, and the cup is just added to the basket as a separate item?

In the first case, of course, you can display a warning: "Please buy another cup, if you need it, but it does not look somehow elegant, agree :)

In the second case, you can force the guest to specify which drink to serve in the cup, but this complicates the life of the guest on the one hand, and on the other - barista works on the terminal via CRM QuickResto, and in this system to implement bundles of goods - a non-trivial task that requires customization by the QuickResto development team, which is additional time and cost.

That's why we and the customer have come to the decision that the best option is to make a disposable cup a modifier for drinks:

  • Any modifier can have its own cost, so it was also assigned to a disposable cup.
  • The modifier can be applied to any position in the menu, which we have done for all drinks. Baristas will not be tormented by guesswork - the modifier is always displayed applied to a certain position in the order.
  • So that the guest doesn't forget to add a disposable cup, we made the modifier applied by default, this allows the QuickResto settings. But if the guest doesn't need it, he just removes the modifier with a tap on it.

Delivery

Delivery from the coffee shop now will not surprise anyone, but not everywhere the possibility of ordering a dish in the coffee shop through the application, not approaching the cash register is implemented, and this is especially relevant in connection with the pandemic, when it is not necessary to create unnecessary queues, and there is a need to minimize direct contact between people with each other. We have made such an opportunity for FLIP coffee shops:

  • In the mobile application you choose a coffee shop, where you want to drink coffee or have a snack.
  • You choose drinks and food from the menu, put it in the basket.
  • When placing an order in the basket you specify the delivery option "In the coffee shop" and additionally choose whether you want the waiter to bring everything to your table or take it from the cash desk as soon as the order is ready.
  • If you want the order to be brought to your table, it is necessary to indicate its number: every table has a QR code, which can be scanned through the application and the number of the table will automatically get to the comment to the order to the barista terminal.
  • At the end you pay for the order at the mobile application and actually it is left to wait a little bit, when your order will be brought to you :)

Delivery from the coffee shop to the specified address is not so easy either. On the one hand, the script is standard: the user specifies the desired delivery address, the courier brings the order to this address, and everyone is happy. On the other hand, there are some nuances:

  • FLIP has several coffee shops, the user orders drinks and dishes from a particular coffee shop, as the assortment may slightly differ.
  • Some drinks and ready-made dishes should be delivered hot or with ice, so it is important that the courier can deliver them as quickly as possible - 10-15 minutes maximum.
  • But there are menu categories for which it doesn't matter (for example, coffee beans), they can be delivered during the day and even later to any place in Moscow and the region.

On this basis, we have made it possible for coffee shop managers to set up different delivery zones for different menu categories and for different coffee shops.

  1. The manager chooses a coffee shop and a menu category in this coffee shop, draws a polygon - delivery zone right on the map. So you can draw completely different zones for each coffee shop and for each category in the menu of this coffee shop.
  2. When ordering delivery, the guest will see a message, whether the dishes and drinks, which he has in his basket, are included in the delivery zone. If some items are not included in the delivery zone, he can choose: pick them up by himself from the coffee shop, or simply delete them from the order. 

In addition to the delivery to the address and the order inside the coffee shop, the application also has the possibility to order self-delivery. The difference between self-delivery and the order "in the coffee shop - pick up at the cash desk" in the order serving: in the coffee shop drinks and dishes will be served in ceramic dishes together with the appliances, and at self-delivery - conveniently packed, so you can take the order with you.

Coffee Cards

FLIP coffee shops have quite original promotion mechanics based on the principle of subscription:

  • The guest can buy a coffee pass, as part of a coffee pass he buys certain drinks without paying for the entire validity period of the pass.
  • The guest can buy a coffee check book, within which all the drinks from the menu are available without payment, but only once.

As this business logic of the promotional mechanics was implemented, we faced a problem: after the purchase of a check book or a coffee card, the beverage for the customer costs 0 cents, and zero payment is not processed by Alfa Bank acquiring, respectively, Fiscal Data Operator, integrated with acquiring, does not send the check. And it is obligatory both for goods accounting and for compliance with the law: the guest must receive a check for any purchase. 

For example, it was not possible to issue a coffee card and a check book as deposits within the QuickResto system: the basic mechanics did not fit, it was not possible to create different time slots, etc.

That's why we implemented all the promotional mechanics on the backend side of the mobile application, and transferred the cost of goods to the QuickResto master system as a 100% discount. To implement the check book and coffee passes, we made flexible settings in the CMS for the manager of coffee shops:

  1. Beverages can be grouped (e.g. "Daily Dairy": cappuccino, Flat white, raff, latte and some other drinks). Coffee Pass is assigned to a group to which it applies.
  2. A manager may assign a coffee pass validity period. Within this period, a guest may order drinks to which a coffee pass applies an unlimited number of times. The same is true for the checkbook, but there each drink may be ordered only once, but from any group.
  3. Manager may also assign an available number of cups to each group according to the validity period of the coffee pass and the beverage group tied up.
  4. And yes, there can be as many coffee passes as you want, and you can create several variations within one pass according to the validity period and number of cups.

As for the zero payment check - we have set up a direct integration of the mobile application CMS with the client's Fiscal Data Operator: now the checks come for any order, whether it is for the full price or for 0 cents.

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

Кажется, подобные квесты уже не раз проходили UX-дизайнеры и разработчики, кажется и менеджеры уже много раз сталкивались с похожими запросами от разных заказчиков - бери бритву Оккама, своди все многообразие сценариев к нескольким основным, и “готово!” :)

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

Сеть кофеен FLIP подбросили нам ряд интересных интерфейсных (и соответственно, разработческих) задач на реализацию их оффлайновой бизнес-логики в мобильном приложении:

  1. FLIP руководствуются идеей здорового питания, а также внимания к окружающей среде, им важно показать это и даже приобщить гостей к своей идеологии. Например, они всячески мотивируют гостей использовать термокружки вместо одноразовой посуды.
  2. FLIP очень клиентоориентированные, поэтому было необходимо сделать в мобильном приложении различные варианты заказа: заказ в кофейне к столику, самовывоз, доставка по адресу.
  3. FLIP придумали несколько интересных акционных механик для мобильного приложения, нам нужно было их реализовать и проинтегрировать с CRM QuickResto, а также учесть при настройках эквайринга и ОФД.


Расскажем обо всем по-порядку.


Одноразовый стакан

Если кофейня позиционирует себя как eco-friendly заведение, то часто они не просто согласны налить напиток в вашу кружку, но еще и продают его вам в этом случае со скидкой. FLIP пошли дальше: одноразовый стаканчик - это не дефолтный способ подачи напитка, а наоборот - дополнительная возможность, если вы пришли без термокружки, или не собираетесь пить в заведении из кофейной пары. Поэтому одноразовый стаканчик вы приобретаете дополнительно к напитку за символическую стоимость.

С точки зрения разработки вроде бы все просто: одноразовый стаканчик - это отдельный товар, который можно точно также положить в корзину, как напиток или десерт. НО тут мы сталкиваемся с рядом нюансов:

  • как гость должен понять (или не забыть), что ему нужно положить один или несколько стаканчиков (если заказывает несколько напитков) в корзину? Ведь устоявшийся паттерн для большинства “я заказываю капучино, и подразумеваю, что мне его подадут в одноразовом стаканчике”.
  • как бариста поймет, какой именно напиток нужно налить в одноразовый стаканчик, если например гость взял капучино для себя (и у него есть термокружка) и флэт-уайт для коллеги в офис в одноразовый стаканчик, а стаканчик просто добавлен в корзину как отдельный товар?

В первом случае конечно можно выводить на экран предупреждение: “Пожалуйста, купите еще стакан, если он вам нужен”, но это выглядит как-то не изящно, согласитесь :)

Во втором случае можно заставлять гостя указывать, какой напиток нужно подать в стаканчике, но этим мы усложняем жизнь гостю с одной стороны, а с другой - бариста работает на терминале через CRM QuickResto, и в данной системе реализовать связки товаров - нетривиальная задача, которая требует кастомизации со стороны команды разработчиков QuickResto, а это дополнительные сроки и стоимость.

Поэтому мы с заказчиком пришли к решению, что самый оптимальный вариант - сделать одноразовый стаканчик модификатором к напиткам:

  • любой модификатор может иметь свою собственную стоимость, поэтому ее также назначили одноразовому стаканчику.
  • модификатор можно применить к любым позициям в меню, что мы и сделали для всех напитков. Бариста не будет мучаться догадками - модификатор всегда отображается примененным к конкретной позиции в заказе.
  • чтобы гость не забыл добавить одноразовый стаканчик, мы сделали модификатор примененным по умолчанию, это позволяют настройки QuickResto. Но если гость не нуждается в нем, то он просто уберет модификатор тапом на него.


Доставка

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

  • в мобильном приложении вы выбираете кофейню, в которой хотите выпить кофе или перекусить;
  • выбираете в меню напитки и еду, кладете в корзину.
  • при оформлении заказа в корзине указываете вариант доставки “В кофейне” и дополнительно выбираете, хотите ли вы, чтобы официант все принес к вашему столику, или сами заберете у кассы, как только заказ будет готов.
  • если вы хотите, чтобы заказ принесли к вашему столику, то нужно указать его номер: у каждого столика есть QR-код, который можно отсканировать через приложение, и номер столика автоматически попадет в комментарий к заказу на терминал баристе.
  • в завершение вы оплачиваете заказ в мобильном приложении и, собственно, все, осталось немного подождать, когда вам принесут ваш заказ :)

С доставкой из кофейни на указанный адрес тоже не все так просто. С одной стороны, сценарий стандартный: пользователь указывает нужный ему адрес доставки, курьер привозит заказ на этот адрес, и все счастливы. С другой стороны есть ряд нюансов:

  • у FLIP несколько кофеен, пользователь заказывает напитки и блюда из конкретной кофейни, так как ассортимент может незначительно отличаться.
  • некоторые напитки и готовые блюда должны быть доставлены горячими или со льдом, поэтому важно, чтобы курьер смог осуществить доставку максимально быстро - минут 10-15 максимум.
  • но есть категории меню, для которых это неважно (например, зерна кофе), их можно доставить в течение дня и даже позже в любую точку Москвы и области.

Исходя из этого, мы сделали для менеджеров кофеен возможность самостоятельно настраивать разные зоны доставки для разных категорий меню и для разных кофеен.


  1. Менеджер выбирает кофейню и категорию меню в этой кофейне, рисует прямо на карте полигон - зону доставки. Так можно нарисовать совершенно разные зоны для каждой кофейни и для каждой категории в меню этой кофейни.
  2. Гость при заказе доставки увидит сообщение, входят ли блюда и напитки, которые у него в корзине, в зону доставки. Если какие-то позиции не входят в зону доставки, он может выбрать: забрать их самостоятельно из кофейни, либо просто удалить из заказа. 


Кроме доставки по адресу и заказе внутри кофейни, в приложении также есть возможность заказа самовывозом. Отличие самовывоза от заказа “в кофейне - заберу у кассы” в сервировке заказа: в кофейне напитки и блюда подадут в керамической посуде вместе с приборами, а при самовывозе - удобно упакуют, чтобы вы могли забрать заказ с собой.



Кофейные карты

У кофеен FLIP есть довольно оригинальные акционные механики, основанные на принципе подписки:

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

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

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

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

  1. Напитки можно объединять в группы (например, “Daily Dairy”: капучино, флэт-уайт, раф, латте и некоторые другие напитки). Кофейному проездному назначается группа, на которую он распространяется.
  2. Менеджер может назначить срок действия кофейному проездному. В рамках этого срока гость может заказать напитки, на которые распространяется проездной, неограниченное количество раз. Аналогично и для чековой книжки, но там каждый напиток можно заказать только один раз, зато из любой группы.
  3. Каждому проездному менеджер может назначить также доступное количество чашек в соответствии со сроком действия проездного и привязанной группы напитков.
  4. И да, проездных может быть сколько угодно, причем можно в рамках одного проездного создавать несколько вариаций по срокам действия и количеству чашек.

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


Связаться с нами

FLIP

iOS, Android
June 2020 - November 2020

When you create a mobile application or site for the delivery of dishes from coffee shops and restaurants, the first thing you have to deal with is an interface quest: how to bring all the unknown user scenarios to a common denominator, how to make sure that all the variety of options for ordering and delivery of dishes is reduced to simple and logical sequence of order screens.

It seems that such quests are not once passed UX-designers and developers, it seems that managers have faced many similar requests from different customers - take Okkam's razor, reduce the variety of scenarios to a few basic, and "ready!" :)

But not everything is so obvious, especially in the restaurant industry, where each restaurant or chain seeks to show its individuality, to differentiate itself from competitors and to be remembered by guests. 

The chain of coffee shops FLIP gave us a number of interesting interface (and, accordingly, development) tasks to implement their offline business logic in a mobile application:

  1. FLIP is guided by the idea of healthy food, as well as attention to the environment, it is important for them to show it and even involve guests to their ideology. For example, they motivate guests in every way to use thermo cups instead of disposable tableware.
  2. FLIP are very client-oriented, that's why it was necessary to make different order options in the mobile application: order in the coffee shop to the table, pick up, delivery to the address.
  3. FLIP came up with some interesting promotional mechanics for the mobile application, we had to implement and integrate them with CRM QuickResto, as well as take into account when setting up acquiring and fiscal reporting.

Let's talk about it the hard way.

Disposable cup

If a coffee shop positions itself as an eco-friendly establishment, they often not only agree to pour a drink into your mug, but also sell it to you at a discount. FLIP went further: the disposable cup is not a default method of drink delivery, but on the contrary - an additional option, if you come without a thermo mug, or are not going to drink in the institution from a coffee pair. Therefore, you buy a disposable cup in addition to the beverage for a symbolic price.

From the design point of view, everything seems to be simple: a disposable cup is a separate product, which can be put in the basket just like a drink or dessert. BUT here we encounter a number of nuances:

  • how should the guest understand (or not forget) that he should put one or more cups (if he orders several drinks) in the basket? After all, a well-established pattern for most "I order a cappuccino, and I mean that I will be served it in a disposable cup".
  • how will a barista understand what kind of drink to pour into a disposable cup, if, for example, the guest has taken a cappuccino for himself (and he has a thermo mug) and a Flat white for a colleague in the office in a disposable cup, and the cup is just added to the basket as a separate item?

In the first case, of course, you can display a warning: "Please buy another cup, if you need it, but it does not look somehow elegant, agree :)

In the second case, you can force the guest to specify which drink to serve in the cup, but this complicates the life of the guest on the one hand, and on the other - barista works on the terminal via CRM QuickResto, and in this system to implement bundles of goods - a non-trivial task that requires customization by the QuickResto development team, which is additional time and cost.

That's why we and the customer have come to the decision that the best option is to make a disposable cup a modifier for drinks:

  • Any modifier can have its own cost, so it was also assigned to a disposable cup.
  • The modifier can be applied to any position in the menu, which we have done for all drinks. Baristas will not be tormented by guesswork - the modifier is always displayed applied to a certain position in the order.
  • So that the guest doesn't forget to add a disposable cup, we made the modifier applied by default, this allows the QuickResto settings. But if the guest doesn't need it, he just removes the modifier with a tap on it.

Delivery

Delivery from the coffee shop now will not surprise anyone, but not everywhere the possibility of ordering a dish in the coffee shop through the application, not approaching the cash register is implemented, and this is especially relevant in connection with the pandemic, when it is not necessary to create unnecessary queues, and there is a need to minimize direct contact between people with each other. We have made such an opportunity for FLIP coffee shops:

  • In the mobile application you choose a coffee shop, where you want to drink coffee or have a snack.
  • You choose drinks and food from the menu, put it in the basket.
  • When placing an order in the basket you specify the delivery option "In the coffee shop" and additionally choose whether you want the waiter to bring everything to your table or take it from the cash desk as soon as the order is ready.
  • If you want the order to be brought to your table, it is necessary to indicate its number: every table has a QR code, which can be scanned through the application and the number of the table will automatically get to the comment to the order to the barista terminal.
  • At the end you pay for the order at the mobile application and actually it is left to wait a little bit, when your order will be brought to you :)

Delivery from the coffee shop to the specified address is not so easy either. On the one hand, the script is standard: the user specifies the desired delivery address, the courier brings the order to this address, and everyone is happy. On the other hand, there are some nuances:

  • FLIP has several coffee shops, the user orders drinks and dishes from a particular coffee shop, as the assortment may slightly differ.
  • Some drinks and ready-made dishes should be delivered hot or with ice, so it is important that the courier can deliver them as quickly as possible - 10-15 minutes maximum.
  • But there are menu categories for which it doesn't matter (for example, coffee beans), they can be delivered during the day and even later to any place in Moscow and the region.

On this basis, we have made it possible for coffee shop managers to set up different delivery zones for different menu categories and for different coffee shops.

  1. The manager chooses a coffee shop and a menu category in this coffee shop, draws a polygon - delivery zone right on the map. So you can draw completely different zones for each coffee shop and for each category in the menu of this coffee shop.
  2. When ordering delivery, the guest will see a message, whether the dishes and drinks, which he has in his basket, are included in the delivery zone. If some items are not included in the delivery zone, he can choose: pick them up by himself from the coffee shop, or simply delete them from the order. 

In addition to the delivery to the address and the order inside the coffee shop, the application also has the possibility to order self-delivery. The difference between self-delivery and the order "in the coffee shop - pick up at the cash desk" in the order serving: in the coffee shop drinks and dishes will be served in ceramic dishes together with the appliances, and at self-delivery - conveniently packed, so you can take the order with you.

Coffee Cards

FLIP coffee shops have quite original promotion mechanics based on the principle of subscription:

  • The guest can buy a coffee pass, as part of a coffee pass he buys certain drinks without paying for the entire validity period of the pass.
  • The guest can buy a coffee check book, within which all the drinks from the menu are available without payment, but only once.

As this business logic of the promotional mechanics was implemented, we faced a problem: after the purchase of a check book or a coffee card, the beverage for the customer costs 0 cents, and zero payment is not processed by Alfa Bank acquiring, respectively, Fiscal Data Operator, integrated with acquiring, does not send the check. And it is obligatory both for goods accounting and for compliance with the law: the guest must receive a check for any purchase. 

For example, it was not possible to issue a coffee card and a check book as deposits within the QuickResto system: the basic mechanics did not fit, it was not possible to create different time slots, etc.

That's why we implemented all the promotional mechanics on the backend side of the mobile application, and transferred the cost of goods to the QuickResto master system as a 100% discount. To implement the check book and coffee passes, we made flexible settings in the CMS for the manager of coffee shops:

  1. Beverages can be grouped (e.g. "Daily Dairy": cappuccino, Flat white, raff, latte and some other drinks). Coffee Pass is assigned to a group to which it applies.
  2. A manager may assign a coffee pass validity period. Within this period, a guest may order drinks to which a coffee pass applies an unlimited number of times. The same is true for the checkbook, but there each drink may be ordered only once, but from any group.
  3. Manager may also assign an available number of cups to each group according to the validity period of the coffee pass and the beverage group tied up.
  4. And yes, there can be as many coffee passes as you want, and you can create several variations within one pass according to the validity period and number of cups.

As for the zero payment check - we have set up a direct integration of the mobile application CMS with the client's Fiscal Data Operator: now the checks come for any order, whether it is for the full price or for 0 cents.

I want the same