Списание баллов, сроки жизни и сгорание
Партии баллов вместо одного числа#
Баланс гостя — это не одно число, а набор партий (лотов). Каждое начисление создаёт отдельную партию, у которой есть:
- сколько баллов начислено и сколько осталось;
- в какой точке заработано;
- когда начислено и когда сгорит;
- источник — чек, промо-акция, импорт из другой системы.
Баланс гостя — это сумма остатков всех живых партий.
Зачем такая сложность:
- точное сгорание — сгорает конкретная партия со своим сроком, а не «часть баланса»;
- честный отчёт — видно, сколько баллов заработано в каждой точке и где потрачено;
- корректные возвраты — при сторно чека система знает, из каких именно партий были сняты баллы, и возвращает их туда же;
- чистое разделение, если точка выходит из общей программы.
Списание по принципу FIFO#
При списании гасятся самые старые партии первыми. Это выгодно и гостю (сначала тратится то, что скоро сгорит), и заведению (обязательства закрываются по мере старения).
Если запрошенной суммы не хватает в одной партии, списание переходит на следующую по возрасту.
Ограничения на списание#
Максимальный процент от чека#
Главное ограничение. По умолчанию — 30%: гость не может оплатить баллами больше 30% чека, остальное платит деньгами.
Лимит можно задать на ступени уровня и лично гостю. Побеждает первое, что задано: личный лимит гостя → лимит его ступени → настройка точки. Пустое поле у ступени означает «лимит как у заведения», а явный 0% — «на этой ступени баллами платить нельзя»; это разные вещи, и система их различает.
Считается процент от той части чека, которую вообще разрешено гасить баллами: исключённые позиции (алкоголь, табак) в базу лимита не входят, а личная скидка гостя вычитается из неё до расчёта.
Пример. Чек 2000 ₽, из них вино на 800 ₽ (исключено). Лимит 30%. База лимита = 1200 ₽, максимум к списанию = 360 ₽ = 360 баллов при курсе 1:1. Даже если у гостя на балансе 5000 баллов.
Списание происходит само#
Кассир ничего не нажимает. Как только гость опознан, касса спрашивает у облака максимум по этому чеку и сразу кладёт его в чек скидкой «SLP Бонусы». Если кассир после этого пробьёт ещё позиции, сумма пересчитается.
Кассир видит во всплывающем окне баланс гостя, его уровень, лимит («бонусами можно закрыть до N% чека») и сколько баллов уже списано.
Если гость хочет потратить меньше или не тратить вовсе — кассир правит эту скидку в чеке обычным способом, как любую другую. Уменьшил или удалил — касса больше не навязывает своё число по этому чеку. Увеличить сверх лимита нельзя: касса вернёт сумму к разрешённому максимуму и напишет об этом.
Пока чек открыт, баланс гостя не тронут — в чеке лежит только скидка. Баллы реально списываются в момент закрытия чека, поэтому отменённый чек баланс не трогает.
Что ещё уменьшает доступную сумму#
- Неактивированные баллы. Если у точки настроена задержка начисления, свежие баллы в лимит не попадают, пока не истечёт задержка.
- Забронированные баллы. Если гость участвует в аукционе (см. геймификацию), его ставка заморожена и в чеке не тратится.
- Просроченные партии. Партия с истёкшим сроком не тратится, даже если фоновая процедура сгорания ещё не дошла до неё.
Минимальный чек и другие лимиты#
Ограничение на списание в программе одно — максимальный процент от чека (свой у точки, у ступени и у гостя). Отдельных настроек минимальной суммы чека, дневных лимитов на гостя или «счастливых часов» для списания нет: если нужно ограничить списание по составу заказа, это делается исключёнными позициями, а по размеру — процентом лимита.
Срок жизни баллов и сгорание#
По умолчанию баллы живут 365 дней с момента начисления. Срок задаётся в настройках точки; значение 0 означает «баллы не сгорают».
Каждая партия сгорает по своему сроку. Фоновая процедура регулярно проходит по просроченным партиям, обнуляет их и записывает операцию «сгорание» в журнал.
Подарки могут жить меньше#
Общий срок — это срок баллов, заработанных чеками. У баллов, подаренных рассылкой (день рождения, реактивация, приветствие), можно задать свой, более короткий срок: подарок обычно нужен не для накопления, а чтобы привести гостя в ближайшие дни.
У дня рождения срок считается от самой даты рождения: «дарим за 5 дней до, сгорает через 7 дней после». У остальных рассылок — от момента начисления. Настраивается в разделе «Автопуши», подробнее — в рассылках.
Сгорает при этом только подаренная партия, остальной баланс гостя живёт своим сроком.
Предупреждение о сгорании#
Гостю можно напоминать, что баллы скоро сгорят: «N баллов сгорят такого-то числа». Это одна из самых работающих механик возврата — человек приходит, чтобы не потерять накопленное.
Напоминание не включено само по себе: это автопуш «Сгорание баллов», его нужно завести в кабинете и задать горизонт — за сколько дней до сгорания предупреждать (обычно 7). Он срабатывает один раз на партию, а не каждый день.
Важно
Это рекламное сообщение, а не сервисное: гость без согласия на рекламу его не получит. Согласие спрашивается в приложении, и там же сказано, что именно человек потеряет, отказавшись.
Кроме того, в кабинете доступен готовый сегмент «баллы на сгорании» — по нему можно запустить отдельную кампанию.
Что настроить#
- Срок жизни. Слишком короткий срок раздражает гостей и обесценивает программу; слишком длинный раздувает обязательства. 12 месяцев — рабочий компромисс.
- Автопуш о сгорании. Горизонт (за сколько дней предупреждать) настраивается.
- Срок подарков. Короткий срок у подарочных баллов — это не жадность, а повод прийти: он превращает подарок в приглашение с датой.
Импортированные баллы#
Если вы переносите базу из другой системы лояльности, старые балансы превращаются в отдельные партии. Они могут быть бессрочными — то есть не сгорать вообще, если так решено при переносе.
Обязательства заведения#
Сумма остатков всех живых партий, заработанных в вашей точке, — это ваше обязательство перед гостями в рублях (курс 1 балл = 1 ₽). Отчёт по обязательствам доступен в кабинете и обновляется вместе с журналом.
В обязательства входят в том числе забронированные (на аукционе) и просроченные, но ещё не сожжённые партии — отчёт всегда равен журналу до копейки.