HandyCafe Docs
owner cashier

Manajemen Anggota

Anggota adalah pelanggan terdaftar di warnet atau pusat gaming Anda. Profil anggota menyimpan identitas pelanggan, informasi kontak, kredensial login, dan preferensi penagihan. Anggota dapat login dari PC klien, mengakumulasi saldo dompet, membeli paket waktu, mendapatkan poin loyalitas, dan menerima diskon berbasis tingkat pada sesi dan pesanan.

Kolom Profil Anggota

Setiap catatan anggota berisi informasi berikut:

  • Nama pengguna: Pengenal unik dan tidak peka huruf besar-kecil yang digunakan anggota untuk masuk di PC klien. Setelah dibuat, nama pengguna tidak dapat diduplikasi di seluruh sistem.
  • Nama tampilan: Nama yang ditampilkan di Panel Admin, daftar sesi, dan salam sisi klien. Ini adalah kolom wajib.
  • Kata sandi: Anggota dapat mengatur kata sandi untuk login mandiri di PC klien. Kata sandi disimpan sebagai hash dan dapat dibiarkan kosong pada awalnya (anggota mengaturnya pada login pertama).
  • Email: Alamat email opsional. Visibilitas dikendalikan oleh izin DISPLAY_EMAIL.
  • Ponsel: Nomor telepon opsional. Visibilitas dikendalikan oleh izin DISPLAY_GSM.
  • Avatar: URL gambar profil yang ditampilkan di layar kunci klien dan di daftar anggota.
  • Jenis kelamin: Default ke "tidak diketahui". Dapat diatur ke laki-laki, perempuan, atau lainnya untuk pemfilteran demografis.
  • Memo: Kolom catatan teks bebas untuk penggunaan internal. Hanya terlihat oleh staf, bukan anggota.

Status Anggota

Setiap anggota memiliki dua tanda status independen:

Aktif / Nonaktif

Tombol aktif/nonaktif mengontrol apakah anggota muncul dalam hasil pencarian standar dan dapat berinteraksi dengan sistem. Menonaktifkan anggota adalah soft delete. Profil dan semua data terkait (kredit dompet, kredit waktu, riwayat sesi) dipertahankan tetapi anggota disembunyikan dari operasi sehari-hari.

Izin Login

Tanda can_login mengontrol apakah anggota diizinkan untuk masuk dari PC klien. Anggota dapat aktif (terlihat di sistem) tetapi memiliki login dinonaktifkan, yang berguna untuk anggota dengan utang yang belum diselesaikan atau pelanggaran kebijakan.

Penugasan Tingkat

Setiap anggota dapat ditugaskan ke tingkat loyalitas. Tingkat menentukan:

  • Diskon dalam BPS: Diskon basis poin yang diterapkan pada harga sesi. Misalnya, tingkat dengan discount_bps = 500 memberikan anggota diskon 5% pada tarif per jam.
  • Label peran: Label deskriptif (seperti Silver, Gold, VIP) yang ditampilkan di kartu profil anggota dan di panel sesi.

Penugasan tingkat dapat manual atau otomatis berdasarkan sistem poin loyalitas. Lihat halaman Tingkat Loyalitas untuk detail tentang cara tingkat dikonfigurasi dan cara anggota maju melaluinya.

Batas Koneksi Bersamaan

Kolom max_connection mengatur jumlah maksimum sesi aktif bersamaan yang dapat dimiliki anggota di semua PC klien. Nilai default adalah 1, berarti anggota hanya dapat login ke satu PC pada satu waktu. Jika anggota mencoba login di PC kedua saat sudah dalam sesi aktif, sistem akan menolak login.

Meningkatkan nilai ini berguna untuk anggota yang mengelola beberapa mesin (seperti akun staf) atau untuk tingkat keanggotaan khusus yang mengizinkan penggunaan multi-perangkat.

Mencari dan Memfilter Anggota

Halaman Anggota menyediakan daftar virtual-scrolling yang menangani database anggota besar secara efisien. Anda dapat:

  • Mencari: Ketik di bilah pencarian untuk memfilter berdasarkan nama pengguna, nama tampilan, email, atau nomor ponsel. Pencarian tidak peka huruf besar-kecil dan memperbarui hasil secara real-time.
  • Filter berdasarkan status: Beralih antara menampilkan semua anggota, hanya anggota aktif, atau hanya anggota nonaktif.
  • Urutkan: Klik header kolom untuk mengurutkan berdasarkan nama, tanggal terakhir terlihat, atau tanggal pembuatan.

Implementasi virtual scrolling hanya memuat bagian yang terlihat dari daftar anggota ke memori sehingga kinerja tetap lancar bahkan dengan puluhan ribu anggota terdaftar.

Indikator Status Online

Saat anggota sedang login ke PC klien atau memiliki sesi konsol aktif, profil mereka menampilkan indikator online hijau di daftar anggota. Indikator juga menampilkan klien atau konsol spesifik mana yang sedang digunakan anggota sehingga staf dapat dengan cepat menemukan pelanggan.

Membuat Anggota Baru

Untuk membuat anggota baru:

  1. Navigasikan ke halaman Anggota dari bilah samping.
  2. Klik tombol Tambah Anggota di bilah alat.
  3. Isi minimal nama tampilan (wajib) dan secara opsional nama pengguna untuk login.
  4. Atur tingkat jika berlaku, atau biarkan pada default.
  5. Sesuaikan nilai koneksi maksimum jika default 1 tidak sesuai.
  6. Klik Simpan untuk membuat anggota.

Sistem secara otomatis menghasilkan ID unik untuk anggota dan mencatat identitas kasir pembuat.

Mengedit Anggota

Pilih anggota dari daftar untuk membuka tampilan detail profil mereka. Dari sini Anda dapat:

  • Memperbarui kolom profil apa pun (nama tampilan, email, ponsel, jenis kelamin, memo).
  • Mengubah penugasan tingkat anggota.
  • Mengalihkan tanda active dan can_login.
  • Mereset atau mengubah kata sandi anggota.
  • Menyesuaikan batas koneksi bersamaan.

Semua perubahan disimpan segera dan entri log audit dibuat.

Menghapus Anggota

Menghapus anggota menghapus profil mereka dari sistem aktif. Aksi ini memerlukan izin MEMBER_DELETE. Data terkait seperti riwayat sesi dan catatan dompet dipertahankan untuk tujuan pelaporan tetapi tidak lagi ditautkan ke profil anggota aktif.

Persyaratan Izin

Akses ke fitur manajemen anggota dikendalikan oleh izin berikut pada peran kasir:

Izin Memberikan
MEMBER_VIEW Melihat daftar anggota dan mencari anggota
MEMBER_ADD Membuat profil anggota baru
MEMBER_UPDATE Mengedit profil anggota yang ada
MEMBER_DELETE Menghapus profil anggota
DISPLAY_EMAIL Melihat alamat email anggota di tampilan detail
DISPLAY_GSM Melihat nomor ponsel anggota di tampilan detail

Jika peran kasir tidak menyertakan DISPLAY_EMAIL atau DISPLAY_GSM, kolom tersebut disembunyikan di panel detail anggota meskipun data ada di database.