These APIs allows your server to subscribe to real-time data from all included real-time feeds in Norway on SIRI 2.0. It is available as standard SIRI XML and as SIRI Lite (REST).
SIRI is a CEN Technical Standard that specifies a European interface standard for exchanging information about the planned, current or projected performance of real-time public transport operations between different computer systems.
Real-time estimates for each service journey. Included are planned, actual and estimated departure times, cancellation and changes in stop patterns.
VM – Vehicle Monitoring
Vehicle-centric real-time data with the position of a vehicle, as well as any deviation from scheduled timetable on a given departure.
SX – Situation Exchange
Textual messages displayed to end users. They are always associated with a departure, line, stop etc., or combinations of these.
SIRI standard: http://www.transmodel-cen.eu/standards/siri/
Norwegian SIRI-profile: https://enturas.atlassian.net/wiki/spaces/PUBLIC/pages/637370420/Norwegian+SIRI+profile.
Example SIRI-XML that follow the Norwegian SIRI-profile: https://github.com/entur/profile-norway-examples/tree/master/siri/
|AKT||Aust- og Vest-Agder (AKT)||Yes||Yes|
|HED||Hedmark (Hedmark Trafikk)||Yes|
|MOR||Møre og Romsdal (Fram)||(Yes)||(Yes)|
|BNR||Vy/Flytoget/Go-Ahead (via Bane NOR)||Yes|
|RUT||Akershus & Oslo (Ruter)||Yes||Yes||Yes|
|SOF||Sogn og Fjordane (Kringom)|
|TRO||Troms (Troms fylkestrafikk)||Yes||Yes|
|OST||Østfold (Østfold kollektivtrafikk)||Yes||Yes||Yes|
publish/subscribe you'll first get one (or more) set with initial data, and then continuous updates with changes. This option requires an accessible endpoint which accepts HTTP POST requests from the Entur SIRI service.
For Request/Response, the
<RequestorRef> attribute is used to track changes and must therefore remain the same for all subsequent requests in order to only get changes. The attribute
MoreData=true means the data comes in bunches, just like paging, and more data can be fetched immediately after the first "page" is received. Eg. if there are 20,000 objects, these will be split up in smaller parts and repeated requests are needed to get the full set.
With simple HTTP GET calls to retrieve data, you can use the ´requestorId´ URL-parameter to only retrieve changes made since the last time you asked. If you do not use this, you will always get the full dataset, not just the first time you make a request. You must use a unique UUID.