activity.updated

activity.updated

This event is raised each time an existing activity is updated.

Examples:

  • Adding a workflow session after the activity has started, if it was not available upon starting.

  • When an activity is closed, the system fills in the “end time”, “end mileage”, and “end position” fields.

Note 1 - Coupled assets

A coupled asset can represent either a registered asset (AssetId) or an unregistered asset (UnregisteredAssetName). These properties are mutually exclusive and only one of them will be populated.

Note 2 - Activity reliability state

An activity can be marked as unreliable when the system receives information that is conflicting or does not allow the activity timeline to be determined with certainty.

Reliable = activity data is clear and consistent. Unreliable = activity data is ambiguous or conflicting, therefore accuracy cannot be guaranteed.

Typical situations include:

  • Two different events are received with the exact same timestamp, such as one indicating driving and another indicating standstill.

  • Multiple candidate predecessor events exist and the correct sequence cannot be determined with certainty.

  • Late or out-of-order messages create ambiguity in the activity timeline.

  • Driver assignment, link, or unlink transitions conflict with the expected activity flow.

Unreliable activities are retained for traceability purposes but should be interpreted with caution during reporting or investigations, as confidence in their accuracy is lower.

An activity marked as unreliable may later become reliable again if additional information arrives that resolves the ambiguity. Such situations are exceptional and expected to occur only rarely.

Payload json

{
  "eventBatchId": "a1b2c3d4-0000-0000-0000-000000000001",
  "eventSubscriptionId": "a1b2c3d4-0000-0000-0000-000000000002",
  "eventBatchTime": "2026-05-20T09:00:00.0000000Z",
  "eventsData": [
    {
      "eventType": "activity.updated",
      "eventVersion": 1,
      "eventData": {
        "assetId": "62afd4e8-d2a3-48b7-9e16-83692d26469b",
        "driverId": "c69e6841-ac9e-4a45-9ac5-d078977a7557",
        "activityId": "087222ac-aac4-43f3-8dc5-a989a6ee1fa1",
        "activityType": "standstill",
        "activityDefinitionId": "2b357c15-704e-46a5-b5bc-eb045ee7d80f",
        "workflowSessionId": "b1c055ce-691e-4614-b25e-7da356a88785",
        "startTime": "2025-01-01T00:00:00Z",
        "startPosition": {
          "longitude": 0,
          "latitude": 0
        },
        "endTime": "2025-01-01T00:00:00Z",
        "endPosition": {
          "longitude": 0,
          "latitude": 0
        },
        "startMileage": 0,
        "endMileage": 0,
        "activityState": "reliable",
        "hasDuration": true,
        "modifiedOn": "2025-01-01T00:00:00Z",
        "extraInfo": {
          "coupledAssets": [
            {
              "assetId": "62afd4e8-d2a3-48b7-9e16-83692d26469b",
              "unregisteredAssetName": "Trailer 42",
              "startTime": "2025-01-01T00:00:00Z",
              "endTime": "2025-01-01T00:00:00Z"
            }
          ],
          "scheduleInfo": {
            "tripId": "47fe9895-66ca-4c91-a863-4a41c07ac678",
            "legId": "99c395f4-34b8-4030-87b3-2eed7887b97b",
            "missionId": "9daef51b-c1b6-49fd-bbc3-13641fb69432",
            "actionId": "d4dbce92-0828-4361-aba1-f8d1c9f2e69c"
          }
        },
        "registeredOn": "2025-01-01T00:00:00Z"
      }
    }
  ]
}

Field level Description

FieldTypeDescription
assetIduuidRepresents the ID of the asset. Required field.
driverIduuidRepresents the ID of the driver. Optional field.
activityIduuidRepresents the unique identifier of the activity. Required field.
activityTypestringRepresents the type of the activity. Required field.
activityDefinitionIduuidRepresents the optional identifier of the activity definition. Optional field.
workflowSessionIduuidRepresents the unique identifier of the workflow session. Optional field.
startTimedate-timeTimestamp when the activity started. Required field.
startPositionPositionPosition where the activity started. Optional field.
startPosition.longitudenumberRepresents the longitude of the position associated with the event. Required field.
startPosition.latitudenumberRepresents the latitude of the position associated with the event. Required field.
endTimedate-timeTimestamp when the activity ended. Optional field.
endPositionPositionPosition where the activity ended. Optional field.
endPosition.longitudenumberRepresents the longitude of the position associated with the event. Required field.
endPosition.latitudenumberRepresents the latitude of the position associated with the event. Required field.
startMileageintegerOdometer reading in kilometres when the activity started. Optional field.
endMileageintegerOdometer reading in kilometres when the activity ended. Optional field.
activityStatestringRepresents the current state of the activity. Required field.
hasDurationbooleanIndicates whether the activity has a duration. Required field.
modifiedOndate-timeTimestamp when the activity was last modified. Required field.
extraInfoExtraInfoAdditional information associated with the activity. Optional field.
extraInfo.coupledAssets[]CoupledAssetAssets coupled to the asset associated with the activity. Optional field.
extraInfo.coupledAssets[].assetIduuidRepresents the ID of the coupled asset, when it is registered. Optional field.
extraInfo.coupledAssets[].unregisteredAssetNamestringRepresents the name of the coupled asset, when it is not registered. Optional field.
extraInfo.coupledAssets[].startTimedate-timeTimestamp when the asset coupling started. Required field.
extraInfo.coupledAssets[].endTimedate-timeTimestamp when the asset coupling ended. Optional field.
extraInfo.scheduleInfoScheduleInfoSchedule information associated with the activity. Optional field.
extraInfo.scheduleInfo.tripIdstringRepresents the identifier of the trip. Optional field.
extraInfo.scheduleInfo.legIdstringRepresents the identifier of the trip leg. Optional field.
extraInfo.scheduleInfo.missionIdstringRepresents the identifier of the mission. Optional field.
extraInfo.scheduleInfo.actionIdstringRepresents the identifier of the action. Optional field.
registeredOndate-timeTimestamp provided by the source for when the event was registered. Required field.

Did this page help you?