HandyCafe Docs
owner cashier

Управление участниками

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

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

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

  • Имя пользователя: уникальный идентификатор (без учета регистра), который участник использует для входа на клиентских ПК. После создания имя пользователя не может быть продублировано в системе.
  • Отображаемое имя: имя, показываемое в панели администрирования, списках сессий и приветствии на клиенте. Обязательное поле.
  • Пароль: участники могут установить пароль для самостоятельного входа на клиентских ПК. Пароль хранится в виде хэша и может быть пустым при создании (участник задает его при первом входе).
  • Email: необязательный адрес электронной почты. Видимость контролируется правом DISPLAY_EMAIL.
  • Телефон: необязательный номер телефона. Видимость контролируется правом DISPLAY_GSM.
  • Аватар: URL изображения профиля, отображаемого на экране блокировки клиента и в списках участников.
  • Пол: по умолчанию "не указан". Может быть установлен как мужской, женский или другой для демографической фильтрации.
  • Заметка: свободное текстовое поле для внутреннего использования. Видно только персоналу, не участнику.

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

Каждый участник имеет два независимых флага состояния:

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

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

Право на вход

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

Назначение уровня

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

  • Скидка в BPS: скидка в базисных пунктах, применяемая к тарификации сессий. Например, уровень с discount_bps = 500 дает участнику скидку 5% на почасовую ставку.
  • Метка роли: описательная метка (Silver, Gold, 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 Просмотр электронной почты участника
DISPLAY_GSM Просмотр номера телефона участника

Если роль кассира не включает DISPLAY_EMAIL или DISPLAY_GSM, эти поля скрыты в панели деталей участника, несмотря на наличие данных в базе.