Dari draft ke katalog
Setiap produk melewati draft → submit → review. Draft tidak terlihat oleh POS; hanya produk yang diterbitkan masuk katalog.
stateDiagram-v2 [*] --> draft: Simpan draft draft --> draft: Edit (API, revisi naik) draft --> submitted: Submit submitted --> published: Publish submitted --> rejected: Tolak submitted --> changes_requested: Minta perbaikan (API) changes_requested --> [*] rejected --> [*] published --> [*]
Urutan kerja yang disarankan
Section titled “Urutan kerja yang disarankan”flowchart TD
A["Cari di katalog dan draft<br/>apakah produk sudah ada?"] --> B{"Sudah ada?"}
B -- "ya" --> Z["Jangan buat baru"]
B -- "tidak" --> C["Isi form Input produk"]
C --> D["Simpan draft"]
D --> E["Periksa isian<br/>GTIN, netto, kemasan, alias"]
E --> F["Submit"]
F --> G["Reviewer memeriksa"]
G --> H{"Keputusan"}
H -- "Publish" --> I["Produk masuk katalog<br/>langsung terlihat POS"]
H -- "Tolak" --> J["Draft ditolak"]
H -- "Minta perbaikan" --> K["Operator memperbaiki lewat edit<br/>lalu Submit ulang"]
Aturan sistem
Section titled “Aturan sistem”| Langkah | Aturan |
|---|---|
| Simpan draft | Nama wajib. GTIN (bila diisi) harus valid; netto harus berpasangan dengan unit yang didukung. Bila tidak valid, draft ditolak langsung dengan pesan. |
| Edit | Memakai nomor revisi. Bila orang lain mengubah draft yang sama lebih dulu: “Data telah berubah” (409); muat ulang lalu ulangi. |
| Submit | Mengubah status menjadi submitted. |
| Publish | Hanya draft submitted yang bisa ditinjau. Membuat produk katalog baru (revisi 1), alias disalin. GTIN yang sudah ada di katalog → ditolak (409) dengan nama produk yang bentrok. |
| Tolak / Minta perbaikan | Hanya draft submitted. Draft yang sudah terbit tidak bisa diubah statusnya. |
Setelah terbit
Section titled “Setelah terbit”- Produk muncul di tabel Shared catalog dan langsung dapat ditemukan POS.
- Produk katalog bersifat bersama untuk semua toko. Tidak ada data harga, stok, atau toko di sini; itu milik masing-masing toko.
- Mengoreksi produk yang sudah terbit belum bisa dilakukan dari layar (lihat Batasan saat ini); catat koreksinya dan hubungi tim backend.