Inventory Reservation
management inventory
Inventory can be soft-reserved, confirmed and released across the order and fulfilment lifecycle.
Manages soft and hard inventory reservations to prevent overselling during the order and fulfilment lifecycle. Reserves stock at basket or checkout, confirms reservations on order placement, releases on cancellation, and expires stale reservations. Critical for click-and-collect, BOPIS, and Endless Aisle scenarios.
Overview
ID
inventory-reservation
Domain
inventory
Classification
management
Actors
system
Services
4
Events
6
Processes
5
Applications
1
Services
ID
Name
Description
reserve-inventory
Reserve Inventory
Creates a soft reservation for a quantity of a SKU at the best available node, decrementing the ATP.
confirm-reservation
Confirm Reservation
Converts a soft reservation to a confirmed reservation on order placement.
release-reservation
Release Reservation
Releases a soft or confirmed reservation, restoring the ATP at the source node.
expire-reservation
Expire Reservation
Expires a stale reservation that has exceeded its time-to-live, automatically releasing the stock.
Events Emitted
Event
Type
Subject
Description
inventory-reserved
``
Stock was soft-reserved against a basket or order to prevent overselling.
reservation-confirmed
``
A soft reservation was confirmed as a hard allocation.
inventory-released
``
A previously reserved quantity was released back to available stock.
reservation-expired
``
A reservation exceeded its validity window and was automatically released.
reservation-created
``
A new inventory Reservation has been created for a basket or order.
reservation-released
``
An inventory Reservation has been released, restoring available quantity.
Processes
Applications
Application
Name
Tier
inventory-service
Inventory Service
Validation Rules
Rule
Type
Applies To
Severity
bopis-requires-store-inventory
pre-condition
bopis
invariant
bopis-requires-channel
pre-condition
bopis
invariant
reserve-and-collect-requires-reservation
pre-condition
reserve-and-collect
invariant
exchange-anywhere-requires-closed-order
pre-condition
exchange-anywhere
invariant
self-checkout-requires-active-terminal
pre-condition
self-checkout
invariant
confirm-reservation-requires-reserved
pre-condition
confirm-reservation
invariant
reserve-inventory-creates-reservation
post-condition
reserve-inventory
invariant