References (iOS)
DKDriverTimeline
DKDriverTimeline
is an object that contains timeline data for the given period.
public struct DKDriverTimeline: Codable {
public let period: DKPeriod
public let allContext: [DKAllContextItem]
public let roadContexts: [DKRoadContext: [DKRoadContextItem]]
}
roadContexts
The dictionary of all road context and their associated list of context data sorted by date
DKPeriod
DKPeriod
indicates the aggregation size of each timeline object. It is an enum with the following values:
week
Timeline data is aggregated week by week
month
Timeline data is aggregated month by month
year
Timeline data is aggregated year by year
public enum DKPeriod: Int, Codable {
case week
case month
case year
}
DKAllContextItem
DKAllContextItem
is an object that contains data for global context for the given period.
public struct DKAllContextItem: Codable {
public let date: Date
public let numberTripTotal: Int
public let numberTripScored: Int
public let distance: Double
public let duration: Int
public var safety: DKSafety?
public var ecoDriving: DKEcoDriving?
public var phoneDistraction: DKDistraction?
public var speeding: DKSpeeding?
public var drivingConditions: DKDrivingConditions?
}
date
Date
Start date of the given period
numberTripTotal
Int
Total number of trips made during the given period
numberTripScored
Int
Number of trips made that were long enough to have a score during the given period
distance
Double
Total distance travelled during the given period (in kilometers)
duration
Int
Total trip duration during the given period (in minutes)
safety
Safety's score and sub scores for the given period (present only if safety score is configured and the period has some scored trips)
ecoDriving
Eco-driving's score and sub scores for the given period (present only if eco-driving score is configured and the period has some scored trips)
phoneDistraction
Distraction's score and sub scores for the given period (present only if distraction score is configured)
speeding
Speeding's score and sub scores for the given period (present only if speeding score is configured)
drivingConditions
Advanced informations for a given period (total trip and distance for a specific DKDrivingCategory and by DKWeather, distance travelled by day/night and by weekdays/weekend)
DKSafety
DKSafety is an object that contains data for safety's score and sub scores.
public struct DKSafety: Codable {
public let score: Double
public let acceleration: Int
public let braking: Int
public let adherence: Int
}
score
Double
Global safety score for the given period (ranging from 3 to 10)
acceleration
Int
Number of harsh accelerations during the given period
braking
Int
Number of hard breakings during the given period
adherence
Int
Number of adherence limits during the given period
DKEcoDriving
DKEcoDriving
is an object that contains data for eco-driving's score and sub scores.
public struct DKEcoDriving: Codable {
public let score: Double
public let efficiencyAcceleration: Double
public let efficiencyBrake: Double
public let efficiencySpeedMaintain: Double
public let fuelVolume: Double
public let fuelSaving: Double
public let co2Mass: Double
}
score
Double
Global eco-driving score for the given period (ranging from 6 to 10)
efficiencyAcceleration
Double
Sub score of acceleration efficiency for the given period (ranging from -5 to 5)
efficiencyBrake
Double
Sub score of braking efficiency for the given period (ranging from -5 to 5)
efficiencySpeedMaintain
Double
Sub score of speed maintain efficiency for the given period (ranging from 0 to 5)
fuelVolume
Double
Fuel consumption during the given period (in liters)
fuelSaving
Double
Achievable fuel savings during the given period (in liters)
co2Mass
Double
CO₂ mass consumed during the given period (in kilograms)
DKDistraction
DKDistraction
is an object that contains data for distraction's score and sub scores.
public struct DKDistraction: Codable {
public let score: Double
public let unlock: Int
public let lock: Int
public let callForbiddenDuration: Int
public let numberTripWithForbiddenCall: Int
public let callForbidden: Int
public let callAuthorizedDuration: Int
public let callAuthorized: Int
}
score
Double
Global distraction score for the given period (ranging from 0 to 10)
unlock
Int
Number of screen unlocks during the given period
lock
Int
Number of screen locks during the given period
callForbiddenDuration
Int
Duration of forbidden calls during the given period (in seconds)
numberTripWithForbiddenCall
Int
Number of trips during which the driver made forbidden calls during the given period
callForbidden
Int
Number of forbidden calls during the given period
callAuthorizedDuration
Int
Duration of authorized calls during the given period (in seconds)
callAuthorized
Int
Number of authorized calls during the given period
DKSpeeding
DKSpeeding
is an object that contains data for speeding's score and sub scores.
public struct DKSpeeding: Codable {
public let score: Double
public let speedingDuration: Int
public let speedingDistance: Double
}
score
Double
Global speeding score for the given period (ranging from 0 to 10)
speedingDuration
Int
Overspeeding duration during the given period (in seconds)
speedingDistance
Double
Overspeeding distance travelled during the given period (in meters)
DKDrivingConditions
DKDrivingConditions
is an object that contains advanced driving information for the given period.
public struct DKDrivingConditions: Codable {
public let tripCountByCategory: [DKDrivingCategory: Int]
public let distanceByCategory: [DKDrivingCategory: Double]
public let tripCountByWeatherType: [DKWeather: Int]
public let distanceByWeatherType: [DKWeather: Double]
public let dayDistance: Double
public let nightDistance: Double
public let weekdaysDistance: Double
public let weekendDistance: Double
}
dayDistance
Double
Total distance traveled by the day in km
nightDistance
Double
Total distance traveled by night in km
weekdaysDistance
Double
Total distance traveled during weekdays in km
weekendDistance
Double
Total distance traveled during weekend in km
DKDrivingCategory
public enum DKDrivingCategory: Int, Codable {
case lessThan2Km = 0
case from2To10Km = 1
case from10To50Km = 2
case from50To100Km = 3
case moreThan100Km = 4
}
lessThan2Km
Trip distance strictly below 2
km
from2To10Km
Trip distance in [2, 10[
km
from10To50Km
Trip distance in [10, 50[
km
from50To100Km
Trip distance in [50, 100[
km
moreThan100Km
Trip distance is equals or above 100
km
DKRoadContextItem
DKRoadContextItem
is an object that contains data for the given road context and given period.
public struct DKRoadContextItem: Codable {
public let type: DKRoadContext
public let date: Date
public let numberTripTotal: Int
public let numberTripScored: Int
public let distance: Double
public let duration: Int
public var ecoDriving: DKEcoDriving?
public var safety: DKSafety?
}
date
Date
Start date of the given period
numberTripTotal
Int
Total number of trips made during the given period and road context
numberTripScored
Int
Number of trips made that were long enough to have a score during the given period and road context
distance
Double
Total distance travelled during the given period and road context (in kilometers)
duration
Int
Total trip duration during the given period and road context (in minutes)
safety
Safety's score and sub scores for the given period and road context (present only if safety score is configured and the period has some scored trips)
ecoDriving
Eco-driving's score and sub scores for the given period and road context (present only if eco-driving score is configured and the period has some scored trips)
DKRoadContext
DKRoadContext
indicates the kind of roads where the data was gathered. It is an enum with the following values:
trafficJam
The targeted driver was in traffic jams
heavyUrbanTraffic
The targeted driver was in dense city roads
city
The targeted driver was in light traffic city roads
suburban
The targeted driver was in suburban or countryside roads
expressways
The targeted driver was in express ways
public enum DKRoadContext: Int, Codable {
case trafficJam
case heavyUrbanTraffic
case city
case suburban
case expressways
}
DKDriverProfile
DKDriverProfile
is the object describing the driver profile.
roadContextInfoByRoadContext
Contains information about road contexts
commonTripByType
Map<DKCommonTripType, DKCommonTrip>
Provides information about common trips, by type of trip
mobilityAreaRadiusByType
Map<DKMobilityAreaType, Int>
Provides radius of mobility area by type of mobility
public struct DKDriverProfile: Codable {
public var distance: DKDistanceProfile
public var activity: DKActivityProfile
public var regularity: DKRegularityProfile
public var mainRoadContext: DKRoadContext
public var mobility: DKMobilityProfile
public var statistics: DKDriverStatistics
public var weekRegularity: DKDriverRegularity
public var monthRegularity: DKDriverRegularity
public var distanceEstimation: DKDriverDistanceEstimation
public var roadContextInfoByRoadContext: [DKRoadContext: DKRoadContextInfo]
public var commonTripByType: [DKCommonTripType: DKCommonTrip]
public var mobilityAreaRadiusByType: [DKMobilityAreaType: Int]
}
DKDistanceProfile
DKDistanceProfile
indicates the distance class of the driver.
.veryShort
Very short distance driver
less than 5 000
.short
Short distance driver
5 000 to 10 000
.medium
Medium distance driver
10 000 to 20 000
.long
Long distance driver
20 000 to 40 000
.veryLong
Professional driver
more than 40 000
public enum DKDistanceProfile: String, Codable {
case veryShort = "VERY_SHORT"
case short = "SHORT"
case medium = "MEDIUM"
case long = "LONG"
case veryLong = "VERY_LONG"
}
DKActivityProfile
DKActivityProfile
indicates the activity class of the driver.
.low
Low activity driver
less than 30 %
.medium
Medium activity driver
30 to 60 %
.high
High activity driver
more than 60 %
public enum DKActivityProfile: String, Codable {
case low = "LOW"
case medium = "MEDIUM"
case high = "HIGH"
}
DKRegularityProfile
DKRegularityProfile
indicates the regularity class of the driver.
.regular
Regular driver
.intermittent
Intermittent driver
public enum DKRegularityProfile: String, Codable {
case regular = "REGULAR"
case intermittent = "INTERMITTENT"
}
DKMobilityProfile
DKMobilityProfile
indicates the mobility class of the driver.
.narrow
90% of trips are within a radius of less than 10 km
.small
90% of trips are within a radius of less than 20 km
.medium
90% of trips are within a radius of less than 30 km
.large
90% of trips are within a radius of less than 50 km
.wide
90% of trips are within a radius of less than 100 km
.vast
90% of trips are within a radius of 100 km or more
public enum DKMobilityProfile: String, Codable {
case narrow = "NARROW"
case small = "SMALL"
case medium = "MEDIUM"
case large = "LARGE"
case wide = "WIDE"
case vast = "VAST"
}
DKDriverStatistics
DKDriverStatistics
is an object providing statistics about the driver.
tripsNumber
Int
Total number of trips
totalDistance
Int
Total distance (in km)
totalDuration
Int
Total driving duration (in min)
weekNumber
Int
Number of weeks since user registration
activeWeekNumber
Int
Number of active weeks since user registration
monthNumber
Int
Number of months since user registration
activeMonthNumber
Int
Number of active months since user registration
peakTime
DKTime
Peak time trip starts
peakDay
DKDay
Weekday with most trips completed
public struct DKDriverStatistics: Codable {
public var tripsNumber: Int
public var totalDistance: Int
public var totalDuration: Int
public var weekNumber: Int
public var activeWeekNumber: Int
public var monthNumber: Int
public var activeMonthNumber: Int
public var peakTime: DKTime
public var peakDay: DKDay
}
DKDriverRegularity
DKDriverRegularity
is an object providing information about driver’s regularity.
periodNumber
Int
Number of weeks or months used to calculate regularity
tripNumberMean
Int
Average number of trips per week or month
tripNumberStandardDeviation
Int
Standard deviation of the number of trips per week or month
distanceMean
Int
Average weekly or monthly distance (in km)
distanceStandardDeviation
Int
Standard deviation of the weekly or monthly distance (in km)
durationMean
Int
Average weekly or monthly driving duration (in min)
durationStandardDeviation
Int
Standard deviation of the weekly or monthly driving duration (in min)
public struct DKDriverRegularity: Codable {
public var periodNumber: Int
public var tripNumberMean: Int
public var tripNumberStandardDeviation: Int
public var distanceMean: Int
public var distanceStandardDeviation: Int
public var durationMean: Int
public var durationStandardDeviation: Int
}
DKDriverDistanceEstimation
DKDriverDistanceEstimation
is an object providing distance estimation by week, month or year.
weekDistance
Int
Estimated weekly distance (in km)
monthDistance
Int
Estimated monthly distance (in km)
yearDistance
Int
Estimated annual distance (in km)
confidence
Confidence level indicator, based on the available data
public struct DKDriverDistanceEstimation: Codable {
public var weekDistance: Int
public var monthDistance: Int
public var yearDistance: Int
public var confidence: DKDriverDistanceEstimationConfidence
}
DKDriverDistanceEstimationConfidence
DKDriverDistanceEstimationConfidence
indicates the distance estimation confidence class.
.low
If less than 8 weeks since driver’s subscription
.medium
If between 9 and 16 weeks since driver’s subscription
.high
If more than 16 weeks since driver’s subscription
public enum DKDriverDistanceEstimationConfidence: String, Codable {
case low = "LOW"
case medium = "MEDIUM"
case high = "HIGH"
}
DKRoadContextInfo
DKRoadContextInfo
is an object providing information about road context for the driver.
distancePercentage
Double
Percentage of total distance driven in this context
durationPercentage
Double
Percentage of total duration driven in this context
consumedEnergyPercentage
Double
Percentage of total energy driven in this context
public struct DKRoadContextInfo: Codable {
public var roadContext: DKRoadContext
public var distancePercentage: Double
public var durationPercentage: Double
public var consumedEnergyPercentage: Double
}
DKCommonTripType
DKCommonTripType
indicates the type of trip.
.mostFrequent
Most frequent trip
.unknown
Unknown type for the SDK (if a new type is added but the SDK is not up to date)
public enum DKCommonTripType: String, Codable {
case mostFrequent = "MOST_FREQUENT"
case unknown = "UNKNOWN"
}
DKCommonTrip
DKCommonTrip
is an object providing information about a trip.
tripNumber
Int
Number of trips
distanceMean
Int
Average trip distance (in km)
durationMean
Int
Average trip duration (in min)
public struct DKCommonTrip: Codable {
public var type: DKCommonTripType
public var tripNumber: Int
public var distanceMean: Int
public var durationMean: Int
public var roadContext: DKRoadContext
}
DKMobilityAreaType
DKMobilityAreaType
indicates the type of mobility area.
.percentile50Th
The radius including 50% of all the user’s trips
.percentile90Th
The radius including 90% of all the user’s trips
public enum DKMobilityAreaType: String, Codable {
case percentile50Th = "PERCENTILE_50TH"
case percentile90Th = "PERCENTILE_90TH"
}
Last updated
Was this helpful?