SIRI-VM
The Service Interface for Real Time Information - Vehicle Monitoring
Version
Current version for SIRI-VM is: v1.1 (last changed )
Content
This document is part of the Norwegian SIRI Profile and describes datasets and elements used for exchanging updates on position and status, as well as estimated delays in the SIRI Vehicle Monitoring (VM) real-time format.
SIRI-VM is used to model vehicle-movements and their progress compared to a planned timetable. The data is linked to objects in the planned data by use of ID's, which ensures data quality.
Data requirements
Sending a ServiceDelivery of SIRI-VM data must be in accordance with this profile and the entire dataset should be contained within a single XML file.
Note that the profile does not present an exhaustive list of all real-time information technically possible to transfer via SIRI-VM, but it lays the foundation for which demands are placed on the datasets in order to meet the demands set by Håndbok N801.
It is permitted for client systems to send more than one VehicleActivity per VehicleMonitoringDelivery, in order for real-time information to be conflated and be transferred as part of the same ServiceDelivery.
The examples associated with this profile are meant to show practical implementations of specific use cases, and can contain supplementary, lack certain data fields, or contain optional data, compared to a full and complete dataset. See SIRI-VM#Components for closer descriptions of the data types, specifications and requirements on the unique elements of the SIRI VM-data.
It is a fundamental requirement that valid timetable data (as NeTEx or SIRI-ET-data) is delivered before sending in position- and status information as SIRI-VM.
Components
VehicleMonitoringDelivery
VehicleMonitoringDelivery
A data type for representing vehicle monitoring (for estimated adjustment of times) for one or more VehicleJourneys.
VehicleMonitoringDelivery < ServiceDelivery | ||||
---|---|---|---|---|
Name | Type | Cardinality | Description | |
attribute | version | xsd:NMTOKEN | 1: 1 | Version ID for EstimatedTimetableDelivery |
element | ResponseTimestamp | xsd:dateTime | 1: 1 | Timestamp for when the dataset was created/published. |
element | VehicleActivity | SIRI-VM#VehicleActivity | 1: * | A container element for sending one or more VehicleActivity with a timestamp. |
VehicleActivity
Container-element for returning one or more VehicleActivity.
VehicleActivity | ||||
---|---|---|---|---|
Name | Type | Cardinality | Description | |
element | RecordedAtTime | xsd:dateTime | 1: 1 | Timestamp for when the position/status was recorded/updated. |
element | ValidUntilTime | xsd:dateTime | 1: 1 | Validity-expiration date and time of the dataset. |
element | ProgressBetweenStops | SIRI-VM#ProgressBetweenStops | 0: 1 | Information on the progress of the vehicle between stops. |
element | MonitoredVehicleJourney | SIRI-VM#MonitoredVehicleJourney | 1: 1 | Data object for a real-time monitored VehicleJourney. |
ProgressBetweenStops
Information on the progress of the vehicle along the current ServiceLink, i.e. between the previous and the next ScheduledStopPoint.
ProgressBetweenStops | ||||
---|---|---|---|---|
Name | Type | Cardinality | Description | |
element | LinkDistance | xsd:decimal | 0: 1 | Distance in meters between the previous stop (or current, if located at stop) and the next stop. Corresponds to Distance for current ServiceLink, when available. |
element | Percentage | xsd:decimal | 1: 1 | How much of the total distance (percentage) that has been traversed at the time of the message. |
MonitoredVehicleJourney
Data objects with elements to describe a real-time monitored VehicleJourney, including supplementary locational information, and data about the previous/current stop.
Used to enrich existing timetable data.
MonitoredVehicleJourney | ||||
---|---|---|---|---|
Name | Type | Cardinality | Description | |
element | LineRef | xsd:NMTOKEN | 1: 1 | Reference to the Line in question (ID to the corresponding object in the timetable data) |
element | DirectionRef | xsd:NMTOKEN | 0: 1 | Direction reference (i.e. reference to Direction element describing general course/heading for current Journey) |
element | FramedVehicleJourneyRef | FramedVehicleJourneyRefStructure | 0: 1 | Reference to VehicleJourney in question. Has a date. Note: Either FramedVehicleJourneyRef (ServiceJourneyId + Date) or VehicleJourneyRef (DatedServiceJourney) MUST be set. |
element | VehicleMode | VehicleModesEnumeration | 0: 1 | Transport types Possible values:
|
element | OperatorRef | xsd:NMTOKEN | 0: 1 | Reference to Operator in question (ID to the corresponding company in the timetable data) |
element | OriginRef | xsd:NMTOKEN | 0: 1 | Reference to origin Quay in question (ID to the corresponding Quay in the timetable data and national stop place registry) |
element | OriginName | NaturalLanguagePlaceNameStructure | 0: 1 | Name describing the origin of the departure. |
element | DestinationRef | xsd:NMTOKEN | 0: 1 | Reference to destination Quay in question (ID to the corresponding Quay in the timetable data and national stop place registry) |
element | DestinationName | NaturalLanguagePlaceNameStructure | 0: 1 | Name describing the destination of the departure. |
element | Monitored | xsd:boolean | 0: 1 | Whether the vehicle is currently reporting real-time data or not (for example set to true when the driver of the vehicle logs on to the system before departing). |
element | DataSource | xsd:string | 1: 1 | Codespace of the data source (see codespace). |
element | VehicleLocation | SIRI-VM#Location | 1: 1 | The position of a vehicle as a geospatial point. |
element | Bearing | xsd:float | 0: 1 | Current compass bearing (direction of VehicleJourney) |
element | Velocity | xsd:nonNegativeInteger | 0: 1 | Vehicle speed. Either actual speed or average speed may be used. |
element | Occupancy | OccupancyEnumeration | 0: 1 | Open seats-status. Possible values:
This status should reflect the allowed occupancy level, not necessarily physical spacing available. If the operator runs with reduced capacity, e.g. in order to maintain a certain service level, social distancing etc., the occupancy status must be set in accordance with current limitation i.e. "full" when all seats assigned for use are occupied (regardless of disallowed seating/standing still being physically available). |
element | Delay | xsd:duration | 1: 1 | Delay-time. Defined as "PT0S" (0 seconds) when there are no delays. |
element | InCongestion | xsd:boolean | 0: 1 | Whether the vehicle is affected by traffic jams or other circumstances which may lead to further delays. |
element | VehicleStatus | VehicleStatusEnumeration | 0: 1 | Vehicle status. Possible values:
|
element | VehicleJourneyRef | VehicleJourneyRefStructure | 0: 1 | Reference to DatedServiceJourney-ID for the corresponding object in the timetable data. Note: Either VehicleJourneyRef (DatedServiceJourneyId) or FramedVehicleJourneyRef (ServiceJourneyId + Date) MUST be set. |
element | VehicleRef | xsd:NMTOKEN | 1: 1 | Reference to the vehicle in question (ID to the corresponding vehicle in the timetable data). |
element | MonitoredCall | SIRI-VM#MonitoredCallStructure | 0: 1 | Information on the most recent (if en route) or current (if stopped) call made at a stop for a VehicleJourney. |
element | IsCompleteStopSequence | xsd:boolean | 1: 1 | Always set to 'false' when the submitted data only contains MonitoredCall. |
Location
Specifies location of something.
Location | ||||
---|---|---|---|---|
Name | Type | Cardinality | Description | |
attribute | srsName | xsd:string | 0: 1 | The reference system for longitude and latitude. If stated, use WGS84 or if necessary a valid coordinate-reference to the standard used (for example "EPSG:4326 "). |
(choice) element | Longitude Latitude | xsd:decimal xsd:decimal | 1: 1 | Longitude (-180 to 180) Latitude (-90 to 90) |
Coordinates | xsd:NMTOKENS | Location coordinates. For example: Note! The stop place registry only accepts WGS84-coordinates. |
MonitoredCallStructure
Information regarding the current stop for VehicleJourney (the stop the vehicle is headed to or has stopped at.
MonitoredCallStructure | ||||
---|---|---|---|---|
Name | Type | Cardinality | Description | |
element | StopPointRef | xsd:NMTOKEN | 1: 1 | Reference to the Quay in question (ID corresponding to objects in the national stop place registry). |
element | StopPointName | NaturalLanguageStringStructure | 0: 1 | Name of the stop (not used due to the reference to the national stop place registry, but can be included to make the XML easier to read). |
element | VehicleAtStop | xsd:boolean | 0: 1 | Whether the vehicle is at the stop. |
element | VehicleLocationAtStop | SIRI-VM#Location | 0: 1 | Where the vehicle is at the stop. Used for significant deviations from planned and published information. |
element | DestinationDisplay | NaturalLanguageStringStructure | 0: 1 | Destination text (information only, not to be used for override but can be included to make the XML easier to read). |