Memproses Pesanan Kompleks & Fulfillment 🛒
Modul Manajemen Pesanan (Order Management) mengelola alur hidup transaksi dari saat pesanan dibuat oleh pelanggan hingga barang dikirim dan diterima dengan aman.
🔄 1. Siklus Status Pesanan Lengkap (Order Status Lifecycle)
Setiap pesanan di Codeverta E-Commerce melewati tahap status yang terpantau secara otomatis:
stateDiagram-v2
[*] --> PendingPayment: Pesanan Dibuat Pelanggan
PendingPayment --> PaymentFailed: Pembayaran Gagal / Expired
PendingPayment --> Paid: Pembayaran Dikonfirmasi (Auto/Manual)
Paid --> Processing: Tim Gudang Mulai Packing
Processing --> ReadyToShip: Label AWB Dicetak
ReadyToShip --> InTransit: Diserahkan ke Kurir / Discan Resi
InTransit --> Delivered: Diterima di Alamat Tujuan
Delivered --> Completed: Konfirmasi Selesai / Auto-Complete 48 Jam
Paid --> Cancelled: Pembatalan Oleh Merchant / Out of Stock
PendingPayment --> Cancelled: Pembatalan Oleh Pelanggan
Delivered --> Disputed: Pelanggan Mengajukan Retur / Komplain
Disputed --> Refunded: Refund Disetujui & Dana Dikembalikan
📑 2. Rincian Penjelasan Status Pesanan
| Status Pesanan | Arti & Deskripsi | Tindakan Sistem / Admin |
|---|---|---|
Pending Payment | Pesanan dibuat, menunggu transfer dari pelanggan. Stok direncakan (hold). | Sistem menghitung waktu countdown timer pembayaran. |
Paid / Payment Verified | Pembayaran berhasil dikonfirmasi oleh Payment Gateway atau admin. | Status masuk ke antrean Fulfillment. Email bukti bayar terkirim. |
Processing | Pesanan sedang disiapkan di gudang (picking & packing). | Staf gudang mencetak Picking List dan Packing Slip. |
Ready to Ship | Barang sudah terkemas, label resi (AWB) telah dicetak dan tertempel. | Memanggil kurir pick-up atau siap drop-off. |
In Transit / Shipping | Paket dalam perjalanan dikirim oleh ekspedisi logistik. | Nomor resi terlacak otomatis melalui sistem tracking kurir. |
Delivered | Kurir mengonfirmasi paket telah sampai di penerima. | Timer konfirmasi otomatis 48 jam dimulai. |
Completed | Pelanggan menekan "Pesanan Diterima" atau batas waktu 48 jam terlampaui. | Dana transaksi dilepaskan dari penampungan (Escrow) ke Saldo Merchant. |
Cancelled | Pesanan dibatalkan karena waktu habis, permintaan pelanggan, atau stok kosong. | Stok dilepaskan kembali, voucher dikembalikan jika berlaku. |
Disputed / Return Pending | Pelanggan mengajukan komplain barang rusak atau kurang. | Dana ditahan di Escrow, Admin CS melakukan pemeriksaan bukti. |
📦 3. Alur Pengemasan & Pengiriman (Fulfillment Workflow)
Untuk memproses pesanan masuk secara efisien:
- Mass Selection (Proses Sekaligus):
- Centang pesanan-pesanan berstatus
Paid. - Klik
Tindakan Masal-> Pilih Ubah Status ke Processing.
- Centang pesanan-pesanan berstatus
- Cetak Cetakan Logistik (Batch Print):
- Picking List: Daftar barang per gudang yang harus diambil staf.
- Packing Slip: Nota pembelian yang dimasukkan ke dalam paket.
- Label Pengiriman (Shipping Label / AWB): Stiker stempel kurir berisi nama, alamat, nomor resi, dan barcode scan.
- Penginputan Resi / Auto-AWB:
- Untuk kurir terintegrasi (J&T, JNE, SiCepat, GoSend, GrabExpress), nomor resi akan tergenerate secara otomatis.
- Untuk kurir manual, masukkan nomor resi pada kolom
Input Resi Manuallalu klik Update Pengiriman.
🚫 4. Penanganan Pembatalan Pesanan (Order Cancellation)
Scenario A: Pembatalan Otomatis (Timeout)
Jika pelanggan memilih bayar via Virtual Account dan tidak melakukan transfer hingga batas waktu kedaluwarsa habis (misal 24 jam):
- Sistem secara otomatis merubah status pesanan menjadi
Cancelled (Expired). - Stok barang yang di-hold dilepaskan kembali secara otomatis.
Scenario B: Pembatalan Oleh Pelanggan
Pelanggan dapat mengajukan pembatalan mandiri di halaman toko hanya jika pesanan masih berstatus Pending Payment atau Paid (sebelum dicetak AWB):
- Jika pesanan belum dibayar, pesanan langsung batal.
- Jika pesanan sudah dibayar (
Paid), pembatalan memerlukan persetujuan Admin toko. Dana yang sudah terbayar akan otomatis masuk ke alur Refund (Pengembalian Dana).
Scenario C: Pembatalan Oleh Merchant (Stok Kosong / Out of Stock)
Jika saat proses picking ditemukan barang cacat atau stok fisik ternyata habis:
- Admin membuka detail pesanan di panel admin.
- Klik tombol Batalkan Pesanan (Cancel Order).
- Pilih alasan pembatalan:
Stok Kosong / Out of Stock. - Masukkan pesan penjelasan yang dikirimkan ke email pelanggan.
- Jika transaksi sudah lunas, sistem secara otomatis menginisiasi transaksi pengembalian dana penuh (100% Full Refund) ke rekening/e-wallet pelanggan.