HandyCafe Docs
owner

Tingkat Loyalitas

Sistem tingkat loyalitas memberi penghargaan kepada pelanggan tetap dengan diskon otomatis berdasarkan akumulasi aktivitas mereka. Saat anggota menggunakan kafe (membelanjakan uang, login, membeli paket, atau membuat pesanan), mereka mendapatkan poin loyalitas. Saat total poin mereka melebihi ambang tingkat, mereka naik ke tingkat yang lebih tinggi dan menerima diskon yang lebih besar pada harga sesi.

Struktur Tingkat

Setiap tingkat loyalitas didefinisikan oleh empat kolom:

Kolom Deskripsi
code Kode pendek unik untuk tingkat (misalnya silver, gold, vip). Digunakan secara internal untuk identifikasi dan dalam respons API.
name Nama tampilan yang dapat dibaca (misalnya "Anggota Silver", "Anggota Gold"). Ditampilkan di profil anggota dan di layar kunci klien.
threshold_points Jumlah minimum poin loyalitas yang harus dikumpulkan anggota untuk memenuhi syarat tingkat ini.
discount_bps Diskon yang diterapkan pada harga sesi, dinyatakan dalam basis poin. 100 BPS sama dengan 1%. Nilai 500 berarti diskon 5%.

Tingkat diurutkan berdasarkan nilai threshold_points. Anggota termasuk dalam tingkat tertinggi yang ambang poinnya mereka penuhi.

Diskon Basis Poin (BPS)

Diskon dinyatakan dalam basis poin (BPS) alih-alih persentase untuk menghindari kesalahan pembulatan floating-point dalam perhitungan keuangan. Satu basis poin sama dengan 0,01%, atau seperseratus persen.

Nilai diskon umum:

Nilai BPS Persentase Contoh pada tarif 10.000/jam
250 2,5% Anggota membayar 9.750 per jam
500 5% Anggota membayar 9.500 per jam
1000 10% Anggota membayar 9.000 per jam
1500 15% Anggota membayar 8.500 per jam
2000 20% Anggota membayar 8.000 per jam

Saat anggota dengan diskon tingkat memulai sesi, mesin harga mengurangi tarif per jam dasar berdasarkan discount_bps tingkat sebelum menghitung biaya segmen.

Event Loyalitas

Anggota mendapatkan poin melalui event loyalitas. Setiap event mencatat perubahan poin dan aktivitas yang memicunya:

Tipe Event Deskripsi Poin Tipikal
spend Anggota membayar untuk sesi (pascabayar atau pengurangan dompet). Poin proporsional dengan jumlah yang dibelanjakan. Bervariasi berdasarkan jumlah belanja
usage Anggota menggunakan PC atau konsol untuk sesi, terlepas dari pembayaran. Poin berdasarkan durasi penggunaan. Bervariasi berdasarkan menit yang digunakan
visit Anggota login dari PC klien. Bonus tetap untuk setiap kunjungan, mendorong kehadiran rutin. Tetap per kunjungan
topup Anggota menambahkan dana ke dompet mereka. Poin mencerminkan jumlah pengisian. Bervariasi berdasarkan jumlah pengisian
order Anggota membuat pesanan produk (makanan, minuman, dll.). Poin proporsional dengan total pesanan. Bervariasi berdasarkan total pesanan
adjustment Penyesuaian poin manual yang dibuat oleh administrator. Digunakan untuk koreksi, promosi, atau hadiah khusus. Nilai apa pun (positif atau negatif)

Setiap catatan event loyalitas mencakup:

  • points_delta: Jumlah poin yang diperoleh (positif) atau hilang (negatif) dari event ini.
  • amount_minor: Jumlah moneter yang terkait dengan event (dalam unit minor mata uang), jika berlaku.
  • minutes_delta: Jumlah menit yang terkait dengan event, jika berlaku.
  • source_entity / source_entity_id: Referensi kembali ke sesi, pesanan, atau transaksi yang menghasilkan event.
  • event_at: Stempel waktu saat event terjadi.

Progres Tingkat

Progres tingkat bekerja sebagai berikut:

  1. Anggota melakukan aktivitas (sesi, pembelian, login, dll.).
  2. Sistem membuat event loyalitas dengan points_delta yang sesuai.
  3. Total poin anggota dihitung ulang sebagai jumlah semua nilai points_delta event loyalitas mereka.
  4. Sistem memeriksa apakah total baru memenuhi ambang untuk tingkat yang lebih tinggi.
  5. Jika anggota memenuhi syarat untuk tingkat baru, kolom tier mereka diperbarui dan diskon baru berlaku pada sesi berikutnya.

Penugasan tingkat juga dapat diatur secara manual oleh administrator, menggantikan perhitungan otomatis.

Bagaimana Diskon Tingkat Diterapkan pada Harga Sesi

Saat mesin harga menghitung biaya segmen sesi untuk anggota:

  1. Harga per jam dasar ditentukan oleh slot harga yang aktif.
  2. Jika anggota memiliki tingkat dengan nilai discount_bps, harga dasar dikurangi: harga_diskon = harga_dasar * (10000 - discount_bps) / 10000.
  3. Selain itu, diskon tingkat anggota individual (member_discount_bps pada catatan anggota) diterapkan jika ada.
  4. Tarif diskon akhir digunakan untuk menghitung biaya segmen.

Diskon tingkat dan diskon tingkat anggota dapat ditumpuk, memberikan anggota manfaat gabungan keduanya.

Membuat dan Mengelola Tingkat

Untuk membuat tingkat baru:

  1. Navigasikan ke Pengaturan dan buka bagian Harga (atau area manajemen tingkat khusus).
  2. Klik Tambah Tingkat.
  3. Masukkan kode (unik, huruf kecil), nama (label tampilan), ambang poin, dan diskon BPS.
  4. Simpan tingkat.

Untuk mengedit tingkat yang ada, pilih dari daftar dan ubah kolom mana pun. Perubahan pada discount_bps tingkat berlaku untuk semua anggota yang saat ini ditugaskan ke tingkat tersebut, dimulai dari sesi berikutnya.

Untuk menghapus tingkat, hapus dari daftar. Anggota yang ditugaskan ke tingkat yang dihapus akan jatuh kembali ke tingkat lebih rendah berikutnya yang memenuhi syarat berdasarkan poin mereka.

Contoh Pengaturan Tingkat

Konfigurasi tiga tingkat yang tipikal mungkin terlihat seperti ini:

Kode Nama Ambang Poin Diskon BPS
bronze Bronze 0 0
silver Silver 500 500
gold Gold 2000 1000
vip VIP 5000 1500

Dalam pengaturan ini, anggota baru dimulai di Bronze (tanpa diskon). Setelah mengakumulasi 500 poin dari kunjungan, pengeluaran, dan pesanan, mereka secara otomatis naik ke Silver dengan diskon 5%. Pada 2000 poin mereka mencapai Gold (10%) dan pada 5000 poin mereka mencapai status VIP (15%).