Skip to main content

Journey Events API 1.0.0 documentation

AsyncAPI documentation for the Journey Events stream. The Journey Events stream publishes lifecycle events for vehicle trips in near real time. A journey emits events as it starts, updates while in progress, and ends when completed. What this stream provides
  • Journey lifecycle state (start, update, end)
  • Vehicle, customer, and driver identifiers for correlation
  • Start/end location and address context
  • Distance, duration, speed, and fuel/energy metrics
  • Driver behaviour counters and operational indicators
  • Place and input enrichments (spl, epl, ins)
Typical usage
  • Monitor journey progress in operational dashboards
  • Trigger downstream workflows on start/update/end transitions
  • Build analytics for utilisation, efficiency, and safety
Message model
  • Topic: mn_journey_events
  • Message: JourneyEvent
  • Payload schema: JourneyEventPayload

Table of Contents

Servers

kafka Server

  • URL: kafka-secure://{brokerHost}:{brokerPort}/
  • Protocol: kafka-secure

URL Variables

NameDescriptionDefault valueAllowed values
brokerHostKafka broker hostnamelocalhostAny
brokerPortKafka broker port9092Any

Security

Security Requirement 1
  • security.protocol: SASL_SSL
  • sasl.mechanism: OAUTHBEARER

Operations

RECEIVE mn_journey_events Operation

Receive journey events
  • Operation ID: receiveJourneyEvent
Channel for journey events (start, update, end) Receives journey events when a journey starts, updates, or ends. The ‘state’ field indicates the journey lifecycle stage:
  • ‘start’: Journey has started
  • ‘update’: Journey data has been updated
  • ‘end’: Journey has completed

Message Journey Event JourneyEvent

