Bundle availability
Obtaining the bundle availability is a crucial step for an order capture as a fulfillment manager needs to ensure that all bundle component items are available at the time of the request. otherwise, the order will result into a backorder status that leads to undesirable shopper experience. The application supports availability look up of a bundle item by including the bundle parent item ID and returns availability by taking into account the configured kit quantity.
- Availability across nodes, which is the default behavior.
- Availability at a single node.
- Availability for a distribution group.
- Node or network availability with component break down details.
- Bundle item:
- Motor oil change kit
- Components items:
- 4 unit of motor oil
- 1 unit of funnel
- 1 unit of drain pan
- Node1: 4 motor oil, 1 funnel, 1 drain pan
- Node2: 8 motor oil, 1 funnel, 0 drain pan
- Node3: 8 motor oil, 2 funnel, 2 drain pan
Availability across nodes
By default, the node availability API looks up for availability across nodes that are included in the input request. As long as any of the nodes has the component items they are considered for the overall bundle availability. The request user is required to provide individual node in the availability request. Any node that is not included will not be considered. For example, with the current inventory picture for Node1, Node2, and Node3, the total availability of each components is 20 motor oil, 4 funnel, and 3 drain pan. Therefore, the total available quantity to sell for motor oil change kit is 3 quantity (3×4 motor oil, 3x funnel, 3x drain pan across Node1, Node2, and Node3).
shipnodeAvailabilities element as it is not applicable. See the following sample
response.{
"availabilityType" : "SELL",
"lines" : [{
"lineId" : "1",
"deliveryMethod" : "SHP",
"itemId" : "MotorOilChangeKit",
"unitOfMeasure" : "EACH",
"shipNodeAvailabilities" : [{
"availableSupplies" : [
"availableQuantity" : 3.0, "fromTs" : "2021-01-16T00:00:01.223Z","shortageQuantity" : 0.0,"toTs" : "2021-03-01T00:00:00.000Z"
}]
}],
"shipNodes" : [ "Node1", "Node2"]
}]
}Search for availability across node enables the fulfillment manager to ship items around the same time frame , provided there is lesser business requirement to ensure the products are shipped in the same package or shipping box.
Availability at a single node
Business uses cases where bundle item are required to be shipped in a single package is often found in a gift package. Gift package adds a shipping constraint such that items must be shipped from the same node so the picker can provide additional service on the bundle. Such as gift wrapping and ensuring all items are shipped together. By doing so, the fulfillment manager can ensure that the order recipient receives all items together in a single delivery.
bundleAggregatesAcrossNodes=false boolean
query parameter that supports in handling availability at a single node business use case. For
example,
POST https://api.watsoncommerce.ibm.com/inventory/{tenantId}/v2/availability/node?bundleAggregatesAcrossNodes=falsebundleAggregatesAcrossNodes=false yields a different outcome.-
- Node1: 4 motor oil, 1 funnel, 1 drain pan (Max: 1x Motor oil change kit)
- Node2: 8 motor oil, 1 funnel, 0 drain pan (Zero availability, since there is no drain pan)
- Node3: 8 motor oil, 2 funnel, 2 drain pan(Max: 2x Motor oil change kit)
Availability for a distribution group
Most of the time network of ship nodes are predefined as distribution groups for the ease of reference, and to avoid manually passing node in each node availability API call. Similar to the availability across node feature, the user can instead pass a distribution group as a input to request a bundle availability lookup.
Suppose that distribution group DG1 consists of Node1, Node2, and Node3, to coincident with the current availability picture, the result will be 3 quantity of Motor Oil Change Kit (3×4 motor oil, 3x funnel, and 3x drain pan across Node1, Node2, and Node3) identical result to the availability across node scenario. On the other hand, for distribution group DG2 that consists of Node1 and Node2, the availability of Motor Oil Change Kit is 1 quantity, as there is exactly 1 drain pan that is shared between Node1 and Node2.
Node and network availability with component break down details
By using the standard node and network availability API only returns availability with respect to the bundle parent and does not show how the bundle quantity is derived. By using either the node or network availability product breakup by date APIs, the user can receive additional insight on the breakdown of the component availability.
The behavior of the production availability API is similar to the product parents (item with variation) where lineId=0 is always in reference to the parent item, which is the bundle.
-
- Node1: 4 motor oil, 1 funnel, 1 drain pan
- Node2: 8 motor oil, 1 funnel, 0 drain pan
- Node3: 8 motor oil, 2 funnel, 2 drain pan
-
- LineId=0, 1x MotorOilChangeKit
- LineId=1, 20x motor oil
- LineId=2, 4x funnel
- LineId=3, 3x drain pan