Меню плагина на кассе: все окна и что в них делать

Справочник по интерфейсу плагина: где он появляется в iikoFront, какие окна открывает, что означает каждая надпись и что делать кассиру. Пошаговый порядок работы — на странице «Работа кассира»; здесь разобрано каждое окно по отдельности, чтобы можно было найти то, которое сейчас на экране.

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

Где плагин живёт в интерфейсе#

Своего раздела и своего экрана у плагина нет. Он добавляет к iikoFront ровно две вещи:

Точка входаГдеКогда срабатывает
Кнопка «SLP Лояльность»экран заказа, среди дополнительных действийпо нажатию кассира
Сканер штрихкодовэкран заказакогда отсканирован QR из приложения гостя

Всё остальное — всплывающие окна поверх обычного экрана заказа. Отдельной кнопки «Купоны» нет намеренно: гасить купон некуда, пока к чеку не привязан гость, и такая кнопка на пустом чеке давала бы одну и ту же ошибку. Купоны живут вторым нажатием той же кнопки «SLP Лояльность».

Пока плагин ждёт ответа облака, iikoFront показывает своё окно ожидания — то самое светлое окно под нашими всплывающими окнами. Это окно самой кассы, не наше; мы только подписываем его строкой «SLP: ищем гостя…», «SLP: узнаём гостя…», «SLP: смотрим купоны гостя…», «SLP: гасим купон…». Оно гаснет само.

Опознание гостя: два пути#

Путь 1. Скан QR#

Гость показывает QR в приложении Simple Pass (вкладка «Карта» → «Показать QR»). Кассир сканирует его обычным сканером на экране заказа.

  • Плагин сам отличает наш QR от товарного штрихкода: обычный товар добавится в заказ, как всегда.
  • QR динамический, обновляется примерно раз в 45 секунд. Скриншот чужого кода не сработает.
  • Ничего нажимать до скана не нужно — заказ должен быть просто открыт.

Путь 2. Кнопка «SLP Лояльность»#

Первое, что открывается по кнопке, — поиск, а не ввод полного номера:

SLP: найти гостя
[ ввод: до 40 символов ]
[ Найти ]   [ Отмена ]

Что вводить: последние цифры номера телефона (обычно достаточно четырёх) или начало имени либо фамилии. Полный номер за стойкой никто не диктует — в этом и смысл: у гостя спрашивают «последние четыре цифры» и сверяют имя.

Как разбирается запрос:

  • есть цифры — ищем по хвосту номера, а не по началу: код страны и оператора не важны, их можно не вводить;
  • только буквы — ищем по имени и фамилии с начала слова: «Ива» найдёт Иванова, «ван» — нет;
  • минимум 3 символа (три цифры или три буквы). По двум под фильтр попадёт половина базы;
  • на кассе ищутся только держатели карты этого заведения.

Пустой ввод + «Найти» открывает прежнее окно идентификации с вкладками:

ВкладкаДля чего
Телефонномер целиком
QR из приложенияручной ввод кода, если сканер не читает
Картапрокатка пластиковой карты через картридер

Окно выбора гостя#

Если по запросу нашлось больше одного человека:

Кто из гостей?
Анна Кузнецова · +7 916 555 16 65 · Золото
Антон Ким · +7 912 341 11 02 · Серебро
[ Отмена ]

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

Показывается до 10 вариантов. Если в заголовке написано «показаны не все — уточните запрос», подходящих гостей больше: добавьте цифр или введите фамилию.

Окно с условиями гостя#

Появляется сразу после опознания — это главное окно плагина.

SLP: Анна К.

Баланс: 1 250 баллов
Уровень: Серебро (10 % на всё меню, 5 % на: Кальян)
Бонусами можно закрыть до 30% чека.
Списано 300 баллов — скидкой в чеке.
Не нужно столько: измените или удалите её на экране заказа.

Что означает каждая строка:

