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:
- Anggota melakukan aktivitas (sesi, pembelian, login, dll.).
- Sistem membuat event loyalitas dengan
points_deltayang sesuai. - Total poin anggota dihitung ulang sebagai jumlah semua nilai
points_deltaevent loyalitas mereka. - Sistem memeriksa apakah total baru memenuhi ambang untuk tingkat yang lebih tinggi.
- Jika anggota memenuhi syarat untuk tingkat baru, kolom
tiermereka 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:
- Harga per jam dasar ditentukan oleh slot harga yang aktif.
- Jika anggota memiliki tingkat dengan nilai
discount_bps, harga dasar dikurangi:harga_diskon = harga_dasar * (10000 - discount_bps) / 10000. - Selain itu, diskon tingkat anggota individual (
member_discount_bpspada catatan anggota) diterapkan jika ada. - 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:
- Navigasikan ke Pengaturan dan buka bagian Harga (atau area manajemen tingkat khusus).
- Klik Tambah Tingkat.
- Masukkan kode (unik, huruf kecil), nama (label tampilan), ambang poin, dan diskon BPS.
- 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%).