Poziomy Lojalności
System poziomów lojalności nagradza stałych klientów automatycznymi rabatami na podstawie ich zgromadzonej aktywności. Członkowie korzystając z kafejki (wydając pieniądze, logując się, kupując pakiety lub składając zamówienia) zdobywają punkty lojalnościowe. Kiedy ich całkowita liczba punktów przekroczy próg poziomu, awansują na wyższy poziom i otrzymują większy rabat na ceny sesji.
Struktura Poziomów
Każdy poziom lojalności jest zdefiniowany przez cztery pola:
| Pole | Opis |
|---|---|
code |
Unikalny krótki kod dla poziomu (np. silver, gold, vip). Używany wewnętrznie do identyfikacji i w odpowiedziach API. |
name |
Nazwa wyświetlana w formie czytelnej dla człowieka (np. "Srebrny Członek", "Złoty Członek"). Pokazywana w profilu członka i na ekranie blokady klienta. |
threshold_points |
Minimalna liczba punktów lojalnościowych, które członek musi zgromadzić, aby zakwalifikować się do tego poziomu. |
discount_bps |
Rabat stosowany do cen sesji, wyrażony w punktach bazowych. 100 BPS to 1%. Wartość 500 oznacza 5% rabatu. |
Poziomy są uporządkowane według wartości threshold_points. Członek należy do najwyższego poziomu, dla którego spełnia próg punktowy.
Rabaty w Punktach Bazowych (BPS)
Rabaty są wyrażane w punktach bazowych (BPS), a nie w procentach, aby uniknąć błędów zaokrągleń zmiennoprzecinkowych w obliczeniach finansowych. Jeden punkt bazowy to 0,01%, czyli jedna setna procenta.
Typowe wartości rabatów:
| Wartość BPS | Procent | Przykład przy stawce 1000 jednostek/godzina |
|---|---|---|
| 250 | 2,5% | Członek płaci 975 za godzinę |
| 500 | 5% | Członek płaci 950 za godzinę |
| 1000 | 10% | Członek płaci 900 za godzinę |
| 1500 | 15% | Członek płaci 850 za godzinę |
| 2000 | 20% | Członek płaci 800 za godzinę |
Kiedy członek z rabatem poziomowym rozpoczyna sesję, silnik cenowy obniża podstawową stawkę godzinową o discount_bps poziomu przed obliczeniem kosztów segmentu.
Wydarzenia Lojalnościowe
Członkowie zdobywają punkty poprzez wydarzenia lojalnościowe. Każde wydarzenie rejestruje zmianę punktów i aktywność, która je wywołała:
| Typ Wydarzenia | Opis | Typowe Punkty |
|---|---|---|
spend |
Członek zapłacił za sesję (postpaid lub odliczenie z portfela). Punkty są proporcjonalne do wydanej kwoty. | Zależy od kwoty wydatku |
usage |
Członek korzystał z PC lub konsoli podczas sesji, niezależnie od płatności. Punkty są oparte na czasie użytkowania. | Zależy od liczby użytych minut |
visit |
Członek zalogował się z klienta PC. Stały bonus za każdą wizytę, zachęcający do regularnych odwiedzin. | Stała wartość za wizytę |
topup |
Członek dodał środki do swojego portfela. Punkty odzwierciedlają kwotę doładowania. | Zależy od kwoty doładowania |
order |
Członek złożył zamówienie na produkt (jedzenie, napoje itp.). Punkty są proporcjonalne do całkowitej wartości zamówienia. | Zależy od wartości zamówienia |
adjustment |
Ręczna korekta punktów dokonana przez administratora. Używana do korekt, promocji lub specjalnych nagród. | Dowolna wartość (dodatnia lub ujemna) |
Każdy zapis wydarzenia lojalnościowego zawiera:
- points_delta: Liczba zdobytych (dodatnich) lub utraconych (ujemnych) punktów z tego wydarzenia.
- amount_minor: Kwota pieniężna związana z wydarzeniem (w jednostkach mniejszych), jeśli dotyczy.
- minutes_delta: Liczba minut związanych z wydarzeniem, jeśli dotyczy.
- source_entity / source_entity_id: Odniesienie do sesji, zamówienia lub transakcji, które wygenerowały wydarzenie.
- event_at: Znacznik czasu, kiedy wydarzenie miało miejsce.
Awans na Wyższy Poziom
Awans na wyższy poziom działa w następujący sposób:
- Członek wykonuje aktywność (sesja, zakup, logowanie itp.).
- System tworzy wydarzenie lojalnościowe z odpowiednim
points_delta. - Całkowita liczba punktów członka jest przeliczana jako suma wszystkich wartości
points_deltaz wydarzeń lojalnościowych. - System sprawdza, czy nowa suma spełnia próg dla wyższego poziomu.
- Jeśli członek kwalifikuje się do nowego poziomu, jego pole
tierjest aktualizowane, a nowy rabat zaczyna obowiązywać od następnej sesji.
Przypisanie poziomu może być również ustawione ręcznie przez administratora, co nadpisuje automatyczne obliczenia.
Jak Rabaty Poziomowe Stosują się do Cen Sesji
Kiedy silnik cenowy oblicza koszt segmentu sesji dla członka:
- Podstawowa cena godzinowa jest określana przez aktywny slot cenowy.
- Jeśli członek ma poziom z wartością
discount_bps, podstawowa cena jest obniżana:discounted_price = base_price * (10000 - discount_bps) / 10000. - Dodatkowo, indywidualne rabaty na poziomie członka (
member_discount_bpsw rekordzie członka) są stosowane, jeśli są obecne. - Ostateczna stawka z rabatem jest używana do obliczenia kosztu segmentu.
Rabaty poziomowe i rabaty na poziomie członka mogą się sumować, dając członkowi łączną korzyść z obu.
Tworzenie i Zarządzanie Poziomami
Aby utworzyć nowy poziom:
- Przejdź do Ustawienia i otwórz sekcję Ceny (lub dedykowany obszar zarządzania poziomami).
- Kliknij Dodaj Poziom.
- Wprowadź code (unikalny, małe litery), name (etykieta wyświetlana), threshold points i discount BPS.
- Zapisz poziom.
Aby edytować istniejący poziom, wybierz go z listy i zmodyfikuj dowolne z jego pól. Zmiany w discount_bps poziomu zaczynają obowiązywać dla wszystkich członków obecnie przypisanych do tego poziomu, począwszy od ich następnej sesji.
Aby usunąć poziom, usuń go z listy. Członkowie przypisani do usuniętego poziomu zostaną przypisani do najniższego poziomu, do którego kwalifikują się na podstawie swoich punktów.
Przykładowa Konfiguracja Poziomów
Typowa konfiguracja trzech poziomów może wyglądać następująco:
| Kod | Nazwa | Punkty Progowe | Rabat BPS |
|---|---|---|---|
bronze |
Brązowy | 0 | 0 |
silver |
Srebrny | 500 | 500 |
gold |
Złoty | 2000 | 1000 |
vip |
VIP | 5000 | 1500 |
W tej konfiguracji nowy członek zaczyna na poziomie Brązowym (bez rabatu). Po zgromadzeniu 500 punktów z wizyt, wydatków i zamówień, automatycznie awansuje na poziom Srebrny z 5% rabatem. Przy 2000 punktów osiąga poziom Złoty (10%), a przy 5000 punktów zdobywa status VIP (15%).