011 - Three courts + sort parity (mobile & POS)
- Tanggal: 2026-08-09
- Chat/topik: Production 3 courts saja; Court 3 VIP; display_order 1–3; POS sort = mobile
Ringkasan perubahan
Data court dipangkas ke 3 aktif (CRT-01…CRT-03) dengan display_order 1–3; Court 3 pakai kategori VIP. mpc-be-pos diubah dari sort name ASC ke display_order ASC (+ exclude soft-deleted) agar kolom schedule POS selaras dengan member apps.
Impact bisnis
Roster court konsisten di app member dan POS (Court 1 → 2 → VIP di posisi 3). Court lama di-soft-delete agar history booking tetap aman.
Epic / User stories
- Epic: Court catalog parity across channels
- US: Sebagai kasir/member, saya ingin urutan court sama di POS dan mobile, agar tidak bingung saat booking.
User terdampak
Member (mobile/web), kasir POS, admin (data seed/migrasi).
Aplikasi terdampak
- mpc-be: TIDAK — sudah
display_order ASC - mpc-be-pos: PERLU — sort + filter
deleted_at(v1.4) - mpc-admin: PERLU ringan — seed 3 court + kategori (v0.3; bukan UI baru)
- mpc-android: TIDAK — sudah sort
displayOrder - mpc-ios: TIDAK — sudah sort
displayOrder - mpc-web: TIDAK — sudah map
displayOrder - mpc-owner: TIDAK
- ksr-sync: TIDAK
- mpc-pos: TIDAK — ikut urutan API schedule
Perubahan schema
Tidak ada kolom baru. Data/migration: soft-retire court non-trio; set category_id + display_order pada CRT-01…03. File: mpc-dev/docs/schema/migration/005-three-courts-display-order.md.
Perubahan kode
mpc-be-pos/internal/pos/repository.go—FindActiveCourtsorderdisplay_order asc,deleted_at IS NULLmpc-dev/docs/api/be-pos.md+ changelog v1.4mpc-admin/.../prisma/seed.ts— 3 courts Active + VIP/Regular categories- Migration + versions index