# Get Vehicle Get an existing Vehicle, defined by their business_id. Endpoint: GET /vehicles/{business_id} Version: 0.0.3 Security: clientCredentials ## Path parameters: - `business_id` (string, required) The unique ID (business_id) used to create this Vehicle. ## Response 200 fields (application/json): - `business_id` (string) Unique identifier for this Vehicle. Example: "truck-42" - `description` (string) Description of the vehicle. Example: "Horn plays La Cucaracha - use sparingly in residential areas" - `mandatory` (boolean) Whether OptiFlow must use this vehicle in a planning or not. If false, OptiFlow will only use this vehicle when it makes sense to do so. Example: true - `driver` (object) - `driver.name` (string) Name of the driver. Example: "John Doe" - `driver.efficiency_factor` (number) Factor applied to service times and location stop times. A value of 1.0 (the default) does not alter the timings. Values 1.0 decrease the timings (higher efficiency). Example: 1.2 - `driver.custom_data` (object) Custom key-value pairs for client usage. These values have no meaning in the context of OptiFlow, but can be used to enrich the data with relevant information for the end users. Keys should not be blank nor contain periods. Keys with null values are not retained (same as omitting the key). Use an empty string ("") to retain keys without a concrete value. - `start` (object, required) - `start.location` (object, required) - `start.location.address` (object, required) - `start.location.address.business_id` (string, required) Unique identifier for this address. Example: "50.9514048-3.8067878" - `start.location.address.name` (string) Human-readable name for the location. Example: "The office" - `start.location.address.address_line` (string) The part of the address that includes the street name, house number, bus number etc. Required when omitting geo_point. Example: "Voordries 41" - `start.location.address.city` (string) City name. Required when omitting geo_point. Example: "Oosterzele" - `start.location.address.zip_code` (string) Postal code. Required when omitting geo_point. Example: "9860" - `start.location.address.country_code` (string) A ISO3166-1 alpha-2 two letter country code. Required when omitting geo_point. - `start.location.address.geo_point` (object) - `start.location.address.geo_point.latitude` (number, required) Example: 50.9514048 - `start.location.address.geo_point.longitude` (number, required) Example: 3.8067878 - `start.location.address.geo_point.resolved` (object) Geocoding resolution information. - `start.location.address.geo_point.resolved.geocoded` (boolean) Indicates if the provided address was geocoded or not. Geocoding only happens when the provided address does not yet have a geo-point. Example: true - `start.location.address.geo_point.resolved.address` (string) The address that matches the resolved geo-point. Only present when geocoded is true. Example: "Voordries 41, 9860 Oosterzele" - `start.location.address.geo_point.resolved.precision` (integer) Geocoding confidence score from 0-10. 10 indicates 100% confidence that the coordinates match the provided address. 0 indicates no confidence in the match. Only present when geocoded is true. Example: 9 - `start.service_time` (string) Service time at the start location, formatted as ISO-8601 duration. Example: "PT20M" - `start.orders_to_deliver_available` (boolean) Indicates whether the orders to deliver are already available at the start location. When true, the vehicle can begin deliveries immediately. When false, the vehicle must first drive to a depot to pick up orders before it can start delivering. Note: When the planning is a multi-tour VRP planning, only the orders to deliver on the first sub-tour are available at the start location. Example: true - `end` (object, required) - `end.location` (object, required) End location for the vehicle. Only one of the properties should be set. - `end.location.address` (object) The address where the vehicle should end. - `end.location.at_last_activity` (boolean) When true, the vehicle ends at the location of its last activity. - `end.location.same_as_start` (boolean) When true, the vehicle returns to its start location. - `end.service_time` (string) Service time at the end location, formatted as ISO-8601 duration. Example: "PT15M" - `end.allow_picked_up_orders` (boolean) Indicates whether the vehicle can end its route with picked-up orders still on board. When true, the vehicle can drive directly to the end location with picked-up orders remaining on board. When false, the vehicle must visit a depot to unload all picked-up orders before driving to the end location. Example: true - `deployability` (object, required) - `deployability.window` (object, required) - `deployability.duration` (object) When specified, one of both durations must be > PT0S - `deployability.duration.at_most_without_overtime` (string, required) Maximum deployment duration, without overtime, formatted as ISO-8601 duration. Example: "PT8H" - `deployability.duration.allowed_overtime` (string, required) Additional overtime allowed, formatted as ISO-8601 duration. When specified and > PT0S, the overtime_per_hour cost must also be provided. Example: "PT2H" - `capabilities` (array) Capabilities this vehicle provides. Used to make sure that orders requiring a specific capability, are only handled by vehicles with that capability. Example: ["refrigerated","hazmat"] - `transport_resource` (object) - `transport_resource.license_plate` (string) License plate of the transport resource. Example: "1-ABC-234" - `transport_resource.capacities` (array) Capacity specifications for the transport resource. Example: [{"type":"weight","value":3500},{"type":"volume","value":25.5}] - `transport_resource.capacities.type` (string, required) Type of capacity measurement Enum: "volume", "weight", "loadingMeters", "capacity1", "capacity2", "capacity3", "capacity4", "capacity5" - `transport_resource.capacities.value` (number, required) Capacity value. Example: 100 - `labels` (array) Labels for categorizing vehicles. Can be used for facility filtering or defining constraints. Example: ["priority","express"] - `cost` (object) - `cost.fixed` (number) Fixed cost for using this vehicle. Example: 50 - `cost.per_hour` (number) Hourly cost applied when this vehicle is in use, including drive time, wait time, and service time. Example: 25 - `cost.per_kilometer` (number) Cost per kilometer. Example: 0.5 - `cost.per_stop` (number) Cost per stop this vehicle makes. Note that stops at depots or breaks are not considered as separate stops. Example: 12 - `cost.overtime_per_hour` (number) Cost per hour overtime. When specified, the deployability durations must also be provided and allowed_overtime must be > PT0S. Example: 30 - `route_settings` (object) - `route_settings.routing_group` (string) Routing group for this vehicle. Allows bulk assignment of routing profiles to all vehicles in the group during planning. Example: "medium-truck" - `route_settings.max_distance_in_kilometers` (number) Maximum total distance for this vehicle's route, calculated as the sum of all subtour distances. Example: 450 - `route_settings.max_stops` (integer) Maximum number of stops allowed per route for this vehicle. Example: 10 - `route_settings.driving_speed_factor` (number) Multiplier applied to this vehicle's default speed. Example: 1.5 - `route_settings.preferred_route_duration` (object) - `route_settings.preferred_route_duration.duration` (string) The preferred duration of the route assigned to the vehicle. If omitted, the preferred route duration of this vehicle is the average route duration. Example: "PT8H" - `route_settings.preferred_route_duration.importance` (number, required) A scale between 0 and 1 resembling a tradeoff between minimizing the total hour cost and steering towards the preferred duration of the vehicle. Higher values indicate a stronger preference for a route duration close to the preferred one. As the cost per hour increases, the influence of this tradeoff becomes more significant. Example: 0.5 - `color` (string) The color used to display this vehicle's route in the planning overview. Accepts CSS color names (e.g., "red", "blue") or hexadecimal color codes (e.g., "#FF5733", "#123DEF"). Example: "#FF5733" - `break_rule_group` (string) Break Rule group for this vehicle. Allows bulk assignment of break rules to all vehicles in the group during planning. Example: "BELGIUM-LEGAL" ## Response 404 fields (application/problem+json): - `title` (string) A short, summary of the problem. Example: "Validation exception" - `detail` (string) A detailed explanation specific to this problem. Example: "The field contains invalid business formatting." ## Response 401 fields