Reservation¶
aggregate-root inventory
Temporary hold on inventory for a customer, basket, order, or fulfillment flow.
Business Purpose: Protect inventory availability before confirmation, collection, fulfillment, exchange, or release.
Identity¶
| Type | Field | Description |
|---|---|---|
global |
reservation-id |
Reservation ID uniquely identifies the inventory hold across its lifecycle. |
Attributes¶
| Attribute | Description |
|---|---|
reservation-id Reservation ID |
Stable reservation identifier. |
inventory-id Inventory ID |
Related inventory reference. |
order-id Order ID |
Related order reference when applicable. |
quantity Quantity |
Reserved quantity. |
expires-at Expires At |
Date and time when the reservation expires. |
Lifecycle¶
created → active → confirmed → released → expired
Invariants¶
stable-reservation-id— Reservation ID must remain stable for the lifetime of the reservation.reservation-has-inventory-reference— Reservation must reference the inventory being held.reservation-expiration-controls-hold— Reservation expiration controls the validity of the inventory hold.
Relationships¶
| Type | Target |
|---|---|
reserves |
inventory inventory |
references |
order order |
references |
basket basket |
Events¶
| Event | Classification | Terminal |
|---|---|---|
InventoryReserved |
created | — |
ReservationConfirmed |
transitioned | — |
InventoryReleased |
transitioned | — |
ReservationExpired |
transitioned | ✓ |
Used by Capabilities¶
- inventory-reservation Inventory Reservation
Used by Processes¶
Used by Applications¶
- Inventory Service
inventory-service
Semantic Constraints¶
| Constraint | Type | Rule |
|---|---|---|
reservation-references-inventory |
association |
A Reservation must reserve a specific Inventory Item. Reservations wit… |
reservation-cannot-confirm-expired |
lifecycle-gate |
An expired reservation cannot be confirmed. A new reservation must be … |
Note
Aligned with existing reservation object and inventory reservation capability.
Referenced by APIs¶
| Endpoint | Method | Role | Capability |
|---|---|---|---|
/inventory/reservations |
POST | response |
inventory-reservation |
/inventory/reservations/{id}/confirm |
POST | response |
inventory-reservation |
/inventory/reservations/{id} |
DELETE | response |
inventory-reservation |
/inventory/allocate |
POST | request-body |
inventory-allocation |