Store interactions with a DOM inventory system

If your store uses a DOM inventory system, your store communicates with the external system to retrieve and display the online or in-store inventory availability of an item.

Get inventory availability flow when you submit an order

DOM integration flow scenario 1

  1. When the shopper locates an item by browsing or searching your store catalog, the GetInventoryAvailability service is called.
  2. The GetInventoryAvailability service retrieves inventory availability either from the cache or directly from the inventory system. The item is then added to the cart.

    While out of stock items can be added to the cart, the cart cannot be submitted until an inventory reservation from is sent to HCL Commerce to indicate that the required inventory is allocated.

  3. When the shopper reaches the Order Summary page, the order is prepared for submission.
  4. The ProcessInventoryRequirement service is called to reserve inventory.

    This service retrieves the information either from the cache or from DOM by creating an outbound GetInventoryAvailability service request by using the ExternalInventory component. This service then uses the information to get the inventory statuses of the order items, which are used by the DoInventoryAction command to update the order items.

Get inventory availability flow when you update an order before submission

DOM integration flow scenario 2 with update flow
  1. When the shopper locates an item by browsing or searching your store catalog, the GetInventoryAvailability service is called.
  2. The GetInventoryAvailability service retrieves inventory availability either from the cache or directly from the inventory system. The item is then added to the cart.

    While out of stock items can be added to the cart, the cart cannot be submitted until an inventory reservation from is sent to HCL Commerce to indicate that the required inventory is allocated.

  3. When the shopper reaches the Order Summary page, the order is prepared for submission.
  4. The ProcessInventoryRequirement service is called to reserve inventory.
  5. Before an order is submitted, the shopper can go back to the Shopping Cart page to modify the order such as to change the quantity of an item or to delete the order.
  6. If the shopper modifies the order, then the store creates an outbound ProcessInventoryRequirement service to cancel the reserved inventory. If the shopper proceeds to the Order Summary page after modifying the order, then the ProcessInventoryRequirement service is called again to reserve inventory.
Note: You can customize the checkout process to prevent out of stock items from being added to the cart. Within a DOM inventory integration, the add to cart process calls the DOMValidateInventoryStatusCmd command, which you can customize to check the inventory status from the ORDERITEMS database table. If the inventory status (INVENTORYSTATUS column) is not allocated (column value of NALC) for an item that a shopper is attempting to add to their cart, customize the process to throw an exception. This behavior prevents the item from being added to the cart.