Reserve inventory

The Reserve Inventory communication maps the WebSphere Commerce ProcessInventoryRequirement request to the Sterling Order Management reserveAvailableInventory API call. As both WebSphere 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:
Request
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
Response
WebSphere 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.