Skip to content

Reserve Inventory

POST /inventory/reservations command bearer

Creates a timed Reservation for one or more SKUs at a specified location, decrementing available quantity.


Overview

ID reserve-inventory-api
Method POST
Path /inventory/reservations
Classification command
Domain inventory
Capability inventory-reservation
Service reserve-inventory
Application sim — SIM
Auth bearer

Request Body

Business Object basket
Description Commerce container holding intended purchases before order creation.
Classification aggregate-root
Lifecycle open → locked → converted → abandoned → merged

Response

Business Object reservation
Description Temporary hold on inventory for a customer, basket, order, or fulfillment flow.
Lifecycle requested → confirmed → fulfilled → expired → cancelled → released

Events Emitted

Event Classification Object Description
inventory-reserved created reservation Stock was soft-reserved against a basket or order to prevent overselling.
reservation-created created reservation A new inventory Reservation has been created for a basket or order.

Integration Patterns

Pattern Flow Style Description
OMS → SIM Inventory Reservation omssim synchronous-api When an order is confirmed, the OMS calls the SIM to soft-reserve inventory for each order line. Ensures ATP is reduced before fulfilment begins.

Scenarios using inventory-reservation

Scenario Description
Buy Online, Pick Up In Store Customer browses and purchases online, then collects the order from a physical store. The canonical
Exchange Anywhere Customer exchanges an item purchased in any channel at any supported touchpoint. The original item i
Reserve and Collect Customer reserves stock online for in-store collection without paying at the time of reservation. Th
Ship From Store An online order is fulfilled by shipping the goods directly from a physical store rather than a cent
API Method Path Type
Get Inventory GET /inventory/items/{sku} query
Confirm Reservation POST /inventory/reservations/{id}/confirm action
Release Reservation DELETE /inventory/reservations/{id} action
Get Stock Locations GET /stock/{sku}/locations query
Check Availability GET /inventory/{sku}/availability query
Allocate Inventory POST /inventory/allocate command