*An event representing a vehicle journey *
Payload
NameTypeDescriptionValueConstraintsNotes
(root)object---additional properties are allowed
idstringUnique identifier of the journey--required
cidstringCustomer identifier--required
aidstringAsset (vehicle) identifier--required
arstringAsset registration number---
pidstringPerson (driver) identifier---
dkstringDriver key for identification---
sidintegerSequence identifier for ordering events-format (int64)-
sdtstringShard date time for data partitioning---
statestringJourney lifecycle stateallowed ("start", "update", "end")-required
isUpdatebooleanFlag indicating if this is an update event---
ahnidstringAsset hierarchy node identifier---
phnidstringPerson hierarchy node identifier---
stintegerStart time in epoch milliseconds-format (int64)-
etintegerEnd time in epoch milliseconds-format (int64)-
ctiintegerCreated time in epoch milliseconds-format (int64)-
lmtintegerLast modified time in epoch milliseconds-format (int64)-
sjptintegerStart journey processed time-format (int64)-
start.longnumberStart coordinate longitude-format (double)-
start.latnumberStart coordinate latitude-format (double)-
sastringStart address---
end.longnumberEnd coordinate longitude-format (double)-
end.latnumberEnd coordinate latitude-format (double)-
eastringEnd address---
dkmsnumberDistance traveled in kilometers-format (double)-
maxspdkphnumberMaximum speed in kilometers per hour-format (float)-
startodonumberStart odometer reading-format (double)-
endodonumberEnd odometer reading-format (double)-
odotypestringOdometer type (e.g., GPS, CAN)---
mwopdsintegerMoving without PTO duration in seconds-format (int64)-
mwpdsintegerMoving with PTO duration in seconds-format (int64)-
iwopdsintegerIdling without PTO duration in seconds-format (int64)-
iwpdsintegerIdling with PTO duration in seconds-format (int64)-
funumberTotal fuel used-format (double)-
sflnumberStart fuel level-format (float)-
eflnumberEnd fuel level-format (float)-
sflpnumberStart fuel level percentage-format (float)-
eflpnumberEnd fuel level percentage-format (float)-
sfllnumberStart fuel level in litres-format (float)-
efllnumberEnd fuel level in litres-format (float)-
fupinumberFuel used during PTO idling-format (double)-
fuinumberFuel used during idling-format (double)-
sethnumberStart engine total hours-format (float)-
eethnumberEnd engine total hours-format (float)-
sathnumberStart asset total hours-format (float)-
eathnumberEnd asset total hours-format (float)-
evkwhcnumberEV consumption in kWh-format (float)-
evkwhcebooleanEV kWh consumption is estimated---
evsrknumberEV start range in km-format (float)-
everknumberEV end range in km-format (float)-
evsrkebooleanEV start range km is estimated---
everkebooleanEV end range km is estimated---
evssocpnumberEV start state of charge percentage-format (float)-
evesocpnumberEV end state of charge percentage-format (float)-
evssocpebooleanEV start state of charge percentage is estimated---
evesocpebooleanEV end state of charge percentage is estimated---
gkgcnumberGas consumption in kg-format (float)-
dbeorcintegerDriver behaviour engine over revving count-format (int64)-
dbhacintegerDriver behaviour harsh acceleration count-format (int64)-
dbhbcintegerDriver behaviour harsh braking count-format (int64)-
dbhccintegerDriver behaviour harsh cornering count-format (int64)-
dbsecintegerDriver behaviour speeding event count-format (int64)-
dbeiibcintegerDriver behaviour excessive idling inside base count-format (int64)-
dbeiobcintegerDriver behaviour excessive idling outside base count-format (int64)-
dbfecintegerDriver behaviour fatigue event count-format (int64)-
dbsmecintegerDriver behaviour smoking event count-format (int64)-
dbdecintegerDriver behaviour distraction event count-format (int64)-
dbndecintegerDriver behaviour no driver event count-format (int64)-
dbldecintegerDriver behaviour lane departure event count-format (int64)-
dbfcwecintegerDriver behaviour forward collision warning event count-format (int64)-
dblhiecintegerDriver behaviour left hand indicator event count-format (int64)-
dbrhiecintegerDriver behaviour right hand indicator event count-format (int64)-
dbvrecintegerDriver behaviour vehicle reversing event count-format (int64)-
dbmpwecintegerDriver behaviour mobile phone warning event count-format (int64)-
dbfdwecintegerDriver behaviour following distance warning event count-format (int64)-
dbsbuecintegerDriver behaviour seatbelt unfastened event count-format (int64)-
dbpsbuecintegerDriver behaviour passenger seatbelt unfastened event count-format (int64)-
dbfdecintegerDriver behaviour food/drink event count-format (int64)-
dbvecintegerDriver behaviour vibration event count-format (int64)-
sdmttp.countintegerSpeeding by more than 10% count---
sdmttp.dkmnumberSpeeding by more than 10% distance in km-format (double)-
sdmttp.dsintegerSpeeding by more than 10% duration in seconds-format (int64)-
iabtarray<number>Idling at base times---
iabt (single item)number--format (double)-
iafbtarray<number>Idling away from base times---
iafbt (single item)number--format (double)-
ifintegerIdling fidelity indicator---
pribooleanWhether the journey is private---
hjbooleanWhether to hide the journey---
classtringJourney classification---
txjsstringTax and expense journey state---
ntstringNotes associated with the journey---
ptobooleanPTO (Power Take-Off) enabled flag---
eafbooleanExpense amended flag---
syntbooleanWhether the journey is synthetic---
exp.poTrstringPurpose of trip---
exp.amdkmnumberAmended distance in kilometers-format (double)-
exp.amrstringAmended reason---
exp.amscoord.longnumberAmended start coordinate longitude-format (double)-
exp.amscoord.latnumberAmended start coordinate latitude-format (double)-
exp.amecoord.longnumberAmended end coordinate longitude-format (double)-
exp.amecoord.latnumberAmended end coordinate latitude-format (double)-
exp.amstxtstringAmended start address text---
exp.ametxtstringAmended end address text---
splarray<object>Start places---
spl.idstringPlace identifier---
spl.nmstringPlace name---
spl.plcidstringPlace category identifier---
spl.plcnmstringPlace category name---
eplarray<object>End places---
epl.idstringPlace identifier---
epl.nmstringPlace name---
epl.plcidstringPlace category identifier---
epl.plcnmstringPlace category name---
insarray<object>Input counts and magnitudes---
ins.inidstringInput identifier---
ins.incntintegerInput count-format (int64)-
ins.indsecintegerInput duration in seconds-format (int64)-
ins.indkmnumberInput distance in kilometers-format (double)-
ins.infunumberInput fuel used-format (double)-
afarray<string>Asset feature tags---
af (single item)string----
iparray<string>Interested parties---
ip (single item)string----
iptarray<string>Interested party tags---
ipt (single item)string----
tagsarray<string>Journey tags---
tags (single item)string----
btarray<string>Box types---
bt (single item)string----
enrgobjectEnergy consumption data--additional properties are allowed
sccstringSubmitted currency code---
srnumberSubmitted rate-format (double)-
jgharray<string>Journey geohashes for spatial indexing---
jgh (single item)string----
laidstringLinked asset identifier---
lanstringLinked asset name---
larstringLinked asset registration---
Examples of payload
journeyStartExample A journey start event
{
  "id": "journey-1001",
  "cid": "customer-001",
  "aid": "asset-101",
  "ar": "AB12CDE",
  "pid": "driver-501",
  "dk": "driver-key-501",
  "sid": 1,
  "sdt": "2026-03-27T08:15:00Z",
  "state": "start",
  "isUpdate": false,
  "st": 1774599300000,
  "cti": 1774599301000,
  "lmt": 1774599301000,
  "start.long": -0.1278,
  "start.lat": 51.5074,
  "sa": "London Depot, UK",
  "spl": [
    {
      "id": "place-ldn-depot",
      "nm": "London Depot",
      "plcid": "depot",
      "plcnm": "Depot"
    }
  ],
  "ins": [
    {
      "inid": "pto",
      "incnt": 0,
      "indsec": 0,
      "indkm": 0,
      "infu": 0
    }
  ],
  "af": [
    "gps",
    "can"
  ],
  "tags": [
    "business",
    "morning-run"
  ]
}
journeyUpdateExample An in-progress journey update event
{
  "id": "journey-1001",
  "cid": "customer-001",
  "aid": "asset-101",
  "ar": "AB12CDE",
  "pid": "driver-501",
  "dk": "driver-key-501",
  "sid": 2,
  "sdt": "2026-03-27T08:30:00Z",
  "state": "update",
  "isUpdate": true,
  "st": 1774599300000,
  "cti": 1774600200000,
  "lmt": 1774600200000,
  "dkms": 12.7,
  "maxspdkph": 68.4,
  "start.long": -0.1278,
  "start.lat": 51.5074,
  "sa": "London Depot, UK",
  "fu": 1.9,
  "dbhac": 1,
  "dbhbc": 0,
  "dbsec": 1,
  "iabt": [
    120
  ],
  "if": 1,
  "spl": [
    {
      "id": "place-ldn-depot",
      "nm": "London Depot",
      "plcid": "depot",
      "plcnm": "Depot"
    }
  ],
  "ins": [
    {
      "inid": "pto",
      "incnt": 1,
      "indsec": 240,
      "indkm": 3.2,
      "infu": 0.4
    }
  ],
  "af": [
    "gps",
    "can"
  ],
  "tags": [
    "business",
    "delivery"
  ]
}
journeyEndExample A completed journey end event
{
  "id": "journey-1001",
  "cid": "customer-001",
  "aid": "asset-101",
  "ar": "AB12CDE",
  "pid": "driver-501",
  "dk": "driver-key-501",
  "sid": 3,
  "sdt": "2026-03-27T09:05:00Z",
  "state": "end",
  "isUpdate": false,
  "st": 1774599300000,
  "et": 1774602300000,
  "cti": 1774602300000,
  "lmt": 1774602300000,
  "start.long": -0.1278,
  "start.lat": 51.5074,
  "sa": "London Depot, UK",
  "end.long": -0.1425,
  "end.lat": 51.501,
  "ea": "Westminster, London, UK",
  "dkms": 28.4,
  "maxspdkph": 74.1,
  "startodo": 15432.1,
  "endodo": 15460.5,
  "odotype": "GPS",
  "fu": 4.6,
  "sflp": 78,
  "eflp": 72.5,
  "dbhac": 1,
  "dbhbc": 1,
  "dbsec": 2,
  "pri": false,
  "pto": false,
  "spl": [
    {
      "id": "place-ldn-depot",
      "nm": "London Depot",
      "plcid": "depot",
      "plcnm": "Depot"
    }
  ],
  "epl": [
    {
      "id": "place-westminster",
      "nm": "Westminster",
      "plcid": "customer-site",
      "plcnm": "Customer Site"
    }
  ],
  "ins": [
    {
      "inid": "pto",
      "incnt": 1,
      "indsec": 240,
      "indkm": 3.2,
      "infu": 0.4
    }
  ],
  "af": [
    "gps",
    "can"
  ],
  "tags": [
    "business",
    "delivery"
  ]
}

Download AsyncAPI Specification

Journey Events AsyncAPI Specification