Tables preview — production (mpcdb + ksrdb)
- Sumber: production Postgres (
mpc-postgres) - Snapshot: 2026-08-11 (setelah migrasi
007–013) - Conventions: conventions.md. Migrasi: migration/.
mpcdb (OLTP) — 38 tabel
Shared oleh mpc-be, mpc-be-pos, mpc-admin.
Core operasional
| Tabel | n | Fungsi | Contoh data |
|---|---|---|---|
branches | 1 | Cabang/venue | MAIN — Main |
courts | 3 | Lapangan (hanya 3 aktif) | CRT-01..03 Court 1–3 Active, display_order 1–3 |
customers | 3 | Member | Glen (Platinum); User Test; Donny Baskoro |
staff | 3 | HR master (login/role) | testuser@ Owner Active; john@ Coach Active; sarah@ Coach Inactive |
staff_coaches | 2 | Profil coach publik (ex coaches) | John Padel Rp200k + staff_id; Sarah Tennis Rp250k + staff_id |
staff_outlet_assignments | 3 | Staff ↔ outlet POS | 3 assignment primary ke outlet MAIN |
bookings | 19 | Reservasi court | 16 Completed, 3 Pending; 18/19 punya transaction_id |
transactions | 17 | Pembayaran | Mixed 14 Completed + 1 Pending; Booking 1; FnB 1 |
transaction_items | 47 | Line item transaksi | (ikut booking / FnB / mixed) |
products | 19 | Katalog | product_type: FnB 9, ProShop 5, Rent 5 |
product_variants | 0 | Varian (defer) | — |
product_addons | 0 | Add-on (defer) | — |
events | 2 | Event klub (name saja) | Summer Padel Tournament; Beginner Clinic |
membership_tiers | 3 | Tier | Platinum / Gold / Silver Active |
subscriptions | 3 | Membership aktif | 3 Active |
vouchers | 1 | Kode redeem checkout | WELCOME26 10% channel Both (45/100) |
promos | 2 | Banner marketing (bukan redeem) | Early Bird 30%; After Office Rp50k; channel Both |
voucher_redemptions | 0 | Ledger redeem voucher | — (siap diisi checkout) |
store_settings | 1 | Setting klub + default branch | Metropole; default_branch_id → MAIN; reschedule on |
pos_outlets | 1 | Outlet POS | MPC-MAIN — Metropole Padel Main |
pos_devices | 4 | Device POS | Kasir & POS-FNB Active; debug-agent & Smoke Kasir Revoked |
Pricing & katalog
| Tabel | n | Fungsi | Contoh data |
|---|---|---|---|
item_groups | 6 | Group di bawah product_type | FnB: Makanan, Minuman, Paket, Promo; ProShop: Purchase; Rent: Rental Gear |
item_categories | 10 | Category anak group (+ court) | Minuman→Coffee/Fresh/Healthy; Makanan→Snack/Main/Dessert; court VIP/Regular |
time_groups | 1 | Window harga | Rush Hour |
time_group_schedules | 7 | Jadwal time group | tiap hari 18:00–21:00 |
special_days | 0 | Hari libur / peak | — |
item_price_overrides | 2 | Override harga | Court SpecialDay Rp900k; Court (base override) Rp800k |
tier_benefits | 4 | Diskon membership | Platinum Product 20% / Booking 10%; Gold Product 10%; Silver Product 5% |
benefit_usages | 0 | Log pemakaian benefit | — |
payment_events | 0 | Jejak gateway/payment | — (terisi saat payment complete) |
stock_ledger | 0 | Mutasi stok | — (terisi saat sale/adjust) |
Reviews & engagement
| Tabel | n | Fungsi | Contoh data |
|---|---|---|---|
review_questions | 2 | Pertanyaan post-play | RQ-01 court condition (RATING); RQ-02 comments (TEXT) |
customer_reviews | 0 | Review member | — (question siap; review sample belum di prod) |
review_answers | 0 | Jawaban review | — |
classes | 1 | Group class | CLS-01 Evening Technique Clinic |
matches | 1 | Open match | MTCH-01 Open Mixed Doubles Intermediate Open |
favorites | 0 | Favorit Court/Coach/Class/Player | — |
notifications | 2 | In-app notif | Payment confirmed; Class reminder |
Di-drop / diganti nama
| Lama | Status |
|---|---|
tasks | DROP |
amenities / branch_stocks | DROP (007) |
coaches | diganti staff_coaches |
ksrdb (datamart owner) — 8 tabel
| Tabel | n | Fungsi | Contoh data |
|---|---|---|---|
dim_business | 1 | Dimensi bisnis | mpc |
dim_branch | 1 | Dimensi cabang | Main |
dim_customer | 3 | Dimensi customer | sync dari customers |
fact_transaction | 17 | Fakta transaksi | = transactions |
fact_visit | 19 | Fakta booking/visit | = bookings (19) |
fact_review | 0 | Fakta review | menunggu customer_reviews + sync |
sync_watermark | 5 | Cursor incremental | mpc.* entities |
users | 1 | Login mpc-owner (ex owner_users) | owner.ksr@mail.com |
Catatan singkat dari snapshot
- Booking ↔ trx sudah jauh lebih rapi: 18/19 booking punya
transaction_id(sisa 1 pending hold tanpa bayar — normal). - Courts = 3; Court 4 hilang.
- Katalog: pakai
product_type; group Minuman punya category Coffee (hierarchy hidup). Group bernamaRentmasihproduct_type=ProShop(legacy naming group — logic bisnis tetap dariproducts.product_type=Rent). - Ledgers (
voucher_redemptions/payment_events/stock_ledger) kosong sampai ada transaksi baru setelah deploy kode writer. - fact_visit (19) = bookings (19) — selisih lama sudah hilang setelah Court 4 purge.