Shift kasir
Shift ada di tab Lainnya dan hanya tampil bila toko memakai login kasir. Shift adalah rekonsiliasi kas laci, bukan pembukuan.
sequenceDiagram participant K as Kasir participant P as POS participant A as API K->>P: Login PIN K->>P: Buka shift (kas awal) P->>A: POST /v1/shifts/open Note over P,A: Transaksi baru otomatis memakai shift terbuka perangkat K->>P: Tutup shift (kas dihitung) P->>A: POST /v1/shifts/:id/close A->>A: expected = kas awal + tunai non-void A-->>P: rekap, selisih
kas diharapkan = kas awal + Σ pembayaran tunai (amount_minor) pada shift, tidak termasuk transaksi void
Selisih = kas dihitung − kas diharapkan. Kembalian tidak mengurangi karena amount_minor adalah bagian yang masuk ke tagihan.
Aturan
Section titled “Aturan”- Satu shift terbuka per perangkat; membuka yang kedua menghasilkan 409
SHIFT_OPEN. - Shift yang sudah ditutup tidak bisa ditutup lagi (409
SHIFT_CLOSED). - Backoffice → Laporan menampilkan 20 shift terakhir beserta selisih.
PosGatemenyimpan shift aktif;usePos()memberishift,openShift,closeShift.