Store interactions with a distributed order management system
When integrating a store to use an external DOM system to handle orders, the store communicates with the external system in the following scenarios.
- When a shopper submits an order in the checkout flow.
- When a shopper accesses the Order History page from the My Account page.
- When a shopper views the details of a specific order from the Order History page.
Checkout flow
The following image depicts the checkout flow in a store that is integrated with a DOM system for order management only, and is using a non-ATP inventory model where items are added to the shopping cart only when there is enough stock in the online store's fulfillment center.
- If there is enough stock of an item in the online store's fulfillment center, the item can be added to the cart. When the shopper adds an item to the shopping cart, the store uses the order component's ChangeOrder service, with the Create action code. The ChangeOrder service and Create action code adds the item to the shopping cart with the selected fulfillment options.
- When the shopper initiates the checkout process, the store uses the order component's ProcessOrder service, with the Prepare action code, to prepare the shopping cart for submission. This includes reserving inventory and evaluating promotions, shipping, and taxes.
- After the shopper reviews the order, enters payment information, and submits the order, your store uses the order component's ProcessOrder service. With the Submit action code, the order is submitted for processing.
- The service or command calls the PrimePayment command to authorize the payment. It then updates the order status, sends an order confirmation email to the shopper, and raises the OrderSubmit event. This triggers OrderSubmitEventListenerImpl, which calls the ProcessOrderSubmitEvent command. When the inventory system of the store is DOM, the command transfers the order to DOM for further processing by creating an outbound ProcessOrder service request, with the Transfer action code, by using the ExternalOrder component. This command then calls the Inventory component's ProcessInventoryRequirement service, with the DecrementCache action code, to decrement the cache.
Order History flow
The following image depicts the Order History flow in a store that is integrated with a DOM system for order management only.
- A shopper views the My Account > Order History page.
- The GetOrderHistory service calls out to the DOM system to get a list of the shopper's previous orders.
- The DOM system processes the request and sends a response that is captured by the Order History page.
Order Details flow
The following image depicts the Order Details flow in a store that is integrated with a DOM system for order management only.
- A shopper selects an order from the Order History page.
- The GetOrderDetails service calls out to the DOM system to get the order details such as the purchased items, price, and shipping information.
- The DOM system processes the request and sends a response that is captured by the Order Details page.