Skip to main content

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 PesananArti & DeskripsiTindakan Sistem / Admin
Pending PaymentPesanan dibuat, menunggu transfer dari pelanggan. Stok direncakan (hold).Sistem menghitung waktu countdown timer pembayaran.
Paid / Payment VerifiedPembayaran berhasil dikonfirmasi oleh Payment Gateway atau admin.Status masuk ke antrean Fulfillment. Email bukti bayar terkirim.
ProcessingPesanan sedang disiapkan di gudang (picking & packing).Staf gudang mencetak Picking List dan Packing Slip.
Ready to ShipBarang sudah terkemas, label resi (AWB) telah dicetak dan tertempel.Memanggil kurir pick-up atau siap drop-off.
In Transit / ShippingPaket dalam perjalanan dikirim oleh ekspedisi logistik.Nomor resi terlacak otomatis melalui sistem tracking kurir.
DeliveredKurir mengonfirmasi paket telah sampai di penerima.Timer konfirmasi otomatis 48 jam dimulai.
CompletedPelanggan menekan "Pesanan Diterima" atau batas waktu 48 jam terlampaui.Dana transaksi dilepaskan dari penampungan (Escrow) ke Saldo Merchant.
CancelledPesanan dibatalkan karena waktu habis, permintaan pelanggan, atau stok kosong.Stok dilepaskan kembali, voucher dikembalikan jika berlaku.
Disputed / Return PendingPelanggan 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:

  1. Mass Selection (Proses Sekaligus):
    • Centang pesanan-pesanan berstatus Paid.
    • Klik Tindakan Masal -> Pilih Ubah Status ke Processing.
  2. 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.
  3. 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 Manual lalu 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:

  1. Admin membuka detail pesanan di panel admin.
  2. Klik tombol Batalkan Pesanan (Cancel Order).
  3. Pilih alasan pembatalan: Stok Kosong / Out of Stock.
  4. Masukkan pesan penjelasan yang dikirimkan ke email pelanggan.
  5. Jika transaksi sudah lunas, sistem secara otomatis menginisiasi transaksi pengembalian dana penuh (100% Full Refund) ke rekening/e-wallet pelanggan.