5.5 Vehicle Object
Each vehicle in the fleet is represented by a vehicle object which has the following fields:
- Field: id
Required: Yes.
Type: String.
Description: A unique identifier for the vehicle. A vehicle’s identifier also acts as an attribute
name.
- Field: name
Required: No.
Type: String.
Description: A descriptive name for the vehicle.
- Field: tags
Required: No.
Type: Array of strings.
Description: Client-specific information associated with the vehicle. This field is ignored by
the optimiser.
- Field: attributes
Required: No.
Type: Array of strings.
Description: An array containing the names of any attributes the vehicle has.
- Field: compartments
Required: No.
Type: String.
Default: null (No compartments).
Description: The identifier of the compartment scheme used by this vehicle.
- 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.
- 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.
- Field: maximum_weight
Required: No.
Type: Number.
Default: 0.
Description: The maximum weight capacity of the vehicle.
- Field: maximum_volume
Required: No.
Type: Number.
Default: 0.
Description: The maximum volume capacity of the vehicle.
- Field: earliest_start_time
Required: Yes.
Type: String (HH:MM).
Description: Earliest time a vehicle can start a route.
- Field: latest_start_time
Required: Yes.
Type: String (HH:MM).
Description: Latest time a vehicle can start a route.
- Field: latest_finish_time
Required: Yes.
Type: String: (HH:MM).
Description: Latest time a vehicle can finish a route.
- 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.
- 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.
- 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.
- Field: speed_scale
Required: No.
Type: Number.
Default: 0 (No speed scale).
Description: Nonnegative speed scale multiplier for the vehicle.
- 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.)
- 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.)
- 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.)
- 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).
- 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.
- 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.
- 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.
- Field: hidden_cost_per_use
Required: No.
Type: Number.
Default: 0.
Description: The hidden cost for using this vehicle.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.)
- 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.
- 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.)
- 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.)