5.4 Order Object

Each order in the scenario is represented by an order object, which has the following fields:

  1. Field: id
    Required: Yes.
    Type: String.
    Description: the unique identifier for the order. An order’s identifier also acts as an attribute name.
  2. Field: name
    Required: No.
    Type: String.
    Description: A descriptive name for the order.
  3. Field: tags
    Required: No.
    Type: Array of strings.
    Description: Client-specific information associated with the order. This field is ignored by the optimiser.
  4. Field: attributes
    Required: No.
    Type: Array of strings.
    Description: An array containing the names of any attributes the order has.
  5. Field: pickup_location
    Required: Yes.
    Type: String.
    Description: The pickup location for the order. Must match the id of a location specified in a location object.
  6. Field: earliest_pickup_time
    Required: No.
    Type: String (HH:MM).
    Default: null (meaning no earliest pickup time).
    Description: Earliest time the order can be picked up.
  7. Field: latest_pickup_time
    Required: No.
    Type: String: (HH:MM).
    Default: null (meaning no latest pickup time).
    Description: Latest time the order can be picked up.
  8. Field: pickup_time_windows
    Required: No.
    Type: Array of time window objects.
    Default: null (meaning the pickup can occur at any time).
    Description: Pickup time windows for the order. (See Order Time Windows in section  2.12.) An empty array is treated as if the value were null.
  9. Field: pickup_soft_time_windows
    Required: No.
    Type: A soft time window object.
    Default: null (meaning no soft pickup time windows).
    Description: An object that contains an array of soft time windows for the order’s pickup as well as associated penalties.
  10. Field: pickup_service_time
    Required: No.
    Type: String (HH:MM).
    Default: 00:00.
    Description: Service time for the pickup. (See Service Time in Section  2.12.)
  11. Field: delivery_location
    Required: Yes.
    Type: String.
    Description: The delivery location for the order. Must match the id of a location specified in a location object.
  12. Field: earliest_delivery_time
    Required: No.
    Type: String (HH:MM).
    Default: null (meaning no earliest delivery time).
    Description: Earliest time the delivery can be made.
  13. Field: latest_delivery_time
    Required: No.
    Type: String (HH:MM).
    Default: null (meaning no latest delivery time).
    Description: Latest time a delivery can be made.
  14. Field: delivery_time_windows
    Required: No.
    Type: Array of time window objects.
    Default: null (meaning the delivery can occur at any time).
    Description: Delivery time windows for the order. An empty array is treated as if the value were null. (See Order Time Windows in section  2.12.)
  15. Field: delivery_soft_time_windows
    Required: No.
    Type: A soft time window object.
    Default: null (meaning no soft delivery time windows).
    Description: An object that contains an array of soft time windows for the order’s delivery as well as associated penalties.
  16. Field: delivery_service_time
    Required: No.
    Type: String (HH:MM).
    Default: 00:00.
    Description: Service time for the delivery. (See Service Time in Section  2.12).
  17. Field: maximum_duration
    Required: No.
    Type: String (HH:MM).
    Default: null (This means there is no maximum duration).
    Description: The maximum duration of the order.
  18. Field: weight
    Required: No.
    Type: Number.
    Default: 0.
    Description: The weight of the order consistent with vehicle maximum weights. Must be nonnegative.
  19. Field: volume
    Required: No.
    Type: Number.
    Default: 0.
    Description: The volume of the order consistent with vehicle maximum volumes. Must be nonnegative.
  20. Field: assign_cost
    Required: No.
    Type: Number.
    Default: 0.
    Description: The assign cost for the order.
  21. Field: hidden_assign_cost
    Required: No.
    Type: Number.
    Default: 0.
    Description: The hidden assign cost for the order.
  22. Field: vehicle_assign_cost
    Required: No.
    Type: Array of vehicle cost objects.
    Default: No vehicle-specific assign costs.
    Description: The vehicle-specific assign costs for the order.
  23. Field: vehicle_hidden_assign_cost
    Required: No.
    Type: Array of vehicle cost objects.
    Default: No vehicle-specific hidden assign costs.
    Description: The vehicle-specific hidden assign costs for the order.
  24. Field: vehicle_preference
    Required: No.
    Type: Array of vehicle preference objects.
    Default: No vehicle-specific preferences.
    Description: The vehicle-specific rewards for the order.