specs / 002-Changes-Grey-Sold-Courts

002 - Grey-out sold courts di Time Slot

  • Tanggal: 2026-08-07
  • Chat/topik: Sold court tetap tampil (grey) di picker jadwal; posisi display_order konsisten

Ringkasan perubahan

Saat pilih jam di Time Slot, court yang sudah sold untuk window durasi tersebut tidak lagi disembunyikan. Ditampilkan greyed-out + label "Sold", tidak bisa dipilih. Urutan tetap display_order admin (posisi court konsisten antar jam). Baris jam tetap "Available" jika ≥1 court free; "Full" jika semua sold. Split plan hanya memakai court yang available. mpc-be tidak berubah (bulk availability sudah kirim is_available).

Impact bisnis

VIP/member melihat roster court yang familiar (favorit tetap di posisi sama) sambil tahu mana yang penuh — mengurangi kebingungan vs list yang “loncat” tiap jam. Tidak menambah beban BE.

Epic / User stories

  • Epic: Booking Time Slot UX
  • US: Sebagai member, saya ingin melihat court yang sudah sold (abu-abu) di posisi biasanya, agar saya bisa memilih court favorit yang masih free tanpa layout berpindah-pindah.

User terdampak

Member app (booking court) — VIP / bapak-ibu.

Aplikasi terdampak

  • mpc-android — PERLU (Time Slot court picker)
  • mpc-ios — PERLU (parity)
  • mpc-be — TIDAK (data is_available sudah ada)
  • mpc-admin / POS — TIDAK

Perubahan schema

Tidak ada.

Perubahan kode

  • Android: CourtAvailabilityOffer.isAvailable; MpcRepository.offersFor (semua court, urut displayOrder); TimeSlotScreen / CourtPickCard grey + "Sold".
  • iOS: sama di Models / MpcRepository / TimeSlotScreen.
  • Docs: mpc-dev/docs/ios-changes/023-grey-sold-courts-time-slot.md