Плагин Simple Loyalty Pass для iikoFront: что это и зачем
Simple Loyalty Pass (SLP) — внешняя система лояльности: бонусы, уровни и правила живут в облаке SLP, а не внутри iiko. Чтобы касса умела узнавать гостя, применять его условия и начислять баллы, на кассу ставится плагин SLP для iikoFront.
Плагин — это единственная точка стыка SLP с кассой. Никакие другие интеграции (в том числе iikoCard) не используются.
Что плагин делает на кассе#
| Задача | Как это выглядит для кассира |
|---|---|
| Идентификация гостя | Кассир сканирует QR из приложения гостя или нажимает кнопку «SLP Лояльность» и ищет гостя по последним цифрам номера либо по фамилии. Гость появляется строкой в заказе |
| Показ условий гостя | Всплывающее окно: имя, баланс в баллах, уровень, до какой доли чека можно закрыть бонусами и сколько уже списано |
| Списание бонусов | Происходит само: касса спрашивает у облака максимум по этому чеку и кладёт его скидкой. Кассир ничего не нажимает; если гость хочет меньше — правит эту скидку в чеке |
| Личная скидка гостя | Если гостю выданы личные условия, касса добавляет в чек скидку на рассчитанную облаком сумму |
| Купоны | Второй заход по кнопке «SLP Лояльность» → «Купоны гостя»: список, выбор, гашение |
| Автоначисление | Ничего вводить не нужно: при закрытии чека плагин сам отправляет чек в облако, гость получает баллы и пуш |
| Возвраты и сторно | Возврат или сторно чека автоматически откатывают и списание, и начисление, и погашенный купон |
Всё, что считается деньгами, считает облако: суммы скидки и списания приходят на кассу уже посчитанными по составу чека. Плагин их только применяет — иначе два расчёта неизбежно разошлись бы.
На какие кассы ставится#
Плагин ставится только на главные кассы — терминалы, на которых фактически проводится оплата и закрывается чек.
Почему так:
- начисление привязано к событию «чек закрыт» — оно происходит на главной кассе;
- списание сводится в облаке в момент закрытия чека;
- ставить плагин на терминалы официантов (iikoWaiter) не требуется и не поддерживается.
Если в заведении несколько главных касс, плагин ставится на каждую из них: каждая касса получает свой токен терминала и учитывается в кабинете отдельно.
Главный принцип: касса никогда не встаёт из-за лояльности#
Плагин спроектирован так, чтобы проблемы со связью или с облаком SLP не мешали продавать:
- все обращения к облаку в момент чека ограничены по времени (порядка 1,5 секунды). Не ответили — кассир видит сообщение «Лояльность временно недоступна», чек закрывается обычным способом;
- опознать гостя, применить его скидку и списать баллы при недоступности облака нельзя (мы не рискуем чужим балансом «на глазок»), но начисление не теряется: закрытые чеки складываются в локальную очередь на кассе и доедут в облако, когда связь восстановится;
- любая внутренняя ошибка плагина логируется и не приводит к падению iikoFront;
- если плагин не смог прочитать свои настройки, он поднимается в «ограниченном режиме»: пишет об этом в лог и не вмешивается в работу кассы.
Что видно в отчётах iiko#
Всё, что делает плагин, ложится в отчёты iiko штатными сущностями — это три обычные скидки с произвольной суммой, каждая со своим типом:
| Роль | Тип скидки (название задаёте вы) | Что означает |
|---|---|---|
| Личная скидка гостя | «SLP Скидка» | гость платит меньше, заведение недополучает эти деньги |
| Купон | «SLP Купоны» | разовая акция: скидка, фиксированная сумма или подарок |
| Списание бонусов | «SLP Бонусы» | гость гасит часть чека накопленными баллами |
Три разных типа — не формальность: плагин снимает и ставит «свою» скидку по типу, и на общем типе одна операция стирала бы другую (например, повторное опознание гостя стёрло бы уже погашенный купон).
Подробно для бухгалтерии — «Скидка и списание в чеке: как это видит бухгалтерия».