Начисление бонусов

Когда происходит начисление#

Начисление привязано к закрытому чеку, а не к моменту заказа. Как только кассир закрывает чек, в котором опознан гость, плагин отправляет чек целиком (позиции, оплаты, гость) в облако, и движок начисляет баллы.

Гость получает пуш «Начислено N баллов» сразу после закрытия чека.

От какой суммы считаются баллы#

База начисления — сумма, реально оплаченная деньгами. Это значит:

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

Как вычитаются исключённые категории#

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

Пример. Чек 2000 ₽: горячее на 1200 ₽, вино на 800 ₽ (вино — исключённая позиция). Гость заплатил деньгами 2000 ₽. База начисления = 2000 × (1200 / 2000) = 1200 ₽. Баллы начислятся только с 1200 ₽.

Если гость частично оплатил чек баллами, пропорция считается уже от денежной части — то есть исключённые позиции не «съедают» больше, чем ей причитается.

Формула#

баллы = оплачено_деньгами_по_допустимым_позициям
        × процент_начисления_гостя
        × буст_общей_цели_зала
        ÷ курс_балла

Результат округляется вниз.

Пример: чек 1000 ₽ деньгами, у гостя уровень «Серебро» с процентом начисления 7%, курс 1 балл = 1 ₽ → 1000 × 0,07 = 70 баллов.

Какой процент применяется к гостю#

Процент начисления — целое число, а не надбавка к базовой ставке: поставили на «Золоте» 9% — гость получает 9%, а не 5+9. Множителей у уровня нет.

Побеждает первое, что задано:

ПриоритетОткудаГде настраивается
1Личный процент гостякарточка гостя → «Личные условия»
2Процент ступенираздел «Уровни»
3Базовая ставка точки«Настройки программы»

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

Задержка начисления (защита от возвратов)#

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

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

Важная деталь: срок сгорания отсчитывается от момента начисления, а не от момента активации. Задержка не продлевает жизнь баллов.

Повторная отправка чека не задваивает баллы#

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

Ручное начисление и промо-баллы#

Помимо начисления за чек, баллы можно выдать вручную или автоматически:

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

Правила для промо-начислений:

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

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

Что видит гость#

Гость видит в приложении: текущий баланс, историю начислений и списаний, ближайшую дату сгорания, свой уровень и прогресс до следующего.