Skip to content

Instantly share code, notes, and snippets.

@DriveQuantPublic
Last active July 18, 2022 16:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save DriveQuantPublic/11059fa90d568f65865735a753091a08 to your computer and use it in GitHub Desktop.
Save DriveQuantPublic/11059fa90d568f65865735a753091a08 to your computer and use it in GitHub Desktop.
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
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
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
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