specs / 008-Changes-Multi-Branch-Ksrdb-Owner

008 - Multi-branch + ksrdb + mpc-owner

  • Tanggal: 2026-08-08
  • Chat/topik: Prepare multi-branch MPC; datamart ksrdb; owner dashboard Next.js

Ringkasan perubahan

  • Schema branches + FK/scoping di courts, outlets, pricing, coaches, events; branch_stocks.
  • mpc-be / mpc-be-pos: default-branch resolve; POS schedule by outlet→branch.
  • mpc-admin: CRUD branches + header switcher; courts scoped.
  • Apps baru: ksr-sync (cron mpcdb→ksrdb), mpc-owner (charts/customers/visits/champions/reviews).

Impact bisnis

Siap buka venue kedua tanpa rewrite member apps; owner dapat insight lintas line of business via datamart tanpa ganggu OLTP.

Epic / User stories

  • Epic: Multi-location readiness + owner analytics
  • US: Sebagai admin, saya ingin switch branch dan kelola venue.
  • US: Sebagai owner, saya ingin lihat revenue, champions, reviews dari satu dashboard.

User terdampak

Admin operasional, business owner; member apps tidak berubah UX.

Aplikasi terdampak

  • mpc-be — PERLU (branch resolve)
  • mpc-be-pos — PERLU (schedule scope)
  • mpc-admin — PERLU (branches UI)
  • mpc-android / ios / web / mpc-pos — TIDAK (compat omit branch_id / device implied)
  • ksr-sync — BARU
  • mpc-owner — BARU
  • ksrdb — BARU

Perubahan schema

  • mpcdb: branches, branch_stocks, branch_id columns (lihat migration 002)
  • ksrdb: datamart dims/facts (migration 003)

Perubahan kode

  • mpc-be internal/branch, courts/settings
  • mpc-be-pos schedule/device branch
  • mpc-admin branches + switcher
  • ksr-sync, mpc-owner scaffolds