SIRI-VM

SIRI-VM

The Service Interface for Real Time Information - Vehicle Monitoring

Version

Current version for SIRI-VM is:   v1.1  (last changed Jul 28, 2022 )

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.

When sending Vehicle Monitoring data, information should be limited to contain only the MonitoredCall, that is the previous or current stop (and IsCompleteStopSequence = 'false')

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

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

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

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

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:

  • air

  • bus

  • coach

  • ferry (mapped to "water")

  • metro

  • rail

  • tram

  • taxi (from SIRI 2.1)

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:

  • unknown

  • manySeatsAvailable (more than ~50% of seats available)

  • fewSeatsAvailable* (less than ~50% of seats available)

  • standingAvailable (less than ~10% of seats available)

  • full (close to or at full capacity)

  • notAcceptingPassengers (if vehicle/carriage is not in use / unavailable, or passengers are only allowed to alight due to e.g. crowding)

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).

*Note: previous value seatsAvailable has been deprecated in SIRI 2.1, and has been replaced

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:

  • assigned (a vehicle has been assigned, but not yet deployed)

  • atOrigin (VehicleJourney has not begun, the vehicle is still at the first stop)

  • cancelled

  • completed (verification that the VehicleJourney has been completed)

  • inProgress

  • offRoute (VehicleJourney is taking a detour)

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

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: <gml: pos srsName="urn:ogc:def:crs:EPSG::4326"> -59.123 -45.1254 </gml:pos>

Note! The stop place registry only accepts WGS84-coordinates.

MonitoredCallStructure

Information on the most recent (if en route) or current (if stopped) call made at a stop for a VehicleJourney.

MonitoredCallStructure

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