СтрокаСмысл
БалансБаллы, а не рубли. Ровно то же число гость видит в приложении
УровеньСтупень гостя. В скобках — его личные условия, если они выданы: «10 % на всё меню», «5 % на: Кальян» или обе части сразу. Пусто — значит личной скидки нет, и уровень на сумму чека не влияет
Бонусами можно закрыть до N% чекаЛимит списания именно для этого гостя: личный лимит → лимит его ступени → лимит заведения. Это ответ на вопрос гостя «сколько я могу списать»
Списано N баллов — скидкой в чекеКасса уже положила списание в чек. Ничего дополнительно нажимать не надо
Списать по этому чеку сейчас нечего: добавьте позицииГость опознан раньше, чем пробиты позиции. Списание появится само, когда в чеке будет с чего списывать
ВНИМАНИЕ. Скидка N% НЕ применена…Гостю обещана личная скидка, но на кассе не настроен тип скидки. См. ниже

Одновременно с окном в заказе появляется строка гостя (его имя) — по ней видно, что чек «с картой».

Меню по уже опознанному гостю#

Нажали «SLP Лояльность», когда гость к чеку уже привязан. В заголовке — карточка гостя, ниже список действий. Состав списка зависит от чека: пункты, которым сейчас нечего делать, просто не показываются.

Анна К. · Золотой · баланс 1 240
[ Списать бонусы  (до 459 ₽) ]
[ Разложить списание по юрлицам  (2) ]
[ Списать другую сумму  (можно до 459 ₽) ]
[ Не списывать бонусы ]
[ Не применять личную скидку  (−459 ₽) ]
[ Пересчитать чек заново  (исправить, если что-то не так) ]
[ Купоны гостя ]
[ Данные гостя ]
[ Опознать другого гостя ]
[ Убрать гостя с чека ]
[ Закрыть ]
ПунктЧто происходитКогда виден
Списать бонусы (до N ₽)Кладёт максимум одним нажатиемрежим «когда попросят», списания в чеке ещё нет
Разложить списание по юрлицам (N)Пикер: сколько снять с каждой кассы (см. ниже)чек ещё один, но известно, что он разделится
Списать другую суммуВвод суммы с потолком, выше которого не пуститвсегда, когда есть с чего списывать
Не списывать бонусыУбирает списание; касса своё число больше не навязываетсписание в чеке есть
Не применять личную скидку (−N ₽)Убирает личную скидку гостя с этого чека. Гость остаётся на чеке: начисление, списание и купоны работают как обычно. Условия гостя в кабинете не меняются — на следующем чеке скидка снова будетличная скидка гостю положена и отказа ещё нет
Вернуть личную скидкуОбратный ход: скидка снова считается по условиям гостяна этом чеке от скидки отказались
Пересчитать чек зановоСнимает счёт с печати, выкидывает строки плагина, считает заново. Одна кнопка, которая лечит «что-то не сходится»всегда
Купоны гостяСписок купонов, готовых к гашениювсегда
Данные гостяКарточка: уровень, баланс, лимит, личные условиявсегда
Опознать другого гостяПрежний гость, его скидка и списание снимаются сразу. Скидки двух гостей не складываютсявсегда
Убрать гостя с чекаПолная отвязка: строка гостя, личная скидка и списание убираются, начисление не пойдёт. Купонную скидку это не снимает — купон уже погашен, вернуть его может только сторновсегда

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

Разделённый счёт: списание по юрлицам#

Точка бьёт счёт по двум кассам (ИП и ООО) — и вопрос «сколько бонусов снять с каждой» решает кассир, а не касса вслепую.

Пункт «Разложить списание по юрлицам» спрашивает сумму по каждому юрлицу отдельно:

SLP: сколько списать с «Бар (ИП)»?
Позиций на 900 ₽ · лимит этого юрлица 270 ₽ · осталось баллов по счёту 459 ₽

Что важно понимать:

  • Лимит списания действует на каждое юрлицо отдельно. Если по программе бонусами закрывается до 25 % чека, то и внутри каждой ноги счёта это те же 25 % — от её суммы. Иначе одна касса закрывала бы бонусами три четверти своего чека, а фискально это отдельное юрлицо со своим чеком.
  • Сумма раскладывается по позициям этого юрлица целыми рублями — на терминале не появляется копеек.
  • Отмена на любом шаге не трогает чек вовсе.
  • Пункт доступен только до разделения: после него потомки уже в статусе счёта, и править их нечем.

