Vehicle data model used in integration API
Vehicle type ID if present.
Agent ID (UUID) of the vehicle.
Linear part of cost coefficient of the vehicle added to overall vehicle cost.
Quadratic part of cost coefficient of the vehicle subtracted from overall vehicle cost.
Current bearing of the vehicle in degrees.
0capacity object
Represents capacity of the vehicle. Capacity name has to match booking capacity type for the vehicle to be considered for booking allocation.
characteristics object
Vehicle characteristics to match with relevant bookings requiring these characteristics.
property name* object
- number
- Ranged characteristic
- boolean
Value of the characteristic, for example:
{
"manpower": 3
}
Minimum value of the characteristic
Maximum value of the characteristic
Hexadecimal color code of the vehicle.
#000000Current simulation timestamp.
Identifier of the driver assigned to this vehicle.
Average time in seconds between breaks for multi-break mode.
Duration of dynamic break for this vehicle (in seconds).
Maximum time when a dynamic break can end.
Maximum latency allowed for a dynamic break.
Minimum path duration (in seconds) when a dynamic break should be added.
Minimum time when a dynamic break can start.
efficiency vehicle_efficiency (object,null)
Efficiency settings for the vehicle.
constraints object[]
This feature enables efficiency constraints for vehicles, managing how much capacity they utilize. It works by defining a list of constraints for various demand types. These constraints focus on two optional checks during a vehicle's trip:
Minimum Load: Ensures the vehicle is loaded with at least a specified minimum capacity throughout the trip. This promotes efficient vehicle usage. Maximum Remaining Load: Ensures the vehicle's remaining load at the end of a trip doesn't exceed a specified maximum. This discourages returns to the depot with significant unused capacity. Each check can be either strict or weak:
Strict: These constraints must be met. Failing a strict constraint is unacceptable, even if it means no solution is found. Weak: These constraints are preferred but not mandatory. If a weak constraint is violated, a penalty is added to the overall objective value. The penalty for violating a weak constraint is calculated as the sum of two components:
Fixed Penalty: A pre-defined penalty value. Linear Penalty: Calculated by multiplying the cost of over/under capacity by the amount of over/under capacity.
Demand name to apply the constraint.
This demand type must be present in at least one full booking.
If the demand set here is not present in any of the booking as a set demand type, the optimizer will fail the validation.
Minimum capacity after a series of consecutive pickups before dropoffs. If check is not strict then penalty is added to cost if capacity is less than minimum. If check is strict then route with too small capacity is invalid.
The same as loaded_min_capacity but represented as percentage.
Fixed penalty of undercapacity.
0Cost of undercapacity. The additional penalty is calculated as the product of undercapacity_cost and the undercapacity value.
0Flag indicates that check of undercapacity must be strict.
falseMaximum capacity after a series of consecutive dropoffs before pickups. If check is not strict then penalty is added to cost if capacity is greater than maximum. If check is strict then route with too large capacity is invalid.
Same as unloaded_max_capacity but represented as percentage.
Fixed penalty of overcapacity.
0Cost of overcapacity. The additional penalty is calculated as the product of overcapacity_cost and the overcapacity value.
0Flag, indicates, that check for overcapacity must be strict.
falseVehicle work end time.
Node index in path sequence for which end time constraint should be set.
List of geofence IDs where the vehicle is allowed to operate within the simulation. Empty means no restrictions.
Flag indicating if the vehicle should be used for optimization purposes.
Possible values: [enabled, disabled]
enabledSoft deletion flag for a vehicle.
falseH3 geospatial index of the vehicle's current location.
List of vehicle labels. Used to select appropriate bookings for assignments.
Last known latitude of the vehicle.
0Last known longitude of the vehicle.
0Flag to enable Last-In-First-Out order check for vehicle operations.
falseMaximum drop-off locations allowed for a vehicle on a single trip.
Max number of physical stops, excluding first and last depot.
Maximum pickup locations allowed for a vehicle on a single trip.
Maximum allowed trip duration for a vehicle in minutes.
Maximum allowed trip length for a vehicle in kilometers.
Maximum number of times vehicle can return to depot(s).
Project identifier for the vehicle. If absent, would be taken from task.project_id.
Registration plate number of the vehicle.
routing_engine_settings object
Routing engine specific settings for the vehicle.
Name of the engine to be used.
Possible values: [euclidian, euclidian_geo, asteria, graphhopper, mapbox, valhalla, osrm, osrme, google, here, spheroid, spheriodtd, tomtom]
asteriaRoad network to be used by the routing engine (routing profile)
osrmeAPI key for the mapping service
nullURL of the routing engine to request the data from
http://mapbox-osrm-proxySets approacch values in the resuts to unrestricted with false, and curb with true value. The approaches are set only for the first and the last stop in the trip
nullSets approacch values in the resuts to unrestricted with false, and curb with true value. The approaches are set for all waypoints in a trip except for the first and the last stop
nullApplies continue_straight flag to the routing request. WHen set to null default map setting is applied.
nullSpeed value used by the routing engine if fiexed speed is enabled with use_speed_in_routing flga
0Can be used to manually adjust the time needed to move between waypoints compared to what the routing engine provides based on the vehicle profile.
1trueDefines size of the matix to request from the routing engine with a single request for optimization purposes
250Defines default timestamp type to be used for requesting the route
start_timeIf enabled, forces the routing engine to use fixed speed and disregard speeds from the map
falseCurrent (last updated) server timestamp.
Current vehicle status.
Possible values: [idle, driving, servicing, waiting, selecting_next_node]
idleVehicle service number.
Should wait (stay on the same location) until this timestamp (during node servicing).
Enable GPS noise for research simulations only.
falseDistance of GPS noise for simulation.
0Identifier of the simulation this vehicle belongs to.
Simulation step pause for this agent (research simulations only).
1Simulation time speedup factor.
1Current speed of the vehicle.
0Current route assigned to the vehicle.
{}Vehicle work start time.
Index of the node the vehicle should be starting from.
Cost associated with the vehicle.
Applies zero cost to a vehicle if it has only partial routes assigned.
Interval for protecting assigned nodes.
Maximum locations for assigned nodes protection.
Identifier of the simulation template.
Name of the simulation template.
Simulation start date, assuming project's timezone.
Username of the driver's login.
Start location latitude of the vehicle.
Start location longitude of the vehicle.
Location name of the vehicle's start point.
Display name of the vehicle's start point.
End location latitude of the vehicle.
End location longitude of the vehicle.
Location name of the vehicle's end point.
Display name of the vehicle's end point.
Start location ID from masstransit.
End location ID from masstransit.
Start location ID from operations locations.
End location ID from operations locations.
Finalization type for the vehicle's start location node.
Possible values: [min, max]
Maximum slack time in seconds for the vehicle's start location node.
300Finalization type for the vehicle's end location node.
Possible values: [min, max]
Maximum slack time in seconds for the vehicle's end location node.
300External ID for the vehicle's start location from operations locations.
External ID for the vehicle's end location from operations locations.
Creation timestamp of an object
id object
Identifier of the object
- integer
- uuid
Can be integer
Can be UUID
Last modification timestampo of the object
URI of the object instance
{
"vehicle_type_id": 0,
"agent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"amortized_linear_cost_factor": 0,
"amortized_quadratic_cost_factor": 0,
"bearing": 0,
"capacity": {},
"characteristics": {},
"color": "#000000",
"current_sim_ts": "2024-07-29T15:51:28.071Z",
"driver_id": 0,
"dynamic_break_avg_time_between_breaks": 0,
"dynamic_break_duration": 0,
"dynamic_break_end_time": "2024-07-29T15:51:28.071Z",
"dynamic_break_max_latency": 0,
"dynamic_break_min_path_duration": 0,
"dynamic_break_start_time": "2024-07-29T15:51:28.071Z",
"efficiency": "Unknown Type: object,null",
"end_time": "2024-07-29T15:51:28.071Z",
"end_time_node_index": 0,
"geofence_ids": [
0
],
"in_use": "enabled",
"is_invalidated": false,
"h3": "string",
"labels": [
"string"
],
"lat": 0,
"lon": 0,
"lifo_order_check": false,
"max_dropoff_locations": 0,
"max_physical_stops": 0,
"max_pickup_locations": 0,
"max_trip_duration": 0,
"max_trip_length": 0,
"number_of_trips": 0,
"project_id": 0,
"registration_number": "string",
"routing_engine_settings": {
"routing_engine_name": "asteria",
"road_network": "osrme",
"key": null,
"url": "http://mapbox-osrm-proxy",
"curb": null,
"intermediate_curb": null,
"continue_straight": null,
"speed": 0,
"time_factor": 1,
"make_depot_zero": true,
"batch_matrix_size": 250,
"osrme_timestamp_mode": "start_time",
"use_speed_in_routing": false
},
"server_ts": "2024-07-29T15:51:28.071Z",
"status": "idle",
"service_number": "string",
"should_wait_until": "2024-07-29T15:51:28.071Z",
"sim_enable_gps_noise": false,
"sim_gps_noise_distance": 0,
"simulation_id": 0,
"simulation_step_pause": 1,
"simulation_time_speedup_factor": 1,
"speed": 0,
"current_route": {},
"start_time": "2024-07-29T15:51:28.071Z",
"start_time_node_index": 0,
"vehicle_cost": 0,
"zero_cost_if_only_partial_routes": true,
"assigned_nodes_protection_interval": 0,
"assigned_nodes_protection_max_locations": 0,
"simulation_template_id": 0,
"simulation_template_name": "string",
"simulation_start_date": "2024-07-29",
"driver_user_username": "string",
"start_location_lat": 0,
"start_location_lon": 0,
"start_location_name": "string",
"start_location_display_name": "string",
"end_location_lat": 0,
"end_location_lon": 0,
"end_location_name": "string",
"end_location_display_name": "string",
"start_location_transitstop_id": 0,
"end_location_transitstop_id": 0,
"start_location_operations_location_id": 0,
"end_location_operations_location_id": 0,
"start_location_finalization_type": "min",
"start_location_max_slack": 300,
"end_location_finalization_type": "min",
"end_location_max_slack": 300,
"start_location_operations_location_external_id": "string",
"end_location_operations_location_external_id": "string",
"created_at": "2024-07-29T15:51:28.071Z",
"id": 0,
"modified_at": "2024-07-29T15:51:28.071Z",
"resource_uri": "string"
}