Skip to main content

Order

An order is a record storing information related to a set of tasks.

Life cycle​

Created -> Planned -> Executing -> Executed

Fields​

tasks​

This is a collection of jobs related to an orders.

task.type*​

Can either be pickup, delivery, service or replacement

task.type_alias​

Accepts any string. Can be used as a label/alias for a task.type. For example a you could alias a pickup type as "warehouse-picking-and-packing" and as well delivery as "customer-delivery".

tasks.places​

A record for defining the where and when for executing tasks.

tasks.places.location_id​

A reference to location

tasks.places.duration​

Can be used to specify the service time.

tasks.places.time_windows​

A collection of time windows with each element specifying start and end times. start and end date strings for ISO 8601

{
"start": "string",
"end": "string"
}

tasks.places.amounts​

This is a kv field used to define load / demand / capacity of goods.

Used when optimizing to match with fleet_actors (vehicles) capacity.

Example:

{
"kg": 10,
"pallets": 1
}

amounts​

This is a kv field used to define load / demand / capacity of goods.

Used when optimizing to match with fleet_actors (vehicles) capacity.

Example:

{
"kg": 10,
"pallets": 1
}

group​

Used to mark orders' and specify whether they could be mixed with other types of orders when they are getting assigned to routes. For example, it can be used to specify and add a constraint that orders with group of "gas" are not mixed with anythin else during fulfilment.

compatibility​

Used to define which groups are compatible so they could be considered to get assigned to the same route and handled at the same time.

vehicle_skills​

Used to specify which required skills for a given order. If

vehicle_skills.allOf​

Will require vehicles to have all of the skills specified

vehicle_skills.oneOf​

Will require vehicles to only have any of the skills specified

vehicle_skills.noneOf​

Only vehicles without the specified skills would be considered for assignment.

status​

Used to specify the status of an order. Can be either of DELIVERED, RESERVED or ROUTED.

reference_id​

User specified reference key. Can be used as users' internal reference key.

route_id​

A reference to the route where the order has been assigned.