Списание баллов, сроки жизни и сгорание

Партии баллов вместо одного числа#

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

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

Баланс гостя — это сумма остатков всех живых партий.

Зачем такая сложность:

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

Списание по принципу FIFO#

При списании гасятся самые старые партии первыми. Это выгодно и гостю (сначала тратится то, что скоро сгорит), и заведению (обязательства закрываются по мере старения).

Если запрошенной суммы не хватает в одной партии, списание переходит на следующую по возрасту.

Ограничения на списание#

Максимальный процент от чека#

Главное ограничение. По умолчанию — 30%: гость не может оплатить баллами больше 30% чека, остальное платит деньгами.

Лимит можно задать на ступени уровня и лично гостю. Побеждает первое, что задано: личный лимит гостя → лимит его ступени → настройка точки. Пустое поле у ступени означает «лимит как у заведения», а явный 0% — «на этой ступени баллами платить нельзя»; это разные вещи, и система их различает.

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

Пример. Чек 2000 ₽, из них вино на 800 ₽ (исключено). Лимит 30%. База лимита = 1200 ₽, максимум к списанию = 360 ₽ = 360 баллов при курсе 1:1. Даже если у гостя на балансе 5000 баллов.

Списание происходит само#

Кассир ничего не нажимает. Как только гость опознан, касса спрашивает у облака максимум по этому чеку и сразу кладёт его в чек скидкой «SLP Бонусы». Если кассир после этого пробьёт ещё позиции, сумма пересчитается.

Кассир видит во всплывающем окне баланс гостя, его уровень, лимит («бонусами можно закрыть до N% чека») и сколько баллов уже списано.

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

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

Что ещё уменьшает доступную сумму#

  • Неактивированные баллы. Если у точки настроена задержка начисления, свежие баллы в лимит не попадают, пока не истечёт задержка.
  • Забронированные баллы. Если гость участвует в аукционе (см. геймификацию), его ставка заморожена и в чеке не тратится.
  • Просроченные партии. Партия с истёкшим сроком не тратится, даже если фоновая процедура сгорания ещё не дошла до неё.

Минимальный чек и другие лимиты#

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

Срок жизни баллов и сгорание#

По умолчанию баллы живут 365 дней с момента начисления. Срок задаётся в настройках точки; значение 0 означает «баллы не сгорают».

Каждая партия сгорает по своему сроку. Фоновая процедура регулярно проходит по просроченным партиям, обнуляет их и записывает операцию «сгорание» в журнал.

Подарки могут жить меньше#

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

У дня рождения срок считается от самой даты рождения: «дарим за 5 дней до, сгорает через 7 дней после». У остальных рассылок — от момента начисления. Настраивается в разделе «Автопуши», подробнее — в рассылках.

Сгорает при этом только подаренная партия, остальной баланс гостя живёт своим сроком.

Предупреждение о сгорании#

Гостю можно напоминать, что баллы скоро сгорят: «N баллов сгорят такого-то числа». Это одна из самых работающих механик возврата — человек приходит, чтобы не потерять накопленное.

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

Важно

Это рекламное сообщение, а не сервисное: гость без согласия на рекламу его не получит. Согласие спрашивается в приложении, и там же сказано, что именно человек потеряет, отказавшись.

Кроме того, в кабинете доступен готовый сегмент «баллы на сгорании» — по нему можно запустить отдельную кампанию.

Что настроить#

  • Срок жизни. Слишком короткий срок раздражает гостей и обесценивает программу; слишком длинный раздувает обязательства. 12 месяцев — рабочий компромисс.
  • Автопуш о сгорании. Горизонт (за сколько дней предупреждать) настраивается.
  • Срок подарков. Короткий срок у подарочных баллов — это не жадность, а повод прийти: он превращает подарок в приглашение с датой.

Импортированные баллы#

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

Обязательства заведения#

Сумма остатков всех живых партий, заработанных в вашей точке, — это ваше обязательство перед гостями в рублях (курс 1 балл = 1 ₽). Отчёт по обязательствам доступен в кабинете и обновляется вместе с журналом.

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