Skip to main content
Бонусы — это накопительный баланс клиента: начисляются процентом от оплаченной аренды и списываются в счёт оплаты следующей. Это отдельный механизм от скидок (уменьшают цену конкретной аренды) и реферального вознаграждения (расход в пользу приведшего агента) — все три считаются разными строками расчёта аренды и не смешиваются между собой. Полный перечень полей — в таблице ниже; отдельного глоссария у этой страницы нет.

Модель данных

Бонусы

На бонусные операции наложено ограничение: для одной аренды может существовать только одна операция типа «Начисление». Списаний на аренду может быть несколько.

Как это работает

Жизненный цикл бонусов

1

Создание бонусного счёта

При создании клиента автоматически создаётся бонусный счёт. Если в настройках компании стартовая сумма бонусов больше нуля, сразу пишется приветственная операция «Начисление» на эту сумму.
2

Начисление за аренду

Начисление за аренду срабатывает только если аренда «Завершена» и имеет статус оплаты «Оплачена». Сумма начисления:
Начисление = итоговая сумма к оплате × процент кэшбэка / 100
где процент кэшбэка берётся из уровня лояльности клиента, если у клиента заполнен аккаунт пользователя, иначе — из процента по умолчанию в настройках компании. Если по аренде уже есть списание бонусов, начисление пропускается.
3

Списание в счёт оплаты

Списание запускает менеджер вручную. Максимум к списанию — это наименьшее из трёх значений:
Максимум к списанию = минимум из:
  1. остаток к оплате (итоговая сумма к оплате − оплачено);
  2. процент от суммы, разрешённый к оплате бонусами (итоговая сумма к оплате × разрешённый процент / 100);
  3. доступный баланс бонусов,
но не меньше нуля.
Пишется операция «Списание» на эту сумму (в бонусной операции она отражается отрицательным числом).Нижняя граница нуля важна для случая переплаты: если клиент внёс больше итоговой суммы к оплате, остаток к оплате отрицательный, и максимум к списанию равен нулю — списывать нечего. Без этой границы списание превратилось бы в начисление и увеличивало бы бонусный баланс клиента.
4

Пересчёт баланса

Каждое сохранение бонусного счёта пересчитывает баланс как сумму всех бонусных операций по нему.После каждой операции и после её удаления счёт пересохраняется, а также обновляется Wallet-карта клиента.
5

Отражение в деньгах

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

Числовой пример начисления и списания

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

Значения «максимум к списанию» и «использовано бонусов» в карточке аренды

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

Связанные страницы

Карточка клиента

Профиль клиента, документы и чёрный список.

Программа лояльности

Откуда берётся процент кэшбэка для начислений.

Реферальные агенты

Агенты, приводящие клиентов, и их вознаграждение.

Клиенты, бонусы и рефералы

Общий обзор модуля.