HandyCafe Docs
owner cashier

Gestionarea membrilor

Membrii sunt clienți înregistrați în internet cafe-ul sau centrul de gaming. Un profil de membru stochează identitatea clientului, informațiile de contact, datele de autentificare și preferințele de facturare. Membrii se pot autentifica de pe PC-urile client, acumula solduri în portofel, achiziționa pachete de timp, câștiga puncte de fidelitate și primi reduceri bazate pe nivel la sesiuni și comenzi.

Câmpurile profilului de membru

Fiecare înregistrare de membru conține următoarele informații:

  • Nume utilizator: Un identificator unic, insensibil la majuscule, pe care membrul îl folosește pentru a se autentifica pe PC-urile client. Odată creat, numele de utilizator nu poate fi duplicat în sistem.
  • Numele afișat: Numele afișat în Panoul de administrare, listele de sesiuni și salutul de pe ecranul clientului. Acesta este un câmp obligatoriu.
  • Parolă: Membrii pot seta o parolă pentru autentificarea de la sine pe PC-urile client. Parola este stocată ca hash și poate fi lăsată goală inițial (membrul o setează la prima autentificare).
  • Email: Adresă de email opțională. Vizibilitatea este controlată de permisiunea DISPLAY_EMAIL.
  • Mobil: Număr de telefon opțional. Vizibilitatea este controlată de permisiunea DISPLAY_GSM.
  • Avatar: Un URL de imagine de profil afișat pe ecranul de blocare al clientului și în listele de membri.
  • Gen: Implicit "necunoscut". Poate fi setat la masculin, feminin sau altul pentru filtrare demografică.
  • Notă: Un câmp de text liber pentru uz intern. Vizibil doar personalului, nu membrului.

Stările membrului

Fiecare membru are două indicatoare de stare independente:

Activ / Inactiv

Comutatorul activ/inactiv controlează dacă membrul apare în rezultatele standard de căutare și poate interacționa cu sistemul. Dezactivarea unui membru este o ștergere logică. Profilul și toate datele asociate (credite portofel, credite de timp, istoric sesiuni) sunt păstrate, însă membrul este ascuns din operațiunile zilnice.

Permisiune de autentificare

Indicatorul can_login controlează dacă membrul are permisiunea de a se autentifica de pe PC-urile client. Un membru poate fi activ (vizibil în sistem) însă cu autentificarea dezactivată, ceea ce este util pentru membrii cu datorii restante sau încălcări ale regulamentului.

Atribuirea nivelului

Fiecare membru poate fi atribuit unui nivel de fidelitate. Nivelul determină:

  • Reducere în puncte de bază: O reducere în puncte de bază aplicată la tarifarea sesiunii. De exemplu, un nivel cu discount_bps = 500 acordă membrului o reducere de 5% la tariful orar.
  • Etichetă de rol: O etichetă descriptivă (cum ar fi Silver, Gold, VIP) afișată în cardul de profil al membrului și în panourile de sesiune.

Atribuirea nivelului poate fi manuală sau automată pe baza sistemului de puncte de fidelitate. Consultați pagina Niveluri de fidelitate pentru detalii despre configurarea nivelurilor și progresia membrilor.

Timpul rămas și domeniul dispozitivelor

Timpul rămas al unui membru nu este un singur număr. Timpul este păstrat în loturi. Fiecare lot este utilizabil doar pe PC-uri, doar pe console sau pe ambele. Grupele nu se suprapun. Soldul total este suma lor simplă.

Ce poate cheltui efectiv un membru depinde de locul unde stă:

Loc Timp utilizabil
Un PC Loturile doar pentru PC plus loturile pentru ambele tipuri de dispozitiv
O consolă Loturile doar pentru consolă plus loturile pentru ambele tipuri de dispozitiv

Panoul de membru afișează soldul total și, separat, cât din el este utilizabil pe PC-uri și pe console. Cât timp membrul este așezat, afișează și cât este utilizabil la acel loc, calculat cu grupul de tarifare și domeniul dispozitivului pe care se află. Insigna dispare când membrul părăsește locul.

De aceea un membru poate avea 480 de minute în total, în timp ce pe mașina din fața lui sunt disponibile doar câteva minute. Un pachet limitat la console nu valorează nimic pe un PC.

Dacă o sesiune este deschisă pe un dispozitiv pe care niciun timp al membrului nu îl acoperă, panoul afișează Timpul de membru nu este utilizabil pe acest dispozitiv.

Timp care expiră

Panoul indică următoarea expirare ca grup, nu ca un singur lot. Fiecare lot care expiră în același moment este adunat și defalcat pe domenii. Avertismentul reflectă astfel întreaga cantitate pe cale să fie pierdută.

