interface TransportEvent {
    distance?: number;
    durationInSeconds: null | number;
    endTime: null | string;
    endTimeEpoch: null | number;
    hasEnded: boolean;
    id: string;
    isProvisional: boolean;
    lastUpdateTime: string;
    lastUpdateTimeEpoch: number;
    occupantRole: OccupantRole;
    startTime: string;
    startTimeEpoch: number;
    transportMode: null | TransportMode;
    transportTags: TransportTags;
    type: string;
    waypoints: Waypoint[];
}

Properties

distance?: number
durationInSeconds: null | number
endTime: null | string
endTimeEpoch: null | number
hasEnded: boolean

Indicates whether the event has ended.

id: string
isProvisional: boolean

Indicates whether the event is provisional.

A provisional event is identified based on real-time detections, but may change in the near future as more data is collected and processed, to filter out unwanted artifacts. For example, a provisional car transport may get identified, followed by a provisional bus transport. After the full trip is complete, these provisional events may get merged into a single final car event.

Final events are generated independently of the provisional events, and have unique event IDs. They are not linked to the provisional events they may resemble, replace, or overlap with.

Currently, provisional events apply only to 'transport' types, as the SDK tries to determine the mode of transport in (near) real time. When the full trip is complete (e.g. the user becomes stationary), the collected data is reprocessed to produce a more accurate and cleaned up list of transport events.

lastUpdateTime: string
lastUpdateTimeEpoch: number
occupantRole: OccupantRole
startTime: string
startTimeEpoch: number
transportMode: null | TransportMode
transportTags: TransportTags
type: string
waypoints: Waypoint[]