Kenali pelanggan
Pelanggan menunjukkan kartu QR member. Kasir scan QR; bila tidak ada member, pilih Walk-in.
Peta kerja dari pelanggan datang sampai transaksi tercatat, dibayar, atau masuk buku utang — dirumuskan dari halaman dan endpoint live warung4putra.my.id.
Fakta yang terukur dari server dan API live
Jalur yang disarankan: kasir sebagai titik kendali
Pelanggan menunjukkan kartu QR member. Kasir scan QR; bila tidak ada member, pilih Walk-in.
Kasir memilih produk dan jumlah. Harga otomatis mengikuti tipe reguler atau utang.
Total besar selalu terlihat. Sistem menghitung tier diskon hanya untuk reguler + tunai.
Kasir konfirmasi. Order dicatat ke backend; status menjadi ✅ Lunas atau 📒 Belum Lunas.
Admin melihat omzet, order, stok, pelanggan, utang, laporan harian, dan order kedaluwarsa.
Aplikasi tetap terpisah, data berada di backend yang sama
Bagaimana informasi bergerak di sistem
Elemen penting yang harus dijaga saat mengembangkan fitur
| Area | Aturan | Implikasi workflow |
|---|---|---|
| Harga | price untuk reguler, price_utang untuk utang | Kasir harus scan/menentukan tipe member sebelum menambah barang. |
| Diskon | Hanya member reguler + pembayaran tunai; tier live dari settings | Walk-in dan utang tidak boleh menerima diskon reguler. |
| QR order | 6 digit, rolling 0,5 detik, TTL 3 detik | QR sederhana lebih mudah dipindai dan mengurangi replay. |
| Status | ✅ Lunas · 📒 Belum Lunas · ❌ Ditolak · ⏰ Expired | Label status harus konsisten di kasir, admin, dan riwayat. |
| Privasi | Nomor pelanggan ditampilkan sebagai ****6087 | Masking UI dipertahankan; database tetap menyimpan nomor asli untuk kebutuhan internal. |
Urutan praktis berdasarkan dampak ke pengguna
Snapshot yang dipakai untuk menyusun workflow
| Pemeriksaan | Hasil | Makna |
|---|---|---|
| Homepage | 200 OK | Frontend pembeli dapat diakses. |
| mobile-kasir.html | 200 OK | Jalur kasir tersedia. |
| mobile-admin.html | 200 OK | Jalur admin tersedia. |
| GET /api/products | 200 · 6 item | API produk live merespons. |
| GET /api/discount-tiers | 200 · 3 tier | Konfigurasi diskon dibaca live. |
| Origin service | 127.0.0.1:8002 | Uvicorn FastAPI aktif di belakang Nginx. |