1. Inventory service layer

Inventory pipelines

Version:

GetStockInformation pipeline

Name:GetStockInformation
Description:This pipeline is responsible for retrieving stock information for one or more products specified.
Usage:Called from Sitecore.
Args:
**Request -**Contains the list of InventoryProduct, details level, shop name, location and customer ID. Is set prior to calling the pipeline.
**Response -**Contains the user object. Is read after the pipeline is called.
Processors:
GetStockInformation –

Responsibility
stock information for the list of specified product IDs.

Usage: Calls the ECS to get the stock information.

Ownership: The processor is provided by the ECS.

Customization: Must be created as part of the connector integrating with the ECS.

StockStatusForIndexing pipeline

Name:StockStatusForIndexing
Description:Called during indexing to populate the index with stock information.
Usage:Called from Sitecore.
Args:
**Request –**A list ofProduct IDs is provided from the Sitecore indexing.
**Response –**A list ofIndexStockInformation objects is returned for processing and inclusion into the index.
Processors:
StockStatusForIndexing –

Responsibility: Calls the ECS and retrieves stock information used to populate the product index.

Usage: Called when crawling the product repository and indexing the products.

Ownership: Custom processor provided with the connector to the ECS

Customization:
Note

The index contains only stock status information per product and not per variant.

The following table shows an example of the product index content for a T-shirt product that comes in different variants and with the In-Stock and Out-of-Stock columns:

Product ID (not variant)SizeColorIn-StockOut-Of-StockLocationPre-orderable
Aw123-04S, M, L, XLR, B, G, OCentral Store, Store1, Store2Store3Central Store 1, Store 2, Store 3Yes

GetPreOrderableInformation pipeline

Name:GetPreOrderableInformation
Description:Contacts the ECS to get the preorderable information.
Usage:Called from Sitecore.
Args:
**Request –**ShopName, list of InventoryProduct, Visitor ID, Location.
**Response –**A list of OrderableInformation.
Processors:
GetPreOrderableInformation**–**

Responsibility
the ECS to get the preorderable information.

Usage: Called from Sitecore to retrieve information to be used for rendering to the visitor as well as restricting placing orders.

Ownership: Provided with the ECS connector.

Customization: Must be customized.

GetBackOrderableInformation pipeline

Name:GetBackOrderableInformation
Description:Contacts the ECS to get the back-orderable information.
Usage:Called from Sitecore.
Args:
**Request –**ShopName, list of InventoryProduct, Visitor ID, Location.
**Response –**A list of OrderableInformation.
Processors:
GetBackOrderableInformation**–**

Responsibility
the ECS to get the back-orderable information.

Usage: Called from Sitecore to retrieve information to be used for rendering to the visitor as well as restricting placing orders.

Ownership: Provided with the ECS connector.

Customization: Must be customized.

ProductsAreBackInStock pipeline

Name:ProductsAreBackInStock
Description:Triggers the page event Products Back In Stock, so that the visitors who have signed up can be notified.
Usage:Called from Sitecore.
Args:
**Request –**Shop name and a list of InventoryProduct for which the product is back in stock.
Response – None
Processors:
TriggerPageEvent–

Responsibility
page event Products Back In Stock along with the shop name and a list of product IDs.

Usage: Called from the ECS to signal when products have come back in stock.

Ownership: Provided with Connect.

Customization**:** No immediate need.

GetBackInStockInformation pipeline

Name:GetBackInStockInformation
Description:The method and pipeline is used to get the updated stock information from the ECS.

The method is normally called because the ProductsAreBackInStock method has been called remotely and in that case the pipeline is implicitly called.

The difference between the GetStockInformation pipeline and the GetBackInStockInformation pipeline is that the first queries for stock information in a specified location and for a given customer, whereas the latter gets the stock information for all locations ignoring customer context.
Usage:Called from Sitecore.
Args:
**Request –**Shop name and optionally a list of InventoryProduct.
**Response –**A list of StockInformationUpdate objects

OrderedProductStockStatus pipeline

Name:OrderedProductStockStatus
Description:The pipeline is called as a part of the SubmitOrder pipeline.
Usage:Called implicitly from the AddLinesToCart pipeline from the Cart service layer to trigger a page event whenever a product which is out of stock is added to the cart.
Args:
**Request –**ShopName and Cart
**Response -**None, except for external system messages.
Processors:
TriggerPageEvent–

Responsibility
each order line, it triggers the page event ProductsOutOfStockOrdered along with the ShopName, Order ID, Product ID, and Stock Status, if and only if the stock status is NOT InStock

Usage: Mandatory.

Ownership: Provided with Connect.

Customization: Not needed.

GetStockLocations pipeline

Name:GetStockLocations
Description:
Usage:Called from Sitecore.
Args:
**Request –**ShopName, and CustomerId.
**Response –**List of StockLocations.
Processors:
GetStockLocations

Responsibility
placeholder pipeline that should be replaced with a processor that performs the same request against an ECS.

Usage: Mandatory.

Ownership: Provided with Connect.

Customization: Not needed.

GetProductStockLocations pipeline

Name:GetProductStockLocations
Description:
Usage:Called from Sitecore.
Args:
**Request –**ShopName, CustomerId, and ProductId.
**Response –**List of StockInformation.
Processors:
GetProductStockLocations

Responsibility
placeholder pipeline that should be replaced with a processor that performs the same request against an ECS.

Usage: Mandatory.

Ownership: Provided with Connect.

Customization: Not needed.
If you have suggestions for improving this article, let us know!