Skip to main content
POST
Error

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme.

Headers

x-vol-tenant
integer<int32>
required

Tenant

x-vol-site
integer<int32>
required

Site

Query Parameters

returnSuggestionLog
boolean
default:false
returnEddCalculationLog
boolean
default:false

Body

application/json
eddItems
object[]
required

The order lines to route and estimate delivery dates for, including bundles and products with child items. Required, with at least one item. If no item has a valid orderItemID, IDs are numbered from 1; if only some items have valid, unique, positive IDs, the request is rejected.

Minimum array length: 1
orderType
enum<string>
required

The order type for the Estimated Delivery Date (EDD) suggestion. Accepts DIRECTSHIP, TRANSFER, DELIVERY, or BOPIS.

Available options:
DIRECTSHIP,
TRANSFER,
DELIVERY,
BOPIS
total
number
required

Order total. Required. Routing filters can match on this value.

bundlingStrategy
enum<string>

How order items are grouped into sets that must be fulfilled together. Defaults to ITEM_DEPENDENCY, which groups items linked through itemDependency.

Available options:
ITEM_DEPENDENCY
callOffChannel
string

Channel of a Call Off order. Routing filters can match on this value.

callOffOrderAttributes
object[]

Custom attributes of a Call Off order header. Routing filters on Call Off order attributes match them by attribute FQN (case-insensitive).

cartID
string

Identifier of the cart being estimated. When set, the suggestion log and the EDD calculation log for this request are not saved.

customData
object

Free-form key/value data about the order. It is returned unchanged in the EDD response.

environmentID
integer<int32>

The routing environment whose strategy is used. Ignored when strategyID is set; when both are omitted, the service picks the route for the order type itself.

exclusionListLocationCode
object[]

Item and location pairs to exclude from current-inventory assignment: the item's inventory at that location is not used. Each location code must match an existing location, or the request fails.

extendedCustomerInfo
object

Customer details and custom attributes that routing filters can match on.

extendedOrderInfo
object

Order details and custom attributes that routing filters can match on.

externalResponseID
string

Caller-supplied identifier that is returned on the routing response. Maximum 100 characters.

Maximum string length: 100
forceSTHConsolidationOnSplitShipments
boolean

When true, routing tries to consolidate a split ship-to-home order at one location even if normal consolidation would not apply. The location is sthConsolidationLocationOverride if given, otherwise the best valid location.

fraud
integer<int32>

Fraud indicator for the order. Not currently used in routing.

futureDateLimit
string<date-time>

Latest date for future inventory when routing uses future availability (Future ATP). Items can set their own futureDateLimit; this value is the fallback.

futureDateStart
string<date-time>

Earliest date for future inventory when routing uses future availability. Applied only if it is later than the current time; items can set their own futureDateStart.

futureExclusionListLocationCode
object[]

Item and location pairs to exclude from future-inventory (Future ATP) assignment. If left empty while exclusionListLocationCode is set, the current exclusions are also applied to future inventory unless the tenant has turned this off. Each location code must exist.

inventoryRequestType
enum<string>

The inventory query type sent to the inventory service when looking up candidate locations. Defaults to ANY when omitted.

Available options:
ALL,
ANY,
PARTIAL,
ALL_STORES
isExpress
boolean

When true, only locations marked as express are considered. Routing filters can also match on this value.

locationCodeWhiteList
string[]

Location codes that routing is limited to. Each code must match an existing location, or the request fails.

numShipmentsNotInRequest
integer<int32>

Number of shipments on the order that are not part of this request. Defaults to 0. Not currently used in routing.

orderID
integer<int32>

Identifier of the order being routed. It is recorded with the routing logs.

pickupLocationCode
string

Code of the pickup location. Required for TRANSFER and BOPIS orders; for BOPIS the location must exist and allow in-store pickup, and for TRANSFER its address is used as the shipping address.

remorsePeriodInMinutes
integer<int32>

Remorse period, in minutes, used in the delivery date calculation. When omitted, the site's fulfillment setting is used.

shippingAddress
object

Destination address. Used to find nearby inventory and to request transit times; for TRANSFER orders it is replaced by the pickup location's address.

shippingMethod
string

Shipping method for the order. Routing filters can match on this value.

sort
enum<string>

Sort strategy for candidate suggestions. Not used by this operation.

Available options:
SUGGESTION_SORT
sthConsolidationLocationOverride
string

Location code to consolidate at when forceSTHConsolidationOnSplitShipments is true. If the location is not valid for consolidation, it is not used and an event is logged.

strategyID
string

Routing strategy to use, in the form environmentID-routeID. Takes precedence over environmentID; a value in the wrong format is rejected.

tags
object

Key/value tags sent to the inventory service with the inventory request.

Response

OK

assignmentSuggestionShipmentGroups
object[]

Not populated by this operation. Omitted from the response.

attributes
object[]

Not populated by this operation. Omitted from the response.

availableLocations
integer<int32>[]

Not populated by this operation; returned as an empty list, or omitted when every item was preassigned.

customData
object

The customData supplied in the request, returned unchanged. Omitted when none was supplied.

data
object

Not populated by this operation. Omitted from the response.

eddAssignments
object[]

Fulfillment assignments and estimated delivery dates, one entry per order item from the request (child items are grouped under their parent). Empty when no item could be assigned.

eddCalculationLog
object

Detailed log of the delivery date calculation. Returned only when returnEddCalculationLog=true and the request has no cartID.

eddCalculationLogID
integer<int32>

ID of the saved delivery date calculation log for this request, which can be used to retrieve the log later. Omitted when the request includes a cartID, because the log is not saved in that case.

externalResponseID
string

The externalResponseID supplied in the request, returned unchanged.

responseID
integer<int32>

ID of the routing suggestion log created for this request. May be omitted, for example when every item was preassigned and routing was skipped.

route
enum<string>

Order type used for routing, taken from the request's orderType. STH_CONSOLIDATED when every item was preassigned as a consolidation.

Available options:
DIRECTSHIP,
TRANSFER,
STH_CONSOLIDATED,
RETURN,
DISPOSITION,
DELIVERY,
BOPIS
stateChangeSuggestions
object

Suggested state changes for items that could not be assigned, keyed by order item ID. Child item suggestions are keyed under, and carry, their parent item's ID. Empty when there are none.

suggestionLog
object

Detailed log of the routing decision. Returned only when returnSuggestionLog=true and the request has no cartID.