HandyCafe Docs
owner cashier

Управління учасниками

Учасники -- це зареєстровані клієнти вашого інтернет-кафе або ігрового центру. Профіль учасника зберігає ідентифікаційні дані клієнта, контактну інформацію, облікові дані для входу та налаштування білінгу. Учасники можуть входити з клієнтських ПК, накопичувати баланс гаманця, купувати пакети часу, заробляти бали лояльності та отримувати рівневі знижки на сеанси та замовлення.

Поля профілю учасника

Кожен запис учасника містить таку інформацію:

  • Ім'я користувача: унікальний ідентифікатор (нечутливий до регістру) для входу на клієнтських ПК. Після створення ім'я не може дублюватися в системі.
  • Відображуване ім'я: ім'я, що показується на Панелі адміністратора, у списках сеансів та у вітанні клієнта. Обов'язкове поле.
  • Пароль: учасники можуть встановити пароль для самостійного входу на клієнтських ПК. Пароль зберігається як хеш і може бути залишений порожнім при створенні (учасник встановлює його при першому вході).
  • Email: необов'язкова адреса електронної пошти. Видимість контролюється дозволом DISPLAY_EMAIL.
  • Мобільний: необов'язковий номер телефону. Видимість контролюється дозволом DISPLAY_GSM.
  • Аватар: URL зображення профілю, що відображається на екрані блокування клієнта та у списках учасників.
  • Стать: за замовчуванням "невідомо". Може бути встановлена як чоловіча, жіноча або інша для демографічної фільтрації.
  • Нотатка: вільне текстове поле для внутрішнього використання. Видиме лише персоналу, не учаснику.

Стани учасника

Кожен учасник має два незалежних прапорці стану:

Активний / Неактивний

Перемикач контролює, чи учасник з'являється у стандартних результатах пошуку та може взаємодіяти з системою. Деактивація учасника -- це м'яке видалення. Профіль та всі пов'язані дані (кредити гаманця, кредити часу, історія сеансів) зберігаються, але учасник прихований від щоденних операцій.

Дозвіл на вхід

Прапорець can_login контролює, чи учасник може входити з клієнтських ПК. Учасник може бути активним (видимим у системі), але з вимкненим входом, що корисно для учасників з непогашеними боргами або порушеннями правил.

Призначення рівня

Кожному учаснику можна призначити рівень лояльності. Рівень визначає:

  • Знижку у BPS: знижку у базисних пунктах на тарифікацію сеансів. Наприклад, рівень з discount_bps = 500 надає знижку 5% на погодинну ставку.
  • Мітку ролі: описову мітку (наприклад, Срібло, Золото, VIP), що показується у картці профілю учасника та на панелях сеансів.

Призначення рівня може бути ручним або автоматичним на основі системи балів лояльності. Детальніше на сторінці Рівні лояльності.

Ліміт одночасних підключень

Поле max_connection встановлює максимальну кількість одночасних активних сеансів учасника по всіх клієнтських ПК. Значення за замовчуванням -- 1, тобто учасник може бути авторизований лише на одному ПК одночасно. При спробі входу на другому ПК з активним сеансом система відхилить вхід.

Збільшення значення корисне для учасників, що керують кількома машинами (наприклад, облікові записи персоналу) або для спеціальних рівнів членства з багатопристроєвим доступом.

Пошук та фільтрація учасників

Сторінка Учасників надає список з віртуальною прокруткою, що ефективно обробляє великі бази учасників. Ви можете:

  • Шукати: введіть текст у рядок пошуку для фільтрації за ім'ям, відображуваним ім'ям, email або мобільним номером. Пошук нечутливий до регістру та оновлює результати в реальному часі.
  • Фільтрувати за статусом: перемикання між показом усіх учасників, лише активних або лише неактивних.
  • Сортувати: натискайте на заголовки стовпців для сортування за ім'ям, датою останнього візиту або датою створення.

Реалізація з віртуальною прокруткою завантажує в пам'ять лише видиму частину списку, тому продуктивність залишається плавною навіть з десятками тисяч учасників.

Індикатор статусу онлайн

Коли учасник авторизований на клієнтському ПК або має активний сеанс консолі, його профіль показує зелений індикатор онлайн у списку учасників. Індикатор також відображає, який саме клієнт або консоль учасник використовує, тому персонал може швидко знайти клієнта.

Створення нового учасника

Для створення нового учасника:

  1. Перейдіть на сторінку Учасники з бічної панелі.
  2. Натисніть кнопку Додати учасника на панелі інструментів.
  3. Заповніть щонайменше відображуване ім'я (обов'язкове) та за бажанням ім'я користувача для входу.
  4. Встановіть рівень, якщо застосовно, або залиште за замовчуванням.
  5. Скоригуйте значення макс. підключень, якщо значення за замовчуванням 1 не підходить.
  6. Натисніть Зберегти для створення учасника.

Система автоматично генерує унікальний ID для учасника та фіксує ідентифікатор касира-створювача.

Редагування учасника

Оберіть учасника зі списку для відкриття деталей профілю. Тут ви можете:

  • Оновити будь-яке поле профілю (відображуване ім'я, email, мобільний, стать, нотатка).
  • Змінити призначення рівня учасника.
  • Перемикати прапорці active та can_login.
  • Скинути або змінити пароль учасника.
  • Скоригувати ліміт одночасних підключень.

Усі зміни зберігаються негайно та створюється запис аудиторського журналу.

Видалення учасника

Видалення учасника прибирає його профіль з активної системи. Ця дія потребує дозволу MEMBER_DELETE. Пов'язані дані (історія сеансів, записи гаманця) зберігаються для цілей звітності, але більше не пов'язані з активним профілем учасника.

Вимоги до дозволів

Доступ до функцій управління учасниками контролюється такими дозволами ролі касира:

Дозвіл Надає
MEMBER_VIEW Перегляд списку учасників та пошук
MEMBER_ADD Створення нових профілів учасників
MEMBER_UPDATE Редагування існуючих профілів
MEMBER_DELETE Видалення профілів учасників
DISPLAY_EMAIL Перегляд адреси email у деталях учасника
DISPLAY_GSM Перегляд мобільного номера у деталях учасника

Якщо роль касира не включає DISPLAY_EMAIL або DISPLAY_GSM, ці поля приховані у панелі деталей учасника, хоча дані існують у базі даних.