Optimize Route
POST/optimize/route
Optimize Route
Request
Query Parameters
Default value: true
- application/json
Body
required
- Array [
- ]
The id of the wave.
The name of the site.
Single or list of starting locations.
Single or list of ending locations.
parameters object
Default value: false
Allow interpolation of missing input locations
How a location name should be processed before looking it up in the warehouseAn example could be that locations are stored as 'A1-24-006A', but the last character is irrelevant.In this case, the matching regex would be r'^(A1-[0-9]{2}-[0-9]{3})([A-Z])$'and the replacement regex would be r'\1'.Multiple regexes can be provided. If two or more regexes match, the first match is used.
Default value: true
If false, a location that does not match any of the provided regexes will be considered invalid.If true, the location will be used as-is if no regex matches.
Possible values: [ASIS
, OPTIMIZED
, AUTOSTORE
]
Default value: OPTIMIZED
The routing policy to use when generating the route. Options are: RoutingPolicy.ASIS (do not optimize the route), RoutingPolicy.OPTIMIZED (optimize the route using the default optimization algorithm), RoutingPolicy.AUTOSTORE (use an autostore specific algorithm, this also removes a lot of input restrictions).
[DEPRECATED] Whether or not to use the asis routing when "optimizing" the route or cluster. Use "routing_policy" instead. If set, this will override "routing_policy" to ASIS for backward compatibility.
Possible values: [IGNORE
, REMOVE_PICKS
, REMOVE_ORDERS
]
Default value: IGNORE
How to handle pick violations. Options are: PickViolationHandling.IGNORE, any pick violation will throw a validation exception. PickViolationHandling.REMOVE_PICKS, any pick violation will be removed from the input. PickViolationHandling.REMOVE_ORDERS, any order with a pick violation will be removed from the input.
Default value: false
Whether or not to generate instructions for the route.
Default value: false
Only relevant when generating_instructions is True. Allow loop closing.
Only relevant if allow_loop_closing is True. The maximum number of picks in a loop. If None, no limit is imposed.
Only relevant if allow_loop_closing is True. The maximum distance of a loop. If None, no limit is imposed.
Only relevant if allow_loop_closing is True. The maximum deviation by the closing of a loop. If None, no limit is imposed.
Default value: false
Whether or not to generate a path for the picks in the route.
Extra pass-through data. This is not used by the algorithm, but will be passed to the output.
The timestamp of the response.
The id of the route.
picks object[]required
Possible values: >= 1
A list of picks that need to be routed.
ID to unique identify this pick
The location(s) of the pick in the warehouse.
The sequence number of the pick in the as-is route.Required for calculating as-is distances.
Higher priority picks are picked first.
The id of the SKU on the location.
The quantity of the SKU to pick from the location.
The order id of the pick.
The handling unit id of the pick.
The handling unit type of the pick.
Responses
- 200
- 422
Successful Response
- application/json
- Schema
- Example (from schema)
Schema
- Array [
- ]
- Array [
- ]
Default value: ROUTE
The site name of the site.
The id of the wave.
The ObjectId of the corresponding request.
The timestamp of the response.
Time our algorithm spent calculating.
An error message, if an error occurred.
invalid_picks object[]
Invalid picks that were not included in the output route, because they were not valid.
ID to unique identify this pick
The location(s) of the pick in the warehouse.
The sequence number of the pick in the as-is route.Required for calculating as-is distances.
Higher priority picks are picked first.
The id of the SKU on the location.
The quantity of the SKU to pick from the location.
The order id of the pick.
The handling unit id of the pick.
The handling unit type of the pick.
Possible values: [Location not found
, No matching regex
, Order contains invalid pick
]
The reason why the pick is invalid.
Default value: cm
The unit of the distance values
Data passed through from the input.
The id of the route.
picks object[]
The optimized sequence of picks.
ID to unique identify this pick
The location of the pick in the warehouse.
The sequence number of the pick in the as-is route.Required for calculating as-is distances.
Higher priority picks are picked first.
The id of the SKU on the location.
The quantity of the SKU to pick from the location.
The order id of the pick.
The handling unit id of the pick.
The handling unit type of the pick.
The optimal sequence of this pick in the optimized route.
The path to the pick in the warehouse.
instructions object
Instructions for the pick.Relevant instuctions are only generated if the required parameter(s) are set.
The hallways that should be crossed to reach the pick in the shortest path.
Whether the pick should ends the loop.
Whether the pick should starts a new loop.A pick can both end a loop and start a new one.
The distance of the as-is route.
The distance of the optimized route.
{
"asis_distance": 100,
"computation_time": 0.05,
"optimal_distance": 80,
"picks": [],
"request_id": "675177e2aea9bc14fe7c0c02",
"route_id": "Route01",
"site_id": "675177e91539871b3ce6e156",
"site_name": "Example Site",
"timestamp": "2024-12-05T09:41:39.792Z",
"wave_id": "wave001"
}
Validation Error
- application/json
- Schema
- Example (from schema)
Schema
- Array [
- Array [
- MOD2
- ]
- ]
detail object[]
loc object[]required
string
integer
{
"detail": [
{
"loc": [
"string",
0
],
"msg": "string",
"type": "string"
}
]
}