Как устроена бонусная программа

Эта страница — общая картина. Дальше в разделе каждый механизм разобран подробно.

Что считает система, а что делает касса#

Баланс гостя, все начисления, списания и сгорания живут в облаке Simple Loyalty Pass. Касса (плагин на кассовой станции iiko) — это «руки»: она узнаёт гостя, показывает кассиру цифры, кладёт в чек то, что посчитало облако, и передаёт закрытый чек обратно. Ничего не считает сама и ничего не хранит, кроме локальной очереди чеков на случай обрыва связи.

Практические следствия:

  • Все настройки программы вы меняете в кабинете, а не на кассе. Изменения применяются сразу, к следующему чеку.
  • Настройки принадлежат точке. Процент начисления, лимит списания, сроки сгорания — у каждой точки свои. Курс балла общий для всей платформы: 1 балл = 1 ₽.
  • Правила применяются по той точке, где пробит чек. Если у вас несколько точек в общей программе (коалиция), гость с общим балансом начислит и спишет по правилам того заведения, где он сейчас находится.

Три механизма, которые не надо путать#

МеханизмЧто делаетЧем оперирует
Скидкауменьшает сумму чека прямо сейчас, эти деньги заведение недополучаетденьги
Начислениедаёт баллы за то, что оплачено деньгамибаллы
Списаниегость закрывает часть чека уже накопленными балламибаллы

Это разные вещи, и главное различие — чьи это деньги. Скидка — расход заведения прямо сейчас. Списание баллов — погашение обязательства, которое заведение выдало раньше.

Важно

Настоящую скидку на чек дают ровно два инструмента: личные условия конкретного гостя и купон. Уровень гостя скидку не даёт — он управляет бонусами: сколько процентов вернётся баллами и какую долю чека можно закрыть баллами.

Порядок операций в чеке#

Порядок всегда один и тот же, и его держит облако — а не очерёдность действий кассира:

  1. Личная скидка гостя (если она ему выдана) — уменьшает сумму чека.
  2. Купон (если кассир его погасил) — уменьшает сумму чека. Купон и личная скидка складываются: обе считаются от полной цены позиций, а результат не может превысить остаток к оплате.
  3. Списание баллами — гасит часть оставшейся суммы, в пределах лимита. Касса делает это сама, как только гость опознан.
  4. Начисление — считается только от того, что гость реально доплатил деньгами.

То есть баллы не «размножаются»: на сумму, оплаченную баллами, новые баллы не начисляются. Это ключевой момент экономики программы.

Основные настройки программы#

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

НастройкаЧто делаетПо умолчанию
Ставка начислениякакой процент от оплаченного деньгами превращается в баллы5%
Курс балласколько рублей стоит один балл1 балл = 1 ₽, фиксирован платформой
Максимальный процент списаниякакую долю чека разрешено гасить баллами30%
Срок жизни балловчерез сколько дней начисленные баллы сгорают365 дней
Задержка начислениячерез сколько часов начисленные баллы становятся доступны к трате0 часов (сразу)
Исключённые позициичто не участвует ни в начислении, ни в оплате балламине заданы
Метрика уровнейпо чему гость поднимается по лестнице статусовтраты за 12 месяцев

Ставку начисления и лимит списания можно переопределить на ступени лестницы (раздел «Уровни») и на конкретном госте (карточка гостя → «Личные условия»). Правило одно для обоих процентов: личные условия гостя → значение ступени → настройка точки. Что выиграло, то и применит касса.

Почему дефолты именно такие#

При лимите списания 30% гость всегда платит деньгами минимум 70% чека. Себестоимость «бонусного рубля» для заведения близка к фудкосту, поэтому баллы остаются дешёвой отложенной скидкой, а не прямым убытком. Если вы поднимаете лимит списания — считайте, что растёт эффективная скидка на чек.

Про исключённые позиции#

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

Исключения выбираются из справочника вашей iiko, а не вписываются текстом. Касса выгружает в облако своё меню, и в кабинете (раздел «Настройки программы») вы отмечаете нужное по четырём осям вперемешку:

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

Важно

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

Округление#

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

Пример: чек 999,99 ₽, ставка 5%, курс 1 балл = 1 ₽ → начислится 49 баллов, не 50.

Что происходит, если связь с облаком пропала#

Чек всё равно закроется. Это жёсткое правило: недоступность лояльности не должна блокировать работу кассы.

  • Опознать гостя, применить его скидку и списать баллы в этот момент нельзя — кассир закрывает чек без лояльности.
  • Закрытые чеки складываются в локальную очередь плагина и уходят в облако, когда связь вернётся: начисления догонят гостя автоматически.

Повторная отправка того же чека не задваивает баллы — система узнаёт чек по его идентификатору в iiko.

Юридическая рамка#

Балл — это обязательство вашего заведения перед гостем, а не деньги. В системе нет и не будет вывода баллов в деньги, переводов баллов между гостями и продажи баллов за деньги. Simple Loyalty Pass выступает оператором учёта.