Для построчной раскладки скидка бонусов должна действовать на позиции. Если в карточке скидки в iikoOffice выключен «Выбор блюд на усмотрение официанта», плагин честно скажет об этом и положит списание на весь чек — дальше iiko поделит его сама, пропорционально суммам.

Для гостя и для владельца разделённый счёт — одна покупка и один визит: в ленте гостя и в статистике точки ноги счёта склеиваются обратно.

Купоны#

Купон гостя — какой применить?
Десерт в подарок · подарок · до 24.07
Скидка 15% · скидка % · до 01.08
[ Отмена ]

Как это работает:

  1. Плагин запрашивает у облака живые купоны гостя в этом заведении — выданные и активированные, у которых не истёк срок. Запечатанные тайм-капсулы и уже погашенные в список не попадают.
  2. Кассир выбирает один купон. Если у купона включена активация, а гость её не сделал, касса откажет по этому купону — активирует его сам гость в приложении, сидя за столом.
  3. Облако считает сумму скидки по составу чека и гасит купон.
  4. Плагин ставит эту сумму в чек отдельным типом скидки и подтверждает: «Купон „Десерт в подарок“ применён. Скидка: −350 ₽».

Сообщения, которые могут появиться вместо списка:

СообщениеЧто делать
«Скидка для купонов на этой кассе не настроена»Задать отдельный тип скидки под купоны в кабинете, раздел «Касса». Купон при этом не сгорел — проверка идёт до гашения
«У гостя нет купонов, готовых к гашению»Живых купонов в этом заведении нет: не выдавались, истекли, уже погашены или ещё запечатаны тайм-капсулой
«Нужна активация» при выборе купонаГость активирует купон в приложении, после этого повторите
«Купон неприменим к этому чеку»В чеке нет позиций, на которые он действует (например, подарок — конкретное блюдо)
«Лояльность временно недоступна — купон не погашен»Связи нет. Купон цел, попробуйте позже
«Купон погашен, но скидку не удалось проставить в чек»Редкий случай. Купон у гостя уже списан, поэтому дайте скидку на названную сумму любым другим типом заведения (типы SLP кассиру недоступны) или позовите администратора

Списание бонусов: что видит и что делает кассир#

Как касса ведёт себя по умолчанию, задаёт владелец в кабинете, раздел «Касса» → когда списывать бонусы:

  • сразу, как только гостя опознали — касса сама спрашивает у облака максимум и кладёт его скидкой, кассиру нажимать нечего;
  • только когда попросят — гость копит, а списание кассир зовёт сам: «SLP Лояльность» → «Списать бонусы».

В обоих режимах отдельной кнопки «начислить» нет и не нужно.

СитуацияПоведение кассы
Кассир пробил позиции после опознанияСумма списания пересчитывается сама, примерно через полсекунды после последней правки
Гость хочет списать меньше«SLP Лояльность» → «Списать другую сумму». В поле стоит потолок, выше которого ввести нельзя. Дальше касса своё число не навязывает
Гость не хочет тратить баллы«SLP Лояльность» → «Не списывать бонусы». Дальше касса списание не возвращает
Правят скидку руками в родном экране скидокТак делать не нужно: касса снимет её сама и объяснит, как правильно. Что снять не удалось — попадёт в «Расхождения» в кабинете
Чек изменился после ввода суммыКасса подгонит списание под новый лимит и скажет об этом: «Списание уменьшено до N баллов — больше по этому чеку нельзя»
В чеке не осталось, с чего списывать«Списание снято: по этому чеку баллами платить нечем»
Оплата уже начатаПересчёт не делается — суммы к оплате уже посчитаны, подменять их опаснее, чем оставить как есть

Важно

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

Личная скидка: когда её нужно убрать#

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

Бывает, что скидку по этому чеку применять не надо: гость сам просит списать бонусами побольше (скидка уменьшает сумму, от которой считается лимит списания), проходит акция, которая со скидкой не складывается, или скидку по договорённости дают другим типом. Для этого есть пункт «Не применять личную скидку».

