Reserve inventory
The Reserve Inventory communication maps the HCL Commerce ProcessInventoryRequirement request to the Sterling Order Management reserveAvailableInventory API call. As both HCL Commerce and Sterling Order Management are customizable, assumptions are made with the mapping from one system to the other.
The assumptions made for this call are:
Sterling Order Management API path | Source context | Source |
---|---|---|
Promise/@OrganizationCode | N/A | Maintain the mapping between SC:OrganizationCode and WC:StoreIdentifer(StoreId) in the local file ValueMaps.xml. |
Promise/ReservationParameters/@ReservationID | inv:DataArea/_inv:InventoryRequirement | "WC_" prepended to _ord:OrderIdentifier/_wcf:UniqueID |
Promise/PromiseLine@LineID | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | "WC_" prepended to _ord:OrderItemIdentifier/_wcf:UniqueID |
Promise/PromiseLine@ItemID | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:CatalogEntryIdentifier/_wcf:ExternalIdentifier/_wcf:PartNumber |
Promise/PromiseLine@RequiredQty | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:Quantity |
Promise/PromiseLine@FillQuantity | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:Quantity |
Promise/PromiseLine@UnitOfMeasure | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:Quantity/@uom Maintain the mapping between SC:UnitOfMeasure and WC:uom in ValueMaps.xml. If no mapping is found, use "Each." |
Promise/PromiseLine@CarrierServiceCode | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:OrderItemShippingInfo/_ord:ShippingMode/_ord:ShippingModeIdentifier/_ord:ExternalIdentifier/_ord:ShipModeCode If the above value is null, then use "Priority." Otherwise, use the mapping between SC:CarrierServiceCode and WC:ShipModeCode in ValueMaps.xml. If no mapping is found, use the value above. |
Promise/PromiseLine@ShipNode | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | OrderItemShippingInfo/[_ord:ShippingMode/_ord:ShippingModeIdentifier/_ord:ExternalIdentifier/_ord:ShipModeCode = 'PickupInStore']/_ord:PhysicalStoreIdentifier/_wcf:ExternalIdentifier" Maintain the mapping between SC:ShipNode and WC:Physical store identifier in ValueMaps.xml. If no mapping is found, use the above value. |
Promise/PromiseLine/ShipToAddress@AddressLine1 | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:AddressLine[1] |
Promise/PromiseLine/ShipToAddress@AddressLine2 | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:AddressLine[2] |
Promise/PromiseLine/ShipToAddress@AddressLine3 | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:AddressLine[3] |
Promise/PromiseLine/ShipToAddress@City | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:City |
Promise/PromiseLine/ShipToAddress@State | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:StateOrProvinceName |
Promise/PromiseLine/ShipToAddress@Country | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:Country |
Promise/PromiseLine/ShipToAddress@ZipCode | inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem | _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:PostalCode |
HCL Commerce path | Source context | Source |
---|---|---|
_inv:AcknowledgeInventoryRequirement/_inv:DataArea/_inv:InventoryRequirement/_ord:OrderIdentifier/_wcf:UniqueID | N/A | PromiseLines/PromiseLine/Reservations/Reservation/@ReservationID With the "WC_" removed from the start if it exists |
_inv:AcknowledgeInventoryRequirement/_inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem/_ord:OrderItemIdentifier/_wcf:UniqueID | PromiseLines/PromiseLine | @ItemID with the "WC_" removed from the start (if it exists). |
_inv:AcknowledgeInventoryRequirement/_inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem/_ord:OrderItemStatus/_ord:InventoryStatus | PromiseLines/PromiseLine | Reservations/Reservation/@ReservationID "Allocated" if availability date before today, "Backordered" if availability date after today, otherwise "Unallocated" |
_inv:AcknowledgeInventoryRequirement/_inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem/_ord:OrderItemFulfillmentInfo/_ord:AvailableDate (Optional) | PromiseLines/PromiseLine | Reservations/Reservation/@ProductAvailabilityDate Only set if the ProductAvailabilityDate attribute is set in the message |
_inv:AcknowledgeInventoryRequirement/_inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem/_ord:OrderItemFulfillmentInfo/_ord:ExpectedShipDate (Optional) | PromiseLines/PromiseLine | Reservations/Reservation/@ShipDate Only set if the ShipDate attribute is set in the message. |
_inv:AcknowledgeInventoryRequirement/_inv:DataArea/_inv:InventoryRequirement/_ord:OrderItem/_ord:FulfillmentCenter/_ord:FulfillmentCenterIdentifier/_wcf:Name (Optional) | PromiseLines/PromiseLine | Reservations/Reservation/@ShipNode Maintain the mapping between WC:FulfillmentCenter name and SC:ShipNode in ValueMaps.xml. If no mapping is found, use the above value. |