Рівні лояльності
Система рівнів лояльності винагороджує постійних клієнтів автоматичними знижками на основі їхньої накопиченої активності. По мірі використання кафе (витрати коштів, входи, покупки пакетів або розміщення замовлень) учасники заробляють бали лояльності. Коли загальна кількість балів перевищує поріг рівня, вони переходять на вищий рівень та отримують більшу знижку на тарифікацію сеансів.
Структура рівнів
Кожен рівень лояльності визначається чотирма полями:
| Поле | Опис |
|---|---|
code |
Унікальний короткий код рівня (наприклад, silver, gold, vip). Використовується внутрішньо для ідентифікації та у відповідях API. |
name |
Зрозуміла відображувана назва (наприклад, "Срібний учасник", "Золотий учасник"). Показується у профілі учасника та на екрані блокування клієнта. |
threshold_points |
Мінімальна кількість балів лояльності для кваліфікації на цей рівень. |
discount_bps |
Знижка на тарифікацію сеансів у базисних пунктах. 100 BPS = 1%. Значення 500 означає знижку 5%. |
Рівні впорядковуються за значенням threshold_points. Учасник належить до найвищого рівня, для якого він відповідає порогу балів.
Знижки у базисних пунктах (BPS)
Знижки виражаються у базисних пунктах (BPS), а не у відсотках для уникнення помилок округлення з плаваючою точкою у фінансових розрахунках. Один базисний пункт = 0.01%, або одна сота відсотка.
Типові значення знижок:
| Значення BPS | Відсоток | Приклад при ставці 1000 одиниць/год |
|---|---|---|
| 250 | 2.5% | Учасник платить 975 за годину |
| 500 | 5% | Учасник платить 950 за годину |
| 1000 | 10% | Учасник платить 900 за годину |
| 1500 | 15% | Учасник платить 850 за годину |
| 2000 | 20% | Учасник платить 800 за годину |
Коли учасник з рівневою знижкою запускає сеанс, механізм тарифікації зменшує базову погодинну ставку на discount_bps рівня перед розрахунком вартості сегментів.
Події лояльності
Учасники заробляють бали через події лояльності. Кожна подія фіксує зміну балів та активність, що її спричинила:
| Тип події | Опис | Типові бали |
|---|---|---|
spend |
Учасник заплатив за сеанс (постоплата або списання з гаманця). Бали пропорційні витраченій сумі. | Залежать від суми |
usage |
Учасник використовував ПК або консоль для сеансу, незалежно від оплати. Бали базуються на тривалості. | Залежать від хвилин |
visit |
Учасник увійшов з клієнтського ПК. Фіксований бонус за кожне відвідування для заохочення регулярних візитів. | Фіксовані за візит |
topup |
Учасник поповнив гаманець. Бали відображають суму поповнення. | Залежать від суми |
order |
Учасник розмістив замовлення товарів (їжа, напої тощо). Бали пропорційні сумі замовлення. | Залежать від суми |
adjustment |
Ручне коригування балів адміністратором. Використовується для виправлень, промоакцій або спеціальних винагород. | Будь-яке значення |
Кожен запис події лояльності включає:
- points_delta: кількість набраних (позитивне) або втрачених (негативне) балів.
- amount_minor: грошова сума, пов'язана з подією (у мінорних одиницях валюти), якщо застосовно.
- minutes_delta: кількість хвилин, пов'язаних з подією, якщо застосовно.
- source_entity / source_entity_id: посилання на сеанс, замовлення або транзакцію, що згенерували подію.
- event_at: мітка часу виникнення події.
Просування за рівнями
Просування за рівнями працює так:
- Учасник виконує активність (сеанс, покупка, вхід тощо).
- Система створює подію лояльності з відповідним
points_delta. - Загальні бали учасника перераховуються як сума всіх
points_deltaподій лояльності. - Система перевіряє, чи новий підсумок відповідає порогу вищого рівня.
- Якщо учасник кваліфікується на новий рівень, поле
tierоновлюється і нова знижка діє з наступного сеансу.
Призначення рівня також може бути встановлене вручну адміністратором, перевизначаючи автоматичний розрахунок.
Як рівневі знижки застосовуються до тарифікації сеансів
Коли механізм тарифікації розраховує вартість сегмента сеансу для учасника:
- Базова погодинна ціна визначається активним тарифним слотом.
- Якщо учасник має рівень зі значенням
discount_bps, базова ціна зменшується:discounted_price = base_price * (10000 - discount_bps) / 10000. - Додатково застосовуються індивідуальні знижки на рівні учасника (
member_discount_bpsу записі учасника), якщо присутні. - Кінцева знижена ставка використовується для розрахунку вартості сегмента.
Рівневі знижки та знижки на рівні учасника можуть накладатися, надаючи учаснику комбіновану перевагу обох.
Створення та управління рівнями
Для створення нового рівня:
- Перейдіть до Налаштувань та відкрийте розділ Тарифи (або відповідний розділ управління рівнями).
- Натисніть Додати рівень.
- Введіть код (унікальний, у нижньому регістрі), назву (відображувану мітку), порогові бали та знижку BPS.
- Збережіть рівень.
Для редагування існуючого рівня оберіть його зі списку та змініть будь-яке поле. Зміни discount_bps рівня діють для всіх учасників, призначених до цього рівня, починаючи з їхнього наступного сеансу.
Для видалення рівня приберіть його зі списку. Учасники, призначені до видаленого рівня, повертаються до наступного нижчого рівня, для якого вони кваліфікуються за балами.
Приклад налаштування рівнів
Типова конфігурація з трьома рівнями може виглядати так:
| Код | Назва | Порогові бали | Знижка BPS |
|---|---|---|---|
bronze |
Бронза | 0 | 0 |
silver |
Срібло | 500 | 500 |
gold |
Золото | 2000 | 1000 |
vip |
VIP | 5000 | 1500 |
У цій конфігурації новий учасник починає з Бронзи (без знижки). Після накопичення 500 балів від відвідувань, витрат та замовлень він автоматично переходить на Срібло зі знижкою 5%. При 2000 балах досягає Золота (10%), а при 5000 -- статусу VIP (15%).