RtigXml Overview

What is RtigXml for?

RtigXml allows two or more servers to exchange real-time information about buses. The information  can be used  for many different purposes, for example

  • To provide real time-departure from stop information for display on stops, internet and mobile delivery systems.
  • To manage the movement of buses roaming between areas covered by different servers
  • To provide performance information to operational history and other management systems

RtigXml depends on NaPTAN, the UK standard for identifying stops, stations and other access points to Public Transport.

How is RtigXml used?

RtigXml supports two different message protocols

  • A synchronous request/response protocol: each exchange of data consists of a request message from a client and a response message from a server.
  • An asynchronous subscribe/deliver protocol: the  client subscribes to information by sending a message to the server with both request information, and sensitivity criteria with which to filter messages. The server establishes a subscription for the client and will send messages back to the client whenever the criteria are satisfied, until the subscription ends. 

In both cases messages consist of XML documents, whose tags and content  are exactly specified by the RtigXml Schema.

What Can be exchanged?

The RtigXml protocol supports two basic types of travel information request between journey planning systems:

Request Purpose  
StopStatus: Stop centric exchange of departures for a given stop. 1.0
VehicleStatus: Vehicle centric exchange of the positions of buses or trams on a route. 1.0

The RtigXml Schema also includes additional response messages to handle error conditions.

There are mechanisms to control the granularity of messages and the sensitivity to data change, so that the protocol can be used both for the simple exchange of data for direct transformation to end-user presentations, as well as for bulk exchange for onward processing by distributed tracking systems.

 RtigXml assumes that both servers know the stop database covered

How does RtigXml differ from JourneyWeb?

The StopEvents query of the JourneyWeb protocol also supports a basic real time stop departures similar  to the RtigXml StopStatus query.

The RtigXml protocol is specifically geared towards real-time data exchange and has several important features for real time operations that

  • Vehicle Movements: RtigXml has a a message for exchanging vehicle movements. -  JourneyWeb provides stop centric information only.
  • Subscribe/delive:r RtigXml supports the asynchronous delivery of information, allowing two servers to establish an efficient event driven interaction.  - JourneyWeb is for request/.response use only.
  • Filtering on real time characteristics: RtigXml supports sensitivity and filtering criteria suitable for a real time environment.

What features does RtigXml lack?

Please 1.0 of RtigXml is intended to be a simple and minimalistic protocol. RtigXml does not currently specify:

  • Discovery mechanisms for servers - known servers are assumed.
  • Discovery mechanisms for stops - known stop coverage is assumed, using NaPTAN & NatGaz.
  • Access control mechanisms - IP authentication is generally used.
  • Heartbeat/Stayalive messaging.
  • Subscription lease expiry mechanisms.

Support these is likely to be added in future either directly or through harmonisation with other standards

Compliance levels

Not all servers will necessarily support all the features of RtigXml. The different named features that can be supported are systematically identified as distinct modules in the 'Compliance' section of the Documentation. This allows implementors to choose different implementations to suit use

Request Level 1 Level 2 Level 3
StopStatus: Synchronous,
Simple filtering
Asynchronous,
Complex filtering
Extra features
VehicleStatus: Synchronous,
Simple filtering
Asynchronous,
Complex filtering
Extra features