Prestige Barber Club PATCH v4.44.2 -> v4.44.3
================================================
Tujuan: memperbaiki Penjualan Member Simple agar selalu masuk ke Riwayat Penjualan Member.

AKAR MASALAH
- v4.44.2 menulis source_type Quick POS baru, tetapi ENUM membership_sales.source_type masih schema lama.
- Pada MySQL strict INSERT dapat gagal; pada non-strict nilai sumber dapat menjadi ENUM kosong.
- Belum ada integrity assertion bahwa transaksi benar-benar tercatat di membership_sales sebelum commit.

PERBAIKAN
1. ENUM source_type diperluas untuk semua sumber Quick POS.
2. Ditambah sale_kind: legacy / activation / renewal.
3. sale_date ditulis eksplisit pada saat transaksi dibuat.
4. Sebelum commit, Quick POS memverifikasi row membership_sales sudah ada.
5. Approval/Set PAID menegaskan status transaksi dan status pembayaran menjadi PAID.
6. Riwayat Penjualan Member menampilkan jenis transaksi dan fallback created_at jika diperlukan.
7. Export Penjualan Membership ikut menampilkan jenis transaksi.
8. Upgrade aman untuk data non-strict yang pernah memiliki source_type kosong.

CARA DEPLOY
- Backup database dan file.
- Upload seluruh isi PATCH ke root aplikasi dan overwrite file yang sama.
- Jangan hapus config/database.local.php dan folder uploads.
- Login Super Admin.
- Jalankan upgrade_v4_44_3.php satu kali.
- Uji Aktivasi Cash, Aktivasi QRIS, Aktivasi Transfer lalu Set PAID, Perpanjangan Cash/QRIS.
- Pastikan semuanya muncul pada Riwayat Penjualan Member.
