Riwayat dan void (Retail)
Tab Riwayat memakai HistoryList kind="sale" dari @smash-pos/core.
flowchart TD
A["Buka Riwayat"] --> B["Outbox: menunggu kirim dan gagal<br/>di bagian atas"]
A --> C["GET /v1/sales<br/>100 terbaru"]
C --> D["Ketuk baris"]
D --> E["GET /v1/sales/:id<br/>item, pembayaran, kasir"]
E --> F["Lihat struk"]
E --> G{"Login manajer atau owner?"}
G -- "ya" --> H["Batalkan (void)"]
H --> I["Alasan min 3 huruf"]
I --> J["POST /v1/sales/:id/void<br/>Bearer perangkat + X-Staff-Token"]
J --> K["Status Dibatalkan<br/>stok dikembalikan"]
G -- "tidak" --> L["Tombol void tidak tampil"]
Aturan void
Section titled “Aturan void”- Hanya owner/manajer. Kasir dan mode tanpa staf tidak melihat tombol void.
- Alasan wajib (min 3 karakter); disimpan di
void_reasonbersamavoided_by. - Void mengembalikan stok produk yang dilacak dan mengeluarkan transaksi dari laporan dan rekap shift.
- Transaksi yang sudah void tidak bisa di-void lagi (404).
Transaksi di outbox
Section titled “Transaksi di outbox”Bagian atas Riwayat menampilkan transaksi yang belum terkirim (garis putus-putus):
- Menunggu kirim: tombol Kirim memicu pengiriman ulang.
- Gagal dikirim: tampil pesan penolakan, tombol Coba lagi dan Buang.