Skip to content

Instantly share code, notes, and snippets.

@DriveQuantPublic
Created January 28, 2025 07:11
Show Gist options
  • Save DriveQuantPublic/07566c343695c871acba15f7bebe35c6 to your computer and use it in GitHub Desktop.
Save DriveQuantPublic/07566c343695c871acba15f7bebe35c6 to your computer and use it in GitHub Desktop.
openapi: 3.0.0
info:
title: DKPushData
version: '1.0'
description: This API contains an example endpoint to retrieve all the driving data collected by the mobile SDKs as well as all the driving indicators that result from DriveQuant's analyses
servers:
- url: 'http://api.mycompany.com'
paths:
/pushData:
post:
summary: Push data
operationId: post-tripData
responses:
'200':
description: OK
description: The pushdata API receives the data sent by the trip API which transforms GPS data collected by a smartphone or any other telematics system into actionable driver and vehicle analytics.
parameters:
- schema:
type: string
in: header
description: ''
name: Authorization
requestBody:
content:
application/json:
schema:
type: object
properties:
itinId:
type: string
description: Trip unique identifier
firstname:
type: string
description: Firstname of the user
lastname:
type: string
description: Lastname of the user
itineraryStatistics:
$ref: '#/components/schemas/ItineraryStatistics'
ecoDriving:
$ref: '#/components/schemas/EcoDriving'
fuelEstimation:
$ref: '#/components/schemas/FuelEstimation'
safety:
$ref: '#/components/schemas/Safety'
advancedEcoDriving:
type: object
properties:
ecoDrivingContext:
type: array
items:
$ref: '#/components/schemas/EcoDrivingContext'
advancedFuelEstimation:
type: object
properties:
fuelEstimationContext:
type: array
items:
$ref: '#/components/schemas/FuelEstimationContext'
advancedSafety:
type: object
properties:
safetyContext:
type: array
items:
$ref: '#/components/schemas/SafetyContext'
pollutants:
$ref: '#/components/schemas/Pollutants'
tireWear:
$ref: '#/components/schemas/TireWear'
brakeWear:
$ref: '#/components/schemas/BrakeWear'
safetyEvents:
type: array
items:
$ref: '#/components/schemas/SafetyEvents'
endDate:
type: string
description: 'Trip end date. Example : 2017-09-07T08:00:00.000+0200'
itineraryData:
$ref: '#/components/schemas/ItineraryData'
driverDistraction:
$ref: '#/components/schemas/DriverDistraction'
vehicle:
$ref: '#/components/schemas/Vehicle'
username:
type: string
description: Driver's username (email)
sampledRoute:
$ref: '#/components/schemas/SampledRoute'
vehicleStops:
type: array
items:
$ref: '#/components/schemas/VehicleStops'
beacon:
$ref: '#/components/schemas/Beacon'
distractionEvents:
type: array
items:
$ref: '#/components/schemas/DistractionEvents'
smartphoneData:
$ref: '#/components/schemas/SmartphoneData'
speedingStatistics:
$ref: '#/components/schemas/SpeedingStatistics'
bluetoothDeviceData:
$ref: '#/components/schemas/BluetoothDeviceData'
tripAdviceData:
$ref: '#/components/schemas/TripAdviceData'
tripAdvicesData:
type: array
items:
$ref: '#/components/schemas/TripAdvicesData'
metaData:
type: object
description: "MetaData sent via Trip API or DriveKit mobile SDK. Key/value object where keys and values are String type.\n\nExample: \n\"metaData\" : {\n\t\t\"customerStringData\" : \"This is customer first metaData\",\n\t\t\"customerJsonData\" : \"{\\\"testNumber\\\" : 1, \\\"testString\\\" : \\\"My text\\\"}\"\n }\n"
callEvents:
type: array
items:
$ref: '#/components/schemas/CallEvent'
speedingEvents:
type: array
items:
$ref: '#/components/schemas/SpeedingEvents'
energyEstimation:
$ref: '#/components/schemas/EnergyEstimation'
advancedEnergyEstimation:
type: array
items:
$ref: '#/components/schemas/EnergyEstimationContext'
matchedRoute:
$ref: '#/components/schemas/MatchedRoute'
examples:
Example:
value:
itinId: 6030ebe4ea60426b34e9b3bf
firstname: Fistname
lastname: Lastname
itineraryStatistics:
tripDuration: 1996
drivingDuration: 1737
idlingDuration: 259
drivingPercentage: 87
idlingPercentage: 13
distance: 15801
speedMean: 30.5
subdispNb: 60
meteo: 2
day: true
weekDay: false
transportationMode: 1
ecoDriving:
score: 7.1
scoreAccel: -1.7
scoreMain: 0.9
scoreDecel: -0.5
stdDevAccel: 2.2006383
stdDevMain: 0.99105114
stdDevDecel: 3.797757
energyClass: 2
fuelEstimation:
co2Mass: 2.691
co2Emission: 170
fuelVolume: 1.153
fuelConsumption: 7.3
idleFuelVolume: 0.049
idleFuelPercentage: 4.28
idleFuelConsumption: 0.696
idleCo2Emission: 1.625
idleCo2Mass: 0.115
engineTempStatus: true
coldFuelVolume: 0.018
safety:
safetyScore: 9.1
nbAdh: 2
nbAccel: 0
nbDecel: 3
nbAdhCrit: 0
nbAccelCrit: 0
nbDecelCrit: 1
advancedEcoDriving:
ecoDrivingContext:
- contextId: 0
distance: 6.9
duration: 19.1
efficiencyScore: 11
scoreAccel: 6
scoreMain: 6
scoreDecel: 6
- contextId: 1
distance: 3.7
duration: 6.5
efficiencyScore: 6.1
scoreAccel: -2.8
scoreMain: 0.3
scoreDecel: 1.3
- contextId: 2
distance: 64.8
duration: 61.8
efficiencyScore: 6.7
scoreAccel: -1.7
scoreMain: 0.6
scoreDecel: -1.3
- contextId: 3
distance: 12.7
duration: 7.8
efficiencyScore: 6.6
scoreAccel: -1.8
scoreMain: 1.6
scoreDecel: 0.8
- contextId: 4
distance: 11.8
duration: 4.9
efficiencyScore: 8.4
scoreAccel: -1.1
scoreMain: 0.1
scoreDecel: -2.9
advancedFuelEstimation:
fuelEstimationContext:
- contextId: 0
distance: 6.9
duration: 19.1
co2Mass: 0.199
co2Emission: 179
fuelVolume: 0.085
fuelConsumption: 7.69
- contextId: 1
distance: 3.7
duration: 6.5
co2Mass: 0.099
co2Emission: 167
fuelVolume: 0.042
fuelConsumption: 7.139
- contextId: 2
distance: 64.8
duration: 61.8
co2Mass: 1.832
co2Emission: 176
fuelVolume: 0.785
fuelConsumption: 7.535
- contextId: 3
distance: 12.7
duration: 7.8
co2Mass: 0.264
co2Emission: 130
fuelVolume: 0.113
fuelConsumption: 5.549
- contextId: 4
distance: 11.8
duration: 4.9
co2Mass: 0.182
co2Emission: 96
fuelVolume: 0.078
fuelConsumption: 4.107
advancedSafety:
safetyContext:
- contextId: 0
distance: 6.9
duration: 19.1
nbAdh: 0
nbAccel: 0
nbDecel: 0
nbAdhCrit: 0
nbAccelCrit: 0
nbDecelCrit: 0
safetyScore: 11
- contextId: 1
distance: 3.7
duration: 6.5
nbAdh: 0
nbAccel: 0
nbDecel: 0
nbAdhCrit: 0
nbAccelCrit: 0
nbDecelCrit: 0
safetyScore: 11
- contextId: 2
distance: 64.8
duration: 61.8
nbAdh: 2
nbAccel: 0
nbDecel: 2
nbAdhCrit: 0
nbAccelCrit: 0
nbDecelCrit: 1
safetyScore: 9.1
- contextId: 3
distance: 12.7
duration: 7.8
nbAdh: 0
nbAccel: 0
nbDecel: 0
nbAdhCrit: 0
nbAccelCrit: 0
nbDecelCrit: 0
safetyScore: 10
- contextId: 4
distance: 11.8
duration: 4.9
nbAdh: 0
nbAccel: 0
nbDecel: 1
nbAdhCrit: 0
nbAccelCrit: 0
nbDecelCrit: 0
safetyScore: 8
pollutants:
co: 436.34
hc: 105.19
nox: 43.45
soot: 0.01
tireWear:
frontTireWear: 625151
rearTireWear: 194424
frontTireDistance: 6522
rearTireDistance: 6522
frontTireAutonomy: 25010
rearTireAutonomy: 159958
frontTireTotalWear: 20.6847961834131
rearTireTotalWear: 3.917838643900801
frontTireWearRate: 3.1593584519985076
rearTireWearRate: 0.5879650354629268
brakeWear:
frontBrakePadWear: 652316
rearBrakePadWear: 490585
frontBrakeDistance: 6522
rearBrakeDistance: 6522
frontBrakeAutonomy: 51081
rearBrakeAutonomy: 70712
frontBrakeTotalWear: 11.322879923360654
rearBrakeTotalWear: 8.444911708095175
frontBrakeWearRate: 1.6040543118399773
rearBrakeWearRate: 1.1953688298028098
safetyEvents:
- time: 198
longitude: 2.2345499992370605
latitude: 48.865421295166016
velocity: 27.597404310389447
heading: 181.3752105740906
elevation: 21.428831625626
distance: 1803
type: 3
level: 1
value: -1.9984114049011923
- time: 886
longitude: 2.228440046310425
latitude: 48.829158782958984
velocity: 9.322159013829488
heading: 115.71003406053404
elevation: 35.0165024497636
distance: 5811
type: 1
level: 1
value: 0.2091391662960067
- time: 1179
longitude: 2.2220299243927
latitude: 48.776981353759766
velocity: 59.56077714321047
heading: 196.14873235105892
elevation: 169.4896656907427
distance: 8721
type: 3
level: 1
value: -1.851640380003413
- time: 1352
longitude: 2.2241098880767822
latitude: 48.76197814941406
velocity: 23.478607191677995
heading: 231.66262821151452
elevation: 96.56055945085538
distance: 11036
type: 1
level: 1
value: 0.2596086644093922
- time: 1352
longitude: 2.2241098880767822
latitude: 48.76197814941406
velocity: 23.478607191677995
heading: 231.66262821151452
elevation: 96.56055945085538
distance: 11036
type: 3
level: 2
value: -3.1478373502646355
- time: 1902
longitude: 2.2364699840545654
latitude: 48.742130279541016
velocity: 29.11161620369841
heading: 127.70357513427746
elevation: 76.72611043725985
distance: 14436
type: 3
level: 1
value: -2.095731316728654
endDate: '2021-02-20T10:56:37.188+0000'
itineraryData:
endDate: '2021-02-20T10:56:37.188+0000'
startDate: '2021-02-20T10:23:22.188+0000'
departureCity: Puteaux
arrivalCity: Verrières-le-Buisson
departureAddress: 'Pont de Puteaux, 92800 Puteaux'
arrivalAddress: '3 Rue Rimbaud, 91370 Verrières-le-Buisson'
tripAdviceData:
id: 5da5b749e3f4d636f1f3376e
title: Conseil de sécurité
message: '<br>Soit par surprise ou à cause d''un <b>dépassement de votre vitesse</b>, vous avez freiné fort à plusieurs reprises. En respectant bien les <b>distances de sécurité</b>, vous freinerez naturellement beaucoup plus progressivement et éviterez ainsi tous risques de collisions.<br>'
theme: 0
adviceEvaluation: null
tripAdvicesData:
- id: 5da5b749e3f4d636f1f3376e
title: Conseil de sécurité
message: '<br>Soit par surprise ou à cause d''un <b>dépassement de votre vitesse</b>, vous avez freiné fort à plusieurs reprises. En respectant bien les <b>distances de sécurité</b>, vous freinerez naturellement beaucoup plus progressivement et éviterez ainsi tous risques de collisions.<br>'
messageId: sfty-urban-day-dry-D030-brk-v01
theme: SAFETY
- id: 5da5b8c3e3f4d6370219ab7d
title: Conseil d'éco-conduite
message: 'Vous pouvez progresser.<br>Accélérez plus franchement pour atteindre rapidement votre vitesse de croisière.<br>Pour les véhicules équipés d’une boîte de vitesses manuelle, il faut passer le rapport supérieur dès que l’aiguille du compte tours atteint 1500 tours/minute pour un véhicule Diesel et aux alentours de 2000 tours/minute pour un véhicule à essence.'
messageId: eco-urban000-accW-v01
theme: ECODRIVING
driverDistraction:
nbUnlock: 1
durationUnlock: 97
durationPercentUnlock: 4.86002640172576
distanceUnlock: 403.68833585416337
distancePercentUnlock: 2.5548277694713204
score: 1.9159997325752993
scoreUnlock: 6.7627283707197705
scoreCall: 1.9159997325752993
calls:
- id: 0
start: 544.0035407543182
end: 634.0030286312103
durationS: 89
duration: 5
distanceM: 456
distance: 3
status: OUTGOING
audioSystem: SPEAKER
forbidden: true
distractionEvents:
- time: 539
latitude: 48.85495
longitude: 2.22616
velocity: 12.168000411987304
heading: -1.616703658463509
elevation: 23.05337370577991
distance: 3245.3746307904125
type: 1
duration: 97
index: 539
- time: 636
latitude: 48.85034
longitude: 2.22683
velocity: 45.22616824022174
heading: -1.3488582653419061
elevation: 29.8860134067469
distance: 3746.5653789286157
type: 2
duration: 1360
index: 636
callEvents:
- time: 544.0035407543182
latitude: 48.85475
longitude: 2.22616
velocity: 12.456000137329102
heading: -1.5768984084633124
elevation: 23.53374615925395
distance: 0
type: 3
duration: 1
index: 544
audioSystem: SPEAKER
callType: OUTGOING
forbidden: true
- time: 634.0030286312103
latitude: 48.85059
longitude: 2.22674
velocity: 46.44316055270816
heading: -1.3482454261409265
elevation: 30.170426377189013
distance: 456
type: 4
duration: 89
index: 634
audioSystem: SPEAKER
callType: OUTGOING
forbidden: true
speedingEvents:
- longitude: 2.240690719770278
latitude: 48.87119316290749
time: 96
type: 1
index: 36
- longitude: 2.2389993413999454
latitude: 48.87022711541927
time: 106
type: 0
index: 39
- longitude: 2.226948759849819
latitude: 48.8285248546614
time: 899
type: 1
index: 220
- longitude: 2.2247798257606703
latitude: 48.82771252373621
time: 910
type: 0
index: 229
- longitude: 2.220820796904408
latitude: 48.790306020720436
time: 1121.87393116951
type: 1
index: 374
- longitude: 2.222806342988146
latitude: 48.781090574187054
time: 1158.87393116951
type: 0
index: 409
- longitude: 2.221726988867627
latitude: 48.776698917142845
time: 1181.87393116951
type: 1
index: 428
- longitude: 2.221415682498137
latitude: 48.77728241347195
time: 1198.87393116951
type: 0
index: 449
- longitude: 2.2259807317602576
latitude: 48.77630605611952
time: 1222.87393116951
type: 1
index: 472
- longitude: 2.229023362169593
latitude: 48.77273423930304
time: 1252.87393116951
type: 0
index: 499
- longitude: 2.2291619672238197
latitude: 48.77164365290039
time: 1259.87393116951
type: 1
index: 502
- longitude: 2.229596580809962
latitude: 48.76831710988511
time: 1281.87393116951
type: 0
index: 525
speedingStatistics:
distance: 15857
duration: 1727
speedingDistance: 1956
speedingDuration: 105
score: 4.82
speedLimitContexts:
- speedLimit: 30
distance: 966
duration: 138
speedingDistance: 188
speedingDuration: 16
score: 1.09
- speedLimit: 50
distance: 11115
duration: 1367
speedingDistance: 1112
speedingDuration: 65
score: 3
- speedLimit: 70
distance: 1504
duration: 95
speedingDistance: 0
speedingDuration: 0
score: 10
- speedLimit: 80
distance: 655
duration: 62
speedingDistance: 0
speedingDuration: 0
score: 10
- speedLimit: 90
distance: 1617
duration: 65
speedingDistance: 656
speedingDuration: 24
score: 0
vehicle:
typeIndex: 2
engineIndex: 1
power: 95
mass: 1270
engineDisplacement: 1368
gearboxIndex: 3
consumption: 6.4
autoGearboxNumber: 0
vehicleId: dq_5d448140a7b11b00070db354
brand: Fiat
model: Tipo 2
version: II 1.4 95 5P
year: 2016
declaredCarConsumption: -1
carPassengers: 1
dqIndex: FiTi2016FT1P0095N005
frontTyreSize: 195/65/15
rearTyreSize: 195/65/15
length: 4.36
width: 1.79
height: 1.49
engineCylinderNb: 4
driveWheels: 0
extraData:
declaredYear: '2014'
declaredConsumption: '6,8'
statistics:
distance: 17125.132999999994
analyzedDistance: 6522.418999999997
estimatedYearDistance: 5879.961500000001
username: firstname.lastname@drivequant.com
sampledRoute:
time:
- 0
- 2
- 3
- //... 1994.87393116951
- 1995.87393116951
latitude:
- 48.87772619263164
- 48.877613119537884
- 48.877562954154385
- // ... 48.73911801732323
- 48.739126730485275
longitude:
- 2.2432564571520714
- 2.243406746064082
- 2.243463827807432
- // ... 2.239377922358742
- 2.239456314545016
velocity:
- 31.068000411987306
- 28.385972396534353
- 24.6599490503239
- //... 21.724866902673966
- 16.10954535584897
velocityLimits:
- 30
- 30
- 30
- //... 50
- 50
heading:
- 137.95486114769494
- 136.72651816499405
- 136.7328576980442
- //... 232.56937544415268
- 230.3544309580917
distance:
- 0
- 15.769984664741308
- 22.619970512053502
- //... 15802.981461128833
- 15807.456334838791
elevation:
- 27.177746203612408
- 27.62722660817797
- 27.984814573173303
- //... 66.78256729513335
- 66.79191671802205
vehicleStops:
- time: 20.0009999275208
latitude: 48.877169941009676
longitude: 2.244076446951414
heading: 132.48435917284843
elevation: 34.03918631453839
distance: 85.1159528188692
stopDuration: 66
smartphoneData:
phoneModel: iPhone 6s
appBuildNumber: 4.18.8
osVersion: '14.3'
osType: iOS
sdkVersion: 1.9.1
uid: null
gpsDate: '2021-02-20T10:56:37.188+0000'
phoneDate: '2021-02-20T11:00:40.572+0000'
startMode: 4
batteryPercent: 36
tripCut: false
bluetoothEnabled: false
matchedRoute:
latitude:
- 48.8778
- 48.87775
- 48.87763
- //... 48.73876
- 48.73891
longitude:
- 2.24338
- 2.24345
- 2.24361
- //... 2.23991
- 2.24093
energyEstimation:
energy: 0
energyConsumption: 0
energyOpti: 0
energyOptiConsumption: 0
advancedEnergyEstimation:
- contextId: 0
distance: 6.9
duration: 19.1
energy: 0
energyConsumption: 0
energyOpti: 0
energyOptiConsumption: 0
- contextId: 1
distance: 3.7
duration: 6.5
energy: 0
energyConsumption: 0
energyOpti: 0
energyOptiConsumption: 0
- contextId: 2
distance: 64.8
duration: 61.8
energy: 0
energyConsumption: 0
energyOpti: 0
energyOptiConsumption: 0
- contextId: 3
distance: 12.7
duration: 7.8
energy: 0
energyConsumption: 0
energyOpti: 0
energyOptiConsumption: 0
- contextId: 4
distance: 11.8
duration: 4.9
energy: 0
energyConsumption: 0
energyOpti: 0
energyOptiConsumption: 0
application/xml:
schema:
type: object
properties: {}
examples:
example-1:
value: {}
description: ''
parameters: []
components:
schemas:
SmartphoneData:
title: SmartphoneData
type: object
description: ''
properties:
phoneModel:
type: string
description: Phone model
appBuildNumber:
type: string
description: Build version number
osVersion:
type: string
description: Version of the OS
osType:
type: string
description: OS type (Android or iOS)
sdkVersion:
type: string
description: Version of the SDK
uid:
description: deprecated value
type: string
nullable: true
gpsDate:
type: string
description: 'GPS date, example format: 2020-10-06T08:47:29.999+0000'
phoneDate:
type: string
description: 'Phone date, example format:2020-10-06T08:47:30.211+0000'
startMode:
type: integer
description: |-
Indicates how the trip is started:
1: GPS
2: BEACON
3: MANUAL
4: GEOZONE
5: BLUETOOTH
6: UNKNOWN_BLUETOOTH
7: BICYCLE_ACTIVITY
batteryPercent:
type: number
description: Phone battery percentage
tripCut:
type: boolean
description: 'true if the trip was cut, otherwise false'
bluetoothEnabled:
type: boolean
description: true if the Bluetooth parameter is enabled
ItineraryStatistics:
title: itineraryStatistics
description: Provides several indicators that characterize the trip conditions
type: object
properties:
tripDuration:
type: number
description: Total trip duration in second
drivingDuration:
type: number
description: Vehicle movement duration in second
idlingDuration:
type: number
description: Total duration of idling phases (vehicle stopped) in second
drivingPercentage:
type: number
description: Percentage of vehicle movement
idlingPercentage:
type: number
description: Percentage of idling phases
distance:
type: number
description: Distance travelled in meter
speedMean:
type: number
description: Mean vehicle speed in km/h
subdispNb:
type: number
description: Number of sub-displacements detected during the trip
meteo:
type: integer
description: |-
Weather code :
0: Unknown
1: Clear sky
2: Cloudy
3: Foggy
4: Rainy
5: Snowy
6: Icy
day:
type: boolean
description: 'true if day, false if night'
weekDay:
type: boolean
description: 'true: Monday to Friday, false: Saturday to Sunday'
transportationMode:
type: integer
description: |-
Transportation mode:
0: Unknown
1: Passenger car
2: Motorcycle
3: Heavy-duty vehicle
4: Bus
5: Coach
6: Rail trip
7: Boat trip
8: Bike trip
9: Plane
10: Ski
EcoDriving:
title: EcoDriving
type: object
description: 'Performes an analysis of the entire trip, characterized by a succession of events and road segments'
properties:
score:
type: number
description: 'Eco-driving score (min: 0, max: 10). If trip is too short to be scored, score is set to 11.'
scoreAccel:
type: number
description: 'Score of the acceleration phases. If trip is too short to be scored, score is set to 6.'
scoreMain:
type: number
description: 'Score of the stabilized speed phases. If trip is too short to be scored, score is set to 6.'
scoreDecel:
type: number
description: 'Score of the deceleration phases. If trip is too short to be scored, score is set to 6.'
stdDevAccel:
type: number
description: Standard deviation of acceleration score
stdDevMain:
type: number
description: Standard deviation of stabilized speed score
stdDevDecel:
type: number
description: Standard deviation of deceleration score
energyClass:
type: integer
description: The energy class « energyClass » depends on the average fuel consumption of the vehicle. It positions the trip fuel consumption with respect to the average consumption of the vehicle.
FuelEstimation:
title: FuelEstimation
type: object
properties:
co2Mass:
type: number
description: Total Mass of CO2 in kg
co2Emission:
type: number
description: Total Mass of CO2 per unit of distance in g/km
fuelVolume:
type: number
description: Total fuel consumption in liter
fuelConsumption:
type: number
description: Total fuel consumption per unit of distance in l/100km
idleFuelVolume:
type: number
description: Fuel consumption during idling in liter
idleFuelPercentage:
type: number
description: Percentage of the fuel consumption during idling
idleFuelConsumption:
type: number
description: Fuel consumption during idling in l/h
idleCo2Emission:
type: number
description: Mass of CO2 per unit of distance during idling in kg/h
idleCo2Mass:
type: number
description: Mass of CO2 during idling in kg
engineTempStatus:
type: boolean
description: |-
Engine temperature state at the beginning of the trip: (true) cold start, (false) warm engine
When the engine is cold a fuel penalty is added to the trip fuel consumption
coldFuelVolume:
type: number
description: Additional fuel consumption caused by the cold engine operation in liter
Safety:
type: object
description: ''
properties:
nbAdh:
type: integer
description: Number of adherence threshold crossing
nbAccel:
type: integer
description: Number of strong accelerations
nbDecel:
type: integer
description: Number of strong decelerations
nbAdhCrit:
type: integer
description: Number of adherence threshold crossing (critical)
nbAccelCrit:
type: integer
description: Number of critical accelerations (critical)
nbDecelCrit:
type: integer
description: Number of critical decelerations (critical)
safetyScore:
type: number
description: Safety score (ranges from 3 to 10)
EcoDrivingContext:
title: EcoDrivingContext
type: object
properties:
contextId:
type: integer
description: |-
Road conditions:
0: Traffic jam
1: Heavy urban traffic
2: City
3: Suburban
4: Expressways
enum:
- 0
- 1
- 2
- 3
- 4
distance:
type: number
description: Percentage of distance travelled in a road type
duration:
type: number
description: Percentage of elapsed time in a road type
efficiencyScore:
type: number
description: Eco-driving score
scoreAccel:
type: number
description: Score of the acceleration phases
scoreMain:
type: number
description: Score of the stabilized speed phases
scoreDecel:
type: number
description: Score of the deceleration phases
FuelEstimationContext:
title: FuelEstimationContext
type: object
properties:
contextId:
type: integer
description: |-
Road conditions:
0 - Traffic jam
1 - Heavy urban traffic
2 - City
3 - Suburban
4 - Expressways
distance:
type: number
description: Percentage of distance travelled in a road type
duration:
type: number
description: Percentage of elapsed time in a road type
co2Mass:
type: number
description: Total Mass of CO2 in kg
co2Emission:
type: number
description: Total Mass of CO2 per unit of distance in g/km
fuelVolume:
type: number
description: Total fuel consumption in liter
fuelConsumption:
type: number
description: Total fuel consumption per unit of distance in l/100km
SafetyContext:
title: SafetyContext
type: object
properties:
contextId:
type: integer
description: |-
Road conditions:
0 - Traffic jam
1 - Heavy urban traffic
2 - City
3 - Suburban
4 - Expressways
distance:
type: number
description: Percentage of distance travelled in a road type
duration:
type: number
description: Percentage of elapsed time in a road type
nbAdh:
type: integer
description: Number of adherence threshold crossing
nbAccel:
type: integer
description: Number of strong accelerations
nbDecel:
type: integer
description: Number of strong decelerations
nbAdhCrit:
type: integer
description: Number of adherence threshold crossing (critical)
nbAccelCrit:
type: integer
description: Number of critical accelerations (critical)
nbDecelCrit:
type: integer
description: Number of critical decelerations (critical)
safetyScore:
type: number
description: Safety score (ranges from 3 to 10)
Pollutants:
title: Pollutants
type: object
properties:
co:
type: number
description: Carbon monoxide (CO) emissions expressed in mg/km
hc:
type: number
description: Hydrocarbons (HC) emissions expressed in mg/km
nox:
type: number
description: Nitrogen oxide emissions (NOx) expressed in mg/km
soot:
type: number
description: Soot emissions expressed in mg/km
TireWear:
title: TireWear
type: object
properties:
frontTireWear:
type: integer
description: |-
Worn mass fraction of the front tires (right/ left) for current trip
Unit : thousandths part of ppm = ppb
Min. value = 0 / Max. value = 10^9
rearTireWear:
type: integer
description: |-
Worn mass fraction of the rear tires (right/left) for current trip
Unit : thousandths part of ppm = ppb
Min. value = 0 / Max. value = 10^9
frontTireDistance:
type: integer
description: |-
Total distance analyzed for the front tires (in km)
Min. value = 0 / Max. value = 1 000 000
rearTireDistance:
type: integer
description: |-
Total distance analyzed for the rear tires (in km)
Min. value = 0 / Max. value = 1 000 000
frontTireAutonomy:
type: integer
description: |-
Front tires remaining distance before change (in km)
Min. value = 0 / Max. value = 1 000 000
rearTireAutonomy:
type: integer
description: |-
Rear tires remaining distance before change (in km)
Min. value = 0 / Max. value = 1 000 000
frontTireTotalWear:
type: number
description: |-
Total worn mass percentage of the front tires (right/left)
Min. value = 0% / Max. value = 100%
rearTireTotalWear:
type: number
description: |-
Total worn mass percentage of the rear tires (right/left)
Min. value = 0% / Max. value = 100%
frontTireWearRate:
type: number
description: Average wear rate for the front tires (in %/1000 km )
rearTireWearRate:
type: number
description: Average wear rate for the rear tires (in %/1000 km )
description: ''
BrakeWear:
title: BrakeWear
type: object
properties:
frontBrakePadWear:
type: integer
description: |-
Worn mass fraction of the front brakes (right/left) for current trip
Unit : thousandths part of ppm = ppb
Min. value = 0 / Max. value = 10^9
rearBrakePadWear:
type: integer
description: |-
Worn mass fraction of the rear brakes (right/left) for current trip
Unit : thousandths part of ppm = ppb
Min. value = 0 / Max. value = 10^9
frontBrakeDistance:
type: integer
description: |-
Total distance analyzed for the front brakes (in km)
Min. value = 0 / Max. value = 1 000 000
rearBrakeDistance:
type: integer
description: |-
Total distance analyzed for the rear brakes (in km)
Min. value = 0 / Max. value = 1 000 000
frontBrakeAutonomy:
type: integer
description: |-
Front brakes remaining distance before change (in km)
Min. value = 0 / Max. value = 1 000 000
rearBrakeAutonomy:
type: integer
description: |-
Rear brakes remaining distance before change (in km)
Min. value = 0 / Max. value = 1 000 000
frontBrakeTotalWear:
type: number
description: |-
Total worn mass percentage of the front brakes (right/left)
Min. value = 0% / Max. value = 100%
rearBrakeTotalWear:
type: number
description: |-
Total worn mass percentage of the rear brakes (right/left)
Min. value = 0% / Max. value = 100%
frontBrakeWearRate:
type: number
description: Average wear rate for the rear brakes (in %/1000 km)
rearBrakeWearRate:
type: number
description: Average wear rate for the rear brakes (in %/1000 km)
SafetyEvents:
title: SafetyEvents
type: object
properties:
time:
type: number
description: Time since the beginning of the trip in second
longitude:
type: number
description: Longitude in degree
latitude:
type: number
description: Latitude in degree
velocity:
type: number
description: Vehicle speed in km/h
heading:
type: number
description: Vehicle heading in degree
elevation:
type: number
description: Altitude in meter
distance:
type: number
description: Distance travelled since the beginning of the trip in meter
type:
type: integer
description: |-
Type of event
1. Adherence
2. Acceleration
3. Braking
enum:
- 1
- 2
- 3
level:
type: integer
description: |-
Intensity related to the event
1. Strong
2. Harsh
enum:
- 1
- 2
value:
type: number
description: |-
Absolute value of the event:
in m/s2 for acceleration and braking events
normalized between 0 and 1 for the adherence events
ItineraryData:
title: ItineraryData
type: object
description: Trip main information
properties:
endDate:
type: string
description: 'Trip end date. Example : 2017-09-07T08:00:00.000+0200'
startDate:
type: string
description: 'Trip start date. Example : 2017-09-07T08:00:00.000+0200'
departureCity:
type: string
description: Name of the departure city
arrivalCity:
type: string
description: Name of the arrival city
departureAddress:
type: string
description: Departure full address
arrivalAddress:
type: string
description: Arrival full address
timezoneOffset:
type: string
description: Timezone offset
Call:
description: ''
type: object
title: ''
properties:
id:
type: number
start:
type: number
description: Seconds from beginning of the trip when call starts
end:
type: number
description: Seconds from beginning of the trip when call ends
durationS:
type: number
description: Duration of the event (s)
duration:
type: number
description: Relative call duration
distanceM:
type: number
description: istance travelled since the beginning of the trip (m)
distance:
type: number
description: Relative call distance
status:
type: string
minLength: 1
description: |-
INCOMING : incoming call
OUTGOING : outgoing call
UNKNOWN : unknown call status
enum:
- INCOMING
- OUTGOING
- UNKNOWN
audioOutput:
type: string
minLength: 1
description: Phone’s audio output
audioInput:
type: string
minLength: 1
description: Phone’s audio input
audioName:
type: string
minLength: 1
description: Name of the Bluetooth audio system
bluetoothClass:
type: number
description: |-
Class of the Bluetooth audio system
Only used in Android, defined Bluetooth device type.
forbidden:
type: boolean
description: |-
true if the call audio type is : SPEAKER, LOUDSPEAKER or HEADPHONE
false otherwise
audioSystem:
type: string
description: Audio system used to make the call
enum:
- SPEAKER
- LOUDSPEAKER
- A2DP
- HANDSFREE
- HEADPHONE
- UNKNOWN
- CAR_AUDIO
required:
- id
- start
- end
- durationS
- duration
- distanceM
- distance
- status
- audioOutput
- audioInput
- audioName
- bluetoothClass
- forbidden
- audioSystem
CallEvent:
description: Information about calls event during the trip
type: object
properties:
time:
type: number
description: Time since the beginning of the trip (s)
latitude:
type: number
description: Latitude (deg)
longitude:
type: number
description: Longitude (deg)
velocity:
type: number
description: Vehicle speed (km/h)
heading:
type: number
description: Vehicle heading (deg)
elevation:
type: number
description: Altitude (m)
distance:
type: number
description: Distance travelled since the beginning of the trip (m)
type:
description: |-
Distance travelled since the beginning of the trip
3 : Beginning of a call
4 : End of a call
type: integer
duration:
type: number
description: Duration of the event (s)
audioSystem:
description: Audio system used to make the call
enum:
- SPEAKER
- LOUDSPEAKER
- A2DP
- HANDSFREE
- HEADPHONE
- CAR_AUDIO
- UNKNOWN
type: string
callType:
type: string
description: call type
enum:
- INCOMING
- OUTGOING
- UNKNOWN
forbidden:
type: boolean
description: |-
true if the call audio type is : SPEAKER, LOUDSPEAKER or HEADPHONE
false otherwise
index:
description: Position of the beginning of the event in the route date (phone call beginning of phone unlocking)
type: integer
required:
- time
- latitude
- longitude
- velocity
- heading
- elevation
- distance
- type
- duration
- forbidden
x-examples:
Incoming speaker call event:
time: 97
latitude: -21.25427592
longitude: 55.79542785
velocity: 62.0639991760254
heading: -1.8541381235691123
elevation: 125.38095238095238
distance: 0
type: 3
duration: 1
index: 97
audioSystem: SPEAKER
callType: INCOMING
proximity: 84
DriverDistraction:
title: DriverDistraction
type: object
properties:
nbUnlock:
type: integer
description: Number of phone screen unlock events
durationUnlock:
type: number
description: Duration with unlocked phone in second
durationPercentUnlock:
type: number
description: Relative duration traveled with the screen unlocked (in %)
distanceUnlock:
type: number
description: Distance with unlocked phone in meter
distancePercentUnlock:
type: number
description: Relative distance traveled with the screen unlocked (in %)
score:
type: number
description: |-
Phone distraction score
Is the minimum score between scoreUnlock and scoreCall
(Min. value = 0, Max. value = 10)
scoreUnlock:
type: number
description: Distraction score which takes into account the number of locking/unlocking
scoreCall:
type: number
description: Distraction score which takes into account the number of calls during the trip
calls:
type: array
items:
$ref: '#/components/schemas/Call'
Vehicle:
title: Vehicle
type: object
properties:
typeIndex:
type: integer
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 200
- 201
- 202
- 203
- 204
- 205
description: |-
Vehicle body type :
1: Compact
2: Sedan
3: Luxury vehicle
4: Estate car
5: Minivan
6: 4x4, SUV
7: Sports car
8: Convertible
9: Commercial vehicle
200: 2-axle trailer
201: 3-axle trailer
202: 4-axle trailer
203: 2-axle tractor
204: 3-axle tractor
205: 4-axle tractor
default: 1
engineIndex:
type: integer
description: |-
Engine type:
1: Gasoline
2: Diesel
3: Electric vehicle
4: Gasoline-electric hybrid
5: Diesel-electric hybrid
default: 1
maximum: 5
power:
type: number
description: 'Vehicle power in hp. This value must be entered in horsepower. In case you only have the engine power in kW you can apply the following formula: P [hp] = P [kW] / 0.7355P[hp]'
default: 150
minimum: 40
maximum: 600
mass:
type: number
description: Vehicle mass in kg
default: 1400
minimum: 700
maximum: 44000
engineDisplacement:
type: number
description: Vehicle's engine displacement (in cm3)
gearboxIndex:
type: integer
description: |-
Gearbox type:
1: Automatic
2: Manual 5-speed
3: Manual 6-speed
4: Manual 7-speed
5: Manual 8-speed
default: 2
maximum: 12
consumption:
type: number
description: Combined fuel consumption (in l/100km) measured during the New European Driving Cycle (NEDC)
default: 4.5
minimum: 3
maximum: 60
autoGearboxNumber:
type: integer
description: Number of gear ratios for the automatic gearbox. This parameter is taken into account only if carGearboxIndex is set to 1
vehicleId:
type: string
description: Vehicle unique identifier
brand:
type: string
description: Brand of the vehicle
model:
type: string
description: Model of the vehicle
version:
type: string
description: Vehicle model's version
year:
type: integer
description: Vehicle year
declaredCarConsumption:
type: number
description: Car consumption declared by the driver (in l/100km)
carPassengers:
type: integer
dqIndex:
type: string
description: DriveQuant unique identifier
frontTyreSize:
type: string
description: Front tyre size
rearTyreSize:
type: string
description: Rear tyre size
length:
type: number
description: Vehicle length (in m)
minimum: 2.5
maximum: 12
width:
type: number
description: Vehicle width (in m)
minimum: 1.4
maximum: 2.6
height:
type: number
description: Vehicle height (in m)
minimum: 1
maximum: 4
engineCylinderNb:
type: integer
description: Number of cylinders
driveWheels:
type: integer
description: |-
drive wheels type
0 - Front-wheel drive
1 - Rear-wheel drive
2 - Four-wheel drive
extraData:
type: object
description: Extra data of the client
statistics:
type: object
properties:
distance:
type: number
description: Total vehicle mileage
analyzedDistance:
type: number
description: Analyzed distance
estimatedYearDistance:
type: number
description: Yearly vehicle mileage's estimate
SampledRoute:
title: SampledRoute
type: object
description: Recorded GPS data
properties:
time:
type: array
description: Vector of time
items:
type: integer
latitude:
type: array
description: Vector of latitude in degree
items:
type: number
longitude:
type: array
description: Vector of longitude in degree
items:
type: number
velocity:
type: array
description: Vector of vehicle speed in km/h
items:
type: number
velocityLimits:
type: array
description: Vector of computed speed limits in km/h
items:
type: number
heading:
type: array
description: Vector of vehicle heading in degree
items:
type: number
distance:
type: array
description: Vector of distance
items:
type: number
elevation:
type: array
description: Vector of altitude in meter
items:
type: number
VehicleStops:
title: VehicleStops
type: object
properties:
time:
type: number
description: Time since the beginning of the trip in second
latitude:
type: number
description: Latitude in degree
longitude:
type: number
description: Longitude in degree
heading:
type: number
description: Vehicle heading in degree
elevation:
type: number
description: Altitude in meter
distance:
type: number
description: Distance travelled since the beginning of the trip in meter
stopDuration:
type: number
description: Stop duration
Beacon:
title: Beacon
type: object
properties:
proximityUuid:
type: string
description: Beacon proximity UUID (Universally Unique Identifier)
major:
type: integer
description: Beacon major value
minor:
type: integer
description: Beacon minor value
DistractionEvents:
title: DistractionEvents
type: object
properties:
time:
type: number
description: Time since the beginning of the trip in second
latitude:
type: number
description: Latitude in degree
longitude:
type: number
description: Longitude in degree
velocity:
type: number
description: Vehicle speed in km/h
heading:
type: number
description: Vehicle heading in degree
elevation:
type: number
description: Altitude in meter
distance:
type: number
description: Distance travelled since the beginning of the trip in meter
type:
type: integer
description: 'Type of event : (1) Screen ON and (2) Screen OFF'
duration:
type: number
description: Duration of the trip since the beginnin in second
index:
type: integer
SpeedingStatistics:
title: SpeedingStatistics
type: object
properties:
distance:
type: integer
description: trip distance in meter
duration:
type: integer
description: trip duration in second
speedingDistance:
type: integer
description: Distance travelled at a speed above the limit in meter
speedingDuration:
type: integer
description: Duration spent at a speed above the limit in second
score:
type: number
description: Speeding score
speedLimitContexts:
type: array
items:
$ref: '#/components/schemas/SpeedLimitContexts'
BluetoothDeviceData:
title: BluetoothDeviceData
type: object
properties:
macAddress:
type: string
description: Bluetooth device MAC address
name:
type: string
description: Bluetooth device public name
SpeedLimitContexts:
title: SpeedLimitContexts
type: object
properties:
speedLimit:
type: integer
description: Speed limit (in km/h) for the portion of the trip
distance:
type: integer
description: Total distance (in m) for the portion of the trip limited at the speed limit value
duration:
type: integer
description: Total duration (in s) for the portion of the trip limited at the speed limit value
speedingDistance:
type: integer
description: Distance travelled at a speed above the limit (in m) within the speed limit portion
speedingDuration:
type: integer
description: Duration spent at a speed above the limit (in s) within the speed limit portion
score:
type: number
description: 'Speeding score for a given speed limit portion '
TripAdviceData:
title: TripAdviceData
type: object
properties:
id:
type: string
description: Advice unique identifier
title:
type: string
description: Advice title
message:
type: string
description: Advice message
theme:
type: integer
description: Advice theme
TripAdvicesData:
title: TripAdvicesData
type: object
properties:
id:
type: string
description: Advice unique identifier
title:
type: string
description: Advice title
message:
type: string
description: Advice message content
messageId:
type: string
description: Message unique identifier
theme:
type: string
description: Advice theme (SAFETY or ECODRIVING)
SpeedingEvents:
description: ''
type: object
properties:
time:
type: number
description: Time since the beginning of the trip in second
longitude:
type: number
description: Longitude in degree
latitude:
type: number
description: Latitude in degree
type:
type: number
description: 'Type of event : 1 = beginning of the overspeeding, 0 = end of the overspeeding'
index:
type: integer
description: Position of the event in the matched route
required:
- time
- longitude
- latitude
- type
- index
x-examples:
example:
longitude: 55.79536746
latitude: -21.27927963
time: 299
type: 1
index: 142
title: SpeedingEvents
EnergyEstimation:
title: EnergyEstimation
x-stoplight:
id: kuuwftepm78jw
type: object
properties:
energy:
type: number
description: Estimated energy in kWH
energyOpti:
type: number
description: Optimal energy in kWH
energyConsumption:
type: number
description: Estimated energy consumption in kWH/100km
energyOptiConsumption:
type: number
description: Optimal energy consumption in kWH/100km
EnergyEstimationContext:
title: EnergyEstimationContext
x-stoplight:
id: yvtnt50jdqxc9
type: object
properties:
contextId:
type: integer
description: Road conditions
distance:
type: number
description: Percentage of distance travelled in a road type
duration:
type: number
description: Percentage of elapsed time in a road type
energy:
type: number
description: Estimated energy in kWH
energyOpti:
type: number
description: Optimal energy in kWH
energyConsumption:
type: number
description: Estimated energy consumption in kWH/100km
energyOptiConsumption:
type: number
description: Optimal energy in kWH/100km
MatchedRoute:
title: MatchedRoute
x-stoplight:
id: y5c1fx3olj3sv
type: object
properties:
latitude:
type: array
items:
type: number
longitude:
type: array
items:
type: number
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment