HandyCafe Docs
owner

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:

  1. Członek wykonuje aktywność (sesja, zakup, logowanie itp.).
  2. System tworzy wydarzenie lojalnościowe z odpowiednim points_delta.
  3. Całkowita liczba punktów członka jest przeliczana jako suma wszystkich wartości points_delta z wydarzeń lojalnościowych.
  4. System sprawdza, czy nowa suma spełnia próg dla wyższego poziomu.
  5. Jeśli członek kwalifikuje się do nowego poziomu, jego pole tier jest 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:

  1. Podstawowa cena godzinowa jest określana przez aktywny slot cenowy.
  2. Jeśli członek ma poziom z wartością discount_bps, podstawowa cena jest obniżana: discounted_price = base_price * (10000 - discount_bps) / 10000.
  3. Dodatkowo, indywidualne rabaty na poziomie członka (member_discount_bps w rekordzie członka) są stosowane, jeśli są obecne.
  4. 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:

  1. Przejdź do Ustawienia i otwórz sekcję Ceny (lub dedykowany obszar zarządzania poziomami).
  2. Kliknij Dodaj Poziom.
  3. Wprowadź code (unikalny, małe litery), name (etykieta wyświetlana), threshold points i discount BPS.
  4. 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%).