From 6a48497941bd02a231d4c51fecd69cc02455c0d1 Mon Sep 17 00:00:00 2001 From: Milad Rastian Date: Fri, 30 Jan 2026 21:02:58 +0100 Subject: [PATCH] update AutoAPI json schema for 13.6 --- json-schema/auto-api/0002/spec.json | 5835 +++++++++++++++++++-------- 1 file changed, 4130 insertions(+), 1705 deletions(-) diff --git a/json-schema/auto-api/0002/spec.json b/json-schema/auto-api/0002/spec.json index 4a6ef18..4fb6c1f 100644 --- a/json-schema/auto-api/0002/spec.json +++ b/json-schema/auto-api/0002/spec.json @@ -15884,7 +15884,13 @@ "oil_change_warning", "inspection_warning", "diesel_oil_filter_water_presence", - "engine_drag_torque_control_failure" + "engine_drag_torque_control_failure", + "high_beam_left_failure", + "high_beam_right_failure", + "daytime_running_light_left_failure", + "daytime_running_light_right_failure", + "side_mark_lights_failure", + "licence_plate_light_failure" ] }, "state": { @@ -16805,7 +16811,13 @@ "oil_change_warning", "inspection_warning", "diesel_oil_filter_water_presence", - "engine_drag_torque_control_failure" + "engine_drag_torque_control_failure", + "high_beam_left_failure", + "high_beam_right_failure", + "daytime_running_light_left_failure", + "daytime_running_light_right_failure", + "side_mark_lights_failure", + "licence_plate_light_failure" ] }, "state": { @@ -26993,7 +27005,8 @@ "type": "string", "enum": [ "alternating_current", - "direct_current" + "direct_current", + "wireless" ] }, "timestamp": { @@ -32320,7 +32333,10 @@ "digital_communication_established", "digital_communication_ended", "station_ready", - "active" + "active", + "initialising", + "fault", + "inactive" ] }, "timestamp": { @@ -33529,6 +33545,140 @@ "additionalProperties": false } }, + "distance_since_charging": { + "description": "The distance driven since the last charging session", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, "nonce": { "type": "object", "properties": { @@ -35445,7 +35595,8 @@ "type": "string", "enum": [ "alternating_current", - "direct_current" + "direct_current", + "wireless" ] }, "timestamp": { @@ -38491,126 +38642,10 @@ "digital_communication_established", "digital_communication_ended", "station_ready", - "active" - ] - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "failure": { - "description": "Failure", - "type": "object", - "properties": { - "reason": { - "description": "Reason", - "type": "string", - "enum": [ - "rate_limit", - "execution_timeout", - "format_error", - "unauthorised", - "unknown", - "pending", - "oem_error", - "privacy_mode_active" - ] - }, - "description": { - "description": "Failure description", - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "reason", - "description" - ] - }, - "availability": { - "description": "Availability", - "type": "object", - "properties": { - "update_rate": { - "description": "Update rate", - "type": "string", - "enum": [ - "trip_high", - "trip", - "trip_start_end", - "trip_end", - "unknown", - "not_available", - "on_change" - ] - }, - "rate_limit": { - "description": "Frequency denoting the rate limit", - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "hertz", - "millihertz", - "kilohertz", - "megahertz", - "gigahertz", - "times_per_minute", - "times_per_hour", - "times_per_day" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ] - }, - "applies_per": { - "description": "Rate limit applies per", - "type": "string", - "enum": [ - "app", - "vehicle" - ] - } - }, - "additionalProperties": false, - "required": [ - "update_rate", - "rate_limit", - "applies_per" - ] - } - }, - "minProperties": 1, - "additionalProperties": false - }, - "property_status": { - "type": "object", - "properties": { - "data": { - "type": "string", - "enum": [ - "not_charging", - "charging", - "charging_complete", + "active", "initialising", - "charging_paused", - "charging_error", - "cable_unplugged", - "slow_charging", - "fast_charging", - "discharging", - "foreign_object_detected", - "conditioning", - "flap_open", - "ready_for_charging" + "fault", + "inactive" ] }, "timestamp": { @@ -38710,28 +38745,26 @@ "minProperties": 1, "additionalProperties": false }, - "property_temperature": { + "property_status": { "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "kelvin", - "celsius", - "fahrenheit" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" + "type": "string", + "enum": [ + "not_charging", + "charging", + "charging_complete", + "initialising", + "charging_paused", + "charging_error", + "cable_unplugged", + "slow_charging", + "fast_charging", + "discharging", + "foreign_object_detected", + "conditioning", + "flap_open", + "ready_for_charging" ] }, "timestamp": { @@ -38831,48 +38864,28 @@ "minProperties": 1, "additionalProperties": false }, - "property_temperature_extreme": { + "property_temperature": { "type": "object", "properties": { "data": { - "description": "Temperature extreme", "type": "object", "properties": { - "extreme": { - "description": "Extreme", + "unit": { "type": "string", "enum": [ - "highest", - "lowest" + "kelvin", + "celsius", + "fahrenheit" ] }, - "temperature": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "kelvin", - "celsius", - "fahrenheit" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ], - "description": "Temperature" + "value": { + "type": "number" } }, "additionalProperties": false, "required": [ - "extreme", - "temperature" + "unit", + "value" ] }, "timestamp": { @@ -38972,93 +38985,30 @@ "minProperties": 1, "additionalProperties": false }, - "property_time": { + "property_temperature_extreme": { "type": "object", "properties": { "data": { - "description": "Time", - "type": "object", - "properties": { - "hour": { - "description": "Value between 0 and 23", - "type": "integer" - }, - "minute": { - "description": "Value between 0 and 59", - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "hour", - "minute" - ] - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "failure": { - "description": "Failure", - "type": "object", - "properties": { - "reason": { - "description": "Reason", - "type": "string", - "enum": [ - "rate_limit", - "execution_timeout", - "format_error", - "unauthorised", - "unknown", - "pending", - "oem_error", - "privacy_mode_active" - ] - }, - "description": { - "description": "Failure description", - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "reason", - "description" - ] - }, - "availability": { - "description": "Availability", + "description": "Temperature extreme", "type": "object", "properties": { - "update_rate": { - "description": "Update rate", + "extreme": { + "description": "Extreme", "type": "string", "enum": [ - "trip_high", - "trip", - "trip_start_end", - "trip_end", - "unknown", - "not_available", - "on_change" + "highest", + "lowest" ] }, - "rate_limit": { - "description": "Frequency denoting the rate limit", + "temperature": { "type": "object", "properties": { "unit": { "type": "string", "enum": [ - "hertz", - "millihertz", - "kilohertz", - "megahertz", - "gigahertz", - "times_per_minute", - "times_per_hour", - "times_per_day" + "kelvin", + "celsius", + "fahrenheit" ] }, "value": { @@ -39069,54 +39019,14 @@ "required": [ "unit", "value" - ] - }, - "applies_per": { - "description": "Rate limit applies per", - "type": "string", - "enum": [ - "app", - "vehicle" - ] - } - }, - "additionalProperties": false, - "required": [ - "update_rate", - "rate_limit", - "applies_per" - ] - } - }, - "minProperties": 1, - "additionalProperties": false - }, - "property_timer": { - "type": "object", - "properties": { - "data": { - "description": "Timer", - "type": "object", - "properties": { - "timer_type": { - "description": "Timer type", - "type": "string", - "enum": [ - "preferred_start_time", - "preferred_end_time", - "departure_date" - ] - }, - "date": { - "description": "Timer date", - "type": "string", - "format": "date-time" + ], + "description": "Temperature" } }, "additionalProperties": false, "required": [ - "timer_type", - "date" + "extreme", + "temperature" ] }, "timestamp": { @@ -39216,13 +39126,27 @@ "minProperties": 1, "additionalProperties": false }, - "property_vin": { + "property_time": { "type": "object", "properties": { "data": { - "type": "string", - "minLength": 17, - "maxLength": 17 + "description": "Time", + "type": "object", + "properties": { + "hour": { + "description": "Value between 0 and 23", + "type": "integer" + }, + "minute": { + "description": "Value between 0 and 59", + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "hour", + "minute" + ] }, "timestamp": { "type": "string", @@ -39321,51 +39245,281 @@ "minProperties": 1, "additionalProperties": false }, - "property_weekday_time": { + "property_timer": { "type": "object", "properties": { "data": { - "description": "Weekday time", + "description": "Timer", "type": "object", "properties": { - "weekday": { - "description": "Weekday", + "timer_type": { + "description": "Timer type", "type": "string", "enum": [ - "monday", - "tuesday", - "wednesday", - "thursday", - "friday", - "saturday", - "sunday", - "automatic" + "preferred_start_time", + "preferred_end_time", + "departure_date" ] }, - "time": { - "description": "Time", - "type": "object", - "properties": { - "hour": { - "description": "Value between 0 and 23", - "type": "integer" - }, - "minute": { - "description": "Value between 0 and 59", - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "hour", - "minute" - ] + "date": { + "description": "Timer date", + "type": "string", + "format": "date-time" } }, "additionalProperties": false, "required": [ - "weekday", - "time" + "timer_type", + "date" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + }, + "property_vin": { + "type": "object", + "properties": { + "data": { + "type": "string", + "minLength": 17, + "maxLength": 17 + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + }, + "property_weekday_time": { + "type": "object", + "properties": { + "data": { + "description": "Weekday time", + "type": "object", + "properties": { + "weekday": { + "description": "Weekday", + "type": "string", + "enum": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday", + "automatic" + ] + }, + "time": { + "description": "Time", + "type": "object", + "properties": { + "hour": { + "description": "Value between 0 and 23", + "type": "integer" + }, + "minute": { + "description": "Value between 0 and 59", + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "hour", + "minute" + ] + } + }, + "additionalProperties": false, + "required": [ + "weekday", + "time" ] }, "timestamp": { @@ -57077,8 +57231,857 @@ "additionalProperties": false } }, - "last_trip_energy_consumption": { - "description": "Energy consumption in the last trip", + "last_trip_energy_consumption": { + "description": "Energy consumption in the last trip", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "joules", + "kilojoules", + "watt_hours", + "kilowatt_hours", + "ampere_hours" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "last_trip_fuel_consumption": { + "description": "Fuel consumption in the last trip", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "liters", + "milliliters", + "centiliters", + "deciliters", + "cubic_millimeters", + "cubic_centimeters", + "cubic_decimeters", + "cubic_meters", + "cubic_inches", + "cubic_feet", + "fluid_ounces", + "gallons", + "imperial_fluid_ounces", + "imperial_gallons" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "mileage_after_last_trip": { + "description": "Mileage after the last trip", + "deprecated": true, + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "last_trip_electric_portion": { + "description": "Portion of the last trip used in electric mode", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", + "type": "number" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "last_trip_average_energy_recuperation": { + "description": "Energy recuperation rate for last trip", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "kwh_per_100_kilometers", + "miles_per_kwh", + "kilometers_per_kwh", + "miles_per_gallon_equivalent", + "miles_per_imperial_gallon_equivalent" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "last_trip_battery_remaining": { + "description": "Battery % remaining after last trip", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", + "type": "number" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "last_trip_date": { + "description": "The last trip date", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "string", + "format": "date-time" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "average_fuel_consumption": { + "description": "Average fuel consumption for current trip", "type": "array", "items": { "type": "object", @@ -57089,11 +58092,10 @@ "unit": { "type": "string", "enum": [ - "joules", - "kilojoules", - "watt_hours", - "kilowatt_hours", - "ampere_hours" + "liters_per_100_kilometers", + "miles_per_imperial_gallon", + "miles_per_gallon", + "kilometers_per_liter" ] }, "value": { @@ -57204,8 +58206,8 @@ "additionalProperties": false } }, - "last_trip_fuel_consumption": { - "description": "Fuel consumption in the last trip", + "current_fuel_consumption": { + "description": "Current fuel consumption", "type": "array", "items": { "type": "object", @@ -57216,20 +58218,10 @@ "unit": { "type": "string", "enum": [ - "liters", - "milliliters", - "centiliters", - "deciliters", - "cubic_millimeters", - "cubic_centimeters", - "cubic_decimeters", - "cubic_meters", - "cubic_inches", - "cubic_feet", - "fluid_ounces", - "gallons", - "imperial_fluid_ounces", - "imperial_gallons" + "liters_per_100_kilometers", + "miles_per_imperial_gallon", + "miles_per_gallon", + "kilometers_per_liter" ] }, "value": { @@ -57340,9 +58332,8 @@ "additionalProperties": false } }, - "mileage_after_last_trip": { - "description": "Mileage after the last trip", - "deprecated": true, + "odometer_after_last_trip": { + "description": "Odometer after the last trip", "type": "array", "items": { "type": "object", @@ -57475,8 +58466,8 @@ "additionalProperties": false } }, - "last_trip_electric_portion": { - "description": "Portion of the last trip used in electric mode", + "safety_driving_score": { + "description": "Safety driving score as percentage", "type": "array", "items": { "type": "object", @@ -57583,30 +58574,19 @@ "additionalProperties": false } }, - "last_trip_average_energy_recuperation": { - "description": "Energy recuperation rate for last trip", + "rapid_acceleration_grade": { + "description": "Grade given for rapid acceleration over time", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "kwh_per_100_kilometers", - "miles_per_kwh" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" + "description": "Grade", + "type": "string", + "enum": [ + "excellent", + "normal", + "warning" ] }, "timestamp": { @@ -57707,15 +58687,20 @@ "additionalProperties": false } }, - "last_trip_battery_remaining": { - "description": "Battery % remaining after last trip", + "rapid_deceleration_grade": { + "description": "Grade given for rapid deceleration over time", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", - "type": "number" + "description": "Grade", + "type": "string", + "enum": [ + "excellent", + "normal", + "warning" + ] }, "timestamp": { "type": "string", @@ -57815,15 +58800,20 @@ "additionalProperties": false } }, - "last_trip_date": { - "description": "The last trip date", + "late_night_grade": { + "description": "Grade given for late night driving over time", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "Grade", "type": "string", - "format": "date-time" + "enum": [ + "excellent", + "normal", + "warning" + ] }, "timestamp": { "type": "string", @@ -57923,31 +58913,78 @@ "additionalProperties": false } }, - "average_fuel_consumption": { - "description": "Average fuel consumption for current trip", + "distance_over_time": { + "description": "Distance driven over a given time period", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "distance over time", "type": "object", "properties": { - "unit": { - "type": "string", - "enum": [ - "liters_per_100_kilometers", - "miles_per_imperial_gallon", - "miles_per_gallon" - ] + "distance": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ], + "description": "Distance driven" }, - "value": { - "type": "number" + "time": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "seconds", + "minutes", + "hours", + "days", + "weeks", + "months", + "milliseconds" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ], + "description": "Duration of time for the given distance" } }, "additionalProperties": false, "required": [ - "unit", - "value" + "distance", + "time" ] }, "timestamp": { @@ -58048,8 +59085,8 @@ "additionalProperties": false } }, - "current_fuel_consumption": { - "description": "Current fuel consumption", + "electric_consumption_rate_since_start": { + "description": "Electric energy consumption rate since the start of a trip", "type": "array", "items": { "type": "object", @@ -58060,9 +59097,11 @@ "unit": { "type": "string", "enum": [ - "liters_per_100_kilometers", - "miles_per_imperial_gallon", - "miles_per_gallon" + "kwh_per_100_kilometers", + "miles_per_kwh", + "kilometers_per_kwh", + "miles_per_gallon_equivalent", + "miles_per_imperial_gallon_equivalent" ] }, "value": { @@ -58173,8 +59212,8 @@ "additionalProperties": false } }, - "odometer_after_last_trip": { - "description": "Odometer after the last trip", + "electric_consumption_rate_since_reset": { + "description": "Electric energy consumption rate since a reset", "type": "array", "items": { "type": "object", @@ -58185,18 +59224,11 @@ "unit": { "type": "string", "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" + "kwh_per_100_kilometers", + "miles_per_kwh", + "kilometers_per_kwh", + "miles_per_gallon_equivalent", + "miles_per_imperial_gallon_equivalent" ] }, "value": { @@ -58307,15 +59339,41 @@ "additionalProperties": false } }, - "safety_driving_score": { - "description": "Safety driving score as percentage", + "electric_distance_last_trip": { + "description": "Distance travelled with electricity in last trip", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", - "type": "number" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] }, "timestamp": { "type": "string", @@ -58415,19 +59473,40 @@ "additionalProperties": false } }, - "rapid_acceleration_grade": { - "description": "Grade given for rapid acceleration over time", + "electric_distance_since_reset": { + "description": "Distance travelled with electricity since reset", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Grade", - "type": "string", - "enum": [ - "excellent", - "normal", - "warning" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" ] }, "timestamp": { @@ -58528,19 +59607,35 @@ "additionalProperties": false } }, - "rapid_deceleration_grade": { - "description": "Grade given for rapid deceleration over time", + "electric_duration_last_trip": { + "description": "Duration of travelling using electricity during last trip", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Grade", - "type": "string", - "enum": [ - "excellent", - "normal", - "warning" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "seconds", + "minutes", + "hours", + "days", + "weeks", + "months", + "milliseconds" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" ] }, "timestamp": { @@ -58641,19 +59736,35 @@ "additionalProperties": false } }, - "late_night_grade": { - "description": "Grade given for late night driving over time", + "electric_duration_since_reset": { + "description": "Duration of travelling using electricity since reset", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Grade", - "type": "string", - "enum": [ - "excellent", - "normal", - "warning" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "seconds", + "minutes", + "hours", + "days", + "weeks", + "months", + "milliseconds" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" ] }, "timestamp": { @@ -58754,78 +59865,33 @@ "additionalProperties": false } }, - "distance_over_time": { - "description": "Distance driven over a given time period", + "fuel_consumption_rate_last_trip": { + "description": "Liquid fuel consumption rate during last trip", + "deprecated": true, "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "distance over time", "type": "object", "properties": { - "distance": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ], - "description": "Distance driven" + "unit": { + "type": "string", + "enum": [ + "liters_per_100_kilometers", + "miles_per_imperial_gallon", + "miles_per_gallon", + "kilometers_per_liter" + ] }, - "time": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "seconds", - "minutes", - "hours", - "days", - "weeks", - "months", - "milliseconds" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ], - "description": "Duration of time for the given distance" + "value": { + "type": "number" } }, "additionalProperties": false, "required": [ - "distance", - "time" + "unit", + "value" ] }, "timestamp": { @@ -58926,8 +59992,8 @@ "additionalProperties": false } }, - "electric_consumption_rate_since_start": { - "description": "Electric energy consumption rate since the start of a trip", + "fuel_consumption_rate_since_reset": { + "description": "Liquid fuel consumption rate since reset", "type": "array", "items": { "type": "object", @@ -58938,8 +60004,10 @@ "unit": { "type": "string", "enum": [ - "kwh_per_100_kilometers", - "miles_per_kwh" + "liters_per_100_kilometers", + "miles_per_imperial_gallon", + "miles_per_gallon", + "kilometers_per_liter" ] }, "value": { @@ -59050,8 +60118,8 @@ "additionalProperties": false } }, - "electric_consumption_rate_since_reset": { - "description": "Electric energy consumption rate since a reset", + "average_speed_last_trip": { + "description": "Average speed during last trip", "type": "array", "items": { "type": "object", @@ -59062,8 +60130,10 @@ "unit": { "type": "string", "enum": [ - "kwh_per_100_kilometers", - "miles_per_kwh" + "meters_per_second", + "kilometers_per_hour", + "miles_per_hour", + "knots" ] }, "value": { @@ -59174,8 +60244,8 @@ "additionalProperties": false } }, - "electric_distance_last_trip": { - "description": "Distance travelled with electricity in last trip", + "average_speed_since_reset": { + "description": "Average speed since reset", "type": "array", "items": { "type": "object", @@ -59186,18 +60256,10 @@ "unit": { "type": "string", "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" + "meters_per_second", + "kilometers_per_hour", + "miles_per_hour", + "knots" ] }, "value": { @@ -59308,8 +60370,8 @@ "additionalProperties": false } }, - "electric_distance_since_reset": { - "description": "Distance travelled with electricity since reset", + "fuel_distance_last_trip": { + "description": "Distance travelled with (liquid) fuel during last trip", "type": "array", "items": { "type": "object", @@ -59442,8 +60504,8 @@ "additionalProperties": false } }, - "electric_duration_last_trip": { - "description": "Duration of travelling using electricity during last trip", + "fuel_distance_since_reset": { + "description": "Distance travelled with (liquid) fuel since reset", "type": "array", "items": { "type": "object", @@ -59454,13 +60516,18 @@ "unit": { "type": "string", "enum": [ - "seconds", - "minutes", - "hours", - "days", - "weeks", - "months", - "milliseconds" + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" ] }, "value": { @@ -59571,8 +60638,8 @@ "additionalProperties": false } }, - "electric_duration_since_reset": { - "description": "Duration of travelling using electricity since reset", + "driving_duration_last_trip": { + "description": "Duration of last trip", "type": "array", "items": { "type": "object", @@ -59700,8 +60767,8 @@ "additionalProperties": false } }, - "fuel_consumption_rate_last_trip": { - "description": "Liquid fuel consumption rate during last trip", + "driving_duration_since_reset": { + "description": "Duration of travelling since reset", "type": "array", "items": { "type": "object", @@ -59712,9 +60779,13 @@ "unit": { "type": "string", "enum": [ - "liters_per_100_kilometers", - "miles_per_imperial_gallon", - "miles_per_gallon" + "seconds", + "minutes", + "hours", + "days", + "weeks", + "months", + "milliseconds" ] }, "value": { @@ -59825,32 +60896,15 @@ "additionalProperties": false } }, - "fuel_consumption_rate_since_reset": { - "description": "Liquid fuel consumption rate since reset", + "eco_score_total": { + "description": "Overall eco-score rating", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "liters_per_100_kilometers", - "miles_per_imperial_gallon", - "miles_per_gallon" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ] + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", + "type": "number" }, "timestamp": { "type": "string", @@ -59950,33 +61004,15 @@ "additionalProperties": false } }, - "average_speed_last_trip": { - "description": "Average speed during last trip", + "eco_score_free_wheel": { + "description": "Eco-score rating for free-wheeling", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "meters_per_second", - "kilometers_per_hour", - "miles_per_hour", - "knots" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ] + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", + "type": "number" }, "timestamp": { "type": "string", @@ -60076,33 +61112,15 @@ "additionalProperties": false } }, - "average_speed_since_reset": { - "description": "Average speed since reset", + "eco_score_constant": { + "description": "Eco-score rating constant", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "meters_per_second", - "kilometers_per_hour", - "miles_per_hour", - "knots" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ] + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", + "type": "number" }, "timestamp": { "type": "string", @@ -60202,8 +61220,8 @@ "additionalProperties": false } }, - "fuel_distance_last_trip": { - "description": "Distance travelled with (liquid) fuel during last trip", + "eco_score_bonus_range": { + "description": "Eco-score bonus range", "type": "array", "items": { "type": "object", @@ -60336,40 +61354,56 @@ "additionalProperties": false } }, - "fuel_distance_since_reset": { - "description": "Distance travelled with (liquid) fuel since reset", + "trip_meters": { + "description": "Independent meter that can be reset at any time by the driver", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "Independent meter that can be reset at any time by the driver", "type": "object", "properties": { - "unit": { - "type": "string", - "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" - ] + "id": { + "description": "ID", + "type": "integer" }, - "value": { - "type": "number" + "distance": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ], + "description": "Distance" } }, "additionalProperties": false, "required": [ - "unit", - "value" + "id", + "distance" ] }, "timestamp": { @@ -60470,8 +61504,8 @@ "additionalProperties": false } }, - "driving_duration_last_trip": { - "description": "Duration of last trip", + "electric_consumption_average": { + "description": "Average electric energy consumption calculated based on the last 20km", "type": "array", "items": { "type": "object", @@ -60482,13 +61516,11 @@ "unit": { "type": "string", "enum": [ - "seconds", - "minutes", - "hours", - "days", - "weeks", - "months", - "milliseconds" + "kwh_per_100_kilometers", + "miles_per_kwh", + "kilometers_per_kwh", + "miles_per_gallon_equivalent", + "miles_per_imperial_gallon_equivalent" ] }, "value": { @@ -60599,36 +61631,15 @@ "additionalProperties": false } }, - "driving_duration_since_reset": { - "description": "Duration of travelling since reset", + "braking_evaluation": { + "description": "Braking evaluation percentage", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "seconds", - "minutes", - "hours", - "days", - "weeks", - "months", - "milliseconds" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ] + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", + "type": "number" }, "timestamp": { "type": "string", @@ -60728,15 +61739,33 @@ "additionalProperties": false } }, - "eco_score_total": { - "description": "Overall eco-score rating", + "average_speed": { + "description": "Average speed at data collection.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", - "type": "number" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters_per_second", + "kilometers_per_hour", + "miles_per_hour", + "knots" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] }, "timestamp": { "type": "string", @@ -60836,15 +61865,34 @@ "additionalProperties": false } }, - "eco_score_free_wheel": { - "description": "Eco-score rating for free-wheeling", + "recuperation_power": { + "description": "Recuperation energy of the drivetrain.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", - "type": "number" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "watts", + "milliwatts", + "kilowatts", + "megawatts", + "horsepower" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] }, "timestamp": { "type": "string", @@ -60944,15 +61992,66 @@ "additionalProperties": false } }, - "eco_score_constant": { - "description": "Eco-score rating constant", + "acceleration_durations": { + "description": "Durations of normal or other accelerations.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", - "type": "number" + "description": "Acceleration duration", + "type": "object", + "properties": { + "direction": { + "description": "Direction", + "type": "string", + "enum": [ + "longitudinal", + "lateral" + ] + }, + "type": { + "description": "Type", + "type": "string", + "enum": [ + "regular", + "positive_outlier", + "negative_outlier" + ] + }, + "duration": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "seconds", + "minutes", + "hours", + "days", + "weeks", + "months", + "milliseconds" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ], + "description": "The duration of the acceleration" + } + }, + "additionalProperties": false, + "required": [ + "direction", + "type", + "duration" + ] }, "timestamp": { "type": "string", @@ -61052,41 +62151,15 @@ "additionalProperties": false } }, - "eco_score_bonus_range": { - "description": "Eco-score bonus range", + "last_trip_battery_regenerated": { + "description": "Estimated electrical charge (in %) that was recovered through regeneration during a trip.", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ] + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", + "type": "number" }, "timestamp": { "type": "string", @@ -61186,38 +62259,37 @@ "additionalProperties": false } }, - "trip_meters": { - "description": "Independent meter that can be reset at any time by the driver", + "energy_consumption_last_trip": { + "description": "Energy consumption spread across different categories for the last trip automatically detected.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Independent meter that can be reset at any time by the driver", + "description": "Energy consumption", "type": "object", "properties": { - "id": { - "description": "ID", - "type": "integer" + "category": { + "description": "Category", + "type": "string", + "enum": [ + "other", + "driving", + "climate", + "battery" + ] }, - "distance": { + "consumption": { "type": "object", "properties": { "unit": { "type": "string", "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" + "joules", + "kilojoules", + "watt_hours", + "kilowatt_hours", + "ampere_hours" ] }, "value": { @@ -61229,13 +62301,13 @@ "unit", "value" ], - "description": "Distance" + "description": "Energy consumption in the given category" } }, "additionalProperties": false, "required": [ - "id", - "distance" + "category", + "consumption" ] }, "timestamp": { @@ -61336,30 +62408,55 @@ "additionalProperties": false } }, - "electric_consumption_average": { - "description": "Average electric energy consumption calculated based on the last 20km", + "energy_consumption_since_reset": { + "description": "Energy consumption spread across different categories since the last reset.", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "Energy consumption", "type": "object", "properties": { - "unit": { + "category": { + "description": "Category", "type": "string", "enum": [ - "kwh_per_100_kilometers", - "miles_per_kwh" + "other", + "driving", + "climate", + "battery" ] }, - "value": { - "type": "number" + "consumption": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "joules", + "kilojoules", + "watt_hours", + "kilowatt_hours", + "ampere_hours" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ], + "description": "Energy consumption in the given category" } }, "additionalProperties": false, "required": [ - "unit", - "value" + "category", + "consumption" ] }, "timestamp": { @@ -61460,15 +62557,56 @@ "additionalProperties": false } }, - "braking_evaluation": { - "description": "Braking evaluation percentage", + "energy_consumption_since_charging": { + "description": "Energy consumption spread across different categories since the last charging session.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", - "type": "number" + "description": "Energy consumption", + "type": "object", + "properties": { + "category": { + "description": "Category", + "type": "string", + "enum": [ + "other", + "driving", + "climate", + "battery" + ] + }, + "consumption": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "joules", + "kilojoules", + "watt_hours", + "kilowatt_hours", + "ampere_hours" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ], + "description": "Energy consumption in the given category" + } + }, + "additionalProperties": false, + "required": [ + "category", + "consumption" + ] }, "timestamp": { "type": "string", @@ -61568,32 +62706,35 @@ "additionalProperties": false } }, - "average_speed": { - "description": "Average speed at data collection.", + "energy_consumption_percentages_last_trip": { + "description": "Energy consumption percentages spread across different categories for the last trip automatically detected.", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "Energy consumption percentage", "type": "object", "properties": { - "unit": { + "category": { + "description": "Category", "type": "string", "enum": [ - "meters_per_second", - "kilometers_per_hour", - "miles_per_hour", - "knots" + "other", + "driving", + "climate", + "battery" ] }, - "value": { + "percentage": { + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", "type": "number" } }, "additionalProperties": false, "required": [ - "unit", - "value" + "category", + "percentage" ] }, "timestamp": { @@ -61694,33 +62835,35 @@ "additionalProperties": false } }, - "recuperation_power": { - "description": "Recuperation energy of the drivetrain.", + "energy_consumption_percentages_since_reset": { + "description": "Energy consumption percentages spread across different categories since the last reset.", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "Energy consumption percentage", "type": "object", "properties": { - "unit": { + "category": { + "description": "Category", "type": "string", "enum": [ - "watts", - "milliwatts", - "kilowatts", - "megawatts", - "horsepower" + "other", + "driving", + "climate", + "battery" ] }, - "value": { + "percentage": { + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", "type": "number" } }, "additionalProperties": false, "required": [ - "unit", - "value" + "category", + "percentage" ] }, "timestamp": { @@ -61821,46 +62964,102 @@ "additionalProperties": false } }, - "acceleration_durations": { - "description": "Durations of normal or other accelerations.", + "energy_consumption_percentages_since_charging": { + "description": "Energy consumption percentages spread across different categories since the last charging session.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Acceleration duration", + "description": "Energy consumption percentage", "type": "object", "properties": { - "direction": { - "description": "Direction", + "category": { + "description": "Category", "type": "string", "enum": [ - "longitudinal", - "lateral" + "other", + "driving", + "climate", + "battery" ] }, - "type": { - "description": "Type", + "percentage": { + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "category", + "percentage" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", "type": "string", "enum": [ - "regular", - "positive_outlier", - "negative_outlier" + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" ] }, - "duration": { + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", "type": "object", "properties": { "unit": { "type": "string", "enum": [ - "seconds", - "minutes", - "hours", - "days", - "weeks", - "months", - "milliseconds" + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" ] }, "value": { @@ -61871,15 +63070,55 @@ "required": [ "unit", "value" - ], - "description": "The duration of the acceleration" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] } }, "additionalProperties": false, "required": [ - "direction", - "type", - "duration" + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "average_speed_since_charging": { + "description": "Average speed since the last charging session.", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters_per_second", + "kilometers_per_hour", + "miles_per_hour", + "knots" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" ] }, "timestamp": { @@ -61980,15 +63219,33 @@ "additionalProperties": false } }, - "last_trip_battery_regenerated": { - "description": "Estimated electrical charge (in %) that was recovered through regeneration during a trip.", + "fuel_consumption_rate_since_start": { + "description": "Liquid fuel consumption rate since start", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", - "type": "number" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "liters_per_100_kilometers", + "miles_per_imperial_gallon", + "miles_per_gallon", + "kilometers_per_liter" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] }, "timestamp": { "type": "string", @@ -63027,30 +64284,300 @@ "minProperties": 1, "additionalProperties": false }, - "property_energy": { + "property_energy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "joules", + "kilojoules", + "watt_hours", + "kilowatt_hours", + "ampere_hours" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + }, + "property_energy_consumption": { + "type": "object", + "properties": { + "data": { + "description": "Energy consumption", + "type": "object", + "properties": { + "category": { + "description": "Category", + "type": "string", + "enum": [ + "other", + "driving", + "climate", + "battery" + ] + }, + "consumption": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "joules", + "kilojoules", + "watt_hours", + "kilowatt_hours", + "ampere_hours" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ], + "description": "Energy consumption in the given category" + } + }, + "additionalProperties": false, + "required": [ + "category", + "consumption" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + }, + "property_energy_consumption_percentage": { "type": "object", "properties": { "data": { + "description": "Energy consumption percentage", "type": "object", "properties": { - "unit": { + "category": { + "description": "Category", "type": "string", "enum": [ - "joules", - "kilojoules", - "watt_hours", - "kilowatt_hours", - "ampere_hours" + "other", + "driving", + "climate", + "battery" ] }, - "value": { + "percentage": { + "description": "Percentage value between 0.0 - 1.0 (0% - 100%)", "type": "number" } }, "additionalProperties": false, "required": [ - "unit", - "value" + "category", + "percentage" ] }, "timestamp": { @@ -63160,7 +64687,10 @@ "type": "string", "enum": [ "kwh_per_100_kilometers", - "miles_per_kwh" + "miles_per_kwh", + "kilometers_per_kwh", + "miles_per_gallon_equivalent", + "miles_per_imperial_gallon_equivalent" ] }, "value": { @@ -63281,7 +64811,8 @@ "enum": [ "liters_per_100_kilometers", "miles_per_imperial_gallon", - "miles_per_gallon" + "miles_per_gallon", + "kilometers_per_liter" ] }, "value": { @@ -81447,8 +82978,252 @@ "additionalProperties": false } }, - "kilometers_to_next_service": { - "description": "The distance until next servicing of the vehicle", + "kilometers_to_next_service": { + "description": "The distance until next servicing of the vehicle", + "deprecated": true, + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "cbs_reports_count": { + "description": "The number of CBS reports", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "integer", + "minimum": 0, + "maximum": 255 + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "months_to_exhaust_inspection": { + "description": "Time until exhaust inspection", "deprecated": true, "type": "array", "items": { @@ -81460,18 +83235,13 @@ "unit": { "type": "string", "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" + "seconds", + "minutes", + "hours", + "days", + "weeks", + "months", + "milliseconds" ] }, "value": { @@ -81582,16 +83352,20 @@ "additionalProperties": false } }, - "cbs_reports_count": { - "description": "The number of CBS reports", + "teleservice_availability": { + "description": "Teleservice availability", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "integer", - "minimum": 0, - "maximum": 255 + "type": "string", + "enum": [ + "pending", + "idle", + "successful", + "error" + ] }, "timestamp": { "type": "string", @@ -81691,9 +83465,142 @@ "additionalProperties": false } }, - "months_to_exhaust_inspection": { - "description": "Time until exhaust inspection", - "deprecated": true, + "service_distance_threshold": { + "description": "Distance threshold for service", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "service_time_threshold": { + "description": "Time threshold for service", "type": "array", "items": { "type": "object", @@ -81821,20 +83728,15 @@ "additionalProperties": false } }, - "teleservice_availability": { - "description": "Teleservice availability", + "automatic_teleservice_call_date": { + "description": "Automatic teleservice call date", "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", - "enum": [ - "pending", - "idle", - "successful", - "error" - ] + "format": "date-time" }, "timestamp": { "type": "string", @@ -81934,41 +83836,123 @@ "additionalProperties": false } }, - "service_distance_threshold": { - "description": "Distance threshold for service", + "teleservice_battery_call_date": { + "description": "Teleservice batter call date", "type": "array", "items": { "type": "object", "properties": { "data": { + "type": "string", + "format": "date-time" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", "type": "object", "properties": { - "unit": { + "reason": { + "description": "Reason", "type": "string", "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" ] }, - "value": { - "type": "number" + "description": { + "description": "Failure description", + "type": "string" } }, "additionalProperties": false, "required": [ - "unit", - "value" + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "next_inspection_date": { + "description": "Next inspection date", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "string", + "format": "date-time" }, "timestamp": { "type": "string", @@ -82068,35 +84052,54 @@ "additionalProperties": false } }, - "service_time_threshold": { - "description": "Time threshold for service", + "condition_based_services": { + "description": "Condition based services", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "Condition based service", "type": "object", "properties": { - "unit": { + "year": { + "description": "The year", + "type": "integer" + }, + "month": { + "description": "Value between 1 and 12", + "type": "integer" + }, + "id": { + "description": "CBS identifier", + "type": "integer" + }, + "due_status": { + "description": "Due status", "type": "string", "enum": [ - "seconds", - "minutes", - "hours", - "days", - "weeks", - "months", - "milliseconds" + "ok", + "pending", + "overdue" ] }, - "value": { - "type": "number" + "text": { + "description": "CBS text", + "type": "string" + }, + "description": { + "description": "Description", + "type": "string" } }, "additionalProperties": false, "required": [ - "unit", - "value" + "year", + "month", + "id", + "due_status", + "text", + "description" ] }, "timestamp": { @@ -82197,8 +84200,8 @@ "additionalProperties": false } }, - "automatic_teleservice_call_date": { - "description": "Automatic teleservice call date", + "brake_fluid_change_date": { + "description": "Brake fluid change date", "type": "array", "items": { "type": "object", @@ -82305,15 +84308,36 @@ "additionalProperties": false } }, - "teleservice_battery_call_date": { - "description": "Teleservice batter call date", + "time_to_next_service": { + "description": "Time until next servicing of the vehicle", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "string", - "format": "date-time" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "seconds", + "minutes", + "hours", + "days", + "weeks", + "months", + "milliseconds" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] }, "timestamp": { "type": "string", @@ -82413,15 +84437,41 @@ "additionalProperties": false } }, - "next_inspection_date": { - "description": "Next inspection date", + "distance_to_next_service": { + "description": "The distance until next servicing of the vehicle", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "string", - "format": "date-time" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] }, "timestamp": { "type": "string", @@ -82521,56 +84571,145 @@ "additionalProperties": false } }, - "condition_based_services": { - "description": "Condition based services", + "time_to_exhaust_inspection": { + "description": "Time until exhaust inspection", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Condition based service", "type": "object", "properties": { - "year": { - "description": "The year", - "type": "integer" - }, - "month": { - "description": "Value between 1 and 12", - "type": "integer" - }, - "id": { - "description": "CBS identifier", - "type": "integer" + "unit": { + "type": "string", + "enum": [ + "seconds", + "minutes", + "hours", + "days", + "weeks", + "months", + "milliseconds" + ] }, - "due_status": { - "description": "Due status", + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", "type": "string", "enum": [ - "ok", + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", "pending", - "overdue" + "oem_error", + "privacy_mode_active" ] }, - "text": { - "description": "CBS text", - "type": "string" - }, "description": { - "description": "Description", + "description": "Failure description", "type": "string" } }, "additionalProperties": false, "required": [ - "year", - "month", - "id", - "due_status", - "text", + "reason", "description" ] }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "last_ecall": { + "description": "Date-time of the last eCall", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "string", + "format": "date-time" + }, "timestamp": { "type": "string", "format": "date-time" @@ -82669,15 +84808,41 @@ "additionalProperties": false } }, - "brake_fluid_change_date": { - "description": "Brake fluid change date", + "distance_to_next_oil_service": { + "description": "Indicates the remaining distance until the next oil service; if this limit was exceeded, this value indicates the distance that has been driven since then.", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "string", - "format": "date-time" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] }, "timestamp": { "type": "string", @@ -82777,8 +84942,8 @@ "additionalProperties": false } }, - "time_to_next_service": { - "description": "Time until next servicing of the vehicle", + "time_to_next_oil_service": { + "description": "Indicates the time remaining until the next oil service; if this limit was exceeded, this value indicates the time that has passed since then.", "type": "array", "items": { "type": "object", @@ -82906,8 +85071,8 @@ "additionalProperties": false } }, - "distance_to_next_service": { - "description": "The distance until next servicing of the vehicle", + "brake_fluid_remaining_distance": { + "description": "Indicates the remaining distance for brake fluid.", "type": "array", "items": { "type": "object", @@ -83040,35 +85205,19 @@ "additionalProperties": false } }, - "time_to_exhaust_inspection": { - "description": "Time until exhaust inspection", + "brake_fluid_status": { + "description": "Brake fluid's service status.", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "seconds", - "minutes", - "hours", - "days", - "weeks", - "months", - "milliseconds" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" + "description": "Service-Status", + "type": "string", + "enum": [ + "ok", + "warning", + "critical" ] }, "timestamp": { @@ -83169,15 +85318,35 @@ "additionalProperties": false } }, - "last_ecall": { - "description": "Date-time of the last eCall", + "brakes_service_due_dates": { + "description": "Brakes servicing due dates.", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "string", - "format": "date-time" + "description": "Brake service due date", + "type": "object", + "properties": { + "axle": { + "description": "Axle", + "type": "string", + "enum": [ + "front", + "rear" + ] + }, + "due_date": { + "description": "Due date", + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false, + "required": [ + "axle", + "due_date" + ] }, "timestamp": { "type": "string", @@ -83277,107 +85446,42 @@ "additionalProperties": false } }, - "distance_to_next_oil_service": { - "description": "Indicates the remaining distance until the next oil service; if this limit was exceeded, this value indicates the distance that has been driven since then.", + "brakes_service_remaining_distances": { + "description": "Brakes servicing remaining distances.", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "Brake service remaining distance", "type": "object", "properties": { - "unit": { - "type": "string", - "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ] - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "failure": { - "description": "Failure", - "type": "object", - "properties": { - "reason": { - "description": "Reason", - "type": "string", - "enum": [ - "rate_limit", - "execution_timeout", - "format_error", - "unauthorised", - "unknown", - "pending", - "oem_error", - "privacy_mode_active" - ] - }, - "description": { - "description": "Failure description", - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "reason", - "description" - ] - }, - "availability": { - "description": "Availability", - "type": "object", - "properties": { - "update_rate": { - "description": "Update rate", + "axle": { + "description": "Axle", "type": "string", "enum": [ - "trip_high", - "trip", - "trip_start_end", - "trip_end", - "unknown", - "not_available", - "on_change" + "front", + "rear" ] }, - "rate_limit": { - "description": "Frequency denoting the rate limit", + "distance": { "type": "object", "properties": { "unit": { "type": "string", "enum": [ - "hertz", - "millihertz", - "kilohertz", - "megahertz", - "gigahertz", - "times_per_minute", - "times_per_hour", - "times_per_day" + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" ] }, "value": { @@ -83388,58 +85492,14 @@ "required": [ "unit", "value" - ] - }, - "applies_per": { - "description": "Rate limit applies per", - "type": "string", - "enum": [ - "app", - "vehicle" - ] - } - }, - "additionalProperties": false, - "required": [ - "update_rate", - "rate_limit", - "applies_per" - ] - } - }, - "minProperties": 1, - "additionalProperties": false - } - }, - "time_to_next_oil_service": { - "description": "Indicates the time remaining until the next oil service; if this limit was exceeded, this value indicates the time that has passed since then.", - "type": "array", - "items": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "seconds", - "minutes", - "hours", - "days", - "weeks", - "months", - "milliseconds" - ] - }, - "value": { - "type": "number" + ], + "description": "Distance" } }, "additionalProperties": false, "required": [ - "unit", - "value" + "axle", + "distance" ] }, "timestamp": { @@ -83540,40 +85600,38 @@ "additionalProperties": false } }, - "brake_fluid_remaining_distance": { - "description": "Indicates the remaining distance for brake fluid.", + "brakes_service_statuses": { + "description": "Brakes servicing statuses.", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "Brake service status", "type": "object", "properties": { - "unit": { + "axle": { + "description": "Axle", "type": "string", "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" + "front", + "rear" ] }, - "value": { - "type": "number" + "status": { + "description": "Service-Status", + "type": "string", + "enum": [ + "ok", + "warning", + "critical" + ] } }, "additionalProperties": false, "required": [ - "unit", - "value" + "axle", + "status" ] }, "timestamp": { @@ -83674,20 +85732,15 @@ "additionalProperties": false } }, - "brake_fluid_status": { - "description": "Brake fluid's service status.", + "drive_in_inspection_date": { + "description": "Next drive-in inspection date.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Service-Status", "type": "string", - "enum": [ - "ok", - "warning", - "critical" - ] + "format": "date-time" }, "timestamp": { "type": "string", @@ -83787,34 +85840,19 @@ "additionalProperties": false } }, - "brakes_service_due_dates": { - "description": "Brakes servicing due dates.", + "drive_in_inspection_status": { + "description": "Drive-in inspection service status.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Brake service due date", - "type": "object", - "properties": { - "axle": { - "description": "Axle", - "type": "string", - "enum": [ - "front", - "rear" - ] - }, - "due_date": { - "description": "Due date", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false, - "required": [ - "axle", - "due_date" + "description": "Service-Status", + "type": "string", + "enum": [ + "ok", + "warning", + "critical" ] }, "timestamp": { @@ -83915,61 +85953,15 @@ "additionalProperties": false } }, - "brakes_service_remaining_distances": { - "description": "Brakes servicing remaining distances.", + "next_oil_service_date": { + "description": "Next oil service date.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Brake service remaining distance", - "type": "object", - "properties": { - "axle": { - "description": "Axle", - "type": "string", - "enum": [ - "front", - "rear" - ] - }, - "distance": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ], - "description": "Distance" - } - }, - "additionalProperties": false, - "required": [ - "axle", - "distance" - ] + "type": "string", + "format": "date-time" }, "timestamp": { "type": "string", @@ -84069,38 +86061,40 @@ "additionalProperties": false } }, - "brakes_service_statuses": { - "description": "Brakes servicing statuses.", + "next_inspection_distance_to": { + "description": "Distance until the next inspection.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Brake service status", "type": "object", "properties": { - "axle": { - "description": "Axle", + "unit": { "type": "string", "enum": [ - "front", - "rear" + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" ] }, - "status": { - "description": "Service-Status", - "type": "string", - "enum": [ - "ok", - "warning", - "critical" - ] + "value": { + "type": "number" } }, "additionalProperties": false, "required": [ - "axle", - "status" + "unit", + "value" ] }, "timestamp": { @@ -84201,8 +86195,8 @@ "additionalProperties": false } }, - "drive_in_inspection_date": { - "description": "Next drive-in inspection date.", + "legal_inspection_date": { + "description": "Next legally required inspection date", "type": "array", "items": { "type": "object", @@ -84309,8 +86303,8 @@ "additionalProperties": false } }, - "drive_in_inspection_status": { - "description": "Drive-in inspection service status.", + "service_status": { + "description": "Consolidated status regarding service requirements. OK: no current service requirement, WARNING: at least one service has reported requirement, CRITICAL: at least one service is overdue.", "type": "array", "items": { "type": "object", @@ -84422,8 +86416,8 @@ "additionalProperties": false } }, - "next_oil_service_date": { - "description": "Next oil service date.", + "service_date": { + "description": "Date of the earliest service. If this service is overdue, the date is in the past.", "type": "array", "items": { "type": "object", @@ -84530,40 +86524,19 @@ "additionalProperties": false } }, - "next_inspection_distance_to": { - "description": "Distance until the next inspection.", + "inspection_status": { + "description": "Vehicle inspection service status.", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" + "description": "Service-Status", + "type": "string", + "enum": [ + "ok", + "warning", + "critical" ] }, "timestamp": { @@ -84664,15 +86637,41 @@ "additionalProperties": false } }, - "legal_inspection_date": { - "description": "Next legally required inspection date", + "drive_in_inspection_distance_to": { + "description": "The distance until next drive-in inspection of the vehicle", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "string", - "format": "date-time" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] }, "timestamp": { "type": "string", @@ -84772,20 +86771,15 @@ "additionalProperties": false } }, - "service_status": { - "description": "Consolidated status regarding service requirements. OK: no current service requirement, WARNING: at least one service has reported requirement, CRITICAL: at least one service is overdue.", + "vehicle_check_date": { + "description": "Vehicle check date (usually after a predetermined distance).", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Service-Status", "type": "string", - "enum": [ - "ok", - "warning", - "critical" - ] + "format": "date-time" }, "timestamp": { "type": "string", @@ -84885,15 +86879,20 @@ "additionalProperties": false } }, - "service_date": { - "description": "Date of the earliest service. If this service is overdue, the date is in the past.", + "vehicle_check_status": { + "description": "Vehicle check service status.", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "Service-Status", "type": "string", - "format": "date-time" + "enum": [ + "ok", + "warning", + "critical" + ] }, "timestamp": { "type": "string", @@ -84993,19 +86992,40 @@ "additionalProperties": false } }, - "inspection_status": { - "description": "Vehicle inspection service status.", + "vehicle_check_distance_to": { + "description": "The distance until next vehicle check.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Service-Status", - "type": "string", - "enum": [ - "ok", - "warning", - "critical" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" ] }, "timestamp": { @@ -85106,40 +87126,41 @@ "additionalProperties": false } }, - "drive_in_inspection_distance_to": { - "description": "The distance until next drive-in inspection of the vehicle", + "service_warning": { + "description": "Represents the type of service required and how soon it must be performed.", "type": "array", "items": { "type": "object", "properties": { "data": { + "description": "Service warning", "type": "object", "properties": { - "unit": { + "due": { + "description": "Due", "type": "string", "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" + "no_service_required", + "almost", + "due", + "overdue" ] }, - "value": { - "type": "number" + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "unknown", + "regular_maintenance", + "engine_hours", + "distance_driven" + ] } }, "additionalProperties": false, "required": [ - "unit", - "value" + "due", + "reason" ] }, "timestamp": { @@ -85240,8 +87261,8 @@ "additionalProperties": false } }, - "vehicle_check_date": { - "description": "Vehicle check date (usually after a predetermined distance).", + "last_service_date": { + "description": "Date of the last service performed on the vehicle.", "type": "array", "items": { "type": "object", @@ -85348,19 +87369,40 @@ "additionalProperties": false } }, - "vehicle_check_status": { - "description": "Vehicle check service status.", + "last_service_distance": { + "description": "Distance reading at the time of the last service.", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Service-Status", - "type": "string", - "enum": [ - "ok", - "warning", - "critical" + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" ] }, "timestamp": { @@ -85461,8 +87503,8 @@ "additionalProperties": false } }, - "vehicle_check_distance_to": { - "description": "The distance until next vehicle check.", + "next_inspection_distance": { + "description": "Distance reading at which the next inspection is due.", "type": "array", "items": { "type": "object", @@ -85936,11 +87978,161 @@ "minProperties": 1, "additionalProperties": false }, - "property_brake_service_remaining_distance": { + "property_brake_service_remaining_distance": { + "type": "object", + "properties": { + "data": { + "description": "Brake service remaining distance", + "type": "object", + "properties": { + "axle": { + "description": "Axle", + "type": "string", + "enum": [ + "front", + "rear" + ] + }, + "distance": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ], + "description": "Distance" + } + }, + "additionalProperties": false, + "required": [ + "axle", + "distance" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + }, + "property_brake_service_status": { "type": "object", "properties": { "data": { - "description": "Brake service remaining distance", + "description": "Brake service status", "type": "object", "properties": { "axle": { @@ -85951,42 +88143,20 @@ "rear" ] }, - "distance": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ], - "description": "Distance" + "status": { + "description": "Service-Status", + "type": "string", + "enum": [ + "ok", + "warning", + "critical" + ] } }, "additionalProperties": false, "required": [ "axle", - "distance" + "status" ] }, "timestamp": { @@ -86086,35 +88256,51 @@ "minProperties": 1, "additionalProperties": false }, - "property_brake_service_status": { + "property_condition_based_service": { "type": "object", "properties": { "data": { - "description": "Brake service status", + "description": "Condition based service", "type": "object", "properties": { - "axle": { - "description": "Axle", - "type": "string", - "enum": [ - "front", - "rear" - ] + "year": { + "description": "The year", + "type": "integer" }, - "status": { - "description": "Service-Status", + "month": { + "description": "Value between 1 and 12", + "type": "integer" + }, + "id": { + "description": "CBS identifier", + "type": "integer" + }, + "due_status": { + "description": "Due status", "type": "string", "enum": [ "ok", - "warning", - "critical" + "pending", + "overdue" ] + }, + "text": { + "description": "CBS text", + "type": "string" + }, + "description": { + "description": "Description", + "type": "string" } }, "additionalProperties": false, "required": [ - "axle", - "status" + "year", + "month", + "id", + "due_status", + "text", + "description" ] }, "timestamp": { @@ -86214,51 +88400,32 @@ "minProperties": 1, "additionalProperties": false }, - "property_condition_based_service": { + "property_duration": { "type": "object", "properties": { "data": { - "description": "Condition based service", "type": "object", "properties": { - "year": { - "description": "The year", - "type": "integer" - }, - "month": { - "description": "Value between 1 and 12", - "type": "integer" - }, - "id": { - "description": "CBS identifier", - "type": "integer" - }, - "due_status": { - "description": "Due status", + "unit": { "type": "string", "enum": [ - "ok", - "pending", - "overdue" + "seconds", + "minutes", + "hours", + "days", + "weeks", + "months", + "milliseconds" ] }, - "text": { - "description": "CBS text", - "type": "string" - }, - "description": { - "description": "Description", - "type": "string" + "value": { + "type": "number" } }, "additionalProperties": false, "required": [ - "year", - "month", - "id", - "due_status", - "text", - "description" + "unit", + "value" ] }, "timestamp": { @@ -86358,7 +88525,7 @@ "minProperties": 1, "additionalProperties": false }, - "property_duration": { + "property_length": { "type": "object", "properties": { "data": { @@ -86367,13 +88534,18 @@ "unit": { "type": "string", "enum": [ - "seconds", - "minutes", - "hours", - "days", - "weeks", - "months", - "milliseconds" + "meters", + "millimeters", + "centimeters", + "decimeters", + "kilometers", + "megameters", + "inches", + "feet", + "yards", + "miles", + "scandinavian_miles", + "nautical_miles" ] }, "value": { @@ -86483,37 +88655,126 @@ "minProperties": 1, "additionalProperties": false }, - "property_length": { + "property_nonce": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 255 + }, + "minItems": 9, + "maxItems": 9 + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + }, + "property_service_status": { "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "meters", - "millimeters", - "centimeters", - "decimeters", - "kilometers", - "megameters", - "inches", - "feet", - "yards", - "miles", - "scandinavian_miles", - "nautical_miles" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" + "description": "Service-Status", + "type": "string", + "enum": [ + "ok", + "warning", + "critical" ] }, "timestamp": { @@ -86613,126 +88874,38 @@ "minProperties": 1, "additionalProperties": false }, - "property_nonce": { + "property_service_warning": { "type": "object", "properties": { "data": { - "type": "array", - "items": { - "type": "integer", - "minimum": 0, - "maximum": 255 - }, - "minItems": 9, - "maxItems": 9 - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "failure": { - "description": "Failure", + "description": "Service warning", "type": "object", "properties": { - "reason": { - "description": "Reason", + "due": { + "description": "Due", "type": "string", "enum": [ - "rate_limit", - "execution_timeout", - "format_error", - "unauthorised", - "unknown", - "pending", - "oem_error", - "privacy_mode_active" + "no_service_required", + "almost", + "due", + "overdue" ] }, - "description": { - "description": "Failure description", - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "reason", - "description" - ] - }, - "availability": { - "description": "Availability", - "type": "object", - "properties": { - "update_rate": { - "description": "Update rate", + "reason": { + "description": "Reason", "type": "string", "enum": [ - "trip_high", - "trip", - "trip_start_end", - "trip_end", "unknown", - "not_available", - "on_change" - ] - }, - "rate_limit": { - "description": "Frequency denoting the rate limit", - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "hertz", - "millihertz", - "kilohertz", - "megahertz", - "gigahertz", - "times_per_minute", - "times_per_hour", - "times_per_day" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" - ] - }, - "applies_per": { - "description": "Rate limit applies per", - "type": "string", - "enum": [ - "app", - "vehicle" + "regular_maintenance", + "engine_hours", + "distance_driven" ] } }, "additionalProperties": false, "required": [ - "update_rate", - "rate_limit", - "applies_per" - ] - } - }, - "minProperties": 1, - "additionalProperties": false - }, - "property_service_status": { - "type": "object", - "properties": { - "data": { - "description": "Service-Status", - "type": "string", - "enum": [ - "ok", - "warning", - "critical" + "due", + "reason" ] }, "timestamp": { @@ -93794,7 +95967,8 @@ "enum": [ "liters_per_100_kilometers", "miles_per_imperial_gallon", - "miles_per_gallon" + "miles_per_gallon", + "kilometers_per_liter" ] }, "value": { @@ -94039,8 +96213,141 @@ "additionalProperties": false } }, - "start_address_components": { - "description": "Start address components", + "start_address_components": { + "description": "Start address components", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "description": "A single component of the full address", + "type": "object", + "properties": { + "type": { + "description": "Component type", + "type": "string", + "enum": [ + "city", + "country", + "country_short", + "district", + "postal_code", + "street", + "state_province", + "other" + ] + }, + "value": { + "description": "Value for the component", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "type", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "end_address_components": { + "description": "End address components", "type": "array", "items": { "type": "object", @@ -94172,39 +96479,22 @@ "additionalProperties": false } }, - "end_address_components": { - "description": "End address components", + "event": { + "description": "Event", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "A single component of the full address", - "type": "object", - "properties": { - "type": { - "description": "Component type", - "type": "string", - "enum": [ - "city", - "country", - "country_short", - "district", - "postal_code", - "street", - "state_province", - "other" - ] - }, - "value": { - "description": "Value for the component", - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "type", - "value" + "type": "string", + "enum": [ + "harsh_braking", + "harsh_acceleration", + "sharp_turn", + "over_rpm", + "overspeed", + "idling_engine_on", + "emergency_braking" ] }, "timestamp": { @@ -94305,8 +96595,8 @@ "additionalProperties": false } }, - "event": { - "description": "Event", + "eco_level": { + "description": "Eco level", "type": "array", "items": { "type": "object", @@ -94314,13 +96604,8 @@ "data": { "type": "string", "enum": [ - "harsh_braking", - "harsh_acceleration", - "sharp_turn", - "over_rpm", - "overspeed", - "idling_engine_on", - "emergency_braking" + "high", + "medium" ] }, "timestamp": { @@ -94421,17 +96706,33 @@ "additionalProperties": false } }, - "eco_level": { - "description": "Eco level", + "thresholds": { + "description": "Eco driving thresholds", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "string", - "enum": [ - "high", - "medium" + "description": "Eco driving threshold", + "type": "object", + "properties": { + "type": { + "description": "Type", + "type": "string", + "enum": [ + "zero", + "one" + ] + }, + "value": { + "description": "Value", + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "type", + "value" ] }, "timestamp": { @@ -94532,32 +96833,41 @@ "additionalProperties": false } }, - "thresholds": { - "description": "Eco driving thresholds", + "total_fuel_consumption": { + "description": "Total fuel consumption during the trip", "type": "array", "items": { "type": "object", "properties": { "data": { - "description": "Eco driving threshold", "type": "object", "properties": { - "type": { - "description": "Type", + "unit": { "type": "string", "enum": [ - "zero", - "one" + "liters", + "milliliters", + "centiliters", + "deciliters", + "cubic_millimeters", + "cubic_centimeters", + "cubic_decimeters", + "cubic_meters", + "cubic_inches", + "cubic_feet", + "fluid_ounces", + "gallons", + "imperial_fluid_ounces", + "imperial_gallons" ] }, "value": { - "description": "Value", "type": "number" } }, "additionalProperties": false, "required": [ - "type", + "unit", "value" ] }, @@ -94659,8 +96969,8 @@ "additionalProperties": false } }, - "total_fuel_consumption": { - "description": "Total fuel consumption during the trip", + "total_idle_fuel_consumption": { + "description": "Fuel consumed while idle since the last ignition on.", "type": "array", "items": { "type": "object", @@ -94795,8 +97105,8 @@ "additionalProperties": false } }, - "total_idle_fuel_consumption": { - "description": "Fuel consumed while idle since the last ignition on.", + "maximum_speed": { + "description": "Maximum speed recorded since the last igntion on.", "type": "array", "items": { "type": "object", @@ -94807,20 +97117,10 @@ "unit": { "type": "string", "enum": [ - "liters", - "milliliters", - "centiliters", - "deciliters", - "cubic_millimeters", - "cubic_centimeters", - "cubic_decimeters", - "cubic_meters", - "cubic_inches", - "cubic_feet", - "fluid_ounces", - "gallons", - "imperial_fluid_ounces", - "imperial_gallons" + "meters_per_second", + "kilometers_per_hour", + "miles_per_hour", + "knots" ] }, "value": { @@ -94931,34 +97231,134 @@ "additionalProperties": false } }, - "maximum_speed": { - "description": "Maximum speed recorded since the last igntion on.", + "road_type": { + "description": "Type of road travelled on.", "type": "array", "items": { "type": "object", "properties": { "data": { + "type": "string", + "enum": [ + "private_or_gravel", + "local", + "county", + "rural", + "federal_highway", + "highway", + "country", + "national" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", "type": "object", "properties": { - "unit": { + "reason": { + "description": "Reason", "type": "string", "enum": [ - "meters_per_second", - "kilometers_per_hour", - "miles_per_hour", - "knots" + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" ] }, - "value": { - "type": "number" + "description": { + "description": "Failure description", + "type": "string" } }, "additionalProperties": false, "required": [ - "unit", - "value" + "reason", + "description" ] }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + } + }, + "braking_count": { + "description": "Number of times the brakes were applied during the trip.", + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "integer", + "minimum": 0, + "maximum": 65535 + }, "timestamp": { "type": "string", "format": "date-time" @@ -95057,24 +97457,14 @@ "additionalProperties": false } }, - "road_type": { - "description": "Type of road travelled on.", + "id": { + "description": "ID of the trip", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "string", - "enum": [ - "private_or_gravel", - "local", - "county", - "rural", - "federal_highway", - "highway", - "country", - "national" - ] + "type": "string" }, "timestamp": { "type": "string", @@ -95174,123 +97564,36 @@ "additionalProperties": false } }, - "braking_count": { - "description": "Number of times the brakes were applied during the trip.", + "duration": { + "description": "Duration of the trip", "type": "array", "items": { "type": "object", "properties": { "data": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "failure": { - "description": "Failure", "type": "object", "properties": { - "reason": { - "description": "Reason", - "type": "string", - "enum": [ - "rate_limit", - "execution_timeout", - "format_error", - "unauthorised", - "unknown", - "pending", - "oem_error", - "privacy_mode_active" - ] - }, - "description": { - "description": "Failure description", - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "reason", - "description" - ] - }, - "availability": { - "description": "Availability", - "type": "object", - "properties": { - "update_rate": { - "description": "Update rate", + "unit": { "type": "string", "enum": [ - "trip_high", - "trip", - "trip_start_end", - "trip_end", - "unknown", - "not_available", - "on_change" - ] - }, - "rate_limit": { - "description": "Frequency denoting the rate limit", - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "hertz", - "millihertz", - "kilohertz", - "megahertz", - "gigahertz", - "times_per_minute", - "times_per_hour", - "times_per_day" - ] - }, - "value": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "unit", - "value" + "seconds", + "minutes", + "hours", + "days", + "weeks", + "months", + "milliseconds" ] }, - "applies_per": { - "description": "Rate limit applies per", - "type": "string", - "enum": [ - "app", - "vehicle" - ] + "value": { + "type": "number" } }, "additionalProperties": false, "required": [ - "update_rate", - "rate_limit", - "applies_per" + "unit", + "value" ] - } - }, - "minProperties": 1, - "additionalProperties": false - } - }, - "id": { - "description": "ID of the trip", - "type": "array", - "items": { - "type": "object", - "properties": { - "data": { - "type": "string" }, "timestamp": { "type": "string", @@ -95390,8 +97693,8 @@ "additionalProperties": false } }, - "duration": { - "description": "Duration of the trip", + "average_electric_consumption": { + "description": "Average electric consumption during the trip", "type": "array", "items": { "type": "object", @@ -95402,13 +97705,11 @@ "unit": { "type": "string", "enum": [ - "seconds", - "minutes", - "hours", - "days", - "weeks", - "months", - "milliseconds" + "kwh_per_100_kilometers", + "miles_per_kwh", + "kilometers_per_kwh", + "miles_per_gallon_equivalent", + "miles_per_imperial_gallon_equivalent" ] }, "value": { @@ -96339,6 +98640,129 @@ "minProperties": 1, "additionalProperties": false }, + "property_energy_efficiency": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "kwh_per_100_kilometers", + "miles_per_kwh", + "kilometers_per_kwh", + "miles_per_gallon_equivalent", + "miles_per_imperial_gallon_equivalent" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "failure": { + "description": "Failure", + "type": "object", + "properties": { + "reason": { + "description": "Reason", + "type": "string", + "enum": [ + "rate_limit", + "execution_timeout", + "format_error", + "unauthorised", + "unknown", + "pending", + "oem_error", + "privacy_mode_active" + ] + }, + "description": { + "description": "Failure description", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "reason", + "description" + ] + }, + "availability": { + "description": "Availability", + "type": "object", + "properties": { + "update_rate": { + "description": "Update rate", + "type": "string", + "enum": [ + "trip_high", + "trip", + "trip_start_end", + "trip_end", + "unknown", + "not_available", + "on_change" + ] + }, + "rate_limit": { + "description": "Frequency denoting the rate limit", + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "hertz", + "millihertz", + "kilohertz", + "megahertz", + "gigahertz", + "times_per_minute", + "times_per_hour", + "times_per_day" + ] + }, + "value": { + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "unit", + "value" + ] + }, + "applies_per": { + "description": "Rate limit applies per", + "type": "string", + "enum": [ + "app", + "vehicle" + ] + } + }, + "additionalProperties": false, + "required": [ + "update_rate", + "rate_limit", + "applies_per" + ] + } + }, + "minProperties": 1, + "additionalProperties": false + }, "property_event": { "type": "object", "properties": { @@ -96462,7 +98886,8 @@ "enum": [ "liters_per_100_kilometers", "miles_per_imperial_gallon", - "miles_per_gallon" + "miles_per_gallon", + "kilometers_per_liter" ] }, "value": { @@ -106114,4 +108539,4 @@ } } } -} \ No newline at end of file +}