Начисление бонусов
Когда происходит начисление#
Начисление привязано к закрытому чеку, а не к моменту заказа. Как только кассир закрывает чек, в котором опознан гость, плагин отправляет чек целиком (позиции, оплаты, гость) в облако, и движок начисляет баллы.
Гость получает пуш «Начислено 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 служит ключом: если плагин отправит тот же чек повторно (ретрай после обрыва связи, разбор офлайн-очереди), система вернёт прежний результат и не создаст новых баллов.
Ручное начисление и промо-баллы#
Помимо начисления за чек, баллы можно выдать вручную или автоматически:
- вручную из кабинета — например, как компенсацию за испорченный вечер;
- автоматически — приветственный бонус, подарок ко дню рождения, награда за приглашённого гостя, компенсация после плохой оценки, награда за миссию.
Правила для промо-начислений:
- обязательно указывается причина и источник — без них начисление не пройдёт;
- каждое такое начисление попадает в журнал действий администратора: кто, когда, сколько, почему;
- по умолчанию промо-баллы живут по тем же правилам сгорания, что и обычные, но для конкретной акции срок можно переопределить;
- промо-баллы учитываются в обязательствах заведения наравне с заработанными.
Источник начисления сохраняется в журнале, поэтому по любой акции или рассылке можно потом посчитать отдачу — см. страницу про аналитику.
Что видит гость#
Гость видит в приложении: текущий баланс, историю начислений и списаний, ближайшую дату сгорания, свой уровень и прогресс до следующего.