title: “Company Membership — Konfigurasi Membership Perusahaan” description: “MembershipLevelManager.jsx (821 baris) — CRUD CustomerMembership entity, 5 skema loyalty (spending/stamp/points/visits/hybrid), auto-upgrade tier, multi-company isolation, dan integrasi real-time dengan POS.”
Company Membership — Konfigurasi Membership Perusahaan

MembershipLevelManager.jsx — 821 baris) mengelola konfigurasi membership level di tingkat perusahaan. Komponen ini merupakan interface untuk entitas CustomerMembership yang di-scope per company_id, memungkinkan setiap perusahaan memiliki program loyalty yang benar-benar independen dengan 5 skema loyalty, auto-upgrade tier, dan benefit kustom.
Konfigurasi yang dibuat di halaman ini langsung berdampak ke seluruh transaksi POS — saat kasir memasukkan nomor member, sistem otomatis lookup tier dari CustomerMembership dan apply diskon + poin multiplier yang sesuai.
Arsitektur Komponen
Akses Halaman
Entitas: CustomerMembership
5 Skema Loyalty
Multi-Company Isolation
Setiap recordCustomerMembership terikat pada company_id melalui Row-Level Security (RLS), sehingga perusahaan yang berbeda bisa memiliki program loyalty yang benar-benar independen.
Auto-Upgrade Flow
Integrasi dengan Modul Lain
Perbedaan dengan Customer Membership
Tips
- Mulai dari skema sederhana (spending) sebelum beralih ke hybrid — lebih mudah dipahami pelanggan
- Set
auto_upgrade = trueuntuk semua tier agar pelanggan otomatis naik tanpa intervensi manual - Review threshold secara berkala — jika terlalu banyak pelanggan di tier tertinggi, pertimbangkan menaikkan kriteria
- Gunakan warna tier yang berbeda jelas agar kasir bisa langsung identifikasi tier pelanggan dari badge
- Custom benefits bisa digunakan untuk benefit non-sistem seperti “free parking” atau “early access”
Entity Relationship Diagram
Tabel Schema — CustomerMembership
EntitasCustomerMembership mendefinisikan tier membership per perusahaan. Total 26 field.
Tabel Schema — CustomerLoyaltyLedger
EntitasCustomerLoyaltyLedger mencatat setiap mutasi loyalty (earn, redeem, reversal, upgrade, adjustment). Total 24 field.
State Machine — Membership Tier Progression
Sequence Diagram — Tier Upgrade
Sequence Diagram — Points Expiry
Sequence Diagram — Member Benefits Application
Enum Tables
scheme_type — Skema Loyalty
reward_type — Jenis Reward
event_type — Tipe Event Loyalty Ledger
membership_tier (POSMember) — Tier Legacy
RBAC — Hak Akses Company Membership
Catatan RLS: Semua operasi padaCustomerMembershipdanCustomerLoyaltyLedgerdi-filter olehcompany_id = user.data.active_company_idmelalui Row-Level Security, memastikan isolasi data antar perusahaan.
