019 - Schema Ops Hardening (katalog, diskon, HR, ledger)
- Tanggal: 2026-08-10
- Chat/topik: Implement plan schema ops hardening end-to-end
Ringkasan perubahan
- Katalog:
products.product_type+ cascade group/category; conventions. - Diskon: promo channel (display); voucher channel/auto_apply + redemptions; tier max stack + tax.
- Pricing: slot-time GetPrice for products/Rent; Weekday/Weekend overrides in admin.
- Cleanup: DROP tasks, hard-delete Court 4, soft-delete debug POS devices, events.name only.
- Ledgers:
bookings.transaction_id,payment_events,stock_ledger. - HR:
staff_coaches+staff_outlet_assignments; POS login outlet gate. - Seed engagement/reviews/tier_benefits (local + prod).
Impact bisnis
Schema lebih jelas untuk katalog FnB; diskon tidak bentrok; audit pembayaran/stok; HR siap multi-outlet.
Epic / User stories
- Epic: Harden OLTP schema & ops integrity
- US: Sebagai admin, saya memilih product type → group → category tanpa bingung.
- US: Sebagai kasir, saya hanya login di outlet yang di-assign.
User terdampak
Admin, kasir POS, member (data seed), ops DB.
Aplikasi terdampak
- mpc-be: PERLU
- mpc-be-pos: PERLU
- mpc-admin: PERLU
- mpc-pos: TIDAK (error string dari BE cukup)
- mpc-android / ios / web: TIDAK (API
/coachespath sama; product_type JSON baru — clients inventory jarang) - ksr-sync / owner: TIDAK kode (fact_review diisi manual sample)
- mpc-owner: TIDAK
Perubahan schema
Migrations 010–013 di mpc-dev/docs/schema/migration/. Prod + local applied.
Perubahan kode
Admin product forms cascade; BE pricing/discount/complete payment; POS auth outlet assignment; coaches table rename.