Carduri de membru

Un membru poate primi un card NFC sau RFID care deschide o sesiune printr-o atingere, în loc de nume de utilizator și parolă. Cardurile sunt atribuite, returnate și anulate din panoul membrului. Vezi Carduri de membru.

Limita de conexiuni simultane

Câmpul max_connection setează numărul maxim de sesiuni active simultane pe care un membru le poate avea pe toate PC-urile client. Valoarea implicită este 1, ceea ce înseamnă că membrul poate fi autentificat pe un singur PC la un moment dat. Dacă un membru încearcă să se autentifice pe un al doilea PC în timp ce are o sesiune activă, sistemul respinge autentificarea.

Creșterea acestei valori este utilă pentru membrii care gestionează mai multe mașini (cum ar fi conturile de personal) sau pentru niveluri speciale de abonament care permit utilizarea pe mai multe dispozitive.

Căutarea și filtrarea membrilor

Pagina Membri oferă o listă cu derulare virtuală care gestionează eficient baze de date mari de membri. Puteți:

  • Căuta: Tastați în bara de căutare pentru a filtra după numele de utilizator, numele afișat, email sau numărul de telefon. Căutarea este insensibilă la majuscule și actualizează rezultatele în timp real.
  • Filtra după stare: Comutați între afișarea tuturor membrilor, doar a membrilor activi sau doar a celor inactivi.
  • Sorta: Faceți clic pe anteturile coloanelor pentru a sorta după nume, data ultimei vizite sau data creării.

Implementarea cu derulare virtuală încarcă în memorie doar porțiunea vizibilă a listei de membri, astfel încât performanța rămâne fluidă chiar și cu zeci de mii de membri înregistrați.

Indicator de stare online

Când un membru este autentificat pe un PC client sau are o sesiune activă pe consolă, profilul său afișează un indicator verde de online în lista de membri. Indicatorul afișează și pe ce client sau consolă specifică este membrul, astfel încât personalul poate localiza rapid un client.

Crearea unui membru nou

Pentru a crea un membru nou:

  1. Navigați la pagina Membri din bara laterală.
  2. Faceți clic pe butonul Adaugă membru din bara de instrumente.
  3. Completați cel puțin numele afișat (obligatoriu) și opțional un nume de utilizator pentru autentificare.
  4. Setați un nivel dacă se aplică sau lăsați-l la valoarea implicită.
  5. Ajustați valoarea conexiuni maxime dacă valoarea implicită de 1 nu este potrivită.
  6. Faceți clic pe Salvare pentru a crea membrul.

Sistemul generează automat un ID unic pentru membru și înregistrează identitatea casierului care l-a creat.

Editarea unui membru

Selectați un membru din listă pentru a deschide vizualizarea detaliată a profilului. De aici puteți:

  • Actualiza orice câmp de profil (nume afișat, email, mobil, gen, notă).
  • Schimba atribuirea nivelului membrului.
  • Comuta indicatoarele activ și can_login.
  • Reseta sau schimba parola membrului.
  • Ajusta limita de conexiuni simultane.

Toate modificările sunt salvate imediat și se creează o intrare în jurnalul de audit.

Ștergerea unui membru

Ștergerea unui membru elimină profilul din sistemul activ. Această acțiune necesită permisiunea MEMBER_DELETE. Un membru poate fi șters chiar dacă are sesiuni anterioare sau istoric de autentificare. Istoricul sesiunilor și al tranzacțiilor este păstrat pentru raportare, însă nu mai este legat de un profil de membru. Soldurile de portofel și de credit de timp sunt eliminate odată cu profilul. Pentru a păstra intactă întreaga evidență a unui membru, dezactivați-l în loc să îl ștergeți.

Permisiuni necesare

Accesul la funcțiile de gestionare a membrilor este controlat de următoarele permisiuni ale rolului de casier:

Permisiune Acordă
MEMBER_VIEW Vizualizarea listei de membri și căutarea membrilor
MEMBER_ADD Crearea de profiluri noi de membru
MEMBER_UPDATE Editarea profilurilor existente de membru
MEMBER_DELETE Ștergerea profilurilor de membru
DISPLAY_EMAIL Vizualizarea adresei de email a membrului în panoul de detalii
DISPLAY_GSM Vizualizarea numărului de mobil al membrului în panoul de detalii

Dacă rolul unui casier nu include DISPLAY_EMAIL sau DISPLAY_GSM, aceste câmpuri sunt ascunse în panoul de detalii al membrului chiar dacă datele există în baza de date.