5.5 Vehicle Object

Each vehicle in the fleet is represented by a vehicle object which has the following fields:

  1. Field: id
    Required: Yes.
    Type: String.
    Description: A unique identifier for the vehicle. A vehicle’s identifier also acts as an attribute name.
  2. Field: name
    Required: No.
    Type: String.
    Description: A descriptive name for the vehicle.
  3. Field: tags
    Required: No.
    Type: Array of strings.
    Description: Client-specific information associated with the vehicle. 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 vehicle has.
  5. Field: compartments
    Required: No.
    Type: String.
    Default: null (No compartments).
    Description: The identifier of the compartment scheme used by this vehicle.
  6. Field: start_location
    Required: Yes.
    Type: String.
    Default: null (This mean the vehicle can start anywhere).
    Description: The start location of the vehicle. This must match the identifier of a location specified in a location object.
  7. Field: finish_location
    Required: No.
    Type: String.
    Default: null (This means the vehicle can finish anywhere).
    Description: The finish location of the vehicle. This must match the identifier of a location specified in the location object.
  8. Field: maximum_weight
    Required: No.
    Type: Number.
    Default: 0.
    Description: The maximum weight capacity of the vehicle.
  9. Field: maximum_volume
    Required: No.
    Type: Number.
    Default: 0.
    Description: The maximum volume capacity of the vehicle.
  10. Field: earliest_start_time
    Required: Yes.
    Type: String (HH:MM).
    Description: Earliest time a vehicle can start a route.
  11. Field: latest_start_time
    Required: Yes.
    Type: String (HH:MM).
    Description: Latest time a vehicle can start a route.
  12. Field: latest_finish_time
    Required: Yes.
    Type: String: (HH:MM).
    Description: Latest time a vehicle can finish a route.
  13. Field: minimum_paid_time
    Required: No.
    Type: String (HH:MM).
    Default null.
    Description: A minimum amount of time that this vehicle’s cost-per-hour will be incurred. If the vehicle’s actual working time is less than this, then the hourly cost will be this value multiplied by the cost-per-hour instead. If this value is null then the minimum paid time is 00:00.
  14. Field: maximum_drive_time
    Required: No.
    Type: String (HH:MM).
    Default: null.
    Description: Maximum time a vehicle can spend in transit. If this is null, then the value of maximum_work_time is used.
  15. Field: maximum_work_time
    Required: No.
    Type: String (HH:MM).
    Default: null.
    Description: The maximum work time for the vehicle; if the value is null then their is no limit on the work time.
  16. Field: speed_scale
    Required: No.
    Type: Number.
    Default: 0 (No speed scale).
    Description: Nonnegative speed scale multiplier for the vehicle.
  17. Field: load_time
    Required: No.
    Type: String (HH:MM).
    Default: 00:00.
    Description: A vehicle specific load time, will override a location load time if applicable. (See Load Time in Section  2.11.)
  18. Field: unload_time
    Required: No.
    Type: String (HH:MM).
    Default: 00:00.
    Description: Unload time for a vehicle. (See Unload Time in Section  2.11.)
  19. Field: cost_per_use
    Required: No.
    Type: Number.
    Default: 0.
    Description: Flat cost to use the vehicle. Must be nonnegative. (See Cost Per Use in Section  2.11.)
  20. Field: cost_per_hour
    Required: No.
    Type: Number.
    Default: 0.
    Description: Cost incurred per hour of vehicle use. Must be nonnegative. (See Cost Per Hour in Section  2.11).
  21. Field: cost_per_km
    Required: No.
    Type: Number.
    Default: 0.
    Description: Cost incurred per kilometre of transit distance for the vehicle. Must be nonnegative. (See Cost Per KM in Section  2.11).
    Note: If the Use Miles field is true then this must be 0.
  22. Field: cost_per_mile
    Required: No.
    Type: Number.
    Default: 0.
    Description: Cost incurred per mile of transit distance for the vehicle. Must be nonnegative.
    Note: If the Use Miles field is false then this must be 0.
  23. Field: cost_per_load
    Required: No.
    Type: Number.
    Default: 0.
    Description: Cost incurred for each load. Must be nonnegative. Only applied if batched loads is enabled.
  24. Field: hidden_cost_per_use
    Required: No.
    Type: Number.
    Default: 0.
    Description: The hidden cost for using this vehicle.
  25. Field: hidden_cost_per_hour
    Required: No.
    Type: Number.
    Default: 0.
    Description: Additional cost incurred per hour of vehicle use. This can be negative and is not included in the cost calculation for the solution and could be used to prioritise certain vehicles. (See Hidden Cost Per Hour).
  26. Field: hidden_cost_per_km
    Required: No.
    Type: Number.
    Default: 0.
    Description: Additional cost incurred per kilometre of vehicle use. This can be negative and is not included in the cost calculation for the solution and could be used to prioritise certain vehicles. (See Hidden Cost Per Km).
    Note: If the Use Miles field is true then this must be 0.
  27. Field: hidden_cost_per_mile
    Required: No.
    Type: Number.
    Default: 0.
    Description: Additional cost incurred per mile of vehicle use. This can be negative and is not included in the cost calculation for the solution and could be used to prioritise certain vehicles. (See Hidden Cost Per Mile).
    Note: If the Use Miles field is false then this must be 0.
  28. Field: hidden_cost_per_load
    Required: No.
    Type: Number.
    Default: 0.
    Description: Additional cost incurred for each load. This can be negative and is not included in the cost calculation for the solution. Only applied if batched loads is enabled.
  29. Field: finish_segment_distance_penalty
    Required: No.
    Type: Number.
    Default: 0.
    Description: The per-unit distance component of the finish segment penalty for this vehicle. Must be nonnegative.
  30. Field: finish_segment_per_hour_penalty
    Required: No.
    Type: Number.
    Default: 0.
    Description: The per hour component of the finish segment penalty for this vehicle. Must be nonnegative.
  31. Field: pickup_segment_fixed_penalty
    Required: No.
    Type: Number.
    Default: 0.
    Description: The fixed component of the pickup segment penalty for this vehicle. Must be nonnegative.
  32. Field: pickup_segment_distance_penalty
    Required: No.
    Type: Number.
    Default: 0.
    Description: The per-unit distance component of the pickup segment penalty for this vehicle. Must be nonnegative.
  33. Field: delivery_segment_fixed_penalty
    Required: No.
    Type: Number.
    Default: 0.
    Description: The fixed component of the delivery segment penalty for this vehicle. Must be nonnegative.
  34. Field: delivery_segment_distance_penalty
    Required: No.
    Type: Number.
    Default: 0.
    Description: The per-unit distance component of the delivery segment penalty for this vehicle. Must be nonnegative.
  35. Field: loaded_weight_distance_penalty
    Required: No.
    Type: Number.
    Default: 0.
    Description: The weight scaled loaded distance penalty factor for this vehicle. Must be nonnegative.
  36. Field: loaded_volume_distance_penalty
    Required: No.
    Type: Number.
    Default: 0.
    Description: The volume scaled loaded distance penalty factor for this vehicle. Must be nonnegative.
  37. Field: break_scheme
    Required: No.
    Type: String.
    Description: An identifier that specifies the break rules that should apply to this vehicle. (See Fatigue Management Scheme in Section  2.11.)
  38. Field: forbid_loaded_breaks
    Required: No.
    Type: Boolean.
    Default: false.
    Description: If set to true, then loaded breaks will not be scheduled for the vehicle.
  39. Field: maximum_loads
    Required: No.
    Type: Number (integer).
    Default: 0, which means no maximum number of loads.
    Description: A nonnegative upper bound on the maximum number of loads for this vehicle which is only applied if batched loads is enabled. (See Maximum Loads in Section  2.11.)
  40. Field: max_drops_per_load
    Required: No.
    Type: Number (integer).
    Default: 0, which means no maximum number of drops.
    Description: A nonnegative upper bound on the maximum number of locations this vehicle can deliver to in a load. This is only applied if batched loads is enabled. (See Maximum Drops Per Load in Section  2.11.)