Updating existing reservations

The reservations help you to create and update the various reservation capabilities as follows.

Creating reservations with custom reservation ID

You can use the reservation APIs to provide custom reservation ID like CUSTOMER01 | CART01 | LINE01. You can include the reservation ID in the created reservation request payload, otherwise, a UUID gets generated.
The custom reservation ID allows you to increase the current reservation quantity depending on the item availability. This customization also helps to update the reservation requests and extending the expiry of the current reservation.

When you create reservation for a node, the node reservation equals the reservation ID.

When there is a node reservation with bundles, no new reservation ID is generated but with the _childItemId stamped.
Note: The network reservation with bundles follows the same rule as node reservation with node priority and bundle.
Requested reservation input Reservation response
Reservation_childItemId in case of node reservation with bundles RSVR_Chair
RSVR_Table
Reservation_ID_childItemIdBundle in case of network reservation with bundles RSVR_CHAIR
RSVR_02_CHAIR
RSVR_Table
RSVR_02_Table

The network reservation is equal to the reservation ID for the selected priority node where any subsequent node has a generated reservation ID. The second reservation has a postfix of RSVR_02 and there is no postfix of _01.

For more information about Create reservations API, see Create Reservations API.

Using full quantities for reservation

You can provide the reservation quantity for the individual reservation with the help of reservationID.

Reserving quantity without safety stocking

By default, all the reservations APIs consider the total available quantity and safety stock that is withheld when a reservation is accepted. Under specific circumstances, a reservation API can override and consume the withheld safety stock quantity by using the considerSafetyStock = false parameter. However, doing so might cause inventory to be over promised leading to a shortage.
For more information, see Reservations API.

Special cases

Bundle reservation
After a fulfillment manager confirms the availability for a bundle, a reservation can be created against the bundle parent for specific nodes or distribution groups.
Unlike individual items, on a successful reservation request, the reservation API returns the following set of reservation IDs.
  • Bundle parent reservation ID.
  • Bundle component reservation ID.
These reservation IDs are only for reference purposes. Users cannot alter these reservation IDs. If a reference is used the bundle parent and component shares the same reference text.

Reservation consumption

After an order is confirmed, the bundle reservation can be consumed as part of supply or demand APIs. The fulfillment manager must pass the reservation ID for each of its component to consume the reservation. Even though a bundle parent reservation ID is provided, you cannot use for reservation consumption.
Important: When you consume a reservation, use the reservation IDs of the component instead of the bundle parent reservation ID.
For example, if there is a reservation for Motor Oil Change Kit and the reservation ID that is issued is as follows:
Item Reservation ID Note
Motor Oil Change Kit reservation.id 01 Do not use this ID for consumption.
Motor Oil reservation.id 02 Use this ID.
Funnel reservation.id 03 Use this ID.
Drain Pan reservation.id 04 Use this ID.
The demand API is shown as follows.
{
"demands": [{
     ....
     "reservations": [
     {"id": "02","reference": "motoroilchgkit_rsvr","quantity": 4},
     {"id": "03","reference": "motoroilchgkit_rsvr","quantity": 1},
     {"id": "04","reference": "motoroilchgkit_rsvr","quantity": 1},
     ]
  }]
}
Item parent
When a child item is reserved, its parent is also reserved to maintain overall parent availability as sum of all its child items availabilities.