Skip to content

Stock Reservation Component

Mengelola alokasi stok untuk kebutuhan outbound atau proses internal agar tidak terjadi double-booking dan over-allocation.

  • Balance ID yang akan direservasi
  • Product dan location context
  • Reference type dan reference ID dokumen
  • Quantity reserved dan UOM
  • Status reservasi
  • Catatan reservasi aktif yang mengunci stok terhadap dokumen bisnis tertentu hingga proses fulfilment atau pembatalan.
  • Menolak reservasi saat qty available tidak mencukupi
  • Menolak referensi dokumen tidak valid
  • Menolak status transisi reservasi yang tidak legal
  • Menolak reservasi yang menyebabkan inkonsistensi balance.
FieldData TypeConstraintsNullableDescription
reservation_idULIDPrimary KeyTidakIdentifier unik reservasi
balance_idULIDForeign Key -> stock_balance.balance_idTidakRelasi ke quant balance
product_idULIDForeign Key -> product_product.product_product_idTidakProduk yang direservasi
location_idULIDForeign Key -> location.location_idTidakLokasi pengambilan stok
reference_typeVARCHAR(50)Indexed, Not NullTidakJenis dokumen pemicu reservasi
reference_idULIDIndexed, Not NullTidakID dokumen pemicu reservasi
qty_reservedDECIMAL(15,3)> 0TidakJumlah stok yang dibooking
statusENUM(‘ACTIVE’,‘COMPLETED’,‘CANCELLED’)Not NullTidakStatus lifecycle reservasi
reserved_atTIMESTAMPNot NullTidakWaktu stok dikunci

Menerapkan alokasi stok berbasis ketersediaan quant, mengupdate qty_reserved pada stock balances secara atomik, dan melepaskan reservasi saat completed atau cancelled.

Menyimpan state reservasi aktif sebagai kontrol ketersediaan stok hingga dokumen referensi selesai diproses.