Что он делает и чего не делает:

  • убирает личную скидку только с этого чека. Личные условия гостя в кабинете остаются, и на следующем чеке скидка применится снова;
  • гость с чека не снимается: начисление пойдёт, бонусы списываются, купоны гасятся как обычно. Именно этим пункт отличается от «Убрать гостя с чека», которым раньше приходилось пользоваться для той же цели ценой потерянного начисления;
  • лимит списания пересчитывается сразу: без скидки сумма, от которой считаются бонусы, больше — новое число касса покажет в том же окне;
  • на разделённом счёте действует на весь счёт, а не на одну ногу: гость один, и половина счёта со скидкой, а половина без — не то, о чём просили;
  • отказ живёт до конца чека и переживает перезапуск кассы. Снять его можно двумя способами: «Вернуть личную скидку» или «Пересчитать чек заново» (он возвращает всю автоматику разом);
  • если счёт уже напечатан, снять скидку кассе нечем — она скажет об этом и предложит «Пересчитать чек заново», который сначала снимает счёт с печати.

Недоданная скидка уезжает владельцу в кабинет как расхождение — «гостю положено N ₽, в чеке M ₽». Это не ошибка кассира и ничего не блокирует: вид расхождения информационный и покрывает любую причину, включая осознанный отказ. Владельцу важно видеть каждый случай, когда гость уехал без обещанной скидки.

Сообщения об отказах#

СообщениеЧто означаетЧто делать кассиру
«Лояльность временно недоступна. Чек можно закрыть без неё — начисление догонит гостя позже»Облако не ответило за отведённое времяЗакрыть чек обычным способом. Начисление придёт гостю позже само
«Такого гостя не нашли. Попробуйте другие цифры номера или фамилию»Связь есть, совпадений нетУточнить запрос
«Карта не найдена» / «У гостя пока нет карты этого заведения»Аккаунт в платформе есть, карты вашего заведения нет. По номеру телефона такой гость опознаётся, поиском — нет: поиск на кассе показывает только держателей картыГость заводит карту в приложении, из каталога заведений; начисление пойдёт со следующего чека
«Откройте заказ, чтобы привязать гостя»Кнопку нажали без открытого заказаОткрыть заказ
«Гость не найден»Облако отвергло идентификатор (просроченный QR, неизвестный номер)Попросить обновить QR или искать по номеру

Отдельно стоит предупреждение о неприменённой скидке: «Скидка N% НЕ применена: на кассе не настроен тип скидки». Оно означает, что владелец выдал гостю личную скидку, а в iikoOffice нет типа скидки, которым её провести. Кассир в этом случае ничего не чинит — сообщает администратору, а тот настраивает раздел «Касса» в кабинете. Чек при этом проводится без обещанной скидки, поэтому молча игнорировать сообщение нельзя.

Что происходит без участия кассира#

СобытиеЧто делает плагин
Чек закрытОтправляет чек в облако: списание сводится, баллы начисляются, гость получает пуш. Привязка гостя закрывается вместе с чеком и в следующий чек этого стола не переходит
Чек сторнирован / возвратСтавит откат в очередь: баллы возвращаются, начисление снимается, погашенный купон возвращается гостю
Открытие и закрытие сменыРазгружает очередь неотправленных чеков и отмечается «жив» в кабинете
Раз в 5 минутОтмечается в кабинете, забирает названия типов скидок и, если меню изменилось, выгружает справочник номенклатуры
Раз в часПроверяет канал обновлений (см. «Обновление плагина»)

Чего в плагине нет#

Чтобы не искать несуществующее:

  • нет своего экрана, раздела и настроек на кассе — всё настраивается в кабинете;
  • нет кнопки «начислить баллы» — начисление всегда автоматическое, по закрытому чеку;
  • нет правки списания через родной экран скидок — сумма меняется внутри плагина, пунктом «Списать другую сумму»;
  • нет правки личной скидки на кассе: её процент задаёт владелец в кабинете. Кассир может только не применять её к этому чеку («Не применять личную скидку»);
  • нет отдельной кнопки купонов — они внутри меню по опознанному гостю;
  • нет выдачи купонов и уровней с кассы — это делается в кабинете.