Hold Shipments

The Hold Shipments feature allows shipments to be paused during the fulfillment process. Unlike configurable shipment creation, which delays shipment creation itself, Hold Shipments apply after shipments are created and already have inventory reserved.

Hold shipments are useful when you want to temporarily prevent shipments from progressing to fulfillment—for example, to align with business hours, prevent premature release, or apply a review period.


Hold Shipment Creation

Shipments can be automatically placed into Hold status with an associated release date. during the shipment creation process via shipment API extensions. Clients can create their business rules to create Shipments in Hold Status. 

Release Date is optional. If a shipment is created without release date it will be held for indefinite period until user manually release the shipment from order admin UI.

When a shipment is placed on Hold, its associated inventory is still reserved.

Additionally, an existing Ready shipment can be moved into Hold status via the Hold API.

Hold status is applicable to all shipment types: BOPIS, STH, Delivery and Transfers. It is up to the business user to determine to intercept before shipment creation, to put shipments on hold. This can include transfers to be put on hold if the client wants it.


Release Shipments on Hold

Hold shipments can be released manually or automatically. Under System Settings General Site > Fulfillment Settings there is an option to enable Shipment on Hold Release .

Site setting shipment on hold

Manual Release

When the Manual Release option is enabled in Site Settings, the Release & Fulfill button appears on the Shipments tab in Order Admin. This button is only available for shipments in Hold status.

Release and Fulfill option on order admin ui

  • Clicking Release & Fulfill changes the shipment status from Hold to Ready, allowing shipment to continue through the normal fulfillment workflow.

Automatic Release

When the Automatic Release option is enabled and configured with an interval, a Kibo background job ReleaseHoldShipment runs at the specified frequency.

  • The job scans all shipments in Hold status.

  • Any shipment whose Shipment Release Date is less than or equal to the current timestamp is automatically released and moved to Ready.


Update Shipment Release Date

If a shipment is in Hold status and has a Shipment Release Date, Users can update this date from the Shipments tab in Order Admin.

  • Edit Shipment Release Date on Shipment Tab

Shipment Release Date can also be updated via holdReleaseDate API.