Lewati ke isi

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