Sentra Retail — POS / Kasir Module
9.1 Diagram Alur Transaksi Kasir POS (Shift s.d. Close)
sequenceDiagram
actor K as Kasir
actor S as Supervisor
participant P as POS Client App
participant DB as SQLite Lokal
participant C as Cloud API
K->>P: 1. Mulai Shift (Input Modal Laci Rp 100.000)
P->>DB: Simpan status Shift OPEN
Note over K, P: Mode Penjualan Aktif
K->>P: 2. Scan Barcode Barang
P->>DB: Tarik Harga & Cek Promo Otomatis
P-->>K: Tampilkan Barang & Total di Layar
opt Void Item (Salah Input)
K->>P: Hapus Item
P->>S: Minta Otorisasi Supervisor
S->>P: Input PIN Otorisasi Supervisor
P->>DB: Catat Log Void (Audit Trail)
end
K->>P: 3. Pilih Metode Pembayaran (QRIS Dinamis)
P->>C: Request Payload QRIS Dinamis
C-->>P: Kirim Link & String QRIS
P->>K: Tampilkan QR Code QRIS di Layar Pelanggan
C->>C: Polling/Webhook Status QRIS Lunas
C-->>P: Push Notifikasi: PAID
P->>DB: Simpan Transaksi (PENDING_SYNC)
P->>P: Cetak Struk Belanja (Thermal Printer)
K->>P: 4. Tutup Shift (Declare uang fisik laci)
P->>DB: Hitung End Cash (Expected vs Declared)
P->>DB: Set status Shift CLOSED
P->>C: Sinkronisasi seluruh antrean data transaksi