changes / pos

MPC POS — Demo Changelog

Changelog build demo APK. Nama file: mpc-pos-demo-v{MAJOR}.{MINOR}.apk → disalin ke /Users/glen/Downloads/.

Versi aktif berikutnya: v1.6 (naik dari v1.5). Dalam satu chat/agent yang sama, jangan naikkan versi — update bullet di section versi aktif saja lalu rebuild.

Independen dari mpc-android. Indeks semua app: mpc-dev/docs/versions/README.md.


v1.5 — 2026-08-15

  • Push FCM operasional: firebase_messaging + local notifications channel "Operasional"; register token ke mpc-be (audience=pos) setelah setup device.
  • Butuh ADMIN_API_KEY + MPC_BE_BASE dart-define / env, dan google-services.json Firebase nyata.

v1.4 — 2026-08-13

  • Tab baru Resto di navigasi utama (Court / FnB / Resto / Settings): reservasi resto harian + kelola meja.
  • Reservasi harian: pemilih tanggal (default hari ini), daftar reservasi urut jam — jam mulai–selesai, ruang (Room / Area Meja), nama tamu, pax, min. spend (Rp, tampil bila ada), sumber (Online / Staff / Bundel Court VIP), badge status, chip meja ter-assign atau "Belum ada meja".
  • Detail reservasi: info lengkap + aksi status (Tamu hadir → Selesai; Tidak hadir / Batalkan dengan konfirmasi; koreksi kembali ke Terkonfirmasi).
  • Assign meja: multi-pilih meja aktif per area (hanya untuk ruang tipe Table Area; Room tidak perlu meja), simpan via PUT /resto/reservations/:id/tables.
  • Kelola meja: pilih area meja, daftar meja (nama, kapasitas, toggle aktif), tambah / ubah meja.
  • API client: GET /resto/spaces, GET/POST/PATCH /resto/tables, GET /resto/reservations?date=, PATCH .../status, PUT .../tables.

v1.3 — 2026-08-10

  • Setup: error Dio (404 outlet, network, mode invalid) ditampilkan sebagai pesan singkat formal — bukan dump DioException.

v1.2 — 2026-08-09

  • Jam court (start_time/end_time) diparse sebagai venue wall-clock — tidak lagi .toLocal() (hindari geser +7 dari ...Z).
  • Attendance check-in/out tetap toLocal() (timestamptz).
  • Jadwal grid mulai 06:00 (bukan 08:00), sampai 23:00 — booking pagi terlihat; jam ikut open_time/close_time schedule bila ada.
  • Booking longkap: chip zigzag “tiket sobek” di sisi (sesi 1 zigzag kanan, sesi akhir zigzag kiri) + label Sesi n/m; connector tipis jika gap kosong; detail bagian sesi.
  • Jadwal ikut open_time/close_time branch dari GET /pos/schedule (sama konvensi member app).

v1.1

  • Setup wizard (/setup), staff login, AuthGuard, shell by Court/FnB capabilities.
  • Device key + JWT (no shared POS_API_KEY in app); Settings logout / reset / refresh mode.
  • FnB placeholder when fnb_enabled.
  • Fix web 401 stale cache: no-cache for main.dart.js / service worker; redirect on 401.
  • Transisi antar halaman fade (bukan slide dari samping).
  • Nav Court/FnB/Settings dipindah ke header atas (bukan bottom bar).
  • Header: nav text-only rata kanan mepet nama kasir (fix icon kosong).
  • Detail Order: hapus AppBar hijau dobel; toolbar putih tipis di bawah shell.
  • Check In: dialog confetti “Checked In!” lalu kembali ke jadwal; Check Out: konfirmasi + jam sekarang & jadwal selesai.
  • Jadwal: booking multi-jam 1 transaksi tampil 1 block (bukan diulang per jam).
  • Check In dialog: confetti sekali meletus; tutup hanya lewat tombol Oke.
  • Jadwal chip: status bayar, check-in/out, legenda monitoring (menunggu/kosong, di lapangan, no-show, dll).
  • Check Out: kembali ke jadwal; hapus snackbar “Berhasil”.

v1.0 — baseline

  • App Flutter Court POS (jadwal, detail booking, check-in / pay / check-out / QR review).
  • Folder proyek diganti dari mpc-pos-courtmpc-pos (package mpc_pos).