SIRI-SM - Easily

.
Kizoom Limited, 109-123 Clifton Street, London EC2A 4LD. Tel: +44 207 749 2670
SIRI Handbook
& Functional Service Diagrams
Version 0.8
2007/10/12 Njsk Kizoom
DRAFT
SIRI Functional Services - UML Diagrams
Control sheet
Version control
Date
Author
Version
Description of changes
2006/03/02
Nick Knowles,
V.01
Previous Draft
2007/04/15
Nick Knowles,
V.02
Word Draft
2007/10/11
Nick Knowles,
V.07
Word Draft
Document automation & Copyright notice
Kizoom Ltd
107-109 Clifton Street,
London EC2A 4LD
©2007 Kizoom Limited:
All rights Reserved.
Telephone: 207 749 2670
Company Registration Number : 3745127
Author:
Nicholas Knowles
© Copyright Kizoom 2006-2007
Page 2
SIRI Functional Services - UML Diagrams
Table of Contents
1.
Introduction .................................................................................................................................... 8
Acknowledgements ........................................................................................................................... 8
References ......................................................................................................................................... 8
2.
Introduction to SIRI ....................................................................................................................... 10
What is SIRI? .................................................................................................................................... 10
What Functional Services are available? .......................................................................................... 11
3.
Use of SIRI Services ....................................................................................................................... 13
Separation of Concerns .................................................................................................................... 14
Communications & message transport ......................................................................................... 14
Roles & Patterns of Interaction ........................................................................................................ 14
Request/Response for a SIRI Functional SERVICE ......................................................................... 15
Publish/Subscribe for a SIRI Functional SERVICE .......................................................................... 15
Publish/Subscribe with Separate Notification & Fetched Delivery ............................................... 16
XML Example of a SIRI Functional Service Request & Delivery ......................................................... 16
Stop Monitoring Request Example ............................................................................................... 16
Stop Monitoring Request Delivery Example ................................................................................. 17
Stop Monitoring Subscription Request Example .......................................................................... 18
Stop Monitoring Subscription Delivery Example .......................................................................... 18
SIRI & Transmodel ........................................................................................................................... 20
Relationship of SIRI to TRANSMODEL ........................................................................................... 20
Transmodel entities relevant for SIRI............................................................................................ 21
Stop Places - SIRI & IFOPT ................................................................................................................ 23
Participant identifiers, Message & Subscription Management ......................................................... 24
Request Response Entities & Message Elements ......................................................................... 24
publish Subscribe message elements ........................................................................................... 26
Recovery & Restart ....................................................................................................................... 28
What does a SIRI Implementation require? ..................................................................................... 28
4.
Service Descriptions ...................................................................................................................... 29
© Copyright Kizoom 2006-2007
Page 3
SIRI Functional Services - UML Diagrams
Organisation .................................................................................................................................... 29
Functional Requests & responses .................................................................................................... 29
5.
SIRI Stop Monitoring (SM)............................................................................................................. 31
SIRI-SM: Subscription & Request ..................................................................................................... 31
StopMonitoringRequest Summary ................................................................................................ 31
StopMonitoringRequest Detail ...................................................................................................... 32
SIRI-SM: Delivery ............................................................................................................................. 33
StopMonitoringDelivery Summary ................................................................................................ 33
StopMonitoringDelivery Detail ...................................................................................................... 34
Use of MonitoredVehicleJourney Element for SIRI-SM ................................................................ 35
Examples of Live services that USe SIRI-SM ..................................................................................... 39
Map based web departure boards................................................................................................ 39
WAP mobile departure boards ..................................................................................................... 39
SMS departure boards .................................................................................................................. 39
6.
SIRI Vehicle Monitoring (VM) ........................................................................................................ 40
SIRI-VM: Subscription & Request ..................................................................................................... 40
VehicleMonitoringRequest Summary ........................................................................................... 40
VehicleMonitoringRequest Detail ................................................................................................. 41
SIRI-VM: Delivery ............................................................................................................................. 42
VehicleMonitoringDelivery Summary ........................................................................................... 42
Use of MonitoredVehicleJourney Element for SIRI-VM ................................................................ 43
VehicleMonitoringDelivery Detail ................................................................................................. 44
7.
SIRI ProductionTimetable (PT)....................................................................................................... 45
SIRI-PT: Subscription & Request ....................................................................................................... 45
ProductionTimetableRequest Summary ........................................................................................ 45
ProductionTimetableRequest Detail ............................................................................................. 46
SIRI-PT: Delivery .............................................................................................................................. 47
ProductionTimetableDelivery Summary........................................................................................ 47
ProductionTimetableDelivery Detail ............................................................................................. 48
© Copyright Kizoom 2006-2007
Page 4
SIRI Functional Services - UML Diagrams
8.
SIRI EstimatedTimetable (ET) ........................................................................................................ 49
SIRI-ET: Subscription & Request ....................................................................................................... 49
EstimatedTimetableRequest Summary ......................................................................................... 49
EstimatedTimetableRequest Detail ............................................................................................... 50
SIRI-ET: Delivery ............................................................................................................................... 50
EstimatedTimetableDelivery Summary ......................................................................................... 51
EstimatedTimetableDelivery Detail ............................................................................................... 52
9.
SIRI Stop Timetable (ST) ................................................................................................................ 53
SIRI-ST: Subscription & Request ....................................................................................................... 53
StopTimetableRequest Summary .................................................................................................. 53
StopTimetableRequest Detail ........................................................................................................ 54
SIRI-ST: Delivery ............................................................................................................................... 55
StopTimetableDelivery Summary .................................................................................................. 55
StopTimetableDelivery Detail ........................................................................................................ 56
10.
SIRI ConnectionTimetable (CT) ...................................................................................................... 57
SIRI-CT: Subscription & Request ....................................................................................................... 57
ConnectionTimetableRequest Summary ....................................................................................... 57
ConnectionTimetableRequest Detail ............................................................................................. 58
SIRI-CT: Delivery .............................................................................................................................. 59
ConnectionTimetableDelivery Summary ....................................................................................... 59
ConnectionTimetableDelivery Detail ............................................................................................. 60
11.
SIRI ConnectionMonitoring (CM) .................................................................................................. 61
SIRI-CM: Subscription & Request ..................................................................................................... 61
ConnectionMonitoringRequest Summary ..................................................................................... 61
ConnectionMonitoringRequest Detail ........................................................................................... 62
SIRI-CM: Delivery ............................................................................................................................. 62
ConnectionMonitoringDelivery Summary ..................................................................................... 63
ConnectionMonitoringDelivery Detail ........................................................................................... 64
12.
SIRI GeneralMessage (GM) ........................................................................................................... 65
© Copyright Kizoom 2006-2007
Page 5
SIRI Functional Services - UML Diagrams
SIRI-GM: Subscription & Request ..................................................................................................... 65
GeneralMessageRequest Summary .............................................................................................. 65
GeneralMessageRequest Detail .................................................................................................... 66
SIRI-GM: Delivery ............................................................................................................................. 67
GeneralMessageDelivery Summary .............................................................................................. 67
GeneralMessageDelivery Detail .................................................................................................... 68
13.
SIRI FacilityMonitoring (FM) DRAFT .............................................................................................. 69
SIRI-FM: Subscription & Request ..................................................................................................... 69
FacilityMonitoringRequest Summary ............................................................................................ 69
FacilityMonitoringRequest Detail.................................................................................................. 69
SIRI-FM: Delivery ............................................................................................................................. 69
FacilityMonitoringDelviery Summary ............................................................................................ 69
FacilityMonitoringDelviery Detail.................................................................................................. 69
14.
SIRI SituationExchange (SX) DRAFT ............................................................................................... 70
SIRI-SX: Subscription & Request ....................................................................................................... 70
SituationExchangeRequest Summary ........................................................................................... 70
SituationExchangeRequest Detail ................................................................................................. 71
SIRI-SX: Delivery .............................................................................................................................. 71
SituationExchangeDelivery Summary ........................................................................................... 72
SituationExchangeDelivery Detail ................................................................................................. 73
Situation Model ............................................................................................................................ 73
15.
SIRI Common Data Types .............................................................................................................. 79
Common SIRI Data Types – XML Simple Types ................................................................................. 79
Common SIRI Data Types ................................................................................................................. 79
Common SIRI SImPLE Data Types – Codes & Identifiers ................................................................... 80
Common General SIRI Enumerations ............................................................................................... 81
SIRI-SX Enumerations....................................................................................................................... 81
IFOPT Enumerations for SIRI-SX ....................................................................................................... 82
TPEG Miscellaneous Enumerations for SIRI-SX ................................................................................. 83
© Copyright Kizoom 2006-2007
Page 6
SIRI Functional Services - UML Diagrams
TPEG Mode Enumerations ............................................................................................................... 84
16.
Annex A Notation .......................................................................................................................... 85
Entities............................................................................................................................................. 85
Enumerations .................................................................................................................................. 85
Groups ............................................................................................................................................. 85
Notes ............................................................................................................................................... 85
Relationships ................................................................................................................................... 85
Use of Colour ................................................................................................................................... 86
Serialisation: Containment & Reference .......................................................................................... 86
Alternative Representations of XML Strcutures in UML ............................................................... 87
XML Fragment for Example ........................................................................................................... 89
Order of Attributes .......................................................................................................................... 90
Direction of Reading ........................................................................................................................ 90
Simple Data Types ........................................................................................................................... 90
Reusable Complex Data Types ......................................................................................................... 90
© Copyright Kizoom 2006-2007
Page 7
SIRI Functional Services - UML Diagrams
1. INTRODUCTION
This SIR Handbook provides a short overview of the CEN SIRI (Service Interface for Real Time
Information) technical specification and the individual SIRI functional services.
It is intended to provide both an introduction to SIRI for technical readers and a quick reference guide
for developers who are already familiar with SIRI, but wish to check particular points of detail. It does
not cover a number of more detailed aspects of SIRI (for example capability discovery, access
controls, etc).
A particular purpose of the handbook is to illustrate the relationship between SIRI and Transmodel by
diagramming the SIRI message content in such a way that the reference to Transmodel elements is
explicit.
Another goal of this handbook is make understanding a simple use of SIRI for common applications as
accessible as possible. As a technical standard intended to support many different implementations
and countries, and many different applications and usages, SIRI has a large number of features and
optional capabilities. Consequently it requires a large specification. However commonly required
basic real-time services, such as stop departures or timetable exchange can be understood and
implemented simply in SIRI.
The guide assumes a technical knowledge of XML and web services. and of data modelling with UML
notation.
ACKNOWLEDGEMENTS
This document is based on the SIRI technical specification which was developed with sponsorship
from VDV, RTIG, Department of Transport and other organizations.
This handbook & diagrams have been prepared & provided by Kizoom.
REFERENCES


SIRI Specification Service interface for real-time information relating to public transport
operations
o
CEN/TS 00278181-1 — Part 1: Introduction
o
CEN/TS 00278181-2 — Part 2: Communications infrastructure
o
CEN/TS 00278181-3 — Part 3: Functional Service Interfaces
SIRI Schema
o

http://www.siri.org.uk/schema/1.2/siri.xsd
SIRI White Paper
o
http://www.siri.org.uk/
© Copyright Kizoom 2006-2007
Page 8
SIRI Functional Services - UML Diagrams

Transmodel
o

IFOPT
o

CEN TC 278 ENV 12896 Reference Data Model for Public Transport
CEN/TS 00278207 – Identification of Fixed Objects in Public Transport
TPEG
© Copyright Kizoom 2006-2007
Page 9
SIRI Functional Services - UML Diagrams
2. INTRODUCTION TO SIRI
WHAT IS SIRI?
SIRI specifies a European data interface standard for exchanging information about the planned,
current or projected performance of real-time public transport operations between different
computer systems.

SIRI comprises a modular set of discrete functional services for exchanging data for public
transport information systems. Services cover planned and real time timetable exchange;
vehicle activity at stops; vehicle movement; and information to assist in the provision of
reliable connections between vehicles. Services may be implemented and used individually.

SIRI aims to incorporate of the best of various national and proprietary standards from
across Europe and deliver these as web services using a modern XML schema.

The services assume a standard conceptual model for the data to be exchanged, based on
the CEN Transmodel data reference model. Element names and data structures are based on
this model. SIRI was developed for bus data, but can be used just as well for other modes of
transport such as Rail and Air.

All SIRI services are provided over a standardised Communications layer, based on a Web
Services Architecture.
o
The Communications layer upholds a consistent approach for all the functional
services to Security, Authentication, Version Negotiation, Recovery/Restart, and
Access Control/Filtering.
o
To support different operating requirements, two main patterns of interactions are
supported: an immediate Request/Response protocol; and an asynchronous
Publish/Subscribe protocol. The Publish/Subscribe can be further elaborated with a
fetched delivery interaction to optimise the use of bandwidth.
Figure 2-1 SIRI Services
© Copyright Kizoom 2006-2007
Page 10
SIRI Functional Services - UML Diagrams
WHAT FUNCTIONAL SERVICES ARE AVAILABLE?
SIRI currently comprises the following functional services (See Figure 2-1):

Stop Timetable (ST) and Stop Monitoring services (SM) provide stop-centric information
about current and forthcoming vehicle arrivals and departures at a nominated stop or
Monitoring Point, typically for departures within the next 20-60 minutes for display to the
public.
o




The SM service is suited in particular for providing departure boards for web
services and on all forms of device.
Vehicle Monitoring service (VM) provides information about of the current location and
expected activities of a particular vehicle, and can give the current and subsequent Journey
and the Calling points on each journey, together with the scheduled and expected arrival
times.
o
The VM service is suited in particular for onboard displays, and visualisation of
vehicle movement, and for exchanging information on roaming vehicles between
different control systems. It can be used for example to support a moving image
showing the position of a bus on a map.
o
It also constitutes a detailed logging feed suitable for collecting historic about
performance against schedule.
Production Timetable service (PT) exchanges information about the expected operation of a
transport network for a specified day in the near future.
o
Typically this is produced a few hours or days before the day in question and
incorporates any changes to the timetables known at that stage. It can of course
also be used to distributed timetables long in advance.
o
A Production Timetable can be filtered by Operator, Line and Date Range, allowing
only the section of the timetable of interest to be selected.
o
Suited for provisioning AVL systems and smart devices with base timetables.
Estimated Timetable service (ET) provides details of the operation of the transport network
for a period within the current day, detailing real time deviations from the timetables and
control actions affecting the Timetable (cancellations, additional Journeys and Detours).
o
An estimated timetable can be filtered by Operator or by Line, allowing only the
section of the timetable that is of interest to be selected.
o
Suited for provisioning AVL systems and smart devices with real-time timetables.
o
Also suitable for the bulk exchange of data.
Connection Timetable (CT) and Connection Monitoring service (CM) allow transport
operators to exchange information about the real-time management of interchanges
between feeder and distributor vehicles arriving and departing at a connection point, for
example, to let passengers on a delayed train know that a local bus service will wait for
them.
© Copyright Kizoom 2006-2007
Page 11
SIRI Functional Services - UML Diagrams
o

It can be used in particular for Guaranteed Interchange (‘Connection protection’)
services.
General Messaging Service (GM) provides a structured way to exchange arbitrary
informative messages between participants, such as travel news, or operational advice.
o
It can be used to link together incident management systems in a store and forward
architecture.
Two Further services are under development as SIRI version 1.3
Facilities Monitoring Service (FM) provides a information about changes in availability of equipment.
It can be used to link together equipment and incident management systems in a store and forward
architecture.
Situation Exchange Service (SE) provides a fully featured service for exchanging planned and
unplanned incidents between control centres and distribution systems.
It includes a structured incident model can be used to integrate incident incident management
systems with other SIRI services and with external services
© Copyright Kizoom 2006-2007
Page 12
SIRI Functional Services - UML Diagrams
3. USE OF SIRI SERVICES
All the SIRI Functional services follow a common design pattern.

SIRI is for the exchange of data between participant services. The server which provides the
data is the Producer. The server which obtains the data is the Consumer.

The same servers may sustain multiple SIRI services, and support either or both Consumer
and Producer roles as appropriate. The Producer service itself may be broken down into
further roles (e.g. publisher, notification producer)– though a Consumer does not need to be
aware of these.

Each functional service has unique endpoints, the addresses at which the service can be
found.

Each Participant, whether consumer or producer, has a unique identifier.

Payload content is separated from message management content.

Content may be obtained either by an immediate direct request /response interaction, or by
a publish / subscribe interaction. In both cases the same set of request parameters are
supported; for a subscription the request is wrapped in an additional subscription element.

Data exchange by SIRI services may either be used as input to other computations, or be
rendered into end user information in any one of a number of media: e.g. web, WAP, SMS,
or Voice.
Figure 3-1 illustrates the concept of using multiple SIRI services to connect up different types of PT
Information application, for example AVMS, Journey Planners, Incident Capture systems, Web
delivery of stop departure and incidents, alerts, etc
Example use of SIRI Services
PT
ET
AVMSST
PT
SM
PT
ET
GMS
VM
SM
JP
ET
SM
ET
VM
SM&
Web
Mobile
GMS
AVMSST
SM
GMS
GMS
GMS
GMS
ICS
ICS
Alerts
5
Figure 3-1 Example of use of Services
Another common use of SIRI would be to separate the load of the real-time systems that manage and
operate the public transport from the wider passenger information systems that distribute the data.
© Copyright Kizoom 2006-2007
Page 13
SIRI Functional Services - UML Diagrams
Thus for example, a SIRI push service could send real-time predictions from the AVMS system to a
separate service that supports passenger queries by web and mobile. This allows the latter to be
scaled without affecting the reliability of the operational system.
SEPARATION OF CONCERNS
SIRI is designed to separate different software architectural concerns, in particular for
communications/content and for scaling.
COMMUNICATIONS & MESSAGE TRANSPORT
SIRI separates message content from message transport related elements so that it may be used with
different methods of communication, for example XML over http, XML over SOAP/WSDL. Although a
default method of http is currently used, it would be possible to use the SIRI content model, with
quite different transport – for example TCP IP sockets.
In order to specify an individual SIRI functional service (or indeed any web service), three different
aspects of the service need to be specified; (i) the data content model – for SIRI based on
Transmodel; (ii) the Communications Transport protocol used to serialise and exchange messages
(for example, http & XML) and; (iii) the exchange behaviour – the rules for use of the each functional
protocol as a dynamic sequence of messages subject to certain application dependent behaviour.
Figure 3-2 illustrates the concept of separation of concerns. In SIRI the Data content is described as
XML messages. In addition, the variables controlling the parameterised parts of the exchange
behaviour are specified as XML values in a configuration or capability description.
Separation of concerns
Data
Content
defined
XML Schema
For payload
Exchange
Behaviour
well-defined interactions
with XML schema
Representations
parameterising behaviour
Transport
Protocol
Independent e.g.
HTTP POST,
SOAP.
4
Figure 3-2 Separation of Concerns
ROLES & PATTERNS OF INTERACTION
SIRI can be regarded as a software framework: all the SIRI Functional Services are based on common
patterns of interaction, populated with specific messages and data elements specific to a particular
service. These patterns distinguish the various software roles which occur in real-time data exchange,
for example Consumer, Producer, Notification Producer, Subscriber - even if these are combined on a
single server for a particular implementation. The main patterns can be summarized as follows:

Functional Service Request Response.

Functional Service Subscription with asynchronous Direct Delivery.
© Copyright Kizoom 2006-2007
Page 14
SIRI Functional Services - UML Diagrams

Functional Service Subscription with asynchronous Notification & Fetched Delivery.
REQUEST/RESPONSE FOR A SIRI FUNCTIONAL SERVICE
For the Request / Response interaction, the Consumer makes a Functional Service Request to the
Producer, and receives a Functional Service Delivery message in response. The Functional Service
Request may state the filtering criteria as Topics (the desired domain element references) and
Policies (criteria as to how the results are to be filtered. The Topics and Policies depend on the
specific functional service.
Requestor
Responder
Request
Response
Request / Response
Figure 3-3 Sequence Diagram of Request Response Interaction
A Functional Service Request is always for a specific SIRI service, e.g. Stop Monitoring, General
Message, etc. Note that the request / response pattern is also widely in SIRI for the exchange of
information as pairs of messages, for example for status checking, to create subscriptions, etc.
PUBLISH/SUBSCRIBE FOR A SIRI FUNCTIONAL SERVICE
For the Publish / Subscribe interaction, a Subscriber makes a Subscription Request to the Producer,
which creates a Subscription for a Consumer (usually but not necessarily the same server as the
Consumer) for the requested lease period for a specified Functional Service Request and Subscription
Policy The Producer will subsequently send one or more asynchronous Delivery messages if the
Request criteria are met and continue doing so in accordance with the subscription policy, up to the
end of the lease. The Filtering criteria can include change thresholds or ‘hysteresis’ values. The
Subscription will eventually expire or be terminated.
Subscriber
NotificationProducer
NotificationConsumer
SubscriptionRequest (ServiceType, Subscription)
SubscriptionResponse
Subscription Manager
register
Notify / Deliver 1
TerminationRequest
Notify / Deliver 2
TerminationResponse
Notify / Deliver etc
terminate
Publish / Subscribe
Figure 3-4 Sequence Diagram of Publish Subscribe Interaction
© Copyright Kizoom 2006-2007
Page 15
SIRI Functional Services - UML Diagrams
PUBLISH/SUBSCRIBE WITH SEPARATE NOTIFICATION & FETCHED DELIVERY
In the simplest use, SIRI services follow of the normal web service paradigm of direct delivery,
returning content in response to a request or a subscription. To allow additional optimisation of
bandwidth and device queuing, and to provide compatibility with legacy systems, SIRI also supports
an additional delivery variant of fetched delivery in which data is returned in two steps: first a
notification message from Producer to Consumer that data is available, then a Request/ Response
interaction from Consumer to Producer to fetch the data using a delivery message. The payload
content of the delivery message is the same as for the delivery of a direct response
Subscriber
NotificationProducer
NotificationConsumer
SubscriptionRequest(XxxSubscription)
SubscriptionResponse
DataReadyNotification
DataReadyResponse
DataSupplyRequest
Subscription Manager
DataSupplyDelivery
TerminationRequest
terminate
TerminationResponse
Publish / Subscribe
With Fetched Delivery
Figure 3-5 Sequence Diagram of Publish Subscribe Interaction with Fetched Delivery
XML EXAMPLE OF A SIRI FUNCTIONAL SERVICE REQUEST & DELIVERY
The following two XML code fragments illustrate a request/response message pair for a Functional
Service - the SIRI-SM Stop Monitoring service, populated to support a simple departure board..
STOP MONITORING REQUEST EXAMPLE
The following is an example of a StopMonitoringRequest. The request consists of a standard header,
which is similar for all SIRI requests, and then Topics and Policies that are specific to the SIRI-SM
functional service. The request asks for the departures for a stop ‘HLTST011’. The response is to
contain up to seven vehicle journeys at the stop, as set by the policy. If there are more than seven
available, then only the first two for each line will be shown.
<ServiceRequest>
<RequestorRef>NADER</RequestorRef>
<RequestTimestamp>2004-12-17T09:30:47-05:00</RequestTimestamp>
<StopMonitoringRequest version=“1.0”>
<!-- All LINE77services from stop EH00001to destination PLACE457 in the next 30 mins-->
<RequestTimestamp>2004-12-17T09:30:47-05:00</RequestTimestamp>
<MessageIdentifier>NDR06756</MessageIdentifier>
<!--=======TOPIC ===================================== -->
© Copyright Kizoom 2006-2007
Page 16
SIRI Functional Services - UML Diagrams
<PreviewInterval>P30M</PreviewInterval>
<MonitoringRef> HLTST011</MonitoringRef>
<!--=======POLICY==========================================-->
<MaximumStopVisits>7</MaximumStopVisits>
<MinimumStopVisitsPerLine>2</MinimumStopVisitsPerLine>
<StopMonitoringDetailLevel>normal</StopMonitoringDetailLevel>
</StopMonitoringRequest>
</ServiceRequest>
STOP MONITORING REQUEST DELIVERY EXAMPLE
The following is an example of a StopMonitoringDelivery in response to a StopMonitoringRequest. It
shows a single StopVisit for a detail level of Normal. The delivery consists of a standard header, which
is similar for all SIRI requests, and then payload that is specific to the functional service.
<ServiceDelivery>
<!--=======HEADER================================================== -->
<ResponseTimestamp>2004-12-17T09:30:46-05:00</ResponseTimestamp>
<ProducerRef>KUBRICK</ProducerRef>
<!--=======PAYLOAD============================================== -->
<StopMonitoringDelivery version="0.1d">
<ResponseTimestamp>2004-12-17T09:30:47-05:00</ResponseTimestamp>
<RequestMessageRef>NDR06756</RequestMessageRef>
<!--====FIRST ARRIVAL ============================================ -->
<MonitoredStopVisit>
<RecordedAtTime>2004-12-17T09:25:46-05:00</RecordedAtTime>
<MonitoringRef>HLTST011</MonitoringRef>
<MonitoredVehicleJourney>
<!-- JOURNEY IDENTITY GROUP -->
<LineRef>Line123</LineRef>
<DirectionRef>Out</DirectionRef>
<FramedVehicleJourneyRef>
<DataFrameRef>2004-12-17</DataFrameRef>
<DatedVehicleJourneyRef>03567</DatedVehicleJourneyRef>
</FramedVehicleJourneyRef>
<!-- JOURNEY PATTERN INFO GROUP -->
<PublishedLineName>123</PublishedLineName>
<DestinationName>Paradise Park</DestinationName>
<VehicleRef>VEH987654</VehicleRef>
<!—CALL AT STOP -->
<MonitoredCall>
<VisitNumber>0014</VisitNumber>
<VehicleAtStop>false</VehicleAtStop>
<!-- STOP MONITORING TIMES GROUP -->
<AimedArrivalTime>2004-12-17T09:40:46-05:00</AimedArrivalTime>
<ExpectedArrivalTime>2004-12-17T09:40:46-05:00</ExpectedArrivalTime>
<AimedDepartureTime>2004-12-17T09:42:47-05:00</AimedDepartureTime>
<ExpectedDepartureTime>2004-12-17T09:40:47-05:00</ExpectedDepartureTime>
</MonitoredCall>
<NextStopPointRef>HLTST012</NextStopPointRef>
</MonitoredVehicleJourney>
</MonitoredStopVisit>
</StopMonitoringDelivery>
</ServiceDelivery>
© Copyright Kizoom 2006-2007
Page 17
SIRI Functional Services - UML Diagrams
STOP MONITORING SUBSCRIPTION REQUEST EXAMPLE
The following further example shows a StopMonitoringSubscriptionRequest to set up a subscription
to be sent updates for a stop asynchronously. It embeds a StopMonitoringRequest which specifies
the selection criteria - to see all departures for LINE23 from stop POIT5678 for up to 30 minutes
ahead, including the calling pattern. It adds some values to set the subscription policy: updates are
only sent if the values have changed by more than 2 Minutes. The producer would return
<SubscriptionRequest>
<RequestorRef>NADER</RequestorRef>
<RequestTimestamp>2004-12-17T09:30:47-05:00</RequestTimestamp>
<!-- All Line23 services from stop POIT5678 in the next 30 mins-->
<StopMonitoringSubscriptionRequest>
<SubscriptionIdentifier>000235</SubscriptionIdentifier>
<InitialTerminationTime>2004-12-17T15:30:47-05:01</InitialTerminationTime>
<StopMonitoringRequest version=“1.0”>
<!--=======TOPIC ===================================== -->
<RequestTimestamp>2004-12-17T09:30:47-05:06</RequestTimestamp>
<PreviewInterval>PT30M</PreviewInterval>
<MonitoringRef>POIT5678</MonitoringRef>
<LineRef>LINE23</LineRef>
<!--=======POLICY==========================================-->
<StopMonitoringDetailLevel>calls</StopMonitoringDetailLevel>
</StopMonitoringRequest>
<!—SUBSCRIPTION POLICY -->
<ChangeBeforeUpdates>PT2M</ChangeBeforeUpdates>
</StopMonitoringSubscriptionRequest>
</SubscriptionRequest>
STOP MONITORING SUBSCRIPTION DELIVERY EXAMPLE
The following is an example of a StopMonitoringDelivery in response to a StopMonitoringSubscriptionRequest. It is almost identical to the earlier response to a StopMonitoringRequest, but
also includes subscription identifier data.
<ServiceDelivery>
<!--=======HEADER================================================== -->
<ResponseTimestamp>2004-12-17T09:30:46-05:00</ResponseTimestamp>
<ProducerRef>KUBRICK</ProducerRef>
<!--=======PAYLOAD============================================== -->
<StopMonitoringDelivery version="0.1d">
<ResponseTimestamp>2004-12-17T09:30:47-05:00</ResponseTimestamp>
<SubscriberRef>NADER</SubscriberRef>
<SubscriptionRef>2004-12-17T09:30:47-05:00</SubscriptionRef>
<ValidUntil>2004-12-17T09:30:47-05:00</ValidUntil>
<!--====FIRST ARRIVAL ============================================ -->
<MonitoredStopVisit>
<RecordedAtTime>2004-12-17T09:25:46-05:00</RecordedAtTime>
<MonitoringRef>HLTST011</MonitoringRef>
<MonitoredVehicleJourney>
<!-- JOURNEY IDENTITY GROUP -->
<LineRef>Line123</LineRef>
<DirectionRef>Out</DirectionRef>
<FramedVehicleJourneyRef>
<DataFrameRef>2004-12-17</DataFrameRef>
<DatedVehicleJourneyRef>03567</DatedVehicleJourneyRef>
© Copyright Kizoom 2006-2007
Page 18
SIRI Functional Services - UML Diagrams
</FramedVehicleJourneyRef>
<!-- JOURNEY PATTERN INFO GROUP -->
<PublishedLineName>123</PublishedLineName>
<DestinationName>Paradise Park</DestinationName>
<VehicleRef>VEH987654</VehicleRef>
<!—CALL AT STOP -->
<MonitoredCall>
<VisitNumber>0014</VisitNumber>
<VehicleAtStop>false</VehicleAtStop>
<!-- STOP MONITORING TIMES GROUP -->
<AimedArrivalTime>2004-12-17T09:40:46-05:00</AimedArrivalTime>
<ExpectedArrivalTime>2004-12-17T09:40:46-05:00</ExpectedArrivalTime>
<AimedDepartureTime>2004-12-17T09:42:47-05:00</AimedDepartureTime>
<ExpectedDepartureTime>2004-12-17T09:40:47-05:00</ExpectedDepartureTime>
</MonitoredCall>
<NextStopPointRef>HLTST012</NextStopPointRef>
</MonitoredVehicleJourney>
</MonitoredStopVisit>
</StopMonitoringDelivery>
</ServiceDelivery>
© Copyright Kizoom 2006-2007
Page 19
SIRI Functional Services - UML Diagrams
SIRI & TRANSMODEL
The ’payload’ content of SIRI messages is intended to be compatible with Transmodel, the CEN
Reference Data Model for Public Transport, which sets out common terminology and data
abstractions for representing public transport information systems. Thus it should be possible to map
data readily from a Transmodel compliant database or application into SIRI messages for data
exchange and vice versa, and someone familiar with Transmodel should be able to recognize the
application payload elements of the SIRI content model.

SIRI uses Transmodel terms or data elements wherever they exist, and assumes the same
cardinalities as Transmodel for any associations between elements.

In a some cases, SIRI introduces additional elements or attributes for additional concepts not
yet in Transmodel. Mostly this consists of adding additional attributes to existing Transmodel
concepts.

In certain other cases, additional elements are introduced in SIRI for convenience to group
existing elements, for example, a SIRI ‘Call’ element groups the Transmodel entities STOP IN
SEQUENCE, various PASSING TIMEs, and other additional attributes. These additional
elements do not break conformity with Transmodel but can be regarded as “implementation
views.”
RELATIONSHIP OF SIRI TO TRANSMODEL
It should be noted though, that there is some subtlety involved in expression the mapping of SIRI
content onto Transmodel. Most SIRI services are only concerned with exchanging small parts of the
information models described by Transmodel - and need to perform this exchange efficiently in realtime. The serialisation of the abstract Transmodel content model into concrete SIRI messages is
therefore selective: only those elements that are needed for each particular functional service are
included; often these will be just the changes to a previously established data set. As a consequence,
SIRI message content cannot and should not be read as a full or canonical representation of
Transmodel, even for the subset with which it is concerned. Nor can all the associations of
Transmodel be discerned.

When exchanging real-time information, there is frequently a need to exchange just one or
two properties of an associated entity without exchanging the full definition of that entity.
For example, when exchanging information about a vehicle journey it may be useful to know
certain attributes of its journey pattern - or of the attributes that can be found though
knowledge of that journey pattern by navigating the associations from the vehicle journey to
its related entities and onwards. Similarly when exchanging a real-time data for a ‘Call’ at a
stop, it may be useful to include the stop name– even though this is properly part of a
separate Stop Point entity and could be found through the with a stop point identifier on the
call element. To handle this practical requirement, SIRI makes use of groups of elements that
include the necessary identifiers of the referenced entities, annotated with selected
attributes. In a few cases in SIRI these groupings are implemented as additional entities, for
example a SIRI Call. In most other cases the SIRI simply includes groups of attributes from
associated elements at the appropriate point in payload content (indicated in diagrams by a
<<group>> stereotype). Again, such groups should be regarded as implementation artefacts,
i.e. views of small parts of the Transmodel model that are introduced for convenience, and
© Copyright Kizoom 2006-2007
Page 20
SIRI Functional Services - UML Diagrams
which can be mapped back to a full Transmodel representation on source and destination
systems.

There is also a need to support different levels of detail for population of the message
content for different applications and different implementations. For example, some
departure boards will show just a single departure time for each service, others will wish to
show for each service a full calling pattern for all previous and onwards stops, with arrival
and departure times at each destination. Most attributes and associations are therefore
optional in SIRI messages, even if they are mandatory in the underlying data model.

Some SIRI services are designed to exchange or differences in values to previously exchanged
values, or in some cases differences that differ by more than an agreed amount.

To some extent the ordering and nesting of elements has been constrained by a requirement
to enable a straightforward migration from legacy standards in particular VDV453 and
VDV454, upon which many of the SIRI services are based.
Since SIRI was developed as a harmonisation of existing working national standards that reflect many
actual real-time implementation requirements, SIRI is not perfectly uniform in its design or its
expression of Transmodel concepts. Nonetheless it achieves a close and useful correspondence.
TRANSMODEL ENTITIES RELEVANT FOR SIRI
Figure 3-6 shows some key Transmodel schedule related entities that are relevant for SIRI message
content, including a couple of SIRI artefacts.
1
SIRI - Summary of relevant
Transmodel entities
route
TM-Mdl::Route
1
route
service pattern
1
0..*
1
© 2007 SIRI
TM-Mdl::Line
0..1
TM-Mdl::Block
line
pattern
1
0..1
TM-Mdl::JourneyPattern
runs
0..*
*
1
0..* 0..*
TM-Mdl::ServicePattern
info
1
TM-Mdl::VehicleJourney
block
1
stops
stops
2..*
0..*
origin
*
1
0..1
TM-Mdl::CourseOfJourney
«group»
Siri Mdl::VehicleJourneyInfo
0..1
«group»
TM-Mdl::StopPointInSequence
0..*
0..*
passing times
0..*
0..1
0..*
at
destination
0..1
TM-Mdl::DatedVehicleJourney
0..1
TM-Mdl::StopPoint
1
run
0..*
1
0..*
*
calls
time
TM-Mdl::PassingTime
stop point
0..*
Siri Mdl::MonitoredVehicleJourney
2..* 1
Siri Mdl::DatedCall
Figure 3-6 Transmodel entities relevant for SIRI
© Copyright Kizoom 2006-2007
Page 21
SIRI Functional Services - UML Diagrams
See the Transmodel specification for full definitions. The following notes outline the relevance of of
some key elements:

A VEHICLE JOURNEY describes a timetabled journey on a public transport route that runs
regularly at a particular time: a DATED VEHICLE JOURNEY is an planned journey run on a
specific date.

A VEHICLE JOURNEY follows a JOURNEY PATTERN, which specifies a particular sequence of
stops and timings for covering the links between them. A JOURNEY PATTERN may be a
specific instance of a more general SERVICE PATTERN associated with a ROUTE, a particular
sequence of stops independent of timing. The sequence of STOP POINTs IN SEQUENCE of
such patterns identifies the STOP POINTs and order of visit of stops of the vehicle journey. A
VEHICLE JOURNEY will have PASSING TIMEs at each stop point.

SIRI groups together the set of passing times and other real-time attributes of a vehicle
calling at a stop point as part of a vehicle journey as a Call.

A dated vehicle journey that is being tracked and monitored by an AVL system (and so for
which real time data may be available) is a MONITORED VEHICLE JOURNEY.

An important point to note is that the labelling of groups of VEHICLE JOURNEYs as belonging
to a named LINE (as marketed to the public) and that make up a timetable is independent of
any individual journey and may be quite arbitrary: different journeys in the LINE may follow
different journey patterns that follow different branches or omit stops on some journeys.

For vehicle and crew scheduling, a DATED VEHICLE JOURNEY may be linked up end-to-end
with other dated vehicle journeys to make a BLOCK, comprising one or more runs or COURSE
OF JOURNEYs. Real-time messages may want to include these references to support
operational management systems.

The SIRI VehicleJourneyInfo group is a named subset of particular VEHICLE JOURNEY
attributes which are often required in SIRI content to give context to real time data for a
journey. It is shown with a <<group>> stereotype to indicate that in concrete
implementations they are embedded in-line. Similar groupings exist for JourneyPatternInfo
etc

Other variant views of DATED VEHICLE JOURNEY used in SIRI, not shown in Figure 3-6, each
including particular subsets of timetabled or real[time attributes include TargetedVehicleJourney, EstimatedVehicleJourney, and InterchangeJourney.
© Copyright Kizoom 2006-2007
Page 22
SIRI Functional Services - UML Diagrams
STOP PLACES - SIRI & IFOPT
The CEN IFOPT (Identification of Fixed objects in Public Transport) technical specification extends
Transmodel to describe the structure of STOP PLACEs – that is, stations, bus stops, airports, and other
points of access to transport. One point it clarifies is the distinction between a reference to a stop in a
timetable (as point in a journey pattern of a vehicle journey), and its possible meanings for a real time
application, which may be concerned variously with the STOP PLACE as (i) a group of stops; (ii) an
individual QUAY i.e. platform, bay, berth, stop pole, etc within the STOP PLACE; or (iii) a BOARDING
POSITION within a QUAY. This is summarised in Figure 3-7, which shows that a stop point in the
timetable may be variously associated with different levels of detail within a stop place.
{ Assignment is to at least one out
of STOP PLACE, QUAY and
BOARDING POSITION.
If a STOP POINT is
associated with QUAY, implies
association wth parent.}
StopPlace
StopPlaceId[1] : StopPlaceId
PublicCode[1] : StopPlaceCode
StopPlaceName[0..1] : nlString
StopPlaceShortName[0..1] : nlString
StopPlaceType[1] : StopPlaceTypeEnum
Quays[0..*] : Quay
AccessSpaces[0..*] : AccessSpace
Entrances[0..*] : Easement
TM-Mdl::ValidityCondition
applies when
0..*
FromDateTime
ToDateTime
DayType
HolidayType
1
1
1
is to
available
AbstracStopAssignment
1
quays
0..*
Timeband
AssignmentId
StopPlaceRef
BandType
StartTime
EndTime
0..*
0..*
Quay
PublicCode[0..1]
QuayName[0..1] : nlString
Label[0..1] : nlString
DestinationDisplay[0..1] : nlString
QuayType[0..1] : Reason
Bearing[0..1] : Bearing
0..*
0..1of
any
1positions
ScheduledStopPointRef
QuayRef
BoardingPositionRef
1
1
*
StopPointCode
StopPointName : nlString
ShortName : nlString
PassengerStopPointAssignment
0..*
change to
0..1
0..*
BoardingPosition
TM-Mdl::StopPoint
for
is to
PublicCode[1]
IFOPT / TS278 SG6
Stop Place
Basic Assignment Model
0..*
DynamicStopPointAssignment
BaseAssignmentRef
© Crown Copyright 2007
Figure 3-7 IFOPT Stop Assignment
IFOPT was developed after the SIRI specification, but aspects of it are useful as a conceptual model for
understanding SIRI’s use of reference data. It will typically be up to specific applications and
implementations to assign appropriate identifiers of stop points to SIRI message elements to reflect
the groupings and correspondences for their own configuration. For example, a MonitoringRef of the
SIRI Stop Monitoring service might refer to the STOP PLACE if it shows the whole departure board for
a station or pair of stops, or to a QUAY if it shows just departures for a particular platform.
The SIRI-SX service was developed after the IFOPT specification and does make explicit use of IFOPT
concepts to distinguish components of a STOP PLACE.
© Copyright Kizoom 2006-2007
Page 23
SIRI Functional Services - UML Diagrams
PARTICIPANT IDENTIFIERS, MESSAGE & SUBSCRIPTION MANAGEMENT
The requests and responses of SIRI functional services use a common set of header elements to track
messages and subscriptions - see Figure 3-8.

Each Participant system is given a unique identifier. This ParticipantCode is used to provide
uniqueness of reference for data entities from each system. It is used as the RequestorRef on
request messages and the ProducerRef on response messages.

Each request message can be given an identifier by the requestor (MessageIdentifier) that is
echoed back in the response (RequestMessageRef). This allows a requestor to match request
and responses.

The Requestor needs to be configured to know the address, i.e. url to which new requests for
a SIRI functional service are to be sent. The request can contain an EndPointAddress to
which responses are to be sent.

All messages are timestamped with an identifier in UTC.
REQUEST RESPONSE ENTITIES & MESSAGE ELEMENTS
Figure 3-8 Illustrates the common elements involved in SIRI request/response interactions.

SIRI functional service requests are sent from a ConsumerService to a ProducerService,
which returns a delivery which satisfies the request Topics and Policies

A ServiceRequest contains one or more SIRI functional requests for specific functional
services; each concrete SIRI functional service request (SiriFsXXXRequest) inherits common
properties from an AbstractFunctionalServiceRequest.

A ServiceDelivery contains one or more delivery elements for a specific SIRI functional
service (SiriXxxFsDelivery) - or ErrorConditions if responses cannot be returned. Each SIRI
functional service delivery inherits common properties from an AbstractFunctionalServiceDelivery. (Note: Subscription attributes are not populated for deliveries for
request/response).

The RequestMessageRef on the ServiceDelivery messages references the MessageIdentifier
of a ServiceRequest to which it responds. The RequestMessageRef on each individual
functional service delivery (SiriXxxFsDelivery) within the ServiceDelivery references a
MessageIdentifier on the corresponding functional service request (SiriXxxFsRequest).
© Copyright Kizoom 2006-2007
Page 24
SIRI Functional Services - UML Diagrams
1
requestor
Siri Mdl::Participant
producer
ParticipantCode[1]
0..*
0..*
1
1
0..1
ConsumerService
producer
ProducerService
ConsumerRef[1] : ParticipantCode
requestor
ConsumerEndPoint[1] : EndPointAddress
LastUsedMessageIdentifier[1] : MessageQualifier
ProducerRef[1] : ParticipantCode
EndPoint[1] : EndPointAddress
LastUsedIdentifier[0..1] : MessageQualifier
subscriber
1
0..*
ProducerResponse
1
ResponseTimeStamp[1] : dateTime
ProducerRef[0..1] : ParticipantCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
RequestMessageRef[0..1] : MessageQualifier
ServiceRequest
RequestContext[1] : RequestContext
RequestTimestamp[1] : dateTime
Address[1] : EndPointAddress
RequestorRef[1] : ParticipantCode
MessageIdentifer[1] : string
requests
RequestTimestamp[1] : dateTime
MessageIdentifier[0..1] : MessageQualifier
1
fulfils
Topics, Policies
0..*
0..*
AbstractFunctionalServiceDelivery
AbstractFunctionalServiceRequest
payload
responses
0..*
0..*
1
1
0..*
1
SiriXxxFsRequest
ServiceDelivery
ResponseTimeStamp[1] : dateTime
RequestMessageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
SubscriptionRef[0..1] : SubscriptionCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
ValidUntil[0..1] : dateTime
ShortestPossibleCycle[0..1] : positiveDuration
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
MoreData[1] : boolean
errors 1
1
errors
1
0..1
0..1
ErrorCondition
Error[1] : AbstractError
Description[1] : ErrorDescription
SIRI Request/Response Entities
& Generic messages
payload
0..*
SiriXxxFsDelivery
© 2007 SIRI
AbstractItem
RecordedAtTime[1] : dateTime
payload
1
*
contents
SiriXxxItem
Figure 3-8 SIRI Request/Response entities
© Copyright Kizoom 2006-2007
Page 25
payload
SIRI Functional Services - UML Diagrams
PUBLISH SUBSCRIBE MESSAGE ELEMENTS
Figure 3-8 Illustrates the common elements involved in SIRI publish/subscribe interactions.

The SubscribingService requests subscriptions from a SubscriptionManager associated with
the ProducerService which creates and manages subscriptions.

Each subscription is given a unique identifier (SubscriptionCode) by the subscriber, which is
specified on the subscription request for a specific SIRI functional service (SiriXxxFsSubscriptionRequest) as the SubscriptionIdentifier, and then included on all deliveries sent
back in response to that subscription. The identifier must be unique within the
ParticipantCode of the subscriber (SubscriberRef).

One or more functional service subscription requests may be submitted at a time as part of a
single SubscriptionRequest. All must be for the same type of service. In response to the
subscription request, a SubscriptionResponse message is returned with a ResponseStatus
containing the identifier of each functional service subscription (SubscriptionRef) and
whether it has been successfully created.

A subscription request includes an InitialTerminationTime which specifies a desired lease
period. This will be echoed back as the ValidUntil time on responses.

The ProducerService subsequently monitors the real-time feed and if the request criteria of
the subscription are matched, creates deliveries that are sent by the ProducerService to the
ConsumerService nominated on the subscription request. Each delivery message includes the
subscription identifier (SubscriptionRef) and the ParticipantCode of the subscriber, termed
the SubscriberRef.

The subscriber, consumer and producer service keep mirrored representations of the active
subscriptions. Recovery from system failure or loss of connection is discussed separately
below.

The SubscribingService requests needs to be configured to know the address i.e. url of the
system to which new subscription requests are to be sent. The request can contain a
ConsumerEndPointAddress to which delivery responses are to be sent and a distinct
SubscriberEndPointAddress to which an acknowledgement for the subscription request is to
be sent.

An optional capability of SIRI is to have a SubscriptionFilter that will group subscriptions from
the same participant for the same type of service so that notifications and delivery data can
be sent as a single message. Otherwise each subscription will give rise to separate
notification and delivery messages.

All messages are timestamped with an identifier in UTC.
© Copyright Kizoom 2006-2007
Page 26
SIRI Functional Services - UML Diagrams
subscriber, consumer and producer services
each keep their own subscription
store of active subscriptions.
subscriber
1
Siri Mdl::Participant
*
SubscribingService
1
producer
ParticipantCode[1]
*
1
manager for
0..*
1
1
SubscriberRef[1] : ParticipantCode
Endpoint[1] : EndPointAddress
LastUsedSubscription[1] : SubscriptionCode
1
serves
1
SubscriptionManager
0..1
consumer for
0..*
1
1
ProducerService
filters
1
subscriber
subscriber
ConsumerService
ProducerRef[1] : ParticipantCode
EndPoint[1] : EndPointAddress
LastUsedIdentifier[0..1] : MessageQualifier
*
ConsumerRef[1] : ParticipantCode
ConsumerEndPoint[1] : EndPointAddress
LastUsedMessageIdentifier[1] : MessageQualifier
subscriptions
SubscriptionFilter
FilterCode[1] : SubscriptionFilterCode
SubscriberRef[1] : ParticipantCode
1
subscriber
0..1
creates
subscriptions
creates
0..1
0..*
filter 0..1
matches
filtered by
0..*
AbstractFunctionalSubscriptionRequest
0..*
SubscriberRef[1] : ParticipantCode
SubscriptionIdentifier[1] : SubscriptionCode
InitialTerminationTime[1] : dateTime
requests
0..*
0..*
subscription
request 1
0..*
0..*
0..*
Subscription
AbstractFunctionalServiceDelivery
SubscriberRef[1] : ParticipantCode
SubscriptionIdentifier[1] : SubscriptionCode
SubscriberEndPoint[1] : EndPointAddress
ConsumerEndPoint[1] : EndPointAddress
ValidUntil[1] : dateTime
ResponseTimeStamp[1] : dateTime
RequestMessageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
SubscriptionRef[0..1] : SubscriptionCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
Status[0..1]
returns : boolean
ErrorCondition[0..1] : ErrorCondition
ValidUntil[0..1] : dateTime
ShortestPossibleCycle[0..1] : positiveDuration
fulfils
0..1
1
1
1
0..*
SiriXxxFsRequest, SubscriptionPolicy
SiriXxxFsSubscriptionRequest
request
1
AbstractFunctionalServiceRequest
payload
SiriXxxFsDelivery
granted for
RequestTimestamp[1] : dateTime
MessageIdentifier[0..1] : MessageQualifier
0..*
SubscriptionRequest
AbstractItem
RequestTimestamp[1] : dateTime
Address[0..1] : EndPointAddress
RequestorRef[1] : Participant
MessageIdentifer[0..1] : MessageQualifier
ConsumerAddress[0..1] : EndPointAddress
SubscriptionFilterIdentifier[0..1] : nmtoken
SubscriptionContext[0..1] : SubscriptionContext
RecordedAtTime[1] : dateTime
1
contents
*
payload
SiriXxxItem
Topics, Policies
1
SiriXxxFsRequest
requests
1
status for
1
*
SubscriptionResponse
1
ResponseTimeStamp[1] : dateTime
Address[0..1] : EndPointAddress
ResponderRef[0..1] : ParticipantCode
RequestMessageRef[0..1] : MessageQualifier
ResponseStatus[0..1] : ResponseStatus
SubscriptionManagerAddress[0..1] : EndPointAddress
ServiceStartedTime[0..1] : dateTime
Extensions[0..1] : any
statuses
1
1
SIRI Publish Subscribe Entities
& Generic messages
© 2007 SIRI
ResponseStatus
*
ResponseTimeStamp[1] : dateTime
RequestMessageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
SubscriptionRef[0..1] : SubscriptionCode
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
ValidUntil[0..1] : dateTime
ShortestPossibleCycle[0..1] : positiveDuration
Figure 3-9 SIRI Publish/Subscribe entities
© Copyright Kizoom 2006-2007
Page 27
SIRI Functional Services - UML Diagrams
RECOVERY & RESTART
A SIRI Publish/subscribe interaction involve a long running continuous flow of data from a Producer to
a Consumer. Mechanisms are needed to allow recover from system failure of either producer,
consumer or communications link. These are described in Part 2 of the SIRI specification. In brief:
A CheckStatus request can be sent between any two participants to see if the other is still working.
The response includes a ServiceStartedTime which can be used to detect if the producer has failed
and been restarted
A heartbeat message can be sent from Producer to Consumer at regular intervals to indicate the
service is still functioning, even if there is no new real-time data. This includes a ServiceStartedTime
that can be used to detect interruption of service.
it is up to the subscribing service to detect interruptions of service and if necessary to terminate and
restart subscriptions.
WHAT DOES A SIRI IMPLEMENTATION REQUIRE?
The deployment of a concrete SIRI implementation entails the following:

The choice of one or more appropriate SIRI Functional Services to meet the application
needs.

A country and or local profile that will set out delivery method, the capabilities to be
supported, the data reference system for stop identifiers, etc.

Allocation of unique Participant Identifiers to identify the different systems.

A Producer application for the functional service deployed to a server at a known endpoint
URL.

A Consumer application for the functional service deployed to a client.

A Status service to check that the service is available and working correctly and that there
has not been an interruption.
© Copyright Kizoom 2006-2007
Page 28
SIRI Functional Services - UML Diagrams
4. SERVICE DESCRIPTIONS
The rest of this guide presents the Subscription, Request & Delivery elements of the SIRI Functional
Services described in Part3 of the SIRI specification as UML Class diagrams.
ORGANISATION
The UML Notation and use of colour is summarised in ANNEX A. Note the use of a <<group>>
stereotype on classes that represent a reusable group of related attributes.
For each SIRI Functional service we show:
1.
A brief introduction describing the purpose and typical use of the service.
2.
A simplified summary of the Subscription & Request elements for the functional service.
Note that both are shown on the same diagram, since a subscription embeds a request,
though in practice they will be sued separately.
3.
A more detailed view of the Subscription & Request elements, including data types and
abstract supertypes.
4.
A simplified summary of the Delivery elements, including payload content that based
relevant parts of Transmodel.
5.
A more detailed view of the Delivery elements, including data types and abstract supertypes.
For certain Services (SIRI-SM, SIRI-VM and SIRI-SX) we provide additional summary diagrams of the
model elements contained within the delivery.
Note that to allow for compatibility with VDV, for some services the XML schema supports two
representations – a nested one and a “flattened” one that omits the nesting tags. The diagrams in this
handbook show only the nested representation, which is the normative CEN one.
Services are discussed in the following order:
1.
SM Stop Monitoring, VM Vehicle Monitoring.
2.
PT Production Timetable., ET Estimated Timetable., ST Stop Timetable.
3.
CT Connection Timetable, CM Connection Monitoring.
4.
FM Facility Monitoring.
5.
GM General Message, SX-Situation Exchange
FUNCTIONAL REQUESTS & RESPONSES
Figure 4-1 shows a summary of the various SIRI functional service requests. One or more functional
service requests can be contained within a SIRI ServiceRequest. One or more functional service
subscription requests can be contained within a SIRI SubscriptionRequest; each also includes a
corresponding functional service request.
© Copyright Kizoom 2006-2007
Page 29
SIRI Functional Services - UML Diagrams
Siri Rqs::SubscriptionRequest
1
1
1111
0..*
subscription requests
PT-Rqs::ProductionTimetableSubscriptionRequest0..*
1
request
ET-Rqs::EstimatedTimetableSubscriptionRequest
0..*
1
request ST-Rqs::StopTimetableSubscriptionRequest0..*
1
PT-Rqs::ProductionTimetableRequest
1
request
SM-Rqs::StopMonitoringSubscriptionRequest
0..*
*
ET-Rqs::EstimatedTimetableRequest
0..*
1
request
VM-Rqs::VehicleMonitoringSubscriptionRequest 0..*
1
1
request
ST-Rqs::StopTimetableRequest
0..*
0..*
0..*
CT-Rqs::ConnectionTimetableSubscriptionRequest
1
0..*
1
request CM-Rqs::ConnectionMonitoringSubscriptionRequest
SM-Rqs::StopMonitoringRequest
1
1
0..*
VM-Rqs::VehicleMonitoringRequest
0..*
GM-Rqs::GeneralMessageSubscriptionRequest
0..*
1
request
CT-Rqs::ConnectionTimetableRequest
0..*
request
1
1
SX-Rqs::SituationExchangeSubscriptionRequest
CM-Rqs::ConnectionMonitoringRequest
0..*
requests
1
1
GM-Rqs::GeneralMessageRequest
SX-Rqs::SituationExchangeRequest
0..*
1111
1
1
1
0..*
Siri Rqs::ServiceRequest
SIRI Service
Requests
© 2007 SIRI
Figure 4-1 Summary of SIRI Functional Service Requests
Figure 4-2 shows a summary of the various SIRI functional service delivery messages produced in
response to functional service requests. One or more functional service delivery can be contained
within a SIRI ServiceDelivery.
Siri Rqs::ServiceDelivery
0..*
0..*
1
1
1
*
PT-Dlv::ProductionTimetableDelivery
0..*
0..*
FM-Dlv::FacilitiesMonitoringDelivery
SX-Dlv::SituationExchangeDelivery
ET-Dlv::EstimatedTimetableDelivery
0..*
0..*
ST-Dlv::StopTimetableDelivery
*
SIRI Service Deliveries
0..*
SM-Dlv::StopMonitoringDelivery
GM-Dlv::GeneralMessageDelivery
CM-Dlv::ConnectionMonitoringFeederDelivery
CM-Dlv::ConnectionMonitoringDistributorDelivery
0..*
© 2007 SIRI
VM-Dlv::VehicleMonitoringDelivery
CT-Dlv::ConnectionTimetableDelivery
0..*
Figure 4-2 Summary of SIRI Functional Service Deliveries
© Copyright Kizoom 2006-2007
Page 30
SIRI Functional Services - UML Diagrams
5. SIRI STOP MONITORING (SM)
The SIRI Stop Monitoring Service provides a stop-centric view of vehicle arrivals and departures at a
designated stop. It can be used by displays and other delivery services to provide departure board and
other presentations of timetabled and real-time journey information both at stops and remotely. The
choice of data elements to display and the presentation format is up to the client system. The service
can be used in conjunction with the SIRI Stop Timetable service, which provides scheduled data.

The Topics allow a Consumer system to specify that only stop departures and arrivals for a
specific Monitoring point, Operator, Line, or Direction are to be returned.

The Request Policies allow a Consumer system to control the amount of data returned, both
in terms of the number of elements and level of detail.

The Subscription Policies allow a Consumer system to control the change threshold for
returning an update, so that for example an update is only sent if prediction has changed by
more than a given amount.

The Delivery message can include not only service arrival and departure times, but also text
notices and the identifiers of Situation elements associated with the stop and/or line.
SIRI-SM: SUBSCRIPTION & REQUEST
STOPMONITORINGREQUEST SUMMARY
SIRI-SM Summary
StopMonitoringSubscription
& StopMonitoringRequest
requestor
SubscriptionRequest
Participant
0..*
0..*
1
1
requests
0..*
1
© 2007 SIRI
policies
ServiceRequest
StopMonitoringSubscriptionRequest
request
requests
1
1
1
0..1
StopMonitoringSubscriptionPolicies
1
0..*
IncrementalUpdates[1]
ChanegBeforeUpdate[1]
StopMonitoringRequest
1
topics
1
0..1
StopMonitoringPolicies
policies
Monitor
StopMonitoringTopics
monitor
0..1
0..*
operator
0..1
0..*
PreviewInterval[0..1]
StartTime[0..1]
MonitoringRef[0..1]
OperatorRef[0..1]
LineRef[0..1]
DirectionRef[0..1]
DestinationRef[0..1]
StopVisitTypes[1]
0..*
0..1
line
0..1
Line
0..*
direction
0..1
Direction
Operator
«enumeration»
StopVisitTypesEnum
all
arrivals
departures
Language[0..1]
MaximumStopVisits[0..1]
MinimumStopVisitsPerLine[0..1]
MaximumTextLength[0..1]
StopMonitoringDetailLevel[0..1]
MaximumNumberOfPreviousCalls[0..1]
MaximumNumberOfOnwardCalls[0..1]
«enumeration»
SmDetailLevelEnum
minimum
basic
normal
calls
full
Figure 5-1 StopMonitoringRequest - Summary
© Copyright Kizoom 2006-2007
Page 31
SIRI Functional Services - UML Diagrams
STOPMONITORINGREQUEST DETAIL
The StopMonitoringRequest is used to request stop arrival and departure data for a given stop or
stops identified by a MonitoringRef - which will normally correspond to the identifier of a physical
stop or platform, but might also be a “logical stop” which groups several departure boards.
Other criteria that can be used to filter results include Line (e.g. ‘N45’), Direction, Operator and
Destination.
context
Siri Rqs::SubscriptionRequest
requestor
Siri Mdl::Participant
1
1
0..*
1
RequestTimestamp[1] : dateTime
Address[0..1] : EndPointAddress
RequestorRef[1] : Participant
MessageIdentifer[0..1] : MessageQualifier
ConsumerAddress[0..1] : EndPointAddress
SubscriptionFilterIdentifier[0..1] : nmtoken
SubscriptionContext[0..1] : SubscriptionContext
subscriber
requestor
1
SIRI-SM StopMonitoringSubscription
& StopMonitoringRequest
© 2007 SIRI
1
requests
Siri Rqs::AbstractFunctionalSubscriptionRequest
SubscriberRef : ParticipantCode
SubscriptionIdentifier : SubscriptionCode
InitialTerminationTime : dateTime
0..*
Siri Rqs::ServiceRequest
RequestContext[1] : RequestContext
RequestTimestamp[1] : dateTime
Address[1] : EndPointAddress
RequestorRef[1] : ParticipantCode
MessageIdentifer[1] : string
0..*
Siri Rqs::SubscriptionContext
0..1
0..*
StopMonitoringSubscriptionRequest
StopMonitoringRequest[1] : StopMonitoringRequest
StopMonitoringSubscriptionPolicies[0..1] : StopMonitoringSubscriptionPolicies
Extensions[0..1] : any
1
1 context
requests
1
request
0..1
Siri Rqs::AbstractFunctionalServiceRequest
1
policies
RequestTimestamp : dateTime
MessageIdentifier : MessageQualifier
Siri Rqs::RequestContext
0..1
0..*
1
StopMonitoringSubscriptionPolicies
IncrementalUpdates[1] : boolean
ChanegBeforeUpdate[1] : duration
StopMonitoringRequest
StopMonitoringTopics[0..1] : StopMonitoringTopics
StopMonitoringPolicies[0..1] : StopMonitoringPolicies
Extensions[0..1] : any
policies
1topics
Siri Mdl::Monitor
0..1
1
0..1
0..1
StopMonitoringPolicies
monitor
StopMonitoringTopics
0..*
TM-Mdl::Operator
operator
0..1
0..*
PreviewInterval[0..1] : duration
StartTime[0..1] : dateTime
MonitoringRef[0..1] : MonitoringCode
OperatorRef[0..1] : OperatorCode
LineRef[0..1] : LineCode
DirectionRef[0..1] : DirectionCode
DestinationRef[0..1] : DestinationCode
StopVisitTypes[1] : StopVisitTypesEnum
line
0..*
0..*
TM-Mdl::Line
0..1
direction
1
directions
Language[0..1] : lang
MaximumStopVisits[0..1] : positiveInteger
MinimumStopVisitsPerLine[0..1] : positiveInteger
MaximumTextLength[0..1] : positiveInteger
StopMonitoringDetailLevel[0..1] : SmDetailLevelEnum
MaximumNumberOfPreviousCalls[0..1] : positiveInteger
MaximumNumberOfOnwardCalls[0..1] : positiveInteger
«enumeration»
SM-Mdl::StopVisitTypesEnum
all
arrivals
departures
«enumeration»
SM-Mdl::SmDetailLevelEnum
minimum
basic
normal
calls
full
TM-Mdl::Direction
0..*
0..1
Figure 5-2 StopMonitoringRequest - Detail
© Copyright Kizoom 2006-2007
Page 32
SIRI Functional Services - UML Diagrams
SIRI-SM: DELIVERY
The StopMonitoringDelivery (Figure 5-3) is returned by the SIRI-SM service and normally contains one
or more MonitoredStopVisit elements for each monitored stop, each recording a MonitoredVehicleJourney with a MonitoredCall at the stop with passing times. The level of detail to include may vary
considerably; for example the full calling pattern of previous and onward calls may be included for
each journey. It may also include StopLineNotices associated with the stop. Previous stop visits or line
notices may be retracted with a StopVisitCancellation or StopLineNoticeCancellation.
STOPMONITORINGDELIVERY SUMMARY
0..*
1
producer
Siri Rqs::ProducerResponse
SIRI-SM Summary
StopMonitoringDelivery
Siri Mdl::Participant
errors
© 2006 SIRI
Siri Rqs::ServiceDelivery
Siri Rqs::ErrorCondition
1
0..1
1
notice cancellations
StopMonitoringDelivery
deliveries
*
version[1]
Note[0..1]
Extensions[0..1]
1
cancellations
visits
1
1
1
cancels
1
0..1
MonitoredStopVisitCancellation
TM-Mdl::Direction
0..1
0..*
MonitoringRef[1]
VisitNumber[1]
LineRef[1]
DirectionRef[1]
VehicleJourneyRef[0..1]
ClearDownRef[0..1]
JourneyPatternInfo[0..1]
Reason[0..1]
Extensions[0..1]
1
line notices
StopLineNotice
MonitoringRef[1]
LineRef[1]
0..*
DirectionRef[1]
LineNote[0..1]
SituationRef[0..1]
Extensions[0..1] 0..* 0..1
MonitoredStopVisit
MonitoringRef[1]
CleardownRef[0..1]
MonitoredVehicleJourney[1]
StopVisitNote[0..1]
Extensions[0..1]
montor
0..*
0..1
TM-Mdl::Route
0..*
cancels
1
line
1
line
1
pattern
1
0..1
pattern info
1
1
1
0..1
journey info
Siri Mdl::AbstractMonitoredCall
previous
MonitoredVehicleJourneyIdentity[1]
JourneyPatternInfo[1]
VehicleJourneyInfo[1]
DisruptionInfo[0..1]
JourneyProgress[0..1]
TrainBlockPart[0..1]
OperationalInfo[0..1]
PreviousCalls[0..*]
MonitoredCall[0..1]
OnwardCalls[0..*]
IsCompleteCallSequence[0..1]
Extensions[0..1]
current
1
1
1
0..*
1
disruption
onward
0..1
Siri Mdl::OnwardCall
0..*
Siri Mdl::PreviousCall
0..1
VehicleAtStop[0..1]
ArrivalTimes[0..1]
DepartureTimes[0..1]
Extensions[0..1]
TM-Mdl::StopPoint
Siri Mdl::MonitoredCall
VehicleAtStop[0..1]
VehicleLocationAtStop[0..1]
ReversesAtStop[0..1]
PlatformTraversal[0..1]
SignalStatus[0..1]
CallNote[0..1]
Disruption[0..1]
ArrivalTimes[0..1]
ArrivalInfo[0..1]
DepartureTimes[0..1]
DepartureInfo[0..1]
HeadwayInfo[0..1]
Extensions[0..1]
See Monitored
Vehicle Journey
Diagrams for
details
1
0..1
stop
1..1
identity
0..*
0..*
1
journey
1
«group»
Siri Mdl::FramedVehicleJourneyRef
DataFrameRef[1]
DatedVehicleJourneyRef[1]
Siri Mdl::MonitoredVehicleJourney
«group»
Siri Mdl::ServiceInfo
StopPointRef[0..1]
VisitNumber[0..1]
Order[0..1]
StopPointName[0..1]
0..*
«group»
Siri Mdl::MonitoredJourneyIdentity
LineRef[0..1]
DirectionRef[0..1]
FramedVehicleJourneyRef[1..1]
journey
TM-Mdl::DatedVehicleJourney
0..1
0..*
«group»
Siri Mdl::VehicleJourneyInfo
StopLineNoticeCancellation
MonitoringRef[1]
LineRef[1]
DirectionRef[1]
Extensions[0..1]
TM-Mdl::Line
«group»
Siri Mdl::JourneyPatternInfo
info
0..1
0..*
0..1
route
0..1
pattern
0..*
0..1montor
Siri Mdl::Monitor
0..1
TM-Mdl::JourneyPattern
0..*
VehicleAtStop[0..1]
TimingPoint[0..1]
AimedArrivalTimes[0..1]
ArrivalInfo[0..1]
AimedDepartureTimes[0..1]
DepartureInfo[0..1]
HeadwayInfo[0..1]
Extensions[0..1]
«group»
Siri Mdl::DisruptionInfo
SituationRef[0..1]
FacilityChange[0..1]
0..*
0..1
situation
0..1
disruption
SX-Mdl::AbstractSituation
1
Figure 5-3 StopMonitoringDelivery - Summary
© Copyright Kizoom 2006-2007
Page 33
SIRI Functional Services - UML Diagrams
STOPMONITORINGDELIVERY DETAIL
Figure 5-4 shows detailed attributes of a Stop Monitoring delivery – further details of the
MonitoredVehicleJourney are described in further diagrams below.
SIRI-SM
StopMonitoringDelivery
Siri Rqs::ProducerResponse
ResponseTimeStamp : dateTime
ProducerRef : ParticipantCode
Address : EndPointAddress
ResponseMessageIdentifier : MessageQualifier
RequestMessageRef : MessageQualifier
producer
0..1
Siri Mdl::Participant
© 2006 SIRI
0..*
1
subscriber
Siri Rqs::ServiceDelivery
1
errors
Siri Rqs::AbstractFunctionalServiceDelivery
ResponseTimeStamp[1] : dateTime
RequestMesageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
SubscriptionRef[0..1] : SubscriptionCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
ValidUntil[0..1] : dateTime
ShortestPossibleCycle[0..1] : positiveDuration
Status : boolean
ErrorCondition : ErrorCondition
MoreData : boolean
0..*
0..1
1
errors
Siri Rqs::ErrorCondition
deliveries
Error[1] : AbstractError
Description[1] : ErrorDescription
0..*
1
*
StopMonitoringDelivery
1
1
version[1] : versionString
Note[0..1] : populatedString
Extensions[0..1]
1
visits
Siri Rqs::AbstractItem
1
RecordedAtTime[1] : dateTime
Siri Rqs::AbstractReferencedItem
line notices
IdentifiedItemRef[0..1] : IdentifiedItemCode
Siri Rqs::AbstractIdentifiedItem
cancellations
IdentifiedItemCode[0..1] : IdentifiedItemCode
notice cancellations
MonitoredStopVisitCancellation
0..*
MonitoredStopVisit
MonitoringRef[1] : MonitoringCode
CleardownRef[0..1] : CleardownCode
MonitoredVehicleJourney[1] : MonitoredVehicleJourney
StopVisitNote[0..1] : populatedString
Extensions[0..1] : any
0..*
1
cancels
0..1
0..*
0..1
Siri Mdl::Monitor
0..*
See Monitored
Vehicle Journey
Diagrams for
details
1
StopLineNotice
0..1
Siri Mdl::PreviousCall
0..1
1
0..*
line
0..1
1
1
StopLineNoticeCancellation
MonitoringRef[1] : MonitoringCode
LineRef[1] : LineCode
DirectionRef[1] : DirectionCode
Extensions[0..1]
1
TM-Mdl::DataFrame
frame
0..*
«group»Siri Mdl::FramedVehicleJourneyRef
DataFrameRef[1] : DataFrameCode
DatedVehicleJourneyRef[1] : DatedVehicleJourneyCode
0..*
directions
1
journey
0..*
1
1
line
TM-Mdl::Line
journey
TM-Mdl::DatedVehicleJourney
0..1
0..*
1
identity
«group»Siri Mdl::MonitoredJourneyIdentity
LineRef[0..1] : LineCode
DirectionRef[0..1] : DirectionCode
FramedVehicleJourneyRef[1..1] : FramedVehicleJourneyRef
Siri Mdl::OnwardCall
Siri Mdl::MonitoredCall
cancels
1
TM-Mdl::Direction0..1
onward
0..*
0..*
direction
1
0..*
Siri Mdl::MonitoredVehicleJourney
1
current
0..1
MonitoringRef[1] : MonitoringCode
LineRef[1] : LineCode
DirectionRef[1] : DirectionCode
LineNote[0..1] : populatedString
SituationRef[0..1] : SituationCode
Extensions[0..1]
MonitoredVehicleJourneyIdentity[1] : MonitoredJourneyIdentity
JourneyPatternInfo[1] : JourneyPatternInfo
VehicleJourneyInfo[1] : VehicleJourneyInfo
DisruptionInfo[0..1] : DisruptionInfo
JourneyProgress[0..1] : ProgressInfo
TrainBlockPart[0..1] : TrainBlockPart
OperationalInfo[0..1] : OperationalInfo
PreviousCalls[0..*] : PreviousCall
MonitoredCall[0..1] : MonitoredCall
OnwardCalls[0..*] : OnwardCall
IsCompleteCallSequence[0..1] : boolean
Extensions[0..1] : any
previous
1
SX-Mdl::AbstractSituation
situation
0..1
monitor
journey
1
montor
0..*
MonitoringRef[1] : MonitoringCode
VisitNumber[1] : VisitNumber
LineRef[1] : LineCode
DirectionRef[1] : DirectionCode
VehicleJourneyRef[0..1]
ClearDownRef[0..1] : CleardownCode
JourneyPatternInfo[0..1] : JourneyPatternInfo
Reason[0..1] : populatedString
Extensions[0..1] : any
1..1
Figure 5-4 StopMonitoringDelivery – Detail
© Copyright Kizoom 2006-2007
Page 34
SIRI Functional Services - UML Diagrams
USE OF MONITOREDVEHICLEJOURNEY ELEMENT FOR SIRI-SM
LEVELS OF DETAIL
The MonitoredVehicleJourney element represents an individual vehicle journey that is being
monitored: it can be populated with different amounts of data for different applications. For example,
for the Stop Monitoring service, it might contain just information about the time of the vehicle at the
monitored stop (if say the requested DetailLevel=normal), or it might also included predicted times at
all the subsequent stops along the route (if say DetailLevel=calls).
Detail
Level
Definition.
Purpose
minimum
Return only minimum data: a single MonitoredCall with
a stop ids and passing time
Used for exchanging just real-time
data between systems that are not
concerned with other details.
basic
Return useful basic minimum data. A single
MonitoredCall for each MonitoredVehicleJourney
visiting the Stop, with passing times, and line id.
Used to drive simple displays with
limited space that show just lines and
passing times and line numbers.
normal
Return a single MonitoredCall at the stop for each
MonitoredVehicleJourney, populated with with times,
stop id, Stop name, DestinationDisplay values (i.e.
headings), status etc.
Use for normal departure boards that
show arrival/departure times for each
vehicle along with names (but not a
calling pattern).
calls
Return additional information including Onwards and
Previous elements with the previous and onward calling
pattern, modulated by the NumberOfCalls on the
request.
Use for departure boards that need to
show the full calling pattern or the
onward calling pattern.
full
Return all information including full calling pattern,
operational data (BlockRef, VehicleRef, etc), progress
data, journey pattern references etc
Used for data exchange between
operational services, or for advanced
display services.
Table 5-1 StopMonitoringRequest Detail Levels
For train services, where there may be different carriages going to different places representing
different vehicle journeys, train block parts can be used to identify which section of the train is
involved. There will be separate deliveries for each vehicle journey.
PASSING TIMES
The times that are included on each call may include an arrival or departure time or both (depending
whether it is the start, end or middle of a route), and planned (Aimed), predicted (Expected) or
observed (Actual) - (depending whether it has reached the stop yet. Times are always absolute (i.e. in
UTC): it is up to the delivery system to render these – often they will be shown on signs as relative e.g.
“in two minutes”. Some systems only return average or pedicted headway intervals instead of times.
Event Time
Arrival Time
Departure Time
Target
Aimed Arrival Time
Aimed Departure Time
Estimated
Expected Arrival Time
Expected Departure Time
Observed
Actual Arrival Time
Actual Departure Time
© Copyright Kizoom 2006-2007
Page 35
SIRI Functional Services - UML Diagrams
Table 5-2 Transmodel Passing Time Terminology
STOP IDENTIFIERS
Each point for which a MonitoredStopVisit is returned is given a unique identifier, the MonitoringRef.
Normally this will be the same as the stop point, but may be different.
For at stop use, the service can support cleardown identifiers to drive direct wireless cleardown of the
displays signalled by the vehicle in proximity.
LOCATION
The ProgressInfo group of a MonitoredVehicelJourney can include a vehicle location in a set of
coordinates of a specified data reference system, e.g. WGS84. The static coordinates of stops are part
of the STOP PLACE model and are not normally included in messages.
QUALITY OF AVMS DATA
The ProgressInfo group of a MonitoredVehicelJourney also includes various attributes that can be
used to judge the certainty level of any real-time predicitions.
© Copyright Kizoom 2006-2007
Page 36
SIRI Functional Services - UML Diagrams
MONITOREDVEHICLEJOURNEY SUMMARY
The MonitoredVehicleJourneyElement (Figure 5-5) represents a vehicle journey that is being
monitored in real-time and for which predictions are being generated. It is used in both the SIRI-SM
and SIRI-VM services. Not all elements will usually be populated.

MonitoredCall records the time at the monitored point. PreviousCall and OnwardsCall can
be used optionally to record the times at previous and onward stops.

JourneyPatternInfo, VehicleJourneyInfo provide information describing the journey.

Progress Info groups real-time properties such as location, congestion status, occupancy etc.
0..*
TM-Mdl::JourneyPattern
pattern
TM-Mdl::Block
TM-Mdl::DatedVehicleJourney
0..1
0..1
block
1
0..1
journey
TM-Mdl::DataFrame
0..*
0..1
TM-Mdl::Vehicle
«group»
1
JourneyPatternInfo
«group»
0..1
TM-Mdl::Line
FramedVehicleJourneyRef
0..*
JourneyPatternRef[0..1]
journey0..*
VehicleMode[0..1]
DataFrameRef[1]
TM-Mdl::CourseOfJourney
1
RouteRef[0..1]
0..1
DatedVehicleJourneyRef[1]
0..*
0..1
0..*
line
PublishedLineName[0..1]
1
0..1
DirectionName[0..1]
«group»
«group»OperationalInfo
ExternalLineRef[0..1]
MonitoredJourneyIdentity
0..1 route
BlockRef[0..1]
LineRef[0..1]
0..*TM-Mdl::TrainPart
TM-Mdl::Route
CourseOfJourneyRef[0..1]
DirectionRef[0..1]
0..*
pattern info 0..*
VehicleRef[0..1]
FramedVehicleJourneyRef[1..1]
train
0..* 0..1
identity
operational
1
«group»VehicleJourneyInfo
1
1..1
0..1
ServiceInfo[0..1]
TM-Mdl::TrainBlockPart
OriginRef[0..1]
MonitoredVehicleJourney
NumberOfBlockParts[0..1]
DestinationName[0..1]
train block
1
MonitoredVehicleJourneyIdentity[1]
TrainPartRef[0..1]
OriginShortName[0..1]
JourneyPatternInfo[1]
PositionOfTrainBlockPart[0..1]
0..1
Via[0..*]
VehicleJourneyInfo[1]
0..1
DestinationRef[0..1]
1
DisruptionInfo[0..1]
1
DestinationName[0..1]
JourneyProgress[0..1]
DestinationShortName[0..1]
TrainBlockPart[0..1]
VehicleJourneyNote[0..1]
OperationalInfo[0..1]
1
«group»ProgressInfo
JourneyNote[0..1]
PreviousCalls[0..*]
progress
HeadwayService[0..1]
Monitored[0..1]
0..*
destination
MonitoredCall[0..1]
OriginAimedDepartureTime[0..1]
MonitoringError[0..1]
OnwardCalls[0..*]
0..1
DestinationAimedDepartureTime[0..1]
locationInCongestion[0..1]
1
IsCompleteCallSequence[0..1]
Loc Mdl::Location
InPanic[0..1]
0..1
Extensions[0..1]
1
1 info 0..*
PredictionInaccurate[0..1] disruption
0..1
DataSource[0..1]
origin
«enumeration»
1 stop
0..1
ConfidenceLevel[0..1]
0..1
AbstractMonitoredCall
OccupancyEnum
VehicleLocation[0..1]
0..*
TM-Mdl::StopPoint
StopPointRef[0..1]
Bearing[0..1]
full
0..1
«group»ServiceInfo
VisitNumber[0..1]
ProgressRate[0..1]
seatsAvailable
Order[0..1]
Occupancy[0..1]
standingAvailable
OperatorRef[0..1]
StopPointName[0..1]
Delay[0..1]
VehicleFeature
ProductCategoryRef[0..1]
ProgressStatus[0..1]
ServiceFeatureRef[0..*]
0..1
0..*
OnwardCall
VehicleFeatureRef[0..*]
0..*
0..* ServiceFeature
VehicleAtStop[0..1]
operator
0..1
TimingPoint[0..1]
0..*
1
«enumeration»
arrival
0..1
AimedArrivalTimes[0..1]
ProgressRateEnum
PreviousCall
ArrivalInfo[0..1]
1
noProgress
VehicleAtStop[0..1]
AimedDepartureTimes[0..1]
TM-Mdl::Operator
headway
1
slowProgress
ArrivalTimes[0..1]
DepartureInfo[0..1]
normalProgress
arrival
DepartureTimes[0..1]
HeadwayInfo[0..1]
1
fastProgress
Extensions[0..1]
Extensions[0..1]
0..1
*
unknown
0..1
pattern
times
1
times
«group»HeadwayInfo
0..1
«group»ArrivalInfo
ArrivalStatus[0..1]
ArrivalPlatformName[0..1]
ArrivalBoardingActivity[0..1]
«enumeration»
ArrivalActivityEnum
alighting
noAlighting
passThru
0..1
1
AimedHeadWayInterval[0..1]
ExpectedHeadwayInterval[0..1]
1
0..1
departure
«group»
AimedArrivalTimes
AimedArrivalTime[0..1]
ExpectedArrivalTime[0..1]
departure
arrival
MonitoredCall
VehicleAtStop[0..1]
VehicleLocationAtStop[0..1]
ReversesAtStop[0..1]
0..1
PlatformTraversal[0..1]
SignalStatus[0..1]
1
CallNote[0..1]
«group»DepartureTimes
0..1departure times
Disruption[0..1]
ArrivalTimes[0..1]
AimedDepartureTime[0..1]
ArrivalInfo[0..1]
ActualDepartureTimes[0..1]
DepartureTimes[0..1]
ExpectedDepartureTime[0..1]
DepartureInfo[0..1]
HeadwayInfo[0..1]
«group»ArrivalTimes
Extensions[0..1]
0..1 arrival times
AimedArrivalTime[0..1]
0..1
ActualArrivalTimes[0..1]
1
1
call
ExpectedArrivalTime[0..1]
«group»CallInfo
0..1
SIRI Summary
TimingPoint[0..1]
BoardingStretch[0..1]
MonitoredVehicleJourney
RequestStop[0..1]
© 2006 SIRI
DestinationDisplay[0..1]
headway
1
0..1
0..1
«group»
AimedDepartureTimes
AimedDepartureTime[0..1]
ExpectedDepartureTime[0..1]
1
departure
«group»DepartureInfo
10..1
DepartureStatus[0..1]
DeparturePlatformName[0..1]
DepartureBoardingActivity[0..1]
disruption
0..1
«group»DisruptionInfo
1
«enumeration»
DepartureActivityEnum
boarding
noBoarding
passThru
0..1
«enumeration»
TimeStatusEnum
early
onTime
delayed
arrived
cancelled
noReport
SituationRef[0..1]
FacilityChange[0..1]
0..*
situation
0..1
SX-Mdl::AbstractSituation
0..*
Figure 5-5 Monitored VehicleJourney - Summary
© Copyright Kizoom 2006-2007
Page 37
SIRI Functional Services - UML Diagrams
MONITOREDVEHICLEJOURNEY DETAIL
Figure 5-6 shows the detailed data attributes for a MonitoredVehicleJourney.
journey
«group»MonitoredJourneyIdentity
«group»FramedVehicleJourneyRef
LineRef[0..1] : LineCode
DirectionRef[0..1] : DirectionCode
FramedVehicleJourneyRef[1..1] : FramedVehicleJourneyRef
1
1 TM-Mdl::DatedVehicleJourney
«group»ProgressInfo
0..1
journey
DataFrameRef[1] : DataFrameCode
DatedVehicleJourneyRef[1] : DatedVehicleJourneyCode
0..*
1
TM-Mdl::TrainBlockPart
0..*
TM-Mdl::JourneyPattern
NumberOfBlockParts[0..1] : positiveInteger
Monitored[0..1] : boolean
1..1
TrainPartRef[0..1] : TrainPartCode
MonitoringError[0..1] : string
PositionOfTrainBlockPart[0..1] : populatedString
InCongestion[0..1] : boolean
0..1
TM-Mdl::Route
TM-Mdl::Line
0..1
0..1
0..*
0..*
InPanic[0..1] : boolean
0..1
0..1
PredictionInaccurate[0..1] : boolean
0..*
DataSource[0..1] : string
«group»JourneyPatternInfo
TM-Mdl::TrainPart
TM-Mdl::Block
0..*
identityConfidenceLevel[0..1] : boolean
JourneyPatternRef[0..1] : JourneyPatternCode
train block
VehicleLocation[0..1] : Location
VehicleMode[0..1] : Mode
Bearing[0..1] : Bearing
«group»OperationalInfo
RouteRef[0..1] : RouteCode
0..1
ProgressRate[0..1] : ProgressRateEnum
BlockRef[0..1] : BlockCode
PublishedLineName[0..1] : populatedString
Occupancy[0..1] : OccupancyEnum
CourseOfJourneyRef[0..1] : CourseOfJourneyCode
DirectionName[0..1] : populatedString
Delay[0..1] : duration
VehicleRef[0..1] : VehicleCode
ExternalLineRef[0..1] : LineCode
ProgressStatus[0..1] : populatedString
vehicle
pattern info
1
1
0..*
0..1 0..*
«group»VehicleJourneyInfo
0..1
1
run
ServiceInfo[0..1] : ServiceInfo
0..1
OriginRef[0..1] : JourneyPlaceCode
MonitoredVehicleJourney
DestinationName[0..1] : populatedString
TM-Mdl::Vehicle
1
MonitoredVehicleJourneyIdentity[1] : MonitoredJourneyIdentity
OriginShortName[0..1] : populatedString
JourneyPatternInfo[1] : JourneyPatternInfo
Via[0..*] : populatedString
0..1
VehicleJourneyInfo[1] : VehicleJourneyInfo
DestinationRef[0..1] : DestinationCode
1
DisruptionInfo[0..1] : DisruptionInfo
DestinationName[0..1] : populatedString
1
JourneyProgress[0..1] : ProgressInfo
TM-Mdl::CourseOfJourney
DestinationShortName[0..1] : populatedString
0..1
TrainBlockPart[0..1] : TrainBlockPart
VehicleJourneyNote[0..1] : populatedString
OperationalInfo[0..1] : OperationalInfo
JourneyNote[0..1] : populatedString
1
PreviousCalls[0..*] : PreviousCall
HeadwayService[0..1] : boolean
MonitoredCall[0..1] : MonitoredCall
OriginAimedDepartureTime[0..1] : dateTime
OnwardCalls[0..*] : OnwardCall
DestinationAimedDepartureTime[0..1] : dateTime
1
onward
destination
IsCompleteCallSequence[0..1] : boolean
origin
Extensions[0..1] : any
0..11
0..*
0..*
0..1
SX-Mdl::AbstractSituation
10..1
0..1
1
«group»
0..*
0..1
AbstractMonitoredCall
ServiceInfo
TM-Mdl::StopPoint
StopPointRef[0..1] : StopPointCode
«group»DisruptionInfo
0..*
0..*
VisitNumber[0..1] : VisitNumber
SituationRef[0..1] : SituationCode
0..1
Order[0..1] : positiveInteger
0..1
FacilityChange[0..1] : FacilityChange
StopPointName[0..1] : populatedString
0..*
0..*
0..1
TM-Mdl::Operator
1
PreviousCall
MonitoredCall
OnwardCall
VehicleAtStop[0..1] : boolean
ArrivalTimes[0..1] : ArrivalTimes
DepartureTimes[0..1] : DepartureTimes
Extensions[0..1] : any
VehicleAtStop[0..1] : boolean
VehicleLocationAtStop[0..1] : Location
ReversesAtStop[0..1] : boolean
PlatformTraversal[0..1] : boolean
1
1
SignalStatus[0..1] : string
0..1 CallNote[0..1] : populatedString
Disruption[0..1] : DisruptionInfo
1
ArrivalTimes[0..1] : ArrivalTimes
1
ArrivalInfo[0..1] : ArrivalInfo
DepartureTimes[0..1] : DepartureTimes
DepartureInfo[0..1] : DepartureInfo
1
HeadwayInfo[0..1] : HeadwayInfo
Extensions[0..1] : any
headway
VehicleAtStop[0..1] : boolean
TimingPoint[0..1] : boolean
AimedArrivalTimes[0..1] : AimedArrivalTimes
ArrivalInfo[0..1] : ArrivalInfo
AimedDepartureTimes[0..1] : AimedDepartureTimes
DepartureInfo[0..1] : DepartureInfo
HeadwayInfo[0..1] : HeadwayInfo
Extensions[0..1] : any
1
departure
departure
1
1
1
«group»CallInfo
TimingPoint[0..1] : boolean
BoardingStretch[0..1] : boolean
RequestStop[0..1] : boolean
DestinationDisplay[0..1] : populatedString
arrival
0..1
«group»ArrivalInfo
ArrivalStatus[0..1] : TimeStatusEnum
ArrivalPlatformName[0..1] : populatedString
ArrivalBoardingActivity[0..1] : ArrivalActivityEnum
0..1
«group»ArrivalTimes
0..1
0..1
disruption
1
AimedArrivalTime[0..1] : dateTime
ActualArrivalTimes[0..1] : dateTime
ExpectedArrivalTime[0..1] : dateTime
10..1
arrival times
0..1
1
0..1
1
«group»DepartureInfo
departure
DepartureStatus[0..1] : TimeStatusEnum
DeparturePlatformName[0..1] : populatedString
DepartureBoardingActivity[0..1] : DepartureActivityEnum
0..1
«group»DepartureTimes
«group»HeadwayInfo
0..1
AimedHeadWayInterval[0..1] : positiveDuration
ExpectedHeadwayInterval[0..1] : positiveDuration
times
0..1
AimedDepartureTime[0..1] : dateTime
ActualDepartureTimes[0..1] : dateTime
ExpectedDepartureTime[0..1] : dateTime
0..1
SIRI
MonitoredVehicleJourney
© 2006 SIRI
0..1
«group»AimedDepartureTimes
«group»AimedArrivalTimes
AimedArrivalTime[0..1] : dateTime
ExpectedArrivalTime[0..1] : dateTime
AimedDepartureTime[0..1] : dateTime
*
: dateTime
ExpectedDepartureTime[0..1]
arrival
Figure 5-6 Monitored vehicle Journey detail
© Copyright Kizoom 2006-2007
Page 38
SIRI Functional Services - UML Diagrams
EXAMPLES OF LIVE SERVICES THAT USE SIRI-SM
MAP BASED WEB DEPARTURE BOARDS
http://www.leicestertravel.info.
.
WAP MOBILE DEPARTURE BOARDS
SMS DEPARTURE BOARDS
UK National SMS service SMS to 84268
© Copyright Kizoom 2006-2007
Page 39
SIRI Functional Services - UML Diagrams
6. SIRI VEHICLE MONITORING (VM)
The SIRI Vehicle Monitoring Service reports the position and other real-time properties of a vehicle or
group of vehicles making monitored journeys in real-time. It can be used for example to monitor the
progress of vehicles; to provide information for systems which present visualisations of the
movement of vehicles, for instance on maps, lists or line diagrams; and to exchange information
about roaming vehicles between control centres. A particular use is to log data.
SIRI-VM: SUBSCRIPTION & REQUEST
VEHICLEMONITORINGREQUEST SUMMARY
The VehicleMonitoringRequest (Figure 6-1) is used to request real-time data for a vehicle or vehicles.
The vehicles can be identified by an arbitrary prearranged grouping, a VehicleMonitoringRef –or
other criteria such a Line (e.g. ‘N45’), Direction, or individual VehicleRef.

The Topics allow a Consumer system to specify that only vehicle movements for a specific
Vehicle Monitoring group, Line, or Line Direction or Vehicle are to be returned.

The Request Policies allow a Consumer system to control the amount of data returned.

The Subscription Policies allow a Consumer system to control the change threshold for
update.
subscription requests
requestor
SIRI-VM – Summary
VehicleMonitoringSubscription
& VehicleMonitoringRequest
SubscriptionRequest
1
1
0..*
requestor
Participant
1
© 2007 SIRI
0..*
0..*
1
policies
VehicleMonitoringSubscriptionRequest
request
ServiceRequest
0..1
1
VehicleMonitoringSubscriptionPolicies
1
IncrementalUpdates[0..1]
ChanegBeforeUpdate[0..1]
1
requests
policies
VehicleMonitoringRequest
0..*
1
topics1
0..1
line
VehicleMonitor
0..1
0..*
Line
0..1
0..1
monitor
vehicle
VehicleMonitoringTopics
0..*
0..*
VehicleMonitoringRef[0..1]
VehicleRef[0..1]
LineRef[0..1]
DirectionRef[0..1]
0..1
0..*
direction
Vehicle
Direction
0..1
VehicleMonitoringPolicies
Language[0..1]
MaximumVehicles[0..1]
VehicleMonitoringDetailLevel[0..1]
«enumeration»
VmDetailLevelEnum
minimum
basic
normal
calls
Figure 6-1 VehicleMonitoringRequest - Summary
© Copyright Kizoom 2006-2007
Page 40
SIRI Functional Services - UML Diagrams
VEHICLEMONITORINGREQUEST DETAIL
Figure 6-2 shows detailed attributes for a VehicleMonitoring request.
context
1
Siri Rqs::SubscriptionRequest
requestor
Siri Mdl::Participant
0..*
1
1
Siri Rqs::SubscriptionContext
0..1
requestor
RequestTimestamp[1] : dateTime
Address[0..1] : EndPointAddress
RequestorRef[1] : Participant
MessageIdentifer[0..1] : MessageQualifier
ConsumerAddress[0..1] : EndPointAddress
SubscriptionFilterIdentifier[0..1] : nmtoken
SubscriptionContext[0..1] : SubscriptionContext
0..*
SubscriberRef : ParticipantCode
SubscriptionIdentifier : SubscriptionCode
InitialTerminationTime : dateTime
subscription requests
Siri Rqs::ServiceRequest
context
1
© 2007 SIRI
Siri Rqs::AbstractFunctionalSubscriptionRequest
1
RequestContext[1] : RequestContext
RequestTimestamp[1] : dateTime
Address[1] : EndPointAddress
RequestorRef[1] : ParticipantCode
MessageIdentifer[1] : string
SIRI-VM
VehicleMonitoringSubscription
& VehicleMonitoringRequest
0..*
VehicleMonitoringSubscriptionRequest
1
requests
VehicleMonitoringRequest[1] : VehicleMonitoringRequest
VehicleMonitoringSubscriptionPolicies[0..1] : VehicleMonitoringSubscriptionPolicies
Extensions[0..1] : any
1
policies
1
request
0..1
Siri Rqs::AbstractFunctionalServiceRequest
RequestTimestamp : dateTime
MessageIdentifier : MessageQualifier
Siri Rqs::RequestContext
0..*
0..1
1
VehicleMonitoringSubscriptionPolicies
0..1
IncrementalUpdates[0..1]
ChanegBeforeUpdate[0..1] : duration
policies
VehicleMonitoringRequest
1
VM-Mdl::VehicleMonitor
VehicleMonitoringTopics[0..1] : VehicleMonitoringTopics
topics VehicleMonitoringPolicies[0..1] : StopMonitoringPolicies
Extensions[0..1] : any
monitor
1
0..1
TM-Mdl::Vehicle
0..1
VehicleMonitoringTopics
0..1
vehicle 0..*
VehicleMonitoringRef[0..1] : MonitoringCode
VehicleRef[0..1] : VehicleCode
LineRef[0..1] : LineCode
DirectionRef[0..1] : DirectionCode
0..*line
VehicleMonitoringPolicies
Language[0..1] : lang
MaximumVehicles[0..1] : positiveInteger
VehicleMonitoringDetailLevel[0..1] : VmDetailLevelEnum
direction
0..*
0..*
0..1
0..1
TM-Mdl::Line
directions
TM-Mdl::Direction
1
0..*
«enumeration»
VM-Mdl::VmDetailLevelEnum
minimum
basic
normal
calls
Figure 6-2 VehicleMonitoringRequest - Detail
© Copyright Kizoom 2006-2007
Page 41
SIRI Functional Services - UML Diagrams
SIRI-VM: DELIVERY
VEHICLEMONITORINGDELIVERY SUMMARY
The VehicleMonitoringDelivery (Figure 5-3) is returned by the SIRI-VM service and normally contains
one or more VehicleActivity elements for each monitored vehicle, each recording a
MonitoredVehicleJourney with at least some ProgressInfo, such as the current Location. The level of
detail to include may vary considerably; for example, the calling pattern of previous, current and
onward calls may be included for each journey. Previously active vehicles may be removed with a
VehicleActivityCancellation.
0..*
producer
1
ProducerResponse
SIRI-VM Summary
VehicleMonitoringDelivery
Participant
© 2006 SIRI
errors
ServiceDelivery
See Monitored
Vehicle Journey
Diagrams for
details
ErrorCondition
deliveries
1
0..1
0..*
1
1
activity
cancellation
VehicleMonitoringDelivery
0..*
0..*
1
VehicleActivity
1
progress
0..1
ProgressBetweenStops
VehicleActivityCancellation
cancels
ValidUntilTime[1]
VehicleMonitoringRef[1]
1
ProgressBetweenStops[0..1]
MonitoredVehicleJourney[1]
monitor
VehicleActivityNote[0..*]
Extensions[0..1]
0..*
journey
0..1
1
0..1
0..1
VehicleMonitor
1
LinkDistance[0..1] : decimal
Percentage[0..1] : decimal
monitor
1
0..1
JourneyPattern
0..*
pattern
«group»
0..1
JourneyPatternInfo
1
operational
1
disruption
Block
0..1
block
0..* 0..1
«group»
Siri Mdl::OperationalInfo
0..1
MonitoredVehicleJourneyIdentity[1]
JourneyPatternInfo[1]
VehicleJourneyInfo[1]
DisruptionInfo[0..1]
JourneyProgress[0..1]
TrainBlockPart[0..1]
OperationalInfo[0..1]
PreviousCalls[0..*]
MonitoredCall[0..1]
OnwardCalls[0..*]
IsCompleteCallSequence[0..1]
Extensions[0..1]
0..*
«group»
0..1
situation DisruptionInfo
1
1..1
progress
«enumeration»
OccupancyEnum
full
seatsAvailable
standingAvailable
1
«group»
ProgressInfo
Monitored[0..1]
MonitoringError[0..1]
InCongestion[0..1]
InPanic[0..1]
PredictionInaccurate[0..1]
DataSource[0..1]
ConfidenceLevel[0..1]
VehicleLocation[0..1]
Bearing[0..1]
ProgressRate[0..1]
Occupancy[0..1]
Delay[0..1]
ProgressStatus[0..1]
0..1
0..*
MonitoredCall
journey1
«group»
MonitoredJourneyIdentity
LineRef[0..1]
DirectionRef[0..1]
FramedVehicleJourneyRef[1..1]
1
journey info
departure
«enumeration»
ProgressRateEnum
noProgress
slowProgress
normalProgress
fastProgress
unknown
1location
0..1
onward 0..1
0..*
OnwardCall
0..1
Location
id[0..1]
srsName[0..1]
Longitude[0..1]
Latitude[0..1]
Coordinates[0..1]
Precision[0..1]
0..1
0..*
Line
directions
direction
1
0..1
«group»
VehicleJourneyInfo
ServiceInfo[0..1]
OriginRef[0..1]
DestinationName[0..1]
OriginShortName[0..1]
Via[0..*]
DestinationRef[0..1]
DestinationName[0..1]
DestinationShortName[0..1]
VehicleJourneyNote[0..1]
JourneyNote[0..1]
HeadwayService[0..1]
OriginAimedDepartureTime[0..1]
DestinationAimedDepartureTime[0..1]
1
1
departure
0..1
0..*
0..* line
1
Direction
1
Siri Mdl::PreviousCall
0..1
0..*
0..*
1
0..1
VehicleAtStop[0..1]
VehicleLocationAtStop[0..1]
ReversesAtStop[0..1]
PlatformTraversal[0..1]
SignalStatus[0..1]
CallNote[0..1]
Disruption[0..1]
ArrivalTimes[0..1]
ArrivalInfo[0..1]
DepartureTimes[0..1]
DepartureInfo[0..1]
HeadwayInfo[0..1]
Extensions[0..1]
frame
«group»
FramedVehicleJourneyRef
identity
1 current
1
DataFrame
journey
1
Situation
previous
0..*
DatedVehicleJourney
MonitoredVehicleJourney
pattern info
VehicleMonitoringRef[1]
VehicleJourneyRef[1]
LineRef[1]
DirectionRef[1]
JourneyPatternInfo[0..1]
Reason[0..1]
Extensions[0..1]
«group»
DepartureInfo
DepartureStatus[0..1]
DeparturePlatformName[0..1]
DepartureBoardingActivity[0..1]
info
0..1
«group»
ServiceInfo
OperatorRef[0..1]
ProductCategoryRef[0..1]
ServiceFeatureRef[0..*]
VehicleFeatureRef[0..*]
Operator
0..1
operator
0..*
«enumeration»
TimeStatusEnum
early
onTime
delayed
arrived
cancelled
noReport
Figure 6-3 VehicleMonitoringDelivery - Summary
© Copyright Kizoom 2006-2007
Page 42
SIRI Functional Services - UML Diagrams
USE OF MONITOREDVEHICLEJOURNEY ELEMENT FOR SIRI-VM
See also discussion of Passing times and Stop Identifiers under the SIRI-SM service
LEVELS OF DETAIL
The MonitoredVehicleJourney element represents an individual vehicle journey that is being
monitored: it can be populated with different amounts of data for different applications. For example,
for a simple tracking use Vehicle Monitoring service, it might contain just information about the
location of the vehicle at the monitored stop (if say the requested DetailLevel=normal), or it might
also included predicted times at all the subsequent stops along the route (if say DetailLevel=calls).
DetailLevel
Definition.
Purpose
minimum
Return only minimum data: Location
Used for exchanging just real-time
data between systems that are not
concerned with other details.
basic
Return useful basic minimum data to identify the
vehicle journey – e.g. Line id - and supply simple
ProgressInfo such as a current location,
Used to drive simple movement
displays displays with limited space
that show just lines and passing
times and line numbers.
normal
Return a single MonitoredCall at the current or next
stop for each MonitoredVehicleJourney, populated
with times, stop id, Stop name, DestinationDisplay
values (i.e. headings), status etc.
Use for on and off board next stop
displays and visualisations.
calls
Return additional information including current
MonitoredCall, Onwards, and Previous elements
with the previous and onward calling pattern,
modulated by the NumberOfCalls on the request.
Use for exchanging data for roaming,
or for replicating current vehicle
prediction
data
to
distribution
systems. Also can be used to feed
historical logging services that want
to record all the predictions at a given
moment in time.
full
Return all information including full calling pattern,
operational data (BlockRef, VehicleRef, etc),
progress data, journey pattern references etc
Used for sending data to consumer
systems that do not have all the
reference data already
Table 6-1 VehicleMonitoringRequest Detail Levels
LOCATION
The ProgressInfo group of a MonitoredVehicelJourney can include the vehicle’s current location as a
set of coordinates of a specified data reference system, e.g. WGS84.
The static coordinates of stops are part of the STOP PLACE model and are not normally included in
messages.
© Copyright Kizoom 2006-2007
Page 43
SIRI Functional Services - UML Diagrams
VEHICLEMONITORINGDELIVERY DETAIL
Figure 6-4 shows more detailed attributes of VehicleMonitoringDelivery, many of which are
concerned with supplying references to associated entities. The detailed model of a
MonitoredVehicleJourney is the same as for the StopMonitoring service, but will be populated
differently
SIRI-VM
VehicleMonitoringDelivery
Siri Rqs::ProducerResponse
0..1
producer
Siri Mdl::Participant
© 2006 SIRI
1 0..*
subscriber
Siri Rqs::AbstractFunctionalServiceDelivery
0..*
ResponseTimeStamp[1] : dateTime
RequestMessageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
errors
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
SubscriptionRef[0..1] : SubscriptionCode
0..1
errors
Address[0..1] : EndPointAddress
1
ResponseMessageIdentifier[0..1] : MessageQualifier
Siri Rqs::ErrorCondition
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
Error[1] : AbstractError
0..1
ValidUntil[0..1] : dateTime
Description[1] : ErrorDescription
ShortestPossibleCycle[0..1] : positiveDuration
0..*
Siri Rqs::AbstractItem
Siri Rqs::ServiceDelivery
1
Status : boolean
ErrorCondition : ErrorCondition
MoreData : boolean
1
deliveries
VehicleMonitoringDelivery
1
RecordedAtTime[1] : dateTime
ResponseTimeStamp : dateTime
ProducerRef : ParticipantCode
Address : EndPointAddress
ResponseMessageIdentifier : MessageQualifier
RequestMessageRef : MessageQualifier
cancellation
version[1] : versionString
Extensions[1]
1
Siri Rqs::AbstractIdentifiedItem
IdentifiedItemCode[0..1] : IdentifiedItemCode
Siri Rqs::AbstractReferencedItem
activity
IdentifiedItemRef[0..1] : IdentifiedItemCode
0..*
0..*
VehicleActivity
ValidUntilTime[1] : dateTime
VehicleMonitoringRef[1] : MonitoringCode
ProgressBetweenStops[0..1] : ProgressBetweenStops
MonitoredVehicleJourney[1] : MonitoredVehicleJourney
VehicleActivityNote[0..*] : populatedString
Extensions[0..1] : any
0..1
1
VehicleActivityCancellation
0..*
0..1
VehicleMonitoringRef[1] : VehicleMonitor
VehicleJourneyRef[1] : FramedVehicleJourneyRef
LineRef[1] : LineCode
DirectionRef[1] : DirectionCode
JourneyPatternInfo[0..1] : JourneyPatternInfo
Reason[0..1] : populatedString
Extensions[0..1] : any
cancels
journey
1
TM-Mdl::DataFrame
1
0..1
frame
journey
journey
1
TM-Mdl::DatedVehicleJourney
0..1
0..*
LinkDistance[0..1] : decimal
Percentage[0..1] : decimal
location0..1
1
0..1
0..*
VM-Mdl::ProgressBetweenStops
Loc Mdl::Location
0..1
0..*
VM-Mdl::VehicleMonitor
«group»
Siri Mdl::FramedVehicleJourneyRef
1
0..*
journey
1
0..1
MonitoredVehicleJourneyIdentity[1] : MonitoredJourneyIdentity
JourneyPatternInfo[1] : JourneyPatternInfo
VehicleJourneyInfo[1] : VehicleJourneyInfo
DisruptionInfo[0..1] : DisruptionInfo
JourneyProgress[0..1] : ProgressInfo
TrainBlockPart[0..1] : TrainBlockPart
OperationalInfo[0..1] : OperationalInfo
PreviousCalls[0..*] : PreviousCall
MonitoredCall[0..1] : MonitoredCall
OnwardCalls[0..*] : OnwardCall
IsCompleteCallSequence[0..1] : boolean
Extensions[0..1] : any
onward
current
previous
1
1
1
0..*
0..1
Siri Mdl::PreviousCall
Siri Mdl::OnwardCall
0..*
Siri Mdl::MonitoredCall
0..1
info
1
TM-Mdl::Line
0..1
«group»
Siri Mdl::ServiceInfo
0..1
0..1
operator
TM-Mdl::Operator
0..*
0..1
pattern
TM-Mdl::JourneyPattern
0..1
0..*
1
1
1
line
«group»
Siri Mdl::JourneyPatternInfo
operational
0..*
TM-Mdl::Direction
1
0..*
«group»
identity Siri Mdl::MonitoredJourneyIdentity
1..1
journey info
«group»
1
1
1
Siri Mdl::VehicleJourneyInfo
0..1
Siri Mdl::MonitoredVehicleJourney
pattern info
«group»
Siri Mdl::ProgressInfo
progress
0..*
direction
route
0..*
0..1
TM-Mdl::Route
0..1
«group»
Siri Mdl::OperationalInfo
block
0..*
1
disruption
0..1
TM-Mdl::Block
0..1
«group»
Siri Mdl::DisruptionInfo
situation
See Monitored
Vehicle Journey
Diagrams for
details
0..*
0..1
Siri Mdl::Situation
Figure 6-4 VehicleMonitoringDelivery - Detail
© Copyright Kizoom 2006-2007
Page 44
SIRI Functional Services - UML Diagrams
7. SIRI PRODUCTIONTIMETABLE (PT)
The SIRI Production Timetable Service transmits daily timetables that include any planned updates
that are known about at the time of transmission. The service is used typically to communicate
between Scheduling systems and AVMS systems, and also between AVMS systems and intelligent
clients of the AVMS system to distributed the latest timetables. The timetables exchanged should
cover all lines covered by the AVMS system. SIR-PT may be used in conjunction with the SIRI
Estimated Timetable service to provide a base timetable.
The SIRI Production Timetable Service is also used to transmit the planned interchanges between
journeys, including information about the linking of vehicle parts through the interchange, such as
whether passengers are able to remain seated in the vehicle.

The Request Topics allow a Consumer system to specify that only timetables for a specific
timetable version. Operator, line, or direction are to be returned.

The Delivery can include the times at stops, block and journey pattern information, and
information about available connections.
SIRI-PT: SUBSCRIPTION & REQUEST
PRODUCTIONTIMETABLEREQUEST SUMMARY
requestor
Participant
1
SubscriptionRequest
1
requestor
0..*
SIRI-PT Summary
ProductionTimetableSubscription
& ProductionTimetableRequest
requests
1
© 2007 SIRI
0..*
0..*
policies
ProductionTimetableSubscriptionRequest
ServiceRequest
1
0..1
1
request
1
ProductionTimetableSubscriptionPolicies
requests
0..*
1
policies
ProductionTimetableRequest
1
0..1
topics
1
TimetableVersion
version
0..*
line
0..1
Language[0..1]
IncrementalUpdates[0..1]
ProductionTimetableTopics
operator
Operator
ProductionTimetablePolicies
0..1
0..1
0..*
0..*
ValidityPeriod[0..1]
TimetableVersionRef[0..1]
OperatorRef[0..1]
LineRef[0..1]
DirectionRef[0..1]
period
1
0..1
0..1
direction 0..*
Line
Direction
0..1
ValidityPeriod
StartTime[1]
EndTime[1]
Figure 7-1 ProductionTimeTableRequest - Summary
© Copyright Kizoom 2006-2007
Page 45
SIRI Functional Services - UML Diagrams
PRODUCTIONTIMETABLEREQUEST DETAIL
Figure 7-2 shows the detailed attributes of the ProductionTimetableRequest which is used to request
the timetable of a given service or services
Timetables may be requested by operator, Line Direction, Operator and Destination.
context
Siri Rqs::SubscriptionContext
Siri Rqs::SubscriptionRequest
requestor
Siri Mdl::Participant
1
1
RequestTimestamp[1] : dateTime
Address[0..1] : EndPointAddress
RequestorRef[1] : Participant
MessageIdentifer[0..1] : MessageQualifier
ConsumerAddress[0..1] : EndPointAddress
SubscriptionFilterIdentifier[0..1] : nmtoken
SubscriptionContext[0..1] : SubscriptionContext
0..*
1
0..1
1
SIRI-PT
ProductionTimetableSubscription
& ProductionTimetableRequest
1
subscriber
© 2007 SIRI
requests
requestor
Siri Rqs::AbstractFunctionalSubscriptionRequest
SubscriberRef[1] : ParticipantCode
SubscriptionIdentifier[1] : SubscriptionCode
InitialTerminationTime[1] : dateTime
0..*
0..*
0..*
Siri Rqs::ServiceRequest
RequestContext[1] : RequestContext
RequestTimestamp[1] : dateTime
Address[1] : EndPointAddress
RequestorRef[1] : ParticipantCode
MessageIdentifer[1] : string
ProductionTimetableSubscriptionRequest
ProductionTimetableRequest[1] : ProductionTimetableRequest
ProductionTimetableSubscriptionPolicies[0..1] : ProductionTimetableSubscriptionPolicies
Extensions[0..1] : any
1
context
1
1
policies
1
request
requests
0..1
Siri Rqs::AbstractFunctionalServiceRequest
RequestTimestamp[1] : dateTime
MessageIdentifier[0..1] : MessageQualifier
Siri Rqs::RequestContext
0..*
0..1
1
ProductionTimetableSubscriptionPolicies
ProductionTimetableRequest
policies
ProductionTimetableTopics[0..1] : ProductionTimetableTopics
ProductionTimetablePolicies[0..1] : ProductionTimetablePolicies
Extensions[0..1] : any
topics
1
TM-Mdl::TimetableVersion
0..1
0..1
0..1
version
0..1
operator
ProductionTimetablePolicies
0..*
0..*
ValidityPeriod[0..1]
TimetableVersionRef[0..1] : TimetableVersionCode
OperatorRef[0..1] : OperatorCode
LineRef[0..1] : LineCode
DirectionRef[0..1] : DirectionCode
period
line
0..*
TM-Mdl::Line
1
0..*
0..1
0..1
directions
Language[0..1] : lang
IncrementalUpdates[0..1] : boolean
ProductionTimetableTopics
TM-Mdl::Operator
1
1
Siri Mdl::ValidityPeriod
0..*
direction
StartTime[1] : dateTime
EndTime[1] : dateTime
TM-Mdl::Direction
0..1
Figure 7-2 ProductionTimetableRequest - Detail
© Copyright Kizoom 2006-2007
Page 46
SIRI Functional Services - UML Diagrams
SIRI-PT: DELIVERY
PRODUCTIONTIMETABLEDELIVERY SUMMARY
In essence the ProductionTimetableDelivery returns a timetable as a Versioned set of
DatedVehicleJourney instances, each having two or more DatedCalls, as shown in Figure 7-3 which
also shows attributes and associated entity references, for example that that a DatedVehicleJourney
may have JourneyPatternInfo and ServiceInfo. DatedCalls may also have TargetedInterchange
elements giving information about timetabled connections.
0..*
1
producer
ProducerResponse
SIRI - PT Summary
ProductionTimetableDelivery
Participant
© 2006 SIRI
errors
deliveries 1
ErrorCondition
ServiceDelivery
Operator
0..1
operator
0..*
TimetableVersion
VehicleFeature
0..*
Line
0..*
0..1category
version
DatedTimetableVersionFrame
directions
0..1 feature 0..*
0..1
1
line
ProductCategory
VersionRef[0..1]
LineRef[1]
0..*
DirectionRef[1]
JourneyPatternInfo[0..1]
1
ServiceInfo[0..1]
DatedVehicleJourneyInfo[0..1]
Extensions[0..1]
pattern
1
0..*
0..*
Direction
0..*
«group»
JourneyPatternInfo
stops JourneyPatternRef[0..1]
VehicleMode[0..1]
RouteRef[0..1]
PublishedLineName[0..1]
DirectionName[0..1]
ExternalLineRef[0..1]
0..1
0..1 service
1
0..*
TargetedInterchange
DatedCall
stop point
call arrival
CourseOfJourney
1
2..*
mode
0..*
0..1
1
0..1
journey info
calls
0..1
«group»
StopPointInSequence
StopPointRef[1]
VisitNumber[0..1]
Order[0..1]
StopPointName[0..1]
DatedVehicleJourneyCode[0..1]
VehicleJourneyRef[0..1]
ExtraJourney[0..1]
0..*
Cancellation[0..1]
JourneyPatternInfo[0..1]
ServiceInfo[0..1]
VehicleJourneyNote[0..1]
1
JourneyNote[0..1]
BlockRef[0..1]
run
CourseOfJourneyRef[0..1]
0..*
Calls[0..*]
Extensions[0..1]
0..1
0..1
Route
2..*
0..1
block
DatedVehicleJourney
Mode
0..* route
«group»
ServiceInfo
OperatorRef[0..1]
ProductCategoryRef[0..1]
ServiceFeatureRef[0..*]
VehicleFeatureRef[0..*]
Block
0..*
0..1
pattern
0..1
feature
0..*
VehicleJourney
«group»
DatedVehicleJourneyInfo
DestinationDisplay[0..1]
LineNote[0..1]
HeadwayService[0..1]
Monitored[0..1]
pattern
JourneyPattern
0..*
journeys
0..1
1
0..*
timetables
ProductionTimetableDelivery
1
ServiceFeature
0..1
1
StopPointInSequence[1]
CallInfo[0..1]
CallNote[0..1]
FacilityChange[0..1]
AimedArrivalInfo[0..1]
AimedDepartureInfo[0..1]
AimedHeadwayInterval[0..1]
Extensions[0..1]
1
0..1
connection
1
0..*
call departure
1 call 1
0..1
InterchangeCode[0..1]
DistributorVehicleJourneyRef[1]
DistributorConnectionLinkRef[0..1]
DistributorConnectionLink[0..1]
DistributorVisitNumber[0..1]
DistributorOrder[0..1]
StaySeated[0..1]
Guaranteed[0..1]
Advertised[0..1]
MaximumWaitTime[0..1]
Extensions[0..1]
1
0..1
0..*
0..*
at
«group»
CallInfo
TimingPoint[0..1]
BoardingStretch[0..1]
RequestStop[0..1]
DestinationDisplay[0..1]
«group»
AimedArrivalInfo
AimedArrivalTime[0..1]
ArrivalPlatformName[0..1]
ArrivalBoardingActivity[0..1]
«group»
AimedDepartureInfo
AimedDepartureTime[0..1]
DeparturePlatformName[0..1]
DepartureBoardingActivity[0..1]
connection link
0..1
1
StopPoint
«enumeration»
ArrivalActivityEnum
alighting
noAlighting
passThru
0..1
«enumeration»
DepartureActivityEnum
boarding
noBoarding
passThru
ref
0..1
ConnectionLink
to stop
0..*
ConnectionLinkCode[0..1]
StopPointRef[0..1]
StopPointName[0..1]
DefaultDuration[0..1]
FrequentTravellerDuration[0..1]
OccasionalTravellerDuration[0..1]
ImpairedAccessDuration[0..1]
Figure 7-3 ProductionTimetableDelivery - Summary
© Copyright Kizoom 2006-2007
Page 47
SIRI Functional Services - UML Diagrams
PRODUCTIONTIMETABLEDELIVERY DETAIL
Figure 7-4 shows attribute types for a ProductionTimetableDelivery as well.
1
Participant
ProducerResponse
1
AbstractServiceDelivery
1
ResponseTimeStamp[1] : dateTime
RequestMesageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
SubscriptionRef[0..1] : SubscriptionCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
ValidUntil[0..1] : dateTime
ShortestPossibleCycle[0..1] : positiveDuration
1
ResponseTimeStamp[1] : dateTime
ProducerRef[0..1] : ParticipantCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
RequestMessageRef[0..1] : MessageQualifier
SIRI -PT
ProductionTimetableDelivery
0..1
© 2006 SIRI
ServiceDelivery
1
1
ErrorCondition
Error[1] : AbstractError
Description[1] : ErrorDescription
0..1Status[0..1] : boolean
ErrorCondition[1] : ErrorCondition
MoreData[1] : boolean
1
0..*
JourneyPattern
Mode
1
AbstractItem
TimetableVersion
0..1
1
ProductionTimetableDelivery
0..1
DatedTimetableVersionFrame
default
1
1
0..1
ServiceInfo
OperatorRef[0..1] : OperatorCode
ProductCategoryRef[0..1] : ProductCategoryCode
ServiceFeatureRef[0..*] : ServiceFeatureCode
VehicleFeatureRef[0..*] : VehicleFeatureCode
0..1
VehicleJourney
journeys
1
0..1
DestinationDisplay[0..1] : populatedString
DatedVehicleJourneyCode[0..1] : DatedVehicleJourneyCode
0..1
info LineNote[0..1] : populatedString
journey
VehicleJourneyRef[0..1] : VehicleJourneyCode
HeadwayService[0..1] : boolean
ExtraJourney[0..1] : boolean
1
Monitored[0..1] : boolean
Cancellation[0..1] : boolean
0..1
JourneyPatternInfo[0..1] : JourneyPatternInfo
ServiceInfo[0..1] : ServiceInfo
pattern
1
VehicleJourneyNote[0..1] : populatedString
JourneyNote[0..1] : populatedString
BlockRef[1] : BlockCode
StopPointInSequence
1 stop point
CourseOfJourneyRef[1] : CourseOfJourneyCode
StopPointRef[1] : StopPointCode
Extensions[0..1] : any
VisitNumber[0..1] : VisitNumber
1
Order[0..1] : positiveInteger
0..1
1
1
StopPointName[0..1] : populatedString
calls
run
1
block
0..1
Block
DatedCall
0..1
CourseOfJourney 0..1
call 2..*1
CallInfo
TimingPoint[0..1] : boolean
BoardingStretch[0..1] : boolean
RequestStop[0..1] : boolean
DestinationDisplay[0..1] : populatedString
0..1stops
DatedVehicleJourneyInfo
DatedVehicleJourney
0..*
1
JourneyPatternRef[0..1] : JourneyPatternCode
VehicleMode[0..1] : VehicleModesEnum
RouteRef[0..1] : RouteCode
PublishedLineName[0..1] : populatedString
DirectionName[0..1] : populatedString
ExternalLineRef[0..1] : LineCode
default
1
1
0..1
JourneyPatternInfo
default
0..*
VersionRef[0..1] : TimetableVersionCode
LineRef[1] : LineCode
DirectionRef[1] : DirectionCode
JourneyPatternInfo[0..1] : JourneyPatternInfo
ServiceInfo[0..1] : ServiceInfo
DatedVehicleJourneyInfo[0..1] : DatedVehicleJourneyInfo
Extensions[0..1] : any
1
1
1
0..1
Route
0..1
version[1] : VersionString
Extensions[0..1] : any
timetables
-RecordedAtTime[1] : dateTime
TargetedInterchange
StopPoint
1
1
0..1
0..1
AimedArrivalInfo
StopPointInSequence[1] : StopPointInSequence
CallInfo[0..1] : CallInfo
CallNote[0..1] : populatedString
FacilityChange[0..1] : FacilityChange
AimedArrivalInfo[0..1] : AimedArrivalInfo
AimedDepartureInfo[0..1] : AimedDepartureInfo
AimedHeadwayInterval[0..1] : positiveDuration
Extensions[0..1] : any
InterchangeCode[0..1] : InterchangeCode
DistributorVehicleJourneyRef[1] : DatedVehicleJourneyCode
DistributorConnectionLinkRef[0..1] : ConnectionLinkCode
DistributorConnectionLink[0..1] : ConnectionLink
DistributorVisitNumber[0..1] : VisitNumber
DistributorOrder[0..1] : positiveInteger
StaySeated[0..1] : boolean
Guaranteed[0..1] : boolean
Advertised[0..1] : boolean
MaximumWaitTime[0..1] : positiveDuration
Extensions[0..1] : any
2..*
AimedArrivalTime[0..1] : dateTime
ArrivalPlatformName[0..1] : populatedString
ArrivalBoardingActivity[0..1] : ArrivalActivityEnum
1
to stop
1
0..1
1
AimedDepartureInfo
AimedDepartureTime[0..1] : dateTime
DeparturePlatformName[0..1] : populatedString
DepartureBoardingActivity[0..1] : DepartureActivityEnum
connection
0..*
ConnectionLink
ref
1{OR}
0..1
0..1
ConnectionLinkCode[0..1] : ConnectionLinkCode
StopPointRef[0..1] : StopPointCode
StopPointName[0..1] : populatedString
DefaultDuration[0..1] : positiveDuration
FrequentTravellerDuration[0..1] : positiveDuration
OccasionalTravellerDuration[0..1] : positiveDuration
ImpairedAccessDuration[0..1] : positiveDuration
1
1
Figure 7-4 ProductionTimetableDelivery - Detail
© Copyright Kizoom 2006-2007
Page 48
SIRI Functional Services - UML Diagrams
8. SIRI ESTIMATEDTIMETABLE (ET)
The SIRI Estimated Timetable service is used by an AVMS or real-time hub to inform interested
systems of the current status of all known vehicle journeys. This enables schedule information
systems to provide up-to-the-minute information for short-term journey planning. It can also be used
to support intelligent displays that calculate the deviations from the timetables themselves using a
timetable and a real time difference delay by the SIRI Stop Monitoring Service. A further use is the
historic logging of changes to journey times. It can be used to exchange changes to a timetable
established by the SIRI Production timetable service.

The Request Topics allow a Consumer system to specify that only timetables for a specific
timetable version. Operator, Line, or Direction are to be returned.

The Subscription Policies allow a subscriber to specify the amount of change to allow before
sending an update.

The Delivery returns predicted real-time changes to the timetable.
SIRI-ET: SUBSCRIPTION & REQUEST
ESTIMATEDTIMETABLEREQUEST SUMMARY
requestor
subscriptions
1
SubscriptionRequest
0..*
1
Participant
*
1
policies
requestor
EstimatedTimetableSubscriptionRequest
1
0..*
0..1
1
request
ServiceRequest
EstimatedTimetableSubscriptionPolicies
requests
IncrementalUpdates[0..1]
ChangeBeforeUpdate[0..1]
1
0..*
*
policies
SIRI-ET Summary
EstimatedTimeTableSubscription
& EstimatedTimeTableRequest
EstimatedTimetableRequest
0..1
1
1
© 2006 SIRI
EstimatedTimetablePolicies
topics
Language[0..1]
0..*
0..1
0..*
version
TimetableVersion
0..*
0..1
operator
Operator
line
EstimatedTimetableTopics
PreviewInterval[0..1]
TimetableVersionRef[0..1]
OperatorRef[0..1]
LineRef[0..1]
DirectionRef[0..1]
Line
0..1
0..*
direction
0..*
Direction
0..1
Figure 8-1 EstimatedTimetableRequest - Summary
© Copyright Kizoom 2006-2007
Page 49
SIRI Functional Services - UML Diagrams
ESTIMATEDTIMETABLEREQUEST DETAIL
Figure 8-2 shows the detailed attributes of the EstimatedTimetableRequest which is used to request
the real-time timetable of a given service or services.
Timetables may be requested by operator, Line, Direction, Operator and Destination.
Siri Rqs::SubscriptionRequest
requestor
0..*
1
Siri Mdl::Participant
1
1
Siri Rqs::SubscriptionContext
HeartbeatInterval[0..1] : duration
0..1
1
subscriptions
1
Siri Rqs::AbstractFunctionalSubscriptionRequest
subscriber
requestor
context
RequestTimestamp[1] : dateTime
Address[0..1] : EndPointAddress
RequestorRef[1] : Participant
MessageIdentifer[0..1] : MessageQualifier
ConsumerAddress[0..1] : EndPointAddress
SubscriptionFilterIdentifier[0..1] : nmtoken
SubscriptionContext[0..1] : SubscriptionContext
SubscriberRef[1] : ParticipantCode
SubscriptionIdentifier[1] : SubscriptionCode
InitialTerminationTime[1] : dateTime
0..*
*
EstimatedTimetableSubscriptionRequest
0..*
EstimatedTimetableRequest[1] : EstimatedTimetableRequest
EstimatedTimetableSubscriptionPolicies[0..1] : EstimatedTimetableSubscriptionPolicies
Extensions[0..1] : any
Siri Rqs::ServiceRequest
RequestContext[1] : RequestContext
RequestTimestamp[1] : dateTime
Address[1] : EndPointAddress
RequestorRef[1] : ParticipantCode
MessageIdentifer[1] : string
requests
1policies
0..1
EstimatedTimetableSubscriptionPolicies
0..1
request
1
IncrementalUpdates[0..1] : boolean
ChangeBeforeUpdate[0..1] : duration
context
1
Siri Rqs::AbstractFunctionalServiceRequest
RequestTimestamp[1] : dateTime
MessageIdentifier[0..1] : MessageQualifier
0..*
0..1
Siri Rqs::RequestContext
1
policies
EstimatedTimetableRequest
EstimatedTimetableTopics[0..1] : EstimatedTimetableTopics
EstimatedTimetablePolicies[0..1] : ProductionTimetablePolicies
Extensions[0..1] : any
1
version
TM-Mdl::TimetableVersion
1
0..*
0..1
0..1
0..1
operator
EstimatedTimetableTopics
line
PreviewInterval[0..1] : duration
TimetableVersionRef[0..1] : TimetableVersionCode
OperatorRef[0..1] : OperatorCode
LineRef[0..1] : LineCode
DirectionRef[0..1] : DirectionCode
TM-Mdl::Operator
0..*
0..1
TM-Mdl::Line
topics
directions
0..1
0..*
1
0..*
0..*
direction
EstimatedTimetablePolicies
Language[0..1] : lang
SIRI-ET
EstimatedTimeTableSubscription
& EstimatedTimeTableRequest
© 2006 SIRI
TM-Mdl::Direction
0..1
Figure 8-2 EstimatedTimetableRequest - Detail
SIRI-ET: DELIVERY
© Copyright Kizoom 2006-2007
Page 50
SIRI Functional Services - UML Diagrams
ESTIMATEDTIMETABLEDELIVERY SUMMARY
Figure 7-3 shows the attributes of an EstimatedTimetableDelivery, which the SIRI-ET service uses to
return a timetable as a versioned set of EstimatedVehicleJourney instances, each having an ordered
collection of EstimatedCalls. These structures are similar to those of a TargetedVehicleJourney
elements of the SIRI-PT service but additionally include expected times i.e. real-time predictions as
well.
0..*
1
producer
ProducerResponse
SIRI-PT - Summary
EstimatedTimeTableDelivery
Participant
© 2006 SIRI
errors
ServiceDelivery
ErrorCondition
1
deliveries
1
0..1
Operator
feature
ServiceFeature
operator
0..*
0..1
0..* 0..1
0..*
EstimatedTimetableDelivery
service
0..1
1
0..*
0..1
journeys
EstimatedJourneyVersionFrame
line
0..*
direction
0..*
1
0..1
0..*
Line
0..1pattern info 1
«group»
JourneyPatternInfo
JourneyPatternRef[0..1]
VehicleMode[0..1]
RouteRef[0..1]
PublishedLineName[0..1]
DirectionName[0..1]
ExternalLineRef[0..1]
1
mode
0..*
between
0..1
route
Mode
0..1
0..1
0..*
1
at
«group»
DatedVehicleJourneyIndirectRef
OriginRef[1]
AimedDepartureTime[1]
DestinationRef[1]
AimedArrivalTime[1]
0..*
1
2..*
«enumeration»
ArrivalActivityEnum
alighting
noAlighting
passThru
«group»
OperationalInfo
BlockRef[0..1]
CourseOfJourneyRef[0..1]
VehicleRef[0..1]
«group»
StopPointInSequence
StopPointRef[1]
VisitNumber[0..1]
Order[0..1]
StopPointName[0..1]
«group»
ArrivalInfo
ArrivalStatus[0..1]
ArrivalPlatformName[0..1]
ArrivalBoardingActivity[0..1]
0..1
«group»
AimedArrivalTimes
AimedArrivalTime[0..1]
ExpectedArrivalTime[0..1]
0..1 0..*
0..*
0..1
*
vehicle
CourseOfJourney
0..1
1
Vehicle
disruption
1
0..1
call info
«group»
DisruptionInfo
SituationRef[0..1]
FacilityChange[0..1]
«group»
CallInfo
TimingPoint[0..1]
BoardingStretch[0..1]
RequestStop[0..1]
DestinationDisplay[0..1]
0..1
1
0..*
0..*
Block
0..1 runs
run
1
operational info
calls
1
StopPoint
0..1
block
LineRef[1]
DirectionRef[1]
DatedVehicleJourneyRef[0..1]
DatedVehicleJourneyIndirectRef[0..1]
EstimatedVehicleJourneyCode[0..1]
ExtraJourney[0..1]
Cancellation[0..1]
JourneyPatternInfo[0..1]
ServiceInfo[0..1]
VehicleJourneyName[0..1]
JourneyNote[0..1]
HeadwayService[0..1]
DisruptionInfo[0..1]
Monitored[0..1]
PredictionInaccurate[0..1]
Occupancy[0..1]
OperationalInfo[0..1]
EstimatedCalls[2..*]
IsCompleteStopSequence[0..1]
Extensions[0..1]
Route
from
0..1
0..*
ProductCategory
1
EstimatedVehicleJourney
Direction
0..1
pattern
stops
feature
category
10..*
JourneyPattern
0..*
VehicleFeature
0..*
VersionRef[0..1]
Extensions[0..1]
1
«group»
ServiceInfo
OperatorRef[0..1]
ProductCategoryRef[0..1]
ServiceFeatureRef[0..*]
VehicleFeatureRef[0..*]
TimetableVersion
Association1
1 delivery
EstimatedCall
StopPointInSequence[0..1]
ExtraCall[0..1]
Cancellation[0..1]
stop
CallInfo[0..1]
DestinationDisplay[0..1]
CallNote[0..1]
FacilityChange[0..1]
AimedArrivalTimes[0..1]
1
ArrivalInfo[0..1]
AimedDepartureTimes[0..1]
DepartureInfo[0..1]
0..1 arrival HeadwayInterval[0..1]
Extensions[0..1]
0..*
1
1
departure info
«enumeration»
DepartureActivityEnum
boarding
noBoarding
passThru
1
0..1
«group»
DepartureInfo
DepartureStatus[0..1]
DeparturePlatformName[0..1]
DepartureBoardingActivity[0..1]
1headway
1
departure times
arrival times
0..1
0..1
«group»HeadwayInfo
AimedHeadWayInterval[0..1]
ExpectedHeadwayInterval[0..1]
«group»
AimedDepartureTimes
AimedDepartureTime[0..1]
ExpectedDepartureTime[0..1]
«enumeration»
TimeStatusEnum
early
onTime
delayed
arrived
cancelled
noReport
Figure 8-3 EstimatedTimetableDelivery - Summary
© Copyright Kizoom 2006-2007
Page 51
SIRI Functional Services - UML Diagrams
ESTIMATEDTIMETABLEDELIVERY DETAIL
Figure 7-4 shows the detailed attributes of an EstimatedTimetableDelivery.
SIRI-PT
EstimatedTimeTableDelivery
Siri Rqs::ProducerResponse
Siri Mdl::Participant
© 2006 SIRI
ResponseTimeStamp[1] : dateTime
ProducerRef[0..1] : ParticipantCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
RequestMessageRef[0..1] : MessageQualifier
1
producer
0..1
Siri Rqs::AbstractFunctionalServiceDelivery
0..*
0..* subscriber
ResponseTimeStamp[1] : dateTime
RequestMessageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
errors
Siri Rqs::ErrorCondition
SubscriptionRef[0..1] : SubscriptionCode
-Error : AbstractError
Address[0..1] : EndPointAddress
1
-Description : ErrorDescription
ResponseMessageIdentifier[0..1] : MessageQualifier
0..1
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
0..*
ValidUntil[0..1] : dateTime
ShortestPossibleCycle[0..1] : positiveDuration
EstimatedTimetableDelivery
TM-Mdl::TimetableVersion
-RecordedAtTime : dateTime
0..*
Siri Rqs::ServiceDelivery
1
delivery
TM-Mdl::Mode
-Status : boolean
-ErrorCondition : ErrorCondition
-MoreData : boolean
1
deliveries
0..*
0..1
TM-Mdl::Route
0..*
0..1
«group»Siri Mdl::JourneyPatternInfo
JourneyPatternRef[0..1] : JourneyPatternCode
VehicleMode[0..1] : Mode
RouteRef[0..1] : RouteCode
PublishedLineName[0..1] : populatedString
DirectionName[0..1] : populatedString
ExternalLineRef[0..1] : LineCode
version[1] : versionString
Extensions[0..1] : any
Siri Rqs::AbstractItem
0..11
1
errors
0..1
0..1
pattern
0..*
0..1
ET-Mdl::EstimatedJourneyVersionFrame
1
VersionRef[0..1] : TimetableVersionCode
Extensions[0..1] : any
1
1
0..*
TM-Mdl::Line
TM-Mdl::Direction
0..*
0..1
TM-Mdl::JourneyPattern
pattern info
0..*
0..*
1
0..1
service
1
«group»Siri Mdl::ServiceInfo
OperatorRef[0..1] : OperatorCode
ProductCategoryRef[0..1] : ProductCategoryCode
ServiceFeatureRef[0..*] : ServiceFeatureCode
VehicleFeatureRef[0..*] : VehicleFeatureCode
ET-Mdl::EstimatedVehicleJourney
0..*
LineRef[1] : LineCode
DirectionRef[1] : DirectionCode
DatedVehicleJourneyRef[0..1] : DatedVehicleJourneyCode
DatedVehicleJourneyIndirectRef[0..1] : DatedVehicleJourneyIndirectRef
EstimatedVehicleJourneyCode[0..1] : EstimatedVehicleJourney
ExtraJourney[0..1] : boolean
Cancellation[0..1] : boolean
JourneyPatternInfo[0..1] : JourneyPatternInfo
ServiceInfo[0..1] : ServiceInfo
VehicleJourneyName[0..1] : populatedString
JourneyNote[0..1] : populatedString
HeadwayService[0..1] : boolean
DisruptionInfo[0..1] : DisruptionInfo
Monitored[0..1] : boolean
PredictionInaccurate[0..1] : boolean
Occupancy[0..1] : OccupancyEnum
OperationalInfo[0..1] : OperationalInfo
EstimatedCalls[2..*] : EstimatedCall
IsCompleteStopSequence[0..1] : boolean
Extensions[0..1] : any
1
TM-Mdl::Block
operational info
1
0..*
run
0..1
0..1
1
0..*
from
0..1
«group»
Siri Mdl::DatedVehicleJourneyIndirectRef
OriginRef[1] : StopPointCode
AimedDepartureTime[1] : dateTime
DestinationRef[1] : StopPointCode
AimedArrivalTime[1] : dateTime
1
1
1
0..*
TM-Mdl::StopPoint
stop
1
SituationRef[0..1] : SituationCode
FacilityChange[0..1] : FacilityChange
0..*
1
0..1
situation
0..*
0..1
Siri Mdl::Situation
«group»
Siri Mdl::AimedArrivalTimes
-AimedArrivalTime : dateTime
-ExpectedArrivalTime : dateTime
«enumeration»
Siri Enm::TimeStatusEnum
early
onTime
delayed
arrived
cancelled
noReport
1
TM-Mdl::Operator
0..*
stops
vehicle
TM-Mdl::CourseOfJourney
ET-Mdl::EstimatedCall
calls
1
BlockRef[0..1] : BlockCode
CourseOfJourneyRef[0..1] : CourseOfJourneyCode
VehicleRef[0..1] : VehicleCode
1
«group»Siri Mdl::DisruptionInfo
0..1
0..*
«group»Siri Mdl::OperationalInfo
0..*
0..1
block
0..*
0..1
operator
StopPointInSequence[0..1] : StopPointInSequence
ExtraCall[0..1] : boolean
Cancellation[0..1] : boolean
CallInfo[0..1] : CallInfo
DestinationDisplay[0..1] : populatedString
CallNote[0..1] : populatedString
FacilityChange[0..1] : FacilityChange
AimedArrivalTimes[0..1] : ArrivalTimes
ArrivalInfo[0..1] : ArrivalInfo
0..1
AimedDepartureTimes[0..1] : DatedVehicleJourneyIndirectRef
DepartureInfo[0..1] : DepartureInfo
HeadwayInterval[0..1] : HeadwayInfo
Extensions[0..1] : any
«group»Siri Mdl::ArrivalInfo
ArrivalStatus[0..1] : TimeStatusEnum
ArrivalPlatformName[0..1] : populatedString
ArrivalBoardingActivity[0..1] : ArrivalActivityEnum
TM-Mdl::Vehicle
«group»
TM-Mdl::StopPointInSequence
StopPointRef[1] : StopPointCode
VisitNumber[0..1] : VisitNumber
Order[0..1] : positiveInteger
StopPointName[0..1] : populatedString
2..*
«group»Siri Mdl::CallInfo
1 0..1
1
TimingPoint[0..1] : boolean
BoardingStretch[0..1] : boolean
RequestStop[0..1] : boolean
DestinationDisplay[0..1] : populatedString
«group»Siri Mdl::HeadwayInfo
AimedHeadWayInterval[0..1] : positiveDuration
ExpectedHeadwayInterval[0..1] : positiveDuration
1
0..1
0..1
0..1
«group»
Siri Mdl::AimedDepartureTimes
AimedDepartureTime[0..1] : dateTime
ExpectedDepartureTime[0..1] : dateTime
1
departure info
«group»Siri Mdl::DepartureInfo
0..1
DepartureStatus[0..1] : TimeStatusEnum
DeparturePlatformName[0..1] : populatedString
DepartureBoardingActivity[0..1] : DepartureActivityEnum
Figure 8-4 EstimatedTimetableDelivery - Detail
© Copyright Kizoom 2006-2007
Page 52
SIRI Functional Services - UML Diagrams
9. SIRI STOP TIMETABLE (ST)
The SIRI Stop Timetable Service provides a timetabled for vehicle arrivals and departures at a
designated stop. It can be used to reduce the amount of information that needs to be transmitted in
real-time to stops and displays, as reference data for a Stop Monitoring Service; and provides a data
feed of the static timetables.

The Request Topics allow a Consumer system to specify that only stop timetables for a
specific monitoring point, line, or direction are to be returned.

The Delivery returns departures from the stop for a specified window.
SIRI-ST: SUBSCRIPTION & REQUEST
STOPTIMETABLEREQUEST SUMMARY
requestor
Participant
1
requestor
1
0..*
requests
SubscriptionRequest
0..*
0..*
1
request
ServiceRequest
SIRI-ST Summary
StopTimetableSubscription
& StopTimetableRequest
1
© 2007 SIRI
StopTimetableSubscriptionRequest
policies
1
1
1
requests
StopTimetableSubscriptionPolicies
policies
0..1
0..1
StopTimetableRequest
1
0..*
StopTimetablePolicies
1
Language[0..1] : lang
line
topics
0..1
monitor
Monitor
Line
StopTimetableTopics
0..*
0..1
-MonitoringWindow[0..1]
-MonitoringRef[0..1]
-LineRef[0..1]
-DirectionRef[0..1]
0..*
direction
0..1
Direction
0..*
0..1
Figure 9-1 StopTimetableRequest - Summary
© Copyright Kizoom 2006-2007
Page 53
SIRI Functional Services - UML Diagrams
STOPTIMETABLEREQUEST DETAIL
The StopTimetableRequest (Figure 9-1) is used to request stop arrival and departure data for a given
stop or stops identified by a MonitoringRef - which will normally correspond to the identifier of a
physical stop or platform, but might also be a “logical stop” which groups several departure boards.
Other criteria that can be used to filter results include Line (e.g. ‘N45’), Direction, Operator and
Destination.
Siri Rqs::SubscriptionRequest
requestor
0..*
1
Siri Mdl::Participant
subscriber
Siri Rqs::SubscriptionContext
1 0..1
1
0..*
1
1
context
RequestTimestamp[1] : dateTime
Address[0..1] : EndPointAddress
RequestorRef[1] : Participant
MessageIdentifer[0..1] : MessageQualifier
ConsumerAddress[0..1] : EndPointAddress
SubscriptionFilterIdentifier[0..1] : nmtoken
SubscriptionContext[0..1] : SubscriptionContext
requests
Siri Rqs::AbstractFunctionalSubscriptionRequest
SubscriberRef[1] : ParticipantCode
SubscriptionIdentifier[1] : SubscriptionCode
InitialTerminationTime[1] : dateTime
requestor
0..*
0..*
StopTimetableSubscriptionRequest
Siri Rqs::ServiceRequest
RequestContext[1] : RequestContext
RequestTimestamp[1] : dateTime
Address[1] : EndPointAddress
RequestorRef[1] : ParticipantCode
MessageIdentifer[1] : string
context
1
1..1
StopTimetableRequest[1] : StopTimetableRequest
StopTimetableSubscriptionPolicies[0..1] : StopTimetableSubscriptionPolicies
Extensions[0..1] : any
requests
1
request1
policies
Siri Rqs::AbstractFunctionalServiceRequest
RequestTimestamp[1] : dateTime
MessageIdentifier[0..1] : MessageQualifier
0..*
1
0..1
1
Siri Rqs::RequestContext
StopTimetableSubscriptionPolicies
StopTimetableRequest
StopTimetableTopics[0..1] : StopTimetableTopics
StopTimetablePolicies[0..1] : StopTimetablePolicies
Extensions[0..1] : any
topics
0..1
1
policies
1
StopTimetableTopics
monitor
0..1
0..*
StopTimetablePolicies
MonitoringWindow[0..1] : HalfOpenTimestampRange
MonitoringRef[0..1] : MonitoringCode
LineRef[0..1] : LineCode
DirectionRef[0..1] : DirectionCode
Language[0..1] : lang
direction
0..*
0..*
0..1
line
directions
Siri Mdl::Monitor
TM-Mdl::Line
0..1
0..1
SIRI-ST
StopTimetableSubscription
& StopTimetableRequest
© 2007 SIRI
TM-Mdl::Direction
1
0..*
Figure 9-2 StopTimetableRequest - Detail
© Copyright Kizoom 2006-2007
Page 54
SIRI Functional Services - UML Diagrams
SIRI-ST: DELIVERY
The StopTimetableDelivery (Figure 5-3) is returned by the SIRI-ST service and normally contains one
or more TargetedStopVisit elements for each monitored stop, each recording a TargetedVehicleJourney with a TargetedCall at the stop with passing times.
STOPTIMETABLEDELIVERY SUMMARY
SIRI-ST Summary
StopTimetableDelivery
ProducerResponse
© 2006 SIRI
errors
ServiceDelivery
ErrorCondition
1
0..1
1
deliveries
cancellations
TimetabledStopVisitCancellation
cancels
MonitoringRef[1]
VisitNumber[0..1]
VehicleJourneyIdentity[1]
JourneyPatternInfo[0..1]
Extensions[0..1]
StopTimetableDelivery
0..*
0..*
1
1
1
visits
MonitoringRef[1]
TargetedVehicleJourney[1]
Extensions[1]
*
«enumeration»
VehicleModesEnum
air
bus
coach
ferry
metro
rail
tram
underground
line
VehicleJourneyIdentity[1]
JourneyPatternInfo[0..*]
VehicleJourneyInfo[0..1]
MonitoringRef[0..1]
Extensions[0..1]
route
0..*
Monitor
monitor
0..*
destination0..*
«group»
StopPointInSequence
StopPointRef[1]
VisitNumber[0..1]
Order[0..1]
StopPointName[0..1]
0..1
0..1
0..*
at
stop
0..1
origin
0..*
TargetedCall
StopPointRef[0..1]
VisitNumber[1]
Order[0..1]
TimingPoint[0..1]
ServiceInfo[0..1]
AimedArrivalInfo[0..1]
AimedDepartureInfo[0..1]
AimedHeadwayInterval[0..1]
Extensions[0..1]
Mode
arrival1 info
0..*
info
1
1
departure info
«group»
AimedArrivalInfo
AimedArrivalTime[0..1]
ArrivalPlatformName[0..1]
ArrivalBoardingActivity[0..1]
«enumeration»
ArrivalActivityEnum
alighting
noAlighting
passThru
«group»
VehicleJourneyInfo
ServiceInfo[0..1]
OriginRef[0..1]
DestinationName[0..1]
OriginShortName[0..1]
Via[0..*]
DestinationRef[0..1]
DestinationName[0..1]
DestinationShortName[0..1]
VehicleJourneyNote[0..1]
JourneyNote[0..1]
HeadwayService[0..1]
OriginAimedDepartureTime[0..1]
DestinationAimedDepartureTime[0..1]
1
service info
0..*
0..1
0..1
0..1
StopPoint
0..1
monitoring point
«group»
VehicleJourneyIdentity
LineRef[1]
DirectionRef[1]
FramedVehicleJourneyRef[0..1]
1
1
0..* mode
1
1
0..1
Line
calls
0..*
0..*
0..1
1
«group»
JourneyPatternInfo
JourneyPatternRef[0..1]
VehicleMode[0..1]
RouteRef[0..1]
PublishedLineName[0..1]
DirectionName[0..1]
ExternalLineRef[0..1]
1
journey
1
TargetedVehicleJourney
pattern0..1
2..*
journey
1
JourneyPattern
stops
«group»
FramedVehicleJourneyRef
DataFrameRef[1]
DatedVehicleJourneyRef[1]
identity
1
Route
0..1
for
0..*
DataFrame
1
1
1
0..1 frame
TimetabledStopVisit
0..1
0..1
operator
0..*
0..*
0..*
Operator
0..1
feature
«group»
ServiceInfo
OperatorRef[0..1]
ProductCategoryRef[0..1]
ServiceFeatureRef[0..*]
VehicleFeatureRef[0..*]
0..1
0..*
ServiceFeature
feature
VehicleFeature
0..1
category
0..1
ProductCategory
0..1
«group»
AimedDepartureInfo
AimedDepartureTime[0..1]
DeparturePlatformName[0..1]
DepartureBoardingActivity[0..1]
«enumeration»
DepartureActivityEnum
boarding
noBoarding
passThru
Figure 9-3 StopTimetableDelivery - Summary
© Copyright Kizoom 2006-2007
Page 55
SIRI Functional Services - UML Diagrams
STOPTIMETABLEDELIVERY DETAIL
Figure 9-4 Figure 7-4 shows attribute types for a StopTimetableDelivery as well.
Siri Rqs::ProducerResponse
SIRI-ST
StopTimetableDelivery
ResponseTimeStamp[1] : dateTime
ProducerRef[0..1] : ParticipantCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
RequestMessageRef[0..1] : MessageQualifier
producer
Siri Mdl::Participant
1
© 2006 SIRI
0..*
0..1
1
errors
Siri Rqs::AbstractFunctionalServiceDelivery
ResponseTimeStamp[1] : dateTime
RequestMessageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
SubscriptionRef[0..1] : SubscriptionCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
ValidUntil[0..1] : dateTime
ShortestPossibleCycle[0..1] : positiveDuration
Siri Rqs::ServiceDelivery
subscriber
0..*
0..1
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
MoreData[1] : boolean
errors
Siri Rqs::ErrorCondition
1 0..1
Error[1] : AbstractError
Description[1] : ErrorDescription
1
deliveries
0..*
StopTimetableDelivery
-version[1] : versionString
-Extensions[0..1] : any
Siri Rqs::AbstractItem
1
RecordedAtTime[1] : dateTime
«enumeration»
Siri Enm::VehicleModesEnum
air
bus
coach
ferry
metro
rail
cancellations tram
underground
1
Siri Rqs::AbstractIdentifiedItem
Siri Rqs::AbstractReferencedItem
IdentifiedItemCode[0..1] : IdentifiedItemCode
IdentifiedItemRef[0..1] : IdentifiedItemCode
*
visits
cancels
1
TimetabledStopVisitCancellation
0..*
monitoring point
1
0..1
1
TimetabledStopVisit
MonitoringRef[1] : MonitoringCode
TargetedVehicleJourney[1] : TargetedVehicleJourney
Extensions[1] : any
0..*
1
ST-Mdl::Monitor
MonitoringRef[1] : MonitoringCode
VisitNumber[0..1] : VisitNumber
VehicleJourneyIdentity[1] : VehicleJourneyIdentity
JourneyPatternInfo[0..1] : JourneyPatternInfo
Extensions[0..1] : any
1
0..1
monitor 0..1
ST-Mdl::TargetedVehicleJourney
1
1
VehicleJourneyIdentity[1] : VehicleJourneyIdentity
JourneyPatternInfo[0..*] : JourneyPatternInfo
VehicleJourneyInfo[0..1] : VehicleJourneyInfo
MonitoringRef[0..1] : MonitoringCode
Extensions[0..1] : any
1
journey Info
vehicle
0..1
0..*
identity
«group»
Siri Mdl::FramedVehicleJourneyRef
pattern
«group»Siri Mdl::VehicleJourneyIdentity
LineRef[1] : LineCode
DirectionRef[1] : DirectionCode
10..1
line FramedVehicleJourneyRef[0..1] : FramedVehicleJourneyRef0..1
1
TM-Mdl::Line
1
0..1
ServiceInfo[0..1] : ServiceInfo
OriginRef[0..1] : JourneyPlaceCode
DestinationName[0..1] : populatedString
OriginShortName[0..1] : populatedString
1
Via[0..*] : populatedString
info
DestinationRef[0..1] : DestinationCode
DestinationName[0..1] : populatedString
DestinationShortName[0..1] : populatedString
VehicleJourneyNote[0..1] : populatedString
0..1
JourneyNote[0..1] : populatedString
HeadwayService[0..1] : boolean
OriginAimedDepartureTime[0..1] : dateTime
0..1
DestinationAimedDepartureTime[0..1] : dateTime
ST-Mdl::TargetedCall
«group»Siri Mdl::JourneyPatternInfo
journey pattern
TM-Mdl::JourneyPattern
0..1
pattern
0..*
0..1
0..*
route
TM-Mdl::Route
JourneyPatternRef[0..1] : JourneyPatternCode
VehicleMode[0..1] : Mode
RouteRef[0..1] : RouteCode
PublishedLineName[0..1] : populatedString
DirectionName[0..1] : populatedString
ExternalLineRef[0..1] : LineCode
operator
«group»Siri Mdl::ServiceInfo
OperatorRef[0..1] : OperatorCode
ProductCategoryRef[0..1] : ProductCategoryCode
ServiceFeatureRef[0..*] : ServiceFeatureCode
VehicleFeatureRef[0..*] : VehicleFeatureCode
service info
0..*
1
1
«group»Siri Mdl::VehicleJourneyInfo
calls
1
0..* category
TM-Mdl::Operator
feature 0..1
0..*
Siri Mdl::ServiceFeature
0..*
0..1
feature
0..*
Siri Mdl::VehicleFeature
Siri Mdl::ProductCategory
0..1
StopPointRef[0..1] : StopPointCode
«group»Siri Mdl::AimedArrivalInfo
VisitNumber[1] : VisitNumber
AimedArrivalTime[0..1] : dateTime
info
arrival
Order[0..1] : positiveInteger
1
ArrivalPlatformName[0..1] : populatedString
TimingPoint[0..1] : boolean
ArrivalBoardingActivity[0..1] : ArrivalActivityEnum
ServiceInfo[0..1] : ServiceInfo
0..1
1
AimedArrivalInfo[0..1] : AimedArrivalInfo
AimedDepartureInfo[0..1] : AimedDepartureInfodeparture info
«group»Siri Mdl::AimedDepartureInfo
AimedHeadwayInterval[0..1] : positiveDuration
1
AimedDepartureTime[0..1] : dateTime
Extensions[0..1] : any
0..1
: populatedString
DeparturePlatformName[0..1]
0..1 stop
DepartureBoardingActivity[0..1] : DepartureActivityEnum
0..*
TM-Mdl::StopPoint
0..1
«enumeration»
Siri Enm::ArrivalActivityEnum
alighting
noAlighting
passThru
«enumeration»
Siri Enm::DepartureActivityEnum
boarding
noBoarding
passThru
Figure 9-4 StopTimetableDelivery - Detail
© Copyright Kizoom 2006-2007
Page 56
SIRI Functional Services - UML Diagrams
10. SIRI CONNECTIONTIMETABLE (CT)
The SIRI Connection Timetable Service is used for the exchange of schedule data for potential feeder
vehicle journeys to a connection zone. It is normally used in conjunction with the SIRI Connection
Monitoring Service to establish the reference data of planned connections to be monitored by the
real time systems. The service is location-related, i.e. all requests and replies relate to specific
connection links, as identified by connection link identifiers.

The Topics allow a Consumer system to specify that only Connection Timetables for a specific
Connection Link, Line, or Line Direction or Vehicle are to be returned.

The Delivery returns planned connections as InterchangeJourneys
SIRI-CT: SUBSCRIPTION & REQUEST
CONNECTIONTIMETABLEREQUEST SUMMARY
requestor
SIRI-CT - Summary
ConnectionTimetableSubscription
& ConnectionTimetableRequest
© 2006 SIRI
Participant
0..*
1
1
requestor
requests
SubscriptionRequest
0..*
1
policies
0..*
ConnectionTimetableSubscriptionRequest
1
ServiceRequest
request
1
0..1
1
ConnectionTimetableSubscriptionPolicies
1
requests
policies
ConnectionTimetableRequest
0..*
1
1
0..1
ConnectionTimetablePolicies
Language[0..1]
topics
0..1
line
link
0..1
Line
ConnectionTimetableTopics
ConnectionLink
0..*
PreviewInterval[0..1]
ConnectionLinkRef[0..1]
LineRef[0..1]
DirectionRef[0..1]
0..*
0..1
direction
Direction
0..*
0..1
Figure 10-1 ConnectionTimetableRequest - Summary
© Copyright Kizoom 2006-2007
Page 57
SIRI Functional Services - UML Diagrams
CONNECTIONTIMETABLEREQUEST DETAIL
The ConnectionTimetableRequest (Figure 10-2) is used to request stop arrival and departure data for
a given stop or stops identified either by a ConnectionTimeFilter or by a ConnectionJourneyFilter - which will normally correspond to the identifier of a physical stop or platform, but might also be a
“logical stop” which groups several departure boards.
Other criteria that can be used to filter results include Line (e.g. ‘N45’), Direction, Operator and
Destination.
context
Siri Rqs::SubscriptionRequest
0..*
RequestTimestamp[1] : dateTime
Address[0..1] : EndPointAddress
RequestorRef[1] : Participant
MessageIdentifer[0..1] : MessageQualifier
ConsumerAddress[0..1] : EndPointAddress
SubscriptionFilterIdentifier[0..1] : nmtoken
SubscriptionContext[0..1] : SubscriptionContext
requestor
subscriber
1
Siri Mdl::Participant
Siri Rqs::SubscriptionContext
SIRI-CT
ConnectionTimetableSubscription
& ConnectionTimetableRequest
0..1
1
© 2006 SIRI
requests
1
Siri Rqs::AbstractFunctionalSubscriptionRequest
SubscriberRef : ParticipantCode
SubscriptionIdentifier : SubscriptionCode
InitialTerminationTime : dateTime
0..*
0..*
1
requestor
1
ConnectionTimetableSubscriptionRequest
0..*
ConnectionTimetableRequest[1] : ConnectionTimetableRequest
ConnectionTimetableSubscriptionPolicies[0..1] : ConnectionTimetableSubscriptionPolicies
Extensions[0..1] : any
Siri Rqs::ServiceRequest
RequestContext[1] : RequestContext
RequestTimestamp[1] : dateTime
Address[1] : EndPointAddress
RequestorRef[1] : ParticipantCode
MessageIdentifer[1] : string
1
1
context
0..*
0..1
Siri Rqs::RequestContext
1
request
requests
1
policies
Siri Rqs::AbstractFunctionalServiceRequest
RequestTimestamp : dateTime
MessageIdentifier : MessageQualifier
0..1
ConnectionTimetableSubscriptionPolicies
1
ConnectionTimetableRequest
ConnectionTimetableTopics[0..1] : ConnectionTimetableTopics
ConnectionTimetablePolicies[0..1] : ConnectionTimetablePolicies
Extensions[0..1] : any
policies
0..1
1
ConnectionTimetablePolicies
1
topics
Language[0..1] : lang
0..1
line
TM-Mdl::Line
ConnectionTimetableTopics
TM-Mdl::ConnectionLink
link
0..1
0..*
-PreviewInterval[0..1] : HalfOpenTimestampRange
-ConnectionLinkRef[0..1] : ConnectionLinkCode
-LineRef[0..1] : LineCode
-DirectionRef[0..1] : DirectionCode
0..1
0..*
1
directions
0..*
0..* direction
TM-Mdl::Direction
0..1
Figure 10-2 ConnectionTimetableRequest - Detail
© Copyright Kizoom 2006-2007
Page 58
SIRI Functional Services - UML Diagrams
SIRI-CT: DELIVERY
CONNECTIONTIMETABLEDELIVERY SUMMARY
The ConnectionTimetableDelivery (Figure 10-3Figure 5-3) is returned by the SIRI-CT service and
normally contains one or more TimetabledFeedArrival elements for each monitored connection link,
each recording a InterchangeJourney.
0..*
1
producer
ProducerResponse
SIRI-CT – Summary
ConnectionTimetableDelivery
Participant
© 2006 SIRI
errors
ServiceDelivery
1
ErrorCondition
deliveries
0..1
0..*
1
1
arrivals
cancellations
ConnectionTimetableDelivery
0..*
1
stops
«group»
StopPointInSequence
StopPointRef[1]
VisitNumber[0..1]
Order[0..1]
StopPointName[0..1]
0..*
2..*
visit
TimetabledFeederArrival
InterchangeRef[0..1]
ConnectionLinkRef[1]
StopPointInSequence[0..1]
FeederJourney[1]
AimedArrivalTime[1]
Extensions[0..1]
0..*
TimetabledFeederArrivalCancellation
InterchangeRef[0..1]
ConnectionLinkRef[1]
StopPointInSequence[0..1]
LineRef[1]
DirectionRef[1]
VehicleJourneyRef[1]
JourneyPatternInfo[0..1]
Reason[0..1]
Extensions[0..1]
at
Interchange
0..*
feeder
0..1
1
link
0..1
0..1
0..*
0..1
interchange
1
1
0..1 visit
frame
DataFrame
0..*
to stop
0..*
10..*
0..1
origin
StopPoint
«group»
FramedVehicleJourneyRef
DataFrameRef[1]
DatedVehicleJourneyRef[1]
journey
1 0..1
ConnectionLink
journey
0..1
destination
0..*
0..*
1
1
JourneyPattern
0..*
0..1
Direction
0..*
directions
1
pattern
0..*
0..1 line
1
Line
0..* 0..1
«group»
JourneyPatternInfo
JourneyPatternRef[0..1]
VehicleMode[0..1]
RouteRef[0..1]
PublishedLineName[0..1]
DirectionName[0..1]
ExternalLineRef[0..1]
0..*
mode
0..* directions
0..1
direction
0..*
1
1
pattern
0..*
0..1
route
pattern
InterchangeJourney
LineRef[1]
DirectionRef[1]
FramedVehicleJourneyRef[0..1]
JourneyPatternInfo[0..1]
VehicleJourneyInfo[0..1]
DisruptionInfo[0..1]
Monitored[0..1]
AimedDepartureTime[0..1]
OperationalInfo[0..1]
Extensions[0..1]
1
Mode
0..1
Route
journey info
1
«group»
DisruptionInfo
SituationRef[0..1]
FacilityChange[0..1]
0..1
1
Operator
operator
disruption
0..*
0..1
0..1
block
Situation
0..1
0..1
1
operational info
0..*situation
0..1
«group»
VehicleJourneyInfo
ServiceInfo[0..1]
OriginRef[0..1]
DestinationName[0..1]
OriginShortName[0..1]
Via[0..*]
DestinationRef[0..1]
DestinationName[0..1]
DestinationShortName[0..1]
VehicleJourneyNote[0..1]
JourneyNote[0..1]
HeadwayService[0..1]
OriginAimedDepartureTime[0..1]
DestinationAimedDepartureTime[0..1]
info
1
DatedVehicleJourney
«group»
OperationalInfo
BlockRef[0..1]
CourseOfJourneyRef[0..1]
VehicleRef[0..1]
0..*
0..*
0..*
run
0..1
vehicle
0..*
feature
0..1
0..1
«group»
ServiceInfo
OperatorRef[0..1]
ProductCategoryRef[0..1]
ServiceFeatureRef[0..*]
VehicleFeatureRef[0..*]
0..*
feature
0..*
category
0..1
ServiceFeature
VehicleFeature
Block
0..1
0..1
Vehicle
CourseOfJourney 0..1
ProductCategory
Figure 10-3 ConnectionTimetableDelivery - Summary
© Copyright Kizoom 2006-2007
Page 59
SIRI Functional Services - UML Diagrams
CONNECTIONTIMETABLEDELIVERY DETAIL
Figure 10-4 shows attribute types for a ConnectionTimetableDelivery as well.
SIRI-CT
ConnectionTimetableDelivery
producer
0..1
Siri Mdl::Participant
© 2006 SIRI
1
Siri Rqs::AbstractFunctionalServiceDelivery
0..*
0..* subscriber
ResponseTimeStamp[1] : dateTime
RequestMessageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
SubscriptionRef[0..1] : SubscriptionCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
ValidUntil[0..1] : dateTime
ShortestPossibleCycle[0..1] : positiveDuration
Siri Rqs::ProducerResponse
ResponseTimeStamp[1] : dateTime
ProducerRef[0..1] : ParticipantCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
RequestMessageRef[0..1] : MessageQualifier
errors
1
Error[1] : AbstractError
Description[1] : ErrorDescription
0..1
Siri Rqs::ServiceDelivery
0..1 errors
Siri Rqs::ErrorCondition
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
MoreData[1] : boolean
1
deliveries
1
Siri Rqs::AbstractItem
RecordedAtTime[1] : dateTime
0..*
Siri Rqs::AbstractIdentifiedItem
IdentifiedItemCode[0..1] : IdentifiedItemCode
Siri Rqs::AbstractReferencedItem
ConnectionTimetableDelivery
1
arrivals
IdentifiedItemRef[0..1] : IdentifiedItemCode
version[1] : versionString
Extensions[1] : any
1
cancellations
0..1
0..*
0..*
«group»
TM-Mdl::StopPointInSequence
StopPointRef[1] : StopPointCode
VisitNumber[0..1] : VisitNumber
Order[0..1] : positiveInteger
StopPointName[0..1] : populatedString
visit
TimetabledFeederArrival
0..1
InterchangeRef[0..1] : InterchangeCode
ConnectionLinkRef[1] : ConnectionLinkCode
StopPointInSequence[0..1] : StopPointInSequence
FeederJourney[1] : InterchangeJourney
AimedArrivalTime[1] : dateTime
Extensions[0..1] : any
1
0..*
TM-Mdl::Interchange
TM-Mdl::DataFrame
0..*
to stop
TM-Mdl::ConnectionLink
0..*
0..1
frame
0..1
TM-Mdl::Direction
0..*
0..1
«group»Siri Mdl::FramedVehicleJourneyRef
TM-Mdl::DatedVehicleJourney
1
TM-Mdl::JourneyPattern
0..1
pattern0..1 TM-Mdl::Line
0..*
0..*
«group»Siri Mdl::JourneyPatternInfo
0..1
0..1 pattern
1
0..1
1
disruption
1
operational info
block
run
TM-Mdl::CourseOfJourney
0..1
«group»Siri Mdl::VehicleJourneyInfo
ServiceInfo[0..1] : ServiceInfo
OriginRef[0..1] : JourneyPlaceCode
DestinationName[0..1] : populatedString
OriginShortName[0..1] : populatedString
Via[0..*] : populatedString
DestinationRef[0..1] : DestinationCode
DestinationName[0..1] : populatedString
1 DestinationShortName[0..1] : populatedString
VehicleJourneyNote[0..1] : populatedString
JourneyNote[0..1] : populatedString
HeadwayService[0..1] : boolean
OriginAimedDepartureTime[0..1] : dateTime
DestinationAimedDepartureTime[0..1] : dateTime
«group»Siri Mdl::DisruptionInfo
1
SituationRef[0..1] : SituationCode
FacilityChange[0..1] : FacilityChange
TM-Mdl::Operator
operator
0..1
0..1situation
0..*
0..1
0..*
0..*
info
0..*0..1
0..1
Siri Mdl::Situation
0..1
origin
0..*
LineRef[1] : NetworkCode
DirectionRef[1] : DirectionCode
FramedVehicleJourneyRef[0..1] : FramedVehicleJourneyRef
JourneyPatternInfo[0..1] : JourneyPatternInfo
VehicleJourneyInfo[0..1] : VehicleJourneyInfo
0..1
DisruptionInfo[0..1] : DisruptionInfo
Monitored[0..1] : boolean
AimedDepartureTime[0..1] : dateTime
OperationalInfo[0..1] : OperationalInfo
Extensions[0..1] : any
TM-Mdl::Route
TM-Mdl::Block
0..1
Siri Mdl::InterchangeJourney
JourneyPatternRef[0..1] : JourneyPatternCode
VehicleMode[0..1] : Mode
RouteRef[0..1] : RouteCode
PublishedLineName[0..1] : populatedString
DirectionName[0..1] : populatedString
ExternalLineRef[0..1] : LineCode
mode
route
0..1
0..*
0..1
0..*
TM-Mdl::Mode
1
TM-Mdl::StopPoint
destination
DataFrameRef[1] : DataFrameCode
1
DatedVehicleJourneyRef[1] : DatedVehicleJourneyCode
journey
0..*
1
0..*
feeder
0..*
at
1
0..1 0..1
1
TimetabledFeederArrivalCancellation
InterchangeRef[0..1] : InterchangeCode
ConnectionLinkRef[1] : ConnectionLinkCode
StopPointInSequence[0..1] : StopPointInSequence
LineRef[1] : LineCode
DirectionRef[1] : DirectionCode
VehicleJourneyRef[1] : VehicleJourneyCode
JourneyPatternInfo[0..1] : JourneyPatternInfo
Reason[0..1] : populatedString
Extensions[0..1] : any
«group»Siri Mdl::ServiceInfo
0..*
0..*
«group»Siri Mdl::OperationalInfo
BlockRef[0..1] : BlockCode
CourseOfJourneyRef[0..1] : CourseOfJourneyCode
VehicleRef[0..1] : VehicleCode
vehicle
TM-Mdl::Vehicle
OperatorRef[0..1] : OperatorCode
ProductCategoryRef[0..1] : ProductCategoryCode
ServiceFeatureRef[0..*] : ServiceFeatureCode
VehicleFeatureRef[0..*] : VehicleFeatureCode
0..*
Figure 10-4 ConnectionTimetableDelivery - Detail
© Copyright Kizoom 2006-2007
Page 60
SIRI Functional Services - UML Diagrams
11. SIRI CONNECTIONMONITORING (CM)
The SIRI Connection Monitoring Service exchanges information between different AVMS to
coordinate the real-time arrival and departure of PTVs at an interchange through which passengers
may make connecting journeys. The departure time of the outgoing ‘distributor’ (or ‘fetcher from’)
service may be adjusted to accommodate delays in the incoming ‘feeder to’ service.
The service ensures that the AVMS are in a position to receive all the necessary data concerning the
feeder vehicles to allow connection monitoring and dispatch to be carried out, and to inform
passengers of changes. The operational methods of dispatch remain unaffected.
The Service can be used in conjunction with the SIRI Connection Timetable Service to exchange
scheduled arrival times in the target connection links.

The Topics allow a Consumer system to specify that only Connection Timetables for a specific
Connection Link, Line, or Line Direction or Vehicle are to be returned.

The Delivery can return information about both changes to feeder (e.g. late arrival) and
departure (e.g. late departure, platform change)
SIRI-CM: SUBSCRIPTION & REQUEST
CONNECTIONMONITORINGREQUEST SUMMARY
requestor
Participant
requestor
1
0..*
SubscriptionRequest
1
0..*
SIRI-CM
ConnectionMonitoringSubscription
& ConnectionMonitoringRequest
requests
1
© 2007 SIRI
0..*
requests
ServiceRequest
policies
1
ConnectionMonitoringSubscriptionRequest
0..*
1
1
1
request
0..1
1
ConnectionMonitoringRequest
topics
ConnectionMonitoringSubscriptionPolicies
1
policies
0..1
ConnectionMonitoringPolicies
ConnectionMonitoringTopics
PreviewInterval
ConnectionLinkRef
ConnectionTimeFilter
ConnectionJourneyFilter
1
line
0..1
link
ConnectionLink
0..1
0..*
journeys
time scope
0..1
0..*
0..1
0..*
1
LineRef
DirectionRef
EarliestArrivalTime
LatestArrivalTime
Line
journey
ConnectionJourneyFilter
ConnectionTimeFilter
direction
0..*
0..1
Direction
DatedVehicleJourneyRef
VisitNumber
TimetabledArrivalTime
1
0..1
DatedVehicleJourney
Figure 11-1 ConnectionMonitoringRequest - Summary
© Copyright Kizoom 2006-2007
Page 61
SIRI Functional Services - UML Diagrams
CONNECTIONMONITORINGREQUEST DETAIL
The ConnectionMonitoringRequest (Figure 11-2) is used to request information about real-time
changes to connecting feeder or distributor journeys, specified either by a ConnectionTimeFilter
(identifying a ConnectionLink where changes take place), or by a ConnectionJourneyFilter (identifying
a specific journey), which will normally correspond to the identifier of a physical stop or platform, but
might also be a “logical stop” which groups several departure boards.
Other criteria that can be used to filter results include Line (e.g. ‘N45’), Direction, Operator and
Destination.
SIRI-CM
ConnectionMonitoringSubscription
& ConnectionMonitoringRequest
Siri Rqs::SubscriptionRequest
requestor
0..*
RequestTimestamp : dateTime
Address : EndPointAddress
RequestorRef : Participant
MessageIdentifer : MessageQualifier
ConsumerAddress : EndPointAddress
SubscriptionFilterIdentifier : nmtoken
SubscriptionContext : SubscriptionContext
© 2007 SIRI
requests
1
1
Siri Rqs::AbstractFunctionalSubscriptionRequest
subscriber
Siri Mdl::Participant
1
requestor
1
0..*
SubscriberRef : ParticipantCode
SubscriptionIdentifier : SubscriptionCode
InitialTerminationTime : dateTime
0..*
0..*
Siri Rqs::ServiceRequest
ConnectionMonitoringSubscriptionRequest
-RequestContext : RequestContext
-RequestTimestamp : dateTime
-Address : EndPointAddress
-RequestorRef : ParticipantCode
-MessageIdentifer : string
ConnectionMonitoringRequest[1] : ConnectionMonitoringRequest
ConnectionMonitoringSubscriptionPolicies[0..1] : ConnectionMonitoringSubscriptionPolicies
policies
Extensions[0..1] : any
1
request
1
1
0..1
Siri Rqs::AbstractFunctionalServiceRequest
RequestTimestamp : dateTime
MessageIdentifier : MessageQualifier
requests
1
ConnectionMonitoringRequest
1
topics
ConnectionMonitoringSubscriptionPolicies
0..*
policies
ConnectionMonitoringTopics[0..1] : ConnectionMonitoringTopics
ConnectionMonitoringPolicies[0..1] : ConnectionMonitoringPolicies
Extensions[0..1] : any
1
0..1
0..1
ConnectionMonitoringPolicies
Language[0..1] : lang
ConnectionMonitoringTopics
-PreviewInterval[0..1] : duration
-ConnectionLinkRef[0..1] : ConnectionLinkCode
-ConnectionTimeFilter[0..1] : ConnectionTimeFilter
-ConnectionJourneyFilter[0..1] : ConnectionTimeFilter
1
time scope
0..* to stop
link
0..*
journeys
TM-Mdl::ConnectionLink
0..1
0..1
1
0..*
0..*
link
0..1
1
at
TM-Mdl::StopPoint
0..*
0..1
ConnectionJourneyFilter
ConnectionTimeFilter
-DatedVehicleJourneyRef[0..1] : DatedVehicleJourneyCode
«group»
TM-Mdl::StopPointInSequence
StopPointRef : StopPointCode
VisitNumber : VisitNumber
Order : positiveInteger
StopPointName : populatedString
-VisitNumber[0..1] : integer
-LineRef[0..1] : LineCode
-TimetabledArrivalTime[0..1] : dateTime
-DirectionRef[0..1] : DirectionCode
-EarliestArrivalTime[0..1] : dateTime
1
-LatestArrivalTime[0..1] : dateTime
direction
journey
line
0..*
0..1
0..*
TM-Mdl::DatedVehicleJourney
0..1
directions
0..1
TM-Mdl::Direction
TM-Mdl::JourneyPattern
1pattern
TM-Mdl::Line
0..*
1
pattern
0..1
«group»
Siri
Mdl::JourneyPatternInfo
0..1
0..*
2..*
stops
1
Figure 11-2 ConnectionMonitoringRequest - Detail
SIRI-CM: DELIVERY
© Copyright Kizoom 2006-2007
Page 62
SIRI Functional Services - UML Diagrams
CONNECTIONMONITORINGDELIVERY SUMMARY
The SIRI-CM service returns two types of delivery (Figure 10-3Figure 5-3) that provide information
about real-time changes at a monitored connection link.

A ConnectionMonitoringFeedeDelivery contains one or more MonitoredFeedArrival
instances, each with an a InterchangeJourney describing the real-time arrival time of a
feeder.

A ConnectionMonitoringDistributorDelivery contains different types of change to the
departing distributor: a delay (WaitProlongedDeparture); a cancellation (DistributureDepartureCancellation) or a platform change (StoppingPositionChangedRecording).
0..*
1
producer
ProducerResponse
SIRI-CM - Summary
ConnectionMonitoringDelivery
Participant
© 2007 SIRI
errors
ServiceDelivery
deliveries
1
ErrorCondition
deliveries
0..1
1
0..*
1
0..*
ConnectionMonitoringDistributorDelivery
ConnectionMonitoringFeederDelivery
1
1
11
cancellations
0..*
1
arrvals
cancels
1
0..*
MonitoredFeederArrivalCancellation
MonitoredFeederArrival
1
1
InterchangeRef[0..1]
ConnectionLinkRef[1]
StopPointInSequence[0..1]
ClearDownRef[0..1]
FeederJourney[1]
VehicleAtStop[1]
NumberOfTransferPassengers[0..1]
ExpectedArrivalTime[1]
Extensions[0..1]
0..1
0..1
1
0..1
interchange
Interchange
link
0..*
1
0..1
0..1
ConnectionLink
0..*
to stop
cancellation
0..1
to stop
stops
AbstractDistributorItem
at
StopPoint
1
1
0..*
0..*
«group»
StopPointInSequence
StopPointRef[1]
VisitNumber[0..1]
Order[0..1]
StopPointName[0..1]
feeder
InterchangeRef[0..1] : InterchangeCode
ConnectionLinkRef[1] : ConnectionLinkCode
StopPointInSequence[0..1] : StopPointInSequence
LineRef[1] : LineCode
DirectionRef[1] : DirectionCode
VehicleJourneyRef[1] : VehicleJourneyCode
1
JourneyPatternInfo[0..1] : JourneyPatternInfo
Reason[0..1] : populatedString
delayed
wait
Extensions[0..1] : any
interchange
distributor
0..1
0..1
1
1
distributor
DatedVehicleJourney
Line
1
0..*
pattern
0..*
0..*
WaitProlongedDeparture
ExpectedDepartureTime[0..1]
Extensions[0..1]
0..1
line
1
journey
position change
InterchangeRef[0..1]
ConnectionLinkRef[1]
StopPointRef[0..1]
DistributorVisitNumber[0..1]
DistributorOrder[0..1]
DistributorJourney[1]
FeederVehicleJourneyRef[0..1]
Extensions[0..1]
feeder
Reason[0..1]
Extensions[0..1]
0..*
0..*
StoppingPositionChangedDeparture
InterchangeJourney
directions
LineRef[1]
DirectionRef[1]
0..*
FramedVehicleJourneyRef[0..1]
1
1
JourneyPatternInfo[0..1]
Direction
VehicleJourneyInfo[0..1]
DisruptionInfo[0..1]
Monitored[0..1]
AimedDepartureTime[0..1]
OperationalInfo[0..1]
Extensions[0..1]
operational info
journey info
1
0..1
«group»
OperationalInfo
1
1
disruption
ChangeNote[0..1]
NewLocation[0..1]
Extensions[0..1]
0..1
0..1
Mode
mode
0..*
0..*
0..1
route
0..1
Route
«group»
VehicleJourneyInfo
«group»
JourneyPatternInfo
JourneyPatternRef[0..1]
VehicleMode[0..1]
RouteRef[0..1]
PublishedLineName[0..1]
DirectionName[0..1]
ExternalLineRef[0..1]
0..*
pattern
0..1
0..1
«group»
DisruptionInfo
0..*
DistributorDepartureCancellation
«group»
FramedVehicleJourneyRef
DataFrameRef[1]
DatedVehicleJourneyRef[1]
See ConnectionTimetable
Service for details
JourneyPattern
Figure 11-3 ConnectionMonitoringDelivery - Summary
© Copyright Kizoom 2006-2007
Page 63
SIRI Functional Services - UML Diagrams
CONNECTIONMONITORINGDELIVERY DETAIL
Figure 11-4 shows attribute types for a ConnectionMonitoringDelivery.
Siri Rqs::ProducerResponse
SIRI-CM
ConnectionMonitoringDelivery
0..1
producer
Siri Mdl::Participant
1
© 2007 SIRI
subscriber
0..*
-ResponseTimeStamp : dateTime
-ProducerRef : ParticipantCode
-Address : EndPointAddress
-ResponseMessageIdentifier : MessageQualifier
-RequestMessageRef : MessageQualifier
Siri Rqs::AbstractFunctionalServiceDelivery
0..*
ResponseTimeStamp[1] : dateTime
Siri Rqs::ServiceDelivery
RequestMessageRef[0..1] : MessageQualifier
1
Status[0..1] : boolean
0..1
SubscriberRef[0..1] : ParticipantCode
errors
ErrorCondition[0..1] : ErrorCondition
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
Siri Rqs::ErrorCondition
MoreData[1] : boolean
SubscriptionRef[0..1] : SubscriptionCode
deliveries
Error[1] : AbstractError
Address[0..1] : EndPointAddress
Description[1] : ErrorDescription
1
1
ResponseMessageIdentifier[0..1] : MessageQualifier
deliveries
0..*
Status[0..1] : boolean
0..*
ErrorCondition[0..1] : ErrorCondition
ValidUntil[0..1] : dateTime
ConnectionMonitoringFeederDelivery
ConnectionMonitoringDistributorDelivery
ShortestPossibleCycle[0..1] : positiveDuration
1
version[1] : versionString
version[1] : versionString
Extensions[1] : BaseSituation
Extensions[1] : any
Siri Rqs::AbstractItem
RecordedAtTime[1] : dateTime
1
1
1
1
Siri Rqs::AbstractReferencedItem
Siri Rqs::AbstractIdentifiedItem
arrvals
IdentifiedItemCode[0..1] : IdentifiedItemCode
IdentifiedItemRef[0..1] : IdentifiedItemCode
cancellations
0..*
0..*
MonitoredFeederArrivalCancellation
CM-Mdl::MonitoredFeederArrival
InterchangeRef[0..1] : InterchangeCode
InterchangeRef[0..1] : InterchangeCode
ConnectionLinkRef[1] : ConnectionLinkCode
0..1
ConnectionLinkRef[1] : ConnectionLinkCode
StopPointInSequence[0..1] : StopPointInSequence
0..1
1
TM-Mdl::Interchange
11
StopPointInSequence[0..1] : StopPointInSequence
LineRef[1] : LineCode
ClearDownRef[0..1] : CleardownCode
DirectionRef[1] : DirectionCode
FeederJourney[1] : InterchangeJourney
VehicleJourneyRef[1] : VehicleJourneyCode
1
link 0..1
VehicleAtStop[1] : boolean
JourneyPatternInfo[0..1] : JourneyPatternInfo
NumberOfTransferPassengers[0..1] : integer
Reason[0..1] : populatedString
0..1
ExpectedArrivalTime[1] : dateTime
Extensions[0..1] : any
0..*TM-Mdl::ConnectionLink
Extensions[0..1] : any
1
at
to
stop
1
«group»Siri Mdl::JourneyPatternInfo
TM-Mdl::Route
0..10..*
1
JourneyPatternRef[0..1] : JourneyPatternCode
TM-Mdl::StopPoint
route 0..*
«group»
VehicleMode[0..1] : Mode
0..1
TM-Mdl::StopPointInSequence
0..1
RouteRef[0..1] : RouteCode
0..*
StopPointRef[1] : StopPointCode
PublishedLineName[0..1] : populatedString
VisitNumber[0..1] : VisitNumber
DirectionName[0..1] : populatedString
CM-Mdl::AbstractDistributorItem
0..*
Order[0..1] : positiveInteger
ExternalLineRef[0..1] : LineCode
InterchangeRef[0..1] : InterchangeCode
feeder StopPointName[0..1] : populatedString
ConnectionLinkRef[1] : ConnectionLinkCode
0..*mode 0..*
1
distributor
0..1
StopPointRef[0..1] : StopPointCode
0..1
pattern
0..1
0..1
DistributorVisitNumber[0..1] : VisitNumber
TM-Mdl::Mode
feeder
0..*
DistributorOrder[0..1] : positiveInteger
DistributorJourney[1] : InterchangeJourney
0..1
«group»
FeederVehicleJourneyRef[0..1] : FramedVehicleJourneyRef
Siri Mdl::FramedVehicleJourneyRef
TM-Mdl::JourneyPattern
Extensions[0..1] : any
distributor
journey
1
0..*
pattern
1
1
Siri Mdl::InterchangeJourney
1
LineRef[1] : NetworkCode
DirectionRef[1] : DirectionCode
FramedVehicleJourneyRef[0..1] : FramedVehicleJourneyRef
JourneyPatternInfo[0..1] : JourneyPatternInfo
VehicleJourneyInfo[0..1] : VehicleJourneyInfo
DisruptionInfo[0..1] : DisruptionInfo
Monitored[0..1] : boolean
AimedDepartureTime[0..1] : dateTime
OperationalInfo[0..1] : OperationalInfo
Extensions[0..1] : any
CM-Mdl::WaitProlongedDeparture
0..*
ExpectedDepartureTime[0..1] : dateTime
Extensions[0..1] : any
1
CM-Mdl::StoppingPositionChangedDeparture
0..*
ChangeNote[0..1] : populatedString
NewLocation[0..1] : Location
Extensions[0..1] : any
0..*
DistributorDepartureCancellation
0..1
TM-Mdl::Line
0..*
line
direction
0..*
TM-Mdl::Direction
See ConnectionTimetable
Service for details
Reason[0..1] : populatedString
Extensions[0..1] : any
0..1
Figure 11-4 ConnectionMonitoringDelivery - Detail
© Copyright Kizoom 2006-2007
Page 64
SIRI Functional Services - UML Diagrams
12. SIRI GENERALMESSAGE (GM)
The SIRI General Message service is used to transmit messages between the participants. The data to
be published will typically be informative messages such as travel news and other operational advice,
entered or forwarded into the system - normally by a control centre. The General Message service
can segregate different types of informative message into separate information channels; each info
channel can be assigned to a different operational message group type (errors, messages, warnings,
traffic information, operational messages, etc.).

The Topics allow a Consumer system to specify that only specific categories of message are
to be returned.
The service allows arbitrary content to be embedded. To exchange structured messages see the SIRISX service.
SIRI-GM: SUBSCRIPTION & REQUEST
GENERALMESSAGEREQUEST SUMMARY
requestor
Participant
1
SIRI-GM - Summary
GeneralMessageSubscription
& GeneralMessageRequest
requests
SubscriptionRequest
requestor
1
0..*
0..*
1
0..*
© 2007 SIRI
policies
GeneralMessageSubscriptionRequest
ServiceRequest
requests
1
topics
1
1
*
GeneralMessageSubscriptionPolicies
1
GeneralMessageRequest
policies
1
0..1
GeneralMessageTopics
GeneralMessagePolicies
InfoChannel[0..1]
0..*
1
request
0..*
0..1
Language[0..1]
channel
InfoChannel
0..1
Figure 12-1 GeneralMessageRequest - Summary
© Copyright Kizoom 2006-2007
Page 65
SIRI Functional Services - UML Diagrams
GENERALMESSAGEREQUEST DETAIL
The GeneralMessageRequest (Figure 12-2) is used to request message data.
Data may be filtered by an InfoChannel.
Siri Rqs::SubscriptionRequest
Siri Rqs::ProducerResponse
RequestTimestamp[1] : dateTime
Address[0..1] : EndPointAddress
RequestorRef[1] : Participant
MessageIdentifer[0..1] : MessageQualifier
ConsumerAddress[0..1] : EndPointAddress
SubscriptionFilterIdentifier[0..1] : nmtoken
SubscriptionContext[0..1] : SubscriptionContext
0..*
requestor
SIRI-GM
GeneralMessageSubscription
& GeneralMessageRequest
© 2007 SIRI
requests
1
producer
0..*
Siri Rqs::AbstractFunctionalSubscriptionRequest
SubscriberRef[1] : ParticipantCode
SubscriptionIdentifier[1] : SubscriptionCode
InitialTerminationTime[1] : dateTime
subscriber
1
1
0..*
Siri Mdl::Participant
requestor
1
0..*
0..*
1
GeneralMessageSubscriptionRequest
Siri Rqs::ServiceRequest
RequestContext[1] : RequestContext
RequestTimestamp[1] : dateTime
Address[1] : EndPointAddress
RequestorRef[1] : ParticipantCode
MessageIdentifer[1] : string
GeneralMessageRequest[1] : GeneralMessageRequest
GeneralMessageSubscriptionPolicies[0..1] : GeneralMessageSubscriptionPolicies
Extensions[0..1] : any
policies
1
*
1 Rqs::AbstractFunctionalServiceRequest
Siri
request
RequestTimestamp[1]
: dateTime
GeneralMessageSubscriptionPolicies
MessageIdentifier[0..1] : MessageQualifier
1
1
requests
topics 0..*1
GeneralMessageRequest
GeneralMessageTopics[0..1] : GeneralMessageTopics
GeneralMessagePolicies[0..1] : GeneralMessagePolicies
Extensions[0..1] : any
policies
0..1
1
0..1
GeneralMessagePolicies
GeneralMessageTopics
channel
Language[0..1] : lang
InfoChannel[0..1] : InfoChannelCode
0..*
0..1
GM-Mdl::InfoChannel
Figure 12-2 GeneralMessageRequest - Detail
© Copyright Kizoom 2006-2007
Page 66
SIRI Functional Services - UML Diagrams
SIRI-GM: DELIVERY
GENERALMESSAGEDELIVERY SUMMARY
The GeneralMessageDelivery (Figure 12-3) is returned by the SIRI-GM service and normally contains
one or more GeneralMessage elements, each recording a Content message in a specified format.
0..*
1
producer
ProducerResponse
Participant
SIRI-GM Summary
GeneralMessageDelivery
deliveries
ServiceDelivery
© 2007 SIRI
0..*
1
*
GeneralMessageDelivery
1
1
0..*
GeneralMessage
situation
1
0..1
Situation
GeneralMessageCancellation
InfoMessageIdentifier[1]
InfoMessageVersion[0..1]
InfoChannelRef[0..1]
ValidUntilTime[0..1]
SituationRef[0..1]
Content[1]
cancels
0..1
0..*
InfoMessageIdentifier[1]
InfoMessageVersion[0..1]
InfoChannelRef[0..1]
ValidUntilTime[0..1]
SituationRef[0..1]
Extensions[0..1]
1
0..*
0..1
*
channel
InfoChannel
Content
format[0..1] : nmtoken
value[0..1] : string
Figure 12-3 GeneralMessageDelivery - Summary
© Copyright Kizoom 2006-2007
Page 67
SIRI Functional Services - UML Diagrams
GENERALMESSAGEDELIVERY DETAIL
Figure 12-4 shows attribute types for a GeneralMessageDelivery.
Siri Rqs::ProducerResponse
SIRI-GM
GeneralMessageDelivery
ResponseTimeStamp[1] : dateTime
ProducerRef[0..1] : ParticipantCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
RequestMessageRef[0..1] : MessageQualifier
© 2007 SIRI
producer
1
0..*
Siri Mdl::Participant
subscriber
Siri Rqs::ServiceDelivery
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
MoreData[1] : boolean
0..1
0..*
0..1
1
Siri Rqs::AbstractFunctionalServiceDelivery
ResponseTimeStamp[1] : dateTime
RequestMessageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
SubscriptionRef[0..1] : SubscriptionCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
ValidUntil[0..1] : dateTime
ShortestPossibleCycle[0..1] : positiveDuration
1
SIRI Requests::ErrorCondition
-Error[1] : AbstractError
-Description[1] : ErrorDescription
0..1
1
0..*
deliveries
GeneralMessageDelivery
1
version[1] : versionString
Extensions[0..1]
Siri Rqs::AbstractItem
1
-RecordedAtTime[1] : dateTime
Siri Rqs::AbstractReferencedItem
Siri Rqs::AbstractIdentifiedItem
IdentifiedItemRef[0..1] : IdentifiedItemCode
IdentifiedItemCode[0..1] : IdentifiedItemCode
0..1
0..1
GeneralMessage
GeneralMessageCancellation
InfoMessageIdentifier[1] : InfoMessageIdentifier
InfoMessageVersion[0..1] : InfoMessageVersion
InfoChannelRef[0..1] : InfoChannelCode
ValidUntilTime[0..1] : dateTime
SituationRef[0..1] : SituationCode
Content[1] : Content
InfoMessageIdentifier[1] : InfoMessageIdentifier
InfoMessageVersion[0..1] : InfoMessageVersion
InfoChannelRef[0..1] : InfoChannelCode
ValidUntilTime[0..1] : dateTime
SituationRef[0..1] : SituationCode
Extensions[0..1]
situation
0..1
Siri Mdl::Situation
0..1
0..*
info channel
cancels
1
0..1
1
1
«datatype»
GM-Mdl::InfoMessageIdentifier
«datatype»
GM-Mdl::InfoChannelCode
Content
GM-Mdl::InfoChannel
0..1
format[0..1] : nmtoken
value[0..1] : string
«datatype»
GM-Mdl::InfoMessageVersion
Figure 12-4 GeneralMessageDelivery - Detail
© Copyright Kizoom 2006-2007
Page 68
SIRI Functional Services - UML Diagrams
13. SIRI FACILITYMONITORING (FM) DRAFT
SIRI-FM: SUBSCRIPTION & REQUEST
FACILITYMONITORINGREQUEST SUMMARY
[TODO]
Figure 13-1 ProductionTimeTableRequest - Summary
FACILITYMONITORINGREQUEST DETAIL
[TODO]
Figure 13-2 ProductionTimetableRequest - Detail
SIRI-FM: DELIVERY
FACILITYMONITORINGDELVIERY SUMMARY
[TODO]
Figure 13-3 ProductionTimetableDelivery - Summary
FACILITYMONITORINGDELVIERY DETAIL
[TODO]
Figure 13-4 ProductionTimetableDelivery - Detail
© Copyright Kizoom 2006-2007
Page 69
SIRI Functional Services - UML Diagrams
14. SIRI SITUATIONEXCHANGE (SX) DRAFT
The SIRI-SX Service is for exchanging Situation content in real-time. It uses a structured Situation
model for describing disruptions to services. The structured model includes element references that
relate directly to the entities of other SIRI services. Incidents can thus be directly linked to stop points,
lines, journeys, pathways, etc: and provide an explanation of the disruption. The service can be used
to exchange incident information between control systems, and to distribute to journey planners and
alert systems that wish to process and match incidents based on structured elements.

The Topics allow a Consumer system to specify that only specific categories of message are
to be returned.

The Delivery embeds Stuctured incidents and updates.
SIRI-SX: SUBSCRIPTION & REQUEST
SITUATIONEXCHANGEREQUEST SUMMARY
Figure 14-1 Summarises the SIRI-SX request elements.
participant
Participant
participant
1
0..*
SIRI-SX Summary
SituationExchangeSubscription
& SituationExchangeRequest
subscriptions
© 2007 SIRI
SubscriptionRequest
1
0..*
1
0..*
policies
ServiceRequest
SituationExchangeSubscriptionRequest
request
requests
1
1
1
*
SituationExchangeSubscriptionPolicies
IncrementalUpdates[0..1]
1
*
policies
SituationExchangePolicies
SituationExchangeRequest
1
topics
Language[0..1]
MaximumNumberOfSituations[0..1]
0..1
1
«enumeration»
PredictabilityEnum
planned
unplanned
both
«enumeration»
TpegSeverityEnum
unknown
verySlight
slight
normal
severe
verySevere
noImpact
undefined
«enumeration»
VehicleModesEnum
air
bus
coach
ferry
metro
rail
tram
underground
0..1
SituationExchangeTopics
1
filter
PreviewInterval[1]
StartTime[0..1]
VehicleMode[0..1]
AffectedSubMode[0..1]
AccessMode[1]
Severity[0..1]
Predictability[0..1]
Keywords[0..*]
SituationNetworkFilter[0..1]
SituationStopPlaceFilter[0..1]
SituationJourneyFilter[0..1]
AccessibilityNeedFilter[0..1]
1
1
filter
1
0..1
0..1
AccessibilityNeedsFilter
0..1
0..1 0..*
network
UserNeed[0..1]
SituationStopPlaceFilter
SituationNetworkFilter
1
unit
0..*
filter
places
Network
«enumeration»
AccessModesEnum
foot
bicycle
car
taxi
shuttle
0..*
operator
OperatorRef[0..1]
OperationalUnitRef[0..1]
NetworkRef[0..1]
LineRef[0..1]
StopPointRef[0..1]
ConnectionLinkRef[0..1]
StopPlaceRef[0..1]
FacilityRef[0..1]
0..*
VehicleJourneyRef[0..1]
InterchangeRef[0..1]
VehicleRef[0..1]
0..1
0..*
vehicle
0..*
stop place
0..*
0..*
interchange
0..1
0..*
1
Interchange
line stop point
user need
journey
connection
0..*0..*
0..1
SituationJourneyFilter
StopPlace
0..1
0..1
UserNeed
0..1
0..1 Operator
0..1
1
VehicleJourney
Vehicle
StopPoint
OperationalUnit
Line
ConnectionLink
Figure 14-1 SituationExchangeRequest - Summary
© Copyright Kizoom 2006-2007
Page 70
SIRI Functional Services - UML Diagrams
SITUATIONEXCHANGEREQUEST DETAIL
The SituationExchangeRequest (Figure 12-2) is used to request message data.
Data may be filtered by various structured message attributes such as a Severity, Mode, etc as well as
filters for the Network, Line Stop place, etc.
context
Siri Mdl::Participant
0..1
RequestTimestamp[1] : dateTime
Address[0..1] : EndPointAddress
1
RequestorRef[1] : Participant
MessageIdentifer[0..1] : string
1
ConsumerAddress[0..1] : EndPointAddress
requests
SubscriptionFilterIdentifier[0..1] : nmtoken
SubscriptionContext[0..1] : SubscriptionContext
1
1
requestor
0..*
0..1
Siri Rqs::ServiceRequest
RequestContext[1] : RequestContext
RequestTimestamp[1] : dateTime
Address[1] : EndPointAddress
RequestorRef[1] : ParticipantCode
MessageIdentifer[1] : string
© 2007 SIRI
SituationExchangeSubscriptionRequest
policies
SituationExchangeRequest[1] : SituationExchangeRequest
SituationExchangeSubscriptionPolicies[0..1] : SituationExchangeSubscriptionPolicies
Extensions[0..1] : any
Siri Rqs::RequestContext
*
SIRI-SX
SituationExchangeSubscription
& SituationExchangeRequest
*
context
1
0..1
requests
1
Siri Rqs::SubscriptionContext
Siri Rqs::SubscriptionRequest
requestor
1
request
SituationExchangeRequest
1
1
0..1
SituationExchangeSubscriptionPolicies
IncrementalUpdates[0..1] : boolean
SituationExchangeTopics[0..1] : SituationExchangeTopics
SituationExchangePolicies[0..1] : SituationExchangePolicies
Extensions[0..1] : any
1
policies
SituationExchangePolicies
«enumeration»
PredictabilityEnum
planned
unplanned
both
1
topic
unit
TM-Mdl::OperationalUnit
TM-Mdl::Network
0..* network
SituationNetworkFilter
operator
1
OperatorRef[0..1] : OperatorCode
OperationalUnitRef[0..1] : OperationalUnitCode
NetworkRef[0..1] : NetworkCode
LineRef[0..1] : LineCode
StopPointRef[0..1] : StopPointCode
ConnectionLinkRef[0..1] : ConnectionLinkCode
0..*
SituationExchangeTopics
PreviewInterval[1] : duration
StartTime[0..1] : dateTime
VehicleMode[0..1] : VehicleModesEnum
AffectedSubMode[0..1] : AccessModesEnum
AccessMode[1] : AccessModesEnum
Severity[0..1] : TpegSeverityEnum
Predictability[0..1] : boolean
Keywords[0..*] : string
SituationNetworkFilter[0..1] : SituationNetworkFilter
SituationStopPlaceFilter[0..1] : SituationStopPlaceFilter
SituationJourneyFilter[0..1] : SituationJourneyFilter
AccessibilityNeedFilter[0..1] : AccessibilityNeedsFilter
1
0..*
1
TM-Mdl::Operator
0..1
Language[0..1] : lang
MaximumNumberOfSituations[0..1] : integer
*
1
0..1
filter
0..*
1
0..*
1
0..1
0..*
connection
1
SituationStopPlaceFilter
0..1
1
TM-Mdl::ConnectionLink
1
stop place
0..*
filter
TM-Mdl::StopPoint
to stop
0..*
StopPlaceRef[0..1] : StopPlaceCode
FacilityRef[0..1] : FacilityCode
1
TM-Mdl::Line
stop
iFOPT-Mdl::StopPlace
1
SituationJourneyFilter
«enumeration»
TpegSeverityEnum
unknown
verySlight
slight
normal
severe
verySevere
noImpact
undefined
0..1
filter
0..*
0..*
0..*
1
TM-Mdl::VehicleJourney
0..*
AccessibilityNeedsFilter
1
needs
interchange
vehicle
1
«enumeration»
AccessModesEnum
foot
bicycle
car
taxi
shuttle
journey
VehicleJourneyRef[0..1] : VehicleJourneyCode
InterchangeRef[0..1] : InterchangeCode
VehicleRef[0..1] : VehicleCode
«enumeration»
VehicleModesEnum
air
bus
coach
ferry
metro
rail
tram
underground
*
1
TM-Mdl::Vehicle
TM-Mdl::Interchange
ACSB-Mdl::UserNeed
Figure 14-2 SituationExchangeRequest - Detail
SIRI-SX: DELIVERY
© Copyright Kizoom 2006-2007
Page 71
SIRI Functional Services - UML Diagrams
SITUATIONEXCHANGEDELIVERY SUMMARY
The SituationExchangeDelivery (Figure 14-3) is returned by the SIRI-SX service and normally contains
one or more Situation elements; these will either be a BaseSituation or an UpdateSituation. The
Situation has a body which is itself made up of a number of groups of attributes and child elements
(eg SituationSource, Consequence). For a further summary of the structured model, see below.
Siri Rqs::ProducerResponse
errors
Siri Rqs::ServiceDelivery
SIRI-SX Summary
SituationExchangeDelivery
Siri Rqs::ErrorCondition
1
0..1
© 2006 SIRI
deliveries
1
SituationContext
context
0..*
1
1
0..*
related to
1
situations
RelatedSituation
*
CreationTime[1]
CountryRef[0..1]
ParticipantRef[0..1]
SituationNumber[1]
SituationVersion[0..1]
RelatedAs[1]
references
AbstractSituation
CreationTime[1]
CountryRef[0..1]
ParticipantRef[1]
SituationNumber[1]
RelatedTo[0..*]
SituationBody[1]
body
1
1
body
1
SituationSource
1
made by
1
0..*
Participant
updates
BaseSituation
«enumeration»
RelatedEnum
cause
effect
supercedes
supercededBy
association
0..1
SituationExchangeDelivery
UpdateSituation
SituationVersion[0..1]
0..*whenUpdateParticipantRef[0..1]
1
«group»
PtSituationBody
SituationSource[1]
SituationStatus[1]
TemporalGroup[1]
ClassifierGroup[1]
DescriptionGroup[0..1]
Affects[0..1]
Consequences[0..*]
PublishingActions[0..1]
Extensions[0..1]
1
1
classifiers
description 1
1
reason
1 0..*
1
«group»
TemporalGroup
ValidityPeriod[1]
Repetitions[0..*]
PublicationWindow[1]
1
applies
0..1
«group»
ClassifierGroup
Reason[1]
ReasonName[0..1]
Severity[1]
Priority[0..1]
Sensitivity[0..1]
Audience[0..1]
ReportType[0..1]
ScopeType[0..1]
Planned[0..1]
Keywords[0..*]
0..1
0..1
0..*made
1 by
SX-Mdl::Reason
*
PublishingActions
1
1
«group»
DescriptionGroup
Summary[0..1]
Description[0..1]
Detail[0..1]
Advice[0..1]
Internal[0..1]
Images[0..*]
InfoLink[0..*]
actions
1
source
Country[0..1]
SourceType[1]
Email[0..1]
Phone[0..1]
Fax[0..1]
Web[0..1]
Other[0..1]
AgentReference[0..1]
TimeOfCommunication[1]
ExternalCode[0..1]
1
Consequence
1
consequence
1
0..*
affects
affects
Period[0..1]
Condition[0..1]
Severiity[1]
Affects[0..1]
Suitabilities[0..*]
Advice[1]
Blocking[0..1]
Boarding[0..1]
Delay[0..1]
Casualties[0..1]
Easements[0..1]
Extensions[0..1]
network
ValidityPeriod
-StartTime[1]
-EndTime[1]
1
SX-Affects::AffectedNetwork
0..*
0..* networks
TM-Mdl::Network
1
1
1
operators
0..*
journeys
10..1 0..1
SX-Affects::AffectedVehicleJourney
0..*
SX-Affects::Affects
journey0..*
0..*
operator
1
SX-Affects::AffectedOperator
lines
0..1
0..*
TM-Mdl::Operator
1
0..*
SX-Affects::AffectedScheduledStop
stop place 0..*
0..1
TM-Mdl::StopPoint
place
SX-Affects::AffectedPlace
0..*
0..*
stop
TM-Mdl::Line
TM-Mdl::DatedVehicleJourney
stops
places
0..*
0..1
1
1
places
SX-Affects::AffectedLine
line
1
0..1
iFOPT-Mdl::StopPlace
0..*
0..1
0..*
SX-Affects::AffectedStopPlace
TM-Mdl::Place
0..*
stop place
iFOPT-Mdl::StopPlaceComponent
0..1
Figure 14-3 SituationExchangeDelivery - Summary
© Copyright Kizoom 2006-2007
Page 72
SIRI Functional Services - UML Diagrams
SITUATIONEXCHANGEDELIVERY DETAIL
Figure 14-6 shows attribute types for a SituationExchangeDelivery. For a further summary of the
structured model, see below.
1
Siri Rqs::ProducerResponse
1
subscriber 0..1
0..*
Siri Rqs::AbstractFunctionalServiceDelivery
made by
ResponseTimeStamp[1] : dateTime
RequestMessageRef[0..1] : MessageQualifier
SubscriberRef[0..1] : ParticipantCode
SubscriptionFilterRef[0..1] : SubscriptionFilterCode
SubscriptionRef[0..1] : SubscriptionCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
Status[0..1] : boolean
made by
ErrorCondition[0..1] : ErrorCondition
ValidUntil[0..1] : dateTime
ShortestPossibleCycle[0..1] : positiveDuration
Siri Mdl::Participant
producer
1
0..*
errors
Siri Rqs::ErrorCondition
1
0..1
Error[1] : AbstractError
Description[1] : ErrorDescription
ResponseTimeStamp[1] : dateTime
ProducerRef[0..1] : ParticipantCode
Address[0..1] : EndPointAddress
ResponseMessageIdentifier[0..1] : MessageQualifier
RequestMessageRef[0..1] : MessageQualifier
1
0..1
errors
Siri Rqs::ServiceDelivery
Status[0..1] : boolean
ErrorCondition[0..1] : ErrorCondition
MoreData[1] : boolean
1
deliveries
0..*
SX-Mdl::AbstractSituation
CreationTime[1] : dateTime
CountryRef[0..1] : CountryEnum
ParticipantRef[1] : ParticipantCode
SituationNumber[1] : SituationIdentifier
RelatedTo[0..*] : RelatedSituation
SituationBody[1] : PtSituationBody
0..*
SituationExchangeDelivery
body
version[1] : versionString
Extensions[0..1] : any
SIRI-SX
SituationExchangeDelivery
1
© 2006 SIRI
updates
SX-Mdl::BaseSituation
1
SX-Mdl::UpdateSituation
0..*
SituationVersion[0..1] : SituationVersion
UpdateParticipantRef[0..1] : Participant
1
«group»
SX-Mdl::PtSituationBody
0..*
Figure 14-4 SituationExchangeDelivery - Detail
SITUATION MODEL
© Copyright Kizoom 2006-2007
Page 73
SIRI Functional Services - UML Diagrams
SITUATION
Figure 14-4 shows the main elements and attributes of the Situation model. It has four three basic
groups of elements: the TemporalGroup (time that Situation applies), ClassifierGroup (a
categorisation of incident) and a DescriptionGroup (human readable textual descriptions) and
SituationStatus . Child elements describe the origin (SituationSource),Consequence and scope of
effect (Affects).
SIRI-SX
Situation - Basic
AffectedNetwork
0..*
0..*
© 2006 SIRI
CreationTime[1]
CountryRef[0..1]
ParticipantRef[1]
SituationNumber[1]
RelatedTo[0..*]
SituationBody[1]
0..*
1
made by
1 0..*
AffectedPlace
journeys
0..*
0..*
1
places
operators
1
1
Participant
made by
1
1
1
Affects
1
updates
0..*
networks
stops
body
AffectedOperator
0..*
BaseSituation
AffectedVehicleJourney
AffectedScheduledStop
AbstractSituation
1
0..*
lines
UpdateSituation
0..1
AffectedLine
SituationVersion[0..1]
UpdateParticipantRef[0..1]
places
1
0..1
1
0..*
«group»PtSituationBody
SituationSource
Country[0..1]
SourceType[1]
Email[0..1]
Phone[0..1]
Fax[0..1]
Web[0..1]
Other[0..1]
AgentReference[0..1]
TimeOfCommunication[1]
ExternalCode[0..1]
1
0..1
source
1
1
SituationSource[1]
SituationStatus[1]
TemporalGroup[1]
ClassifierGroup[1]
DescriptionGroup[0..1]
Affects[0..1]
Consequences[0..*]
PublishingActions[0..1]
Extensions[0..1]
1
classifiers
affects
AffectedStopPlace
consequence
affects
1
actions
1
0..1
1
PublishingActions
1
0..*
when
*
1
description
«group»
TemporalGroup
ValidityPeriod[1]
Repetitions[0..*]
PublicationWindow[1]
0..*
1
reason
Reason
«group»
ClassifierGroup
Reason[1]
ReasonName[0..1]
Severity[1]
Priority[0..1]
Sensitivity[0..1]
Audience[0..1]
ReportType[0..1]
ScopeType[0..1]
Planned[0..1]
Keywords[0..*]
Consequence
1
«group»
DescriptionGroup
Summary[0..1]
Description[0..1]
Detail[0..1]
Advice[0..1]
Internal[0..1]
Images[0..*]
InfoLink[0..*]
Period[0..1]
Condition[0..1]
Severiity[1]
Affects[0..1]
Suitabilities[0..*]
Advice[1]
Blocking[0..1]
Boarding[0..1]
Delay[0..1]
Casualties[0..1]
Easements[0..1]
Extensions[0..1]
Figure 14-5 Situation Main elements
© Copyright Kizoom 2006-2007
Page 74
SIRI Functional Services - UML Diagrams
SITUATION BODY
The SituationBody (Figure 14-6Figure 14-5) shows detailed attributes of a Situation.
RelatedSituation
references
1
1
related to
AbstractSituation
0..*
CreationTime[1] : dateTime
CountryRef[0..1] : CountryEnum
ParticipantRef[1] : ParticipantCode
SituationNumber[1] : SituationIdentifier
RelatedTo[0..*] : RelatedSituation
SituationBody[1] : PtSituationBody
CreationTime[1] : dateTime
CountryRef[0..1] : Country
ParticipantRef[0..1] : ParticipantCode
SituationNumber[1] : SituationIdentifier
SituationVersion[0..1] : SituationVersion
RelatedAs[1] : RelatedEnum
updates
1
0..*
made by
1
0..*
UpdateSituation
status
Verication[1] : VerificationEnum
Progress[1] : SituationProgressEnum
Quality[1] : QualityIndexEnum
«enumeration»
SituationProgressEnum
draft
approvedDraft
open
closing
closed
1
1
actions
1
reason
0..1
Affects
affects
1
Consequence 0..1
0..*
«group»ClassifierGroup
Reason[1] : Reason
ReasonName[0..1] : nlString
Severity[1] : TpegSeverityEnum
Priority[0..1] : integer
Sensitivity[0..1] : SensitivityEnum
Audience[0..1] : AudienceEnum
ReportType[0..1] : TpegReportEnum
ScopeType[0..1] : ScopeEnum
Planned[0..1] : boolean
Keywords[0..*] : string
affects
1
classifiers
1
«enumeration»
QualityIndexEnum
certain
veryReliable
reliable
0..*
probablyReliable
unconfirmed
PublishingActions
SituationSource[1] : SituationSource
0..1
SituationStatus[1] : SituationStatus
TemporalGroup[1] : TemporalGroup
11
ClassifierGroup[1] : ClassifierGroup
DescriptionGroup[0..1] : DescriptionGroup
Affects[0..1] : Affects
Consequences[0..*] : Consequence
PublishingActions[0..1] : PublishingActions
1
Extensions[0..1] : any
consequence
1
«enumeration»
SourceEnum
email
phone
fax
post
feed
radio
tv
web
pager
text
other
1
«group»PtSituationBody
«enumeration»
SensitivityEnum
veryHigh
high
medium
low
veryLow
«enumeration»
VerificationEnum
unknown
unverified
verified
1
Country[0..1] : CountryEnum
SourceType[1] : SourceEnum
Email[0..1] : email
Phone[0..1] : phoneNumber
Fax[0..1] : phoneNumber
Web[0..1] : anyURI
0..1
Other[0..1] : string
source
AgentReference[0..1] : string
TimeOfCommunication[1] : dateTime
ExternalCode[0..1] : string
SituationVersion[0..1] : SituationVersion
UpdateParticipantRef[0..1] : Participant
1
«enumeration»
RelatedEnum
cause
effect
supercedes
supercededBy
association
SituationSource
1
«group»SituationStatus
© 2006 SIRI
body
1
0..*made by
1
Participant
BaseSituation
SIRI Situation
when
description
Period[0..1] : HalfOpenTimestampRange
Condition[0..1] : TpegServiceConditionEnum
Severiity[1] : TpegSeverityEnum
Affects[0..1] : Affects
Suitabilities[0..*] : Suitability
Advice[1] : Advice
Blocking[0..1] : Blocking
Boarding[0..1] : Boarding
Delay[0..1] : duration
Casualties[0..1] : Casualties
Easements[0..1] : Easement
Extensions[0..1] : any
1
*
Reason
«group»DescriptionGroup
«group»TemporalGroup
«enumeration»
ScopeEnum
general
operator
network
route
line
place
stopPlace
stopPlaceComponent
stopPoint
vehicleJourney
datedVehicleJourney
connectionLink
interchange
«enumeration»
TpegReportEnum
unknown
network
route
point
individualService
undefined
Summary[0..1] : DefaultedText
Description[0..1] : DefaultedText
Detail[0..1] : DefaultedText
Advice[0..1] : DefaultedText
Internal[0..1] : DefaultedText
Images[0..*] : Image
InfoLink[0..*] : InfoLink
ValidityPeriod[1] : ValidityPeriod
Repetitions[0..*] : DayType
PublicationWindow[1] : ValidityPeriod
applies
«enumeration»
AudienceEnum
public
staff
emergencyServices
management
stationStaff
infoServices
1 days
0..*
DayType
1
0..1
DefaultedText
ValidityPeriod
nlString[1]
overridden[0..1]
StartTime[1] : dateTime
EndTime[1] : dateTime
1
InfoLink
Image
ImageRef[0..1]
ImageBinary[0..1]
ImageContent[0..1]
0..1 image
Uri[1]
Label[1]
Image[1]
LinkContent[1]
Figure 14-6 SituationExchangeDelivery - SituationBody
© Copyright Kizoom 2006-2007
Page 75
SIRI Functional Services - UML Diagrams
SITUATION AFFECTS SCOPE
The Affects is used to
Operator
0..1
operator
SIRI-SX
Situation
Affects Summary
1
© 2007
0..*
1
0..*
0..*
DatedVehicleJourney
operator
AffectedOperator
1
consequence
PtSituationBody
operators
0..*
1
1
journey
Consequence
operators
Network
affects
affects
1
0..1
0..1
1
network
0..1
0..1 1
operators
1
AffectedVehicleJourney
1
0..*
networks 1
AffectedNetwork
places
1
0..*
TopographicPlace
1
AffectedPlace
1
0..*
place
1
1
components
lines
0..*
Affects
places
1
lines
journeys
0..1
0..*
place
*
1
Place
0..1
AffectedStopPlaceComponent
AffectedScheduledStop
0..1
0..1
1
0..1
links1
StopPlace
AffectedCall
0..*
components
0..*
0..* 1
destinations
AffectedLine
line
calls
1
1
component
StopPlaceComponent
0..1
0..1
stop place 0..1
AffectedStopPlace
11
origins
1
0..*
stop
AffectedConnectionLink
1
1
0..1
0..1
1
to stop
0..1
line
Line
StopPoint
1
line
0..1
1
© Copyright Kizoom 2006-2007
Page 76
SIRI Functional Services - UML Diagrams
SITUATION AFFECTS SCOPE – SCHEDULED JOURNEYS
Figure 14-7 shows detailed attributes for the scope elements used to relate Situations to parts of the
network and to specific journeys.
«group»PtSituationB
ody
10..*
1
0..1
0..1
1
1
affects
AffectedStopPlace
affects
Consequence
1
places
1
SEE AFFECTED
STOP PLACE
0..*
Affects
1
TM-Mdl::Network
networks
TM-Mdl::Operator
0..*0..*
1
network
AffectedOperator
OperatorRef[0..1] : OperatorCode
OperatorName[0..1] : nlString
operators
OperatorShortName[0..1] : nlString
0..*
OperationalUnitRef[0..1] : OperationalUnitCode
Extensions[0..1] : any
1
lines
0..*
0..*
AffectedNetwork
NetworkRef[0..1] : NetworkCode
NetworkName[0..1] : nlString
RoutesAffected[0..1] : nlString
AffectedOperators[0..*] : AffectedOperator
AffectedModes[0..1] : Mode
AffectedLines[0..*] : AffectedLine
Extensions[1] : any
TM-Mdl::DatedVehicleJourney
DatedVehicleJourneyRef[0..1] : DatedVehicleJourneyCode
JourneyName[0..1] : nlString
stops
Operator[0..1] : AffectedOperator
LineRef[0..1] : LineCode
0..*
PublishedLineName[0..1] : nlString
DirectionRef[0..1] : DirectionCode
Origins[0..*] : AffectedScheduledStop
Destinations[0..*] : AffectedScheduledStop
0..1
1
OriginAimedDepartureTime[0..1] : dateTime
DestinationAimedArrivalTime[0..1] : dateTime
Calls[0..*] : AffectedCall
AccessibilityDisruptions[0..*]
0..*
journey FacilityChange[1] : FacilityChange
Extensions[0..1] : any
disruptions
1
mode
0..*
0..*
0..*
0..*
disruptions
1
0..*
AffectedScheduledStop
SX-Mdl::LineSection
0..1
line
0..*
stop
0..*
0..*
TM-Mdl::Line
0..1
AffectedCall
AffectedConnectionLink
Order[1] : integer
CallCondition[0..1] : TpegServiceConditionEnum
VehicleAtStop[0..1] : boolean
AffectedInterchanges[0..*] : AffectedInterchange
TM-Mdl::StopPoint
ConnectingVehicleJourneyRef[0..1] : DatedVehicleJourneyCode
ArrivalTimes[0..1] : ArrivalTimes
1
0..1
ArrivalInfo[0..1] : ArrivalInfo
DepartureTimes[0..1] : DepartureTimes
interchanges DepartureInfo[0..1] : DepartureInfo
stop
HeadwayInfo[0..1] : HeadwayInfo
0..1
ConnectionLinkRef[0..1] : ConnectionLinkCode
ConnectionName[0..1] : nlString
LineRef[0..1] : LineCode
PublishedLineName[0..1] : nlString
ConnectingStopPointName[0..1] : nlString
ConnectingZoneName[0..1] : nlString
ConnectionDirection[0..1]
AffectedLinks[0..*] : nmtoken
Extensions[0..1] : any
«enumeration»
Tpeg-Mdl::TpegInterchangeStatusEnum
unknown
connection
replacement
alternative
connectionNotHeld
connectionHeld
statusOfConnectionUndecided
undefined
*
StopPointRef[0..1] : StopPointCode
StopPointName[0..1] : nlString
PrivateRef[1] : string
Location[0..1] : Location
AffectedModes[0..*] : Mode
TopographicPlaceRef[0..1] : PlaceId
PlaceName[0..1] : nlString
AccessibilityDisruptions[0..*] : AccessibilityDisruption
ConnectionLinks[0..*] : ConnectionLink
Extensions[0..1] : any
0..*
0..* section
«enumeration»
SX-Enm::ConnectionDirectionEnum
both
from
to
1
Association4
LineRef[0..1] : LineCode
PublishedineName[0..1] : nlString
0..*
AffectedOperators[0..*] : AffectedOperator
AffectedDestinations[0..*] : AffectedScheduledStop
Direction[0..1] : DirectionCode
AffectedRoutes[0..*] : RouteCode
AffectedSections[0..*] : SectionCode
Extensions[1] : any
line
TM-Mdl::Direction
1
origins
0..* ACSB-Mdl::AccessibilityDisruption
AffectedLine
0..1
1
0..*
TM-Mdl::Mode
mode
TM-Mdl::Route
0..*
outes
0..*
direction 0..*
0..*
AffectedVehicleJourney
1
journeys
operators
1
0..1
0..*
0..*
AffectedInterchange
InterchangeRef[0..1] : InterchangeCode
InterchangeStopPointRef[0..1] : StopPointCode
InterchangeStopPointName[0..1] : nlString
ConnectingVehicleJourneyRef[0..1] : DatedVehicleJourneyCode
InterchangeStatusType[0..1] : TpegInterchangeStatusEnum
AffectedConnectionLinkRef[0..1] : AffectedConnectionLink
Extensions[0..1] : any
interchange
0..*
1
TM-Mdl::Interchange
Figure 14-7 Affects Scope - Scheduled Journeys
© Copyright Kizoom 2006-2007
Page 77
SIRI Functional Services - UML Diagrams
SITUATION AFFECTS SCOPE STOP PLACE
Figure 14-8 shows detailed attributes for the scope elements used to relate Situations to parts of the
stop place. These can include accessibility properties
AffectedPlace
places
Affects
1
0..*
1
PlaceRef[1] : StopPlaceId
PlaceName[0..1] : nlString
PlaceType[0..1] : NMTOKEN
Extensions[0..1] : any
place
Place
1
0..1
places
StopPlace
AffectedStopPlaceElement
accessibility
AccessibilityDisruption[0..1] : AccessibilityDisruption
0..1place
stop
1 0..*
0..1
1
AccessibilityDisruption
AffectedStopPlace
StopPlaceRef[1] : StopPlaceCode
PlaceName[0..1] : nlString
StopPlaceType[1] : StopPlaceTypeEnum
Components[0..*] : AffectedStopPlaceComponent
NavigationPaths[0..*] : ComponentId
Extensions[0..1] : any
components
SIRI-SX
Situation Affects
- Stop Place
«enumeration»
AccessFacilityEnum
unknown
lift
escalator
travelator
ramp
stairs
shuttle
narrowEntrance
barrier
lowFloorAccess
suitabilities
1
1
0..*
© 2007
Suitability
1
«enumeration»
StopPlaceTypeEnum
airport
railStation
metroStation
coachStation
busStation
shipPort
ferryPort
ferryStop
onStreetBus
onStreetTram
skiLift
other
MobilityImpairedAccess[1] : boolean
Liimitations[0..1]
Suitabilities[0..*] : Suitability
«enumeration»
SuitableEnum
suitable
notSuitable
unknown
UserNeed[1] : UserNeed
Suitable[1] : SuitableEnum
«enumeration»
ComponentTypeEnum
quay
0..*
accessSpace
boardingPosition
stoppingPlace
stoppingPosition
entrance
stopPathLink
accessPathLink
other
AffectedStopPlaceComponent
ComponentRef[1] : ComponentId
ComponentName[0..1] : nlString
ComponentType[1] : ComponentTypeEnum
AccessFeatureType[0..1] : AccessFeatureEnum
Extensions[0..1] : any
component
1
«enumeration»
AccessibilityEnum
true
false
unknown
0..*
0..1
Limitation
StopPlaceComponent
1
level
Level
1
AbstractPathLink
StopPathLink
limitation
AccessPathLink
WheelchairAccess[0..1] : AccessibilityEnum
StepFreeAccess[0..1] : AccessibilityEnum
EscalatorFreeAccess[0..1] : AccessibilityEnum
LiftFreeAccess[0..1] : AccessibilityEnum
AudibleSignsAvailable[0..1] : AccessibilityEnum
VisualSignsAvailable[0..1] : AccessibilityEnum
AbstractStopPlaceSpace
AccessSpace
Quay
BoardingPosition
Figure 14-8 Affects Scope - Stop Place
© Copyright Kizoom 2006-2007
Page 78
SIRI Functional Services - UML Diagrams
15. SIRI COMMON DATA TYPES
COMMON SIRI DATA TYPES – XML SIMPLE TYPES
The SIRI-SX services use XML data types for primitive data types where possible (Figure 15-1).
«datatype»
any
«datatype»
boolean
«datatype»
decimal
XML Data Types
«datatype»
integer
© 2006 SIRI
«datatype»
string
«datatype»
dateTime
«datatype»
date
«datatype»
time
«datatype»
duration
«datatype»
nmtoken
«datatype»
anyURI
«datatype»
lang
«datatype»
Common data types::positiveDuration
Figure 15-1 XML simple data types
COMMON SIRI DATA TYPES
The SIRI-SX services use a number of common SIRI complex data types (Figure 15-2).
ErrorCondition
-Error[1] : AbstractError
-Description[1] : ErrorDescription
AbstractError
1
SIRI
Simple ErrorTypes
-ErrorText[1] : string
1
© 2006 SIRI
CapabilityNotSupportedError
AccessNotAllowedError
NoInfoForTopicError
AllowedResourceUsageExceeded
OtherError
CapabilityCode[1] : NMTOKEN
image
DefaultedText
InfoLink
nlString[1] : nlString
overridden[0..1] : boolean
Uri[1] : any
Label[1] : nlString
Image[1] : Image
LinkContent[1] : LinkContentEnum
SIRI
Complex Data Types
© 2006 SIRI
Location
1
Image
0..1
ImageRef[0..1] : anyURI
ImageBinary[0..1] : any
ImageContent[0..1] : ImageContenEnum
«enumeration»
LinkContentEnum
details
advice
timetable
relatedSite
other
«enumeration»
ImageContenEnum
map
graphic
logo
id[0..1] : NMTOKEN
srsName[0..1] : NMTOKEN
Longitude[0..1] : Longtitude
Latitude[0..1] : Latitude
Coordinates[0..1] : Coordinates
Precision[0..1] : Distance
FacilityChange
HalfOpenTimestampRange
EquipmentAvailability[0..1]
SituationRef[0..1] : SituationCode
MobilityDisruption[0..1]
EquipmentAvailability
0..1
1
EquipmentRef[0..1] : EquipmentCode
Description[0..1] : populatedString
EquipmentStatus[1] : EquipmentStatus
ValidityPeriod[0..1] : HalfOpenTimestampRange
EquipmentTypeRef[0..1] : EquipmentTypeCode
EquipmentFeatures[0..*] : EquipmentFeatureCode
1
StartTime[1] : dateTime
EndTime[0..1] : dateTime
MobilityDisruption
0..1
FramedVehicleJourneyRef
Mode
DataFrameRef[1] : DataFrameCode
DatedVehicleJourneyRef[1] : DatedVehicleJourneyCode
-Mode[1] : VehicleModesEnum
-SubMode[0..1] : TpegSubMode
MobilityImpairedAccess[0..1] : boolean
MobilityFacility[0..1] : MobilityFacility
TpegSubMode
Figure 15-2 UML Diagram of Common SIRI Data Types
© Copyright Kizoom 2006-2007
Page 79
SIRI Functional Services - UML Diagrams
COMMON SIRI SIMPLE DATA TYPES – CODES & IDENTIFIERS
As well as the XML simple data types, SIRI uses a number of additional simple data types see Figure
15-3. Many of these are just explicitly typed identifiers for entities – These have primitive type of
string or NMTOKEN).
«datatype»
XML Data Types::string
SIRI
Simple DataTypes
«datatype»
XML Data Types::integer
© 2006 SIRI
«datatype»
XML Data Types::nmtoken
«datatype»
XML Data Types::positiveInteger
«datatype»
Common data types::populatedString
«datatype»
Loc Mdl::Longtitude
«datatype»
Common data types::nlString
«datatype»
ParticipantCode
«datatype»
Common data types::distance
«datatype»
Loc Mdl::Bearing
«datatype»
Siri Rqs::MessageQualifier
«datatype»
Loc Mdl::Latitude
«datatype»
Loc Mdl::Coordinates
«datatype»
Siri Rqs::ErrorDescription
«datatype»
Siri Rqs::SubscriptionCode
«datatype»
Siri Rqs::SubscriptionFilterCode
«datatype»
IdentifiedItemCode
«datatype»
Siri Rqs::EndPointAddress
«datatype»
Common data types::versionString
«datatype»
SituationCode
«datatype»
Siri DTs::MonitoringCode
«datatype»
ProductCategoryCode
«datatype»
JourneyPlaceCode
«datatype»
EquipmentFeatureCode
«datatype»
VehicleFeatureCode
«datatype»
VisitNumber
«datatype»
EquipmentTypeCode
«datatype»
FacilityCode
«datatype»
ServiceFeatureCode
«datatype»
TM-DTs::DestinationCode
«datatype»
EquipmentCode
«datatype»
SectionCode
«datatype»
Siri DTs::CleardownCode
Figure 15-3 Common SIRI Simple Data types
Figure 15-4 shows simple data types use din SIRI to identify Transmodel entities.
«datatype»
DataFrameCode
«datatype»
OperationalUnitCode
«datatype»
OperatorCode
«datatype»
NetworkCode
«datatype»
ConnectionLinkCode
«datatype»
LineCode
«datatype»
RouteCode
«datatype»
JourneyPatternCode
«datatype»
BlockCode
SIRI
Identifier Simple DataTypes
For Transmodel entities
«datatype»
TimetableVersionCode
«datatype»
PlaceId
«datatype»
DirectionCode
«datatype»
DatedVehicleJourneyCode
«datatype»
CourseOfJourneyCode
© 2006 SIRI
«datatype»
StopPointCode
«datatype»
VehicleJourneyCode
«datatype»
VehicleCode
«datatype»
IFOPT-DTs::StopPlaceId
«datatype»
ZoneCode
«datatype»
TrainPartCode
«datatype»
InterchangeCode
«datatype»
TrainPartCode
«datatype»
IFOPT-DTs::ComponentId
«datatype»
IFOPT-DTs::StopPlaceCode
Figure 15-4 Common Identifier types used in SIRI for Transmodel entities
© Copyright Kizoom 2006-2007
Page 80
SIRI Functional Services - UML Diagrams
COMMON GENERAL SIRI ENUMERATIONS
The SIRI-SX services use a number of common SIRI enumerations. The common SIRI enumerations are
listed in Figure 15-5
SIRI
Enumerations
© 2006 SIRI
«enumeration»
VehicleModesEnum
air
bus
coach
ferry
metro
rail
tram
underground
«enumeration»
DepartureActivityEnum
boarding
noBoarding
passThru
«enumeration»
ArrivalActivityEnum
alighting
noAlighting
passThru
«datatype»
CountryEnum
«enumeration»
OccupancyEnum
full
seatsAvailable
standingAvailable
«enumeration»
ProgressRateEnum
noProgress
slowProgress
normalProgress
fastProgress
unknown
«datatype»
EquipmentStatus
«enumeration»
TimeStatusEnum
early
onTime
delayed
arrived
cancelled
noReport
«enumeration»
VM-Mdl::VmDetailLevelEnum
minimum
basic
normal
calls
«enumeration»
FacilityStatusEnum
unknown
available
notAvailable
partiallyAvailable
added
removed
«enumeration»
SM-Mdl::SmDetailLevelEnum
minimum
basic
normal
calls
full
«datatype»
MobilityFacility
Figure 15-5 UML Diagram of SIRI enumerations
SIRI-SX ENUMERATIONS
Figure 15-6 summaries the enumerations that are specific to SIRI-SX. These also appear in context on
individual diagrams.
SIRI-SX
Enumerations
© 2006 SIRI
«enumeration»
RelatedEnum
cause
effect
supercedes
supercededBy
association
«enumeration»
SituationProgressEnum
draft
approvedDraft
open
closing
closed
«enumeration»
QualityIndexEnum
certain
veryReliable
reliable
probablyReliable
unconfirmed
«enumeration»
AudienceEnum
public
staff
emergencyServices
management
stationStaff
infoServices
«enumeration»
ConnectionDirectionEnum
both
from
to
«enumeration»
SituationNatureEnum
planned
unplanned
both
«enumeration»
SensitivityEnum
veryHigh
high
medium
low
veryLow
«enumeration»
ImageContenEnum
map
graphic
logo
«enumeration»
VerificationEnum
unknown
unverified
verified
«enumeration»
LinkContentEnum
details
advice
timetable
relatedSite
other
«enumeration»
ScopeEnum
general
operator
network
route
line
place
stopPlace
stopPlaceComponent
stopPoint
vehicleJourney
datedVehicleJourney
connectionLink
interchange
Figure 15-6 UML Diagram of SIRI-SX Enumerations
© Copyright Kizoom 2006-2007
Page 81
SIRI Functional Services - UML Diagrams
IFOPT ENUMERATIONS FOR SIRI-SX
Figure 15-7 summarises the IFOPT STOP PLACE enumerations that are used in SIRI-SX. These mostly
also appear in context on individual UML diagrams.
IFOPT
Enumerations
© 2006 SIRI
«enumeration»
CongestionEnum
noWaiting
queue
crowding
full
«enumeration»
StopPlaceTypeEnum
airport
railStation
metroStation
coachStation
busStation
shipPort
ferryPort
ferryStop
onStreetBus
onStreetTram
skiLift
other
«enumeration»
AcccessSpaceEnum
concours
bookingHall
forecourt
underpass
overpass
gallery
garage
shop
«enumeration»
ComponentTypeEnum
quay
accessSpace
boardingPosition
stoppingPlace
stoppingPosition
entrance
stopPathLink
accessPathLink
other
«enumeration»
QuayTypeEnum
airlineGate
railPlatform
metroPlatform
coachStop
busStop
boatQuay
ferryLanding
tramStop
telecabinPlatform
taxiStand
setDownPlace
unknown
other
«enumeration»
BoardingPositionTypeEnum
doorFromAirlineGate
positionOnRailPlatform
positionOnMetroPlatform
positionAtTramStop
positionAtBusStop
positionAtCoachStop
ferryGangway
boatGangway
telecabinGangway
taxiBay
carSetDownPoint
unknown
other
«enumeration»
AccessFeatureEnum
lift
escalator
travelator
ramp
stairs
shuttle
barrier
narrowEntrance
confinedSpace
queueManagement
none
unknown
«enumeration»
AccessModesEnum
foot
bicycle
car
taxi
shuttle
Figure 15-7 UML Diagram of IFOPT Stop Place Enumerations
© Copyright Kizoom 2006-2007
Page 82
SIRI Functional Services - UML Diagrams
TPEG MISCELLANEOUS ENUMERATIONS FOR SIRI-SX
Figure 15-8 summarises the miscellaneous TPEG enumerations that are used in SIRI-SX. These mostly
also appear in context on individual UML diagrams.
«enumeration»
TpegDayTypeEnum
unknown
monday
tuesday
wednesday
thursday
friday
saturday
sunday
mondayToFriday
mondayToSaturday
weekends
publicHoliday
holiday
regionalHoliday
nationalHoliday
sundaysAndPublicHolidays
schooldays
everyday
undefinedDayType
«enumeration»
TpegSeverityEnum
unknown
verySlight
slight
normal
severe
verySevere
noImpact
undefined
Tpeg pti-26
TPEG
Miscellaneous
Enumerations
«enumeration»
TpegServiceConditionEnum
unknown
altered
cancelled
delayed
diverted
noService
disrupted
additionalService
specialService
onTime
normalService
intermittentService
shortFormedService
fullLengthService
extendedService
splitingTrain
replacementTransport
arrivesEarly
shuttleService
replacementService
undefinedServiceInformation
© 2007 SIRI
TPEG pti_34
tpeg pti_13
tpeg pti 31
«enumeration»
TpegInterchangeStatusEnum
unknown
connection
replacement
alternative
connectionNotHeld
connectionHeld
statusOfConnectionUndecided
undefined
«enumeration»
TpegReportEnum
unknown
network
route
point
individualService
undefined
«enumeration»
TpegTicketRestrictionEnum
unknown
allTicketClassesValid
fullFareOnly
certainTicketsOnly
ticketWithReservation
specialFare
onlyTicketsOfSpecifiedOperator
noRestrictions
noOffPeakTickets
noWeekendReturnTickets
noReducedFareTickets
unknwonTicketRestriction
tpeg pti_27
tpeg pti_25
«enumeration»
TpegRoutePointEnum
unknown
startPoint
destination
stop
via
notStopping
temporaryStop
temporarilyNotStopping
exceptionalStop
additionalStop
requestStop
frontTrainDestination
rearTrainDestination
throughServiceDestination
notVia
alteredStartPoint
alteredDestination
undefinedRoutePoint
tpeg pti_5
Figure 15-8 UML Diagram of TPEG Enumerations
© Copyright Kizoom 2006-2007
Page 83
SIRI Functional Services - UML Diagrams
TPEG MODE ENUMERATIONS
Figure 15-9 summarises the TPEG mode enumerations that are used in SIRI-SX. These mostly also
appear in context on individual UML diagrams.
TPEG pti02 + loc13
«enumeration»
TpegRailSubmodeEnum
unknown
highSpeedRailService
LongDistanceRailService
interRegionalRailService
carTransportRailService
sleeperRailService
regionalRail
touristRailway
railShuttle
suburbanRailway
replacementRailService
specialTrainService
lorryTransportRailService
allRailServices
crossCountryRailService
vehiclRailTransportService
rackAndPinionRailway
additionalTrainService
undefined
local
international
TPEG pti05
«enumeration»
TpegVehicleModesEnum
+air
+bus
+coach
+ferry
+metro
+rail
+tram
+underground
«enumeration»
TpegBusSubmodeEnum
unknown
regionalBus
expressBus
bus
localBus
nightBus
postBus
specialNeedsBus
mobilityBus
mobilityBusForRegisteredDisabled
sightseeingBus
shuttleBus
schoolBus
schoolAndPublicServiceBus
railReplacementBus
demandAndResponseBus
airportLinkBus
undefined
TPEG pti06
TPEG pti04
«enumeration»
TpegMetroSubmodeEnum
unknown
metro
tube
urbanRailway
allRailServices
undefined
TPEG pti11
«enumeration»
TpegTaxiSubmodeEnum
unknown
communalTaxi
waterTaxi
railTaxi
bikeTaxi
blackCab
miniCab
allTaxiServices
undefined
«enumeration»
TpegTramSubmodeEnum
unknown
cityTram
localTramService
regionalTram
sightseeingTram
shuttleTram
allTramServices
undefined
TPEG pti10
TPEG pti03
«enumeration»
TpegCoachSubmodeEnum
unknown
internationalCoachService
nationalCoachService
shuttleCoachService
regionalCoachService
specialCoachService
sightseeingCoachService
tourist
commuterCoachService
allCoachServices
undefined
TPEG pti08
«enumeration»
TpegAirSubmodeEnum
unknown
internationalFlight
domesticFlight
intercontinentalFlight
domesticScheduledFlight
shuttleFlight
intercontinentalCharteFlight
internationalCharteFlight
roundTripCharterFlight
sightseeingFlight
helicopterService
domesticCharterFlight
SchengenAreaFlight
airshipService
allAirServices
shortHaulInternationalFlight
undefined
TPEG pti09 + loc14
«enumeration»
TpegFunicularSubmodeEnum
unknown
funicular
allFunicularServices
undefined
TPEG pti07
«enumeration»
TpegWaterSubmodeEnum
unknown
internationalCarFerryService
nationalCarFerryService
regionalCarFerryService
localCarFerryService
internationalPassengerFerry
nationalPassengerFerry
regionalPassengerFerry
localPassengerFerry
postBoat
trainFerry
roadFerryLink
airportBoatLink
highSpeedVehicleService
highSpeedPassengerService
sightseeingService
schoolBoat
cableFerry
riverBus
scheduledFerry
shuttleFerryService
allWaterTransportServices
undefined
«enumeration»
TpegTelecabineSubmodeEnum
unknown
telecabine
allFunicularServices
undefined
cableCar
lift
chairLift
dragLift
smallTelecabin
allTelecabinServices
eggLift
mineralBuckets
undefined
telecabinLink
Figure 15-9 UML Diagram of Tpeg submodes
© Copyright Kizoom 2006-2007
Page 84
SIRI Functional Services - UML Diagrams
16. ANNEX A NOTATION
The diagrams in this document follow normal UML notation for class diagrams with the addition of
colour (see below), and the use of certain conventions to represent composition as used in XML.
ENTITIES
Classes are indicated by square boxes with the name of the class across the top. Operations and
Visibility are omitted. The attributes types, or all of the attributes may be suppressed in summary
diagrams, or to show a summary reference.
ENUMERATIONS
Enumerations are generally shown as data types – a square box with an <<enumeration>> stereotype.
They are included in diagrams in context if space permits, using a dependency relationship (dotted
line) from the class with attributes that are constrained by the enumeration. They are also
summarised on separate diagrams at the end. Visibilities are omitted.
GROUPS
As well as the normal use of Classes to indicate the entities of the model, classes are also used for
named groups of reusable elements which occur on more than one entity, for example
AimedArrivalInfo, or ServiceInfo – see discussion of serialisation and containment below. In this case
a steorotype of <<group>> is shown. These can be considered as complex data types.
NOTES
Notes are indicate as boxes with turned up corners, generally connected to the class or relationship
they annotate with a dotted dependency line.
RELATIONSHIPS
Normal UML relationships are used:
1.
Inheritance: line with white arrow from subtype to supertype. The subtype has all the
attributes and operations of the supertype.
2.
Association: other unbroken lines.

Cardinalities of associations are marked using UML conventions for multiplicities and
optionality, i.e. min:max, for example [ 0:1] indicates there may be a minimum of zero and a
maximum of one, [1:*] indicates there must be a minimum of one and there can be many. [1]
by itself means [1:1]. [*] by itself means [0:*]. The multiplicities indicate if there are one or
many. The optionality indicates whether the end must be populated if the relationship is
present.

Aggregation is indicated by a black diamond (this typically corresponds to direct containment
in an XML document): indicating the part is created and destroyed with the whole.
© Copyright Kizoom 2006-2007
Page 85
SIRI Functional Services - UML Diagrams

A shared composition is indicated by a white diamond, in which case the child element is
integral to the parent component, but the child exists independently (and typically will have
a unique identifier).

Direction of Navigability is indicated by an arrow head in the direction of navigability.
3.
Dependency: Dotted Line. These are also used to show enumerated values
USE OF COLOUR
To facilitate reading, Classes are coloured to indicate their nature. This is purely a local Handbook
convention (not part of UML) and is used as follows

Purple: Common Abstract Message Transport Framework elements. Typically these are the
request & response wrapper elements. E.g. ServiceDelivery and are the same for all
Functional services.

Salmon: Common Abstract Transport Framework elements, Typically these are supertypes.
E.g. AbstractItem

Orange: Functional Service Elements. E.g. StopMonitoringDelivery. These are specific and
different for each service, but populated to a common pattern, e.g. with xxxTopics.
xxxPolicies, xxxDeliveries etc

Yellow: Domain model elements that correspond to the main payload content of deliveries:
typically these are views of Transmodel entities. Dark yellow indicates the concrete container
class, e.g. MonitoredVehicleJourney. Light Yellow indicates an embedded reusable element
that makes up part of a concrete composite (And may correspond to a Transmodel Entity).

White: References to the identifiers domain model entities, corresponding to the Transmodel
concepts.
SERIALISATION: CONTAINMENT & REFERENCE
The primary concrete expression of SIRI is as an XML schema, for which object references must be
serialised either through containment (i.e. expressing an aggregation by embedding a child entity
within a parent element’s tags) or reference (i.e. serialising an association by including a reference to
the identifier of the associated entity. It is therefore useful to adopt conventions that indicate
whether a particular relationship is expressed in the SIRI XML schema by containment or by
reference.

An explicit attribute is shown on the UML diagrams to indicate an aggregation relationship is
implemented as physical containment, using the element name indicated by the attribute.
The attribute name will be in the plural if the multiplicity is ‘many’. For example, the
DatedCalls attribute in Figure 16-2 below.

An explicit attribute is shown on the UML diagrams to indicate that an association is
serialised as a reference. The attribute name on the referring entity generally ends in ‘Ref’ to
indicate a reference to another entity, and the data type name generally ends in ‘Code’ or
‘Id’. For example, the StopPointRef attribute in Figure 16-2 below is of type StopPointCode.
In addition
© Copyright Kizoom 2006-2007
Page 86
SIRI Functional Services - UML Diagrams
Where attribute values are constrained to particular values a dotted line to a enumeration is shown.
E.g. the line to ArrivalActivityEnum in Figure 16-2 below.
Where attributes are grouped as XML groups and used to compose different entities, a class is used to
indicate the group. Such classes are usually shown in a lighter shade of colour with a stereotype of
<<group>>. For example the AimedArrivalInfoclass in Figure 16-2 below.
ALTERNATIVE REPRESENTATIONS OF XML STRCUTURES IN UML
Note that to depict a pure object model in UML one does not strictly need to show an explicit
attribute in the parent for a child component (it could be represented just by an association to the
contained element), but doing so helps to make clear the order in which attributes appear in the XML
and the name of any wrapper tag used to group multiple child instances. In the UML diagrams for SIRI
we therefore generally show an attribute with which to implement the association.
UML supports a variety of ways for depicting the reuse of data structures, corresponding to different
OO programming mechanisms, for example, by inheritance (single or multiple) using either class
inheritance or interface conformance; or by aggregation, embedding complex data types in more
than one entity. XML allows only single parent class inheritance, so the SIRI XML schema makes
greater use of composition than of inheritance, assembling standard data structures (encoded as
Groups in XML) into concrete classes. For clarity, we therefore often show these groups in the
diagrams as distinct classes with a <<group>> stereotype, even though in the concrete XML they are
repeated inline.
We illustrate these differences in Figure 16-1 and Figure 16-2 below, which show two different
representations in UML of the same model of a timetable (this is a simplified version of the SIRI Dated
Journey).
In Figure 16-1, no attributes are shown to implement the aggregation, and all the attributes are
shown in-line. References to external entities are shown as attributes though these too might be
omitted (JourneyPatternRef, BlockRef, CourseOfJourneyRef, StopPointRef).
© Copyright Kizoom 2006-2007
Page 87
SIRI Functional Services - UML Diagrams
Route
route
DirectionRef[1] : DirectionCode
RouteCode[1] : RouteCode
0..1
VehicleJourney
pattern
*
Notation – #1
Conventional use of
Inline attributes
JourneyPatternRef[1..1] : JourneyPatternCode
0..*
JourneyPattern
*
DatedVehicleJourney
line
Line
LineCode[1]
PublishedLineName[1]
block 0..*
0..*
0..1
0..1
Block
run
1
StopPoint
dated calls
runs
0..*
1
0..1
*
© 2007 Kizoom
DatedVehicleJourneyCode[1] : DatedVehicleJourneyCode
ExtraJourney[0..1] : boolean
Cancellation[0..1] : boolean
BlockRef[0..1] : BlockCode
CourseOfJourneyRef[0..1] : CourseOfJourneyCode
2..*
1
DatedCall
CourseOfJourney
«enumeration»
ArrivalActivityEnum
alighting
noAlighting
passThru
StopPointRef[1] : StopPointCode
Order[0..1] : integer
StopPointName[0..1] : nlString
DestinationDisplay[1] : nlString
AimedArrivalTime[0..1] : dateTime
ArrivalPlatformName[0..1] : nlString
ArrivalBoardingActivity[0..1] : ArrivalActivityEnum
AimedDepartureTime[0..1] : dateTime
DeparturePlatformName[0..1] : nlString
DepartureBoardingActivity[0..1] : DepartureActivityEnum
stop
0..*
«enumeration»
DepartureActivityEnum
boarding
noBoarding
passThru
Figure 16-1 Simple Object model
In Figure 16-2, an attribute Calls is shown on DatedVehicleJourney to implement the DatedCalls
aggregation. Furthermore, certain of the attributes which occur in groups that are reused elsewhere
are shown as separate ‘view’ classes (JourneyPatternInfo, AimedArrivalInfo, AimedDepartureInfo,
StopPointInSequence), with a <<group> stereotype. These are inlined in the XML. Points where
extensions may be added are indicated by an Extensions attribute. Operations are not shown.
The data structures are functionally equivalent.
Route
JourneyPattern
DirectionRef : DirectionCode
RouteCode : RouteCode
i fo
i fo
0..1
1
1
0..*
«group»JourneyPatternInfo
JourneyPatternRef : JourneyPatternCode pattern
0..1
RouteRef : RouteCode
DirectionRef : DirectionCode
0..*
1
block
0..1
0..*
run
Block
1
runs
*
pattern
*
0..*
VehicleJourney
Notation – #4
Use of aggregations to encapsulate
attributes, & named entries for XML
structures
JourneyPatternRef : JourneyPatternCode
DatedVehicleJourney
DatedVehicleJourneyCode[1] : DatedVehicleJourneyCode
JourneyPatternInfo[0..1] : JourneyPatternInfo
ExtraJourney[0..1] : boolean
Cancellation[0..1] : boolean
BlockRef[0..1] : BlockCode
CourseOfJourneyRef[0..1] : CourseOfJourneyCode
Calls[0..*] : DatedCall
Extensions[0..1] : any
dated calls
0..1
1
1
0..*
«group»StopPointInSequence
stop point
2..*
CourseOfJourney
«enumeration»
DepartureActivityEnum
boarding
noBoarding
passThru
0..1
stop
StopPoint
0..1
StopPointRef[1] : StopPointCode
Order[0..1] : integer
StopPointName[0..1]
DatedCall
call departure 1
StopPointInSequence[1] : StopPointInSequence
DestinationDisplay[0..1] : nlString
AimedArrivalInfo[0..1] : AimedArrivalInfo
AimedDepartureInfo[0..1] : AimedDepartureInfo
Extensions[0..1] : any
0..*
call arrival
1
0..1
«enumeration»
ArrivalActivityEnum
alighting
noAlighting
passThru
«group»AimedDepartureInfo
«group»AimedArrivalInfo
AimedDepartureTime[0..1] : dateTime
DeparturePlatformName[0..1] : nlString
DepartureBoardingActivity[0..1] : DepartureActivityEnum
AimedArrivalTime[0..1] : dateTime
ArrivalPlatformName[0..1] : nlString
ArrivalBoardingActivity[0..1] : ArrivalActivityEnum
Figure 16-2 Explicit representation of references and of groups
© Copyright Kizoom 2006-2007
Page 88
SIRI Functional Services - UML Diagrams
XML FRAGMENT FOR EXAMPLE
The following XML fragment shows a serialisation of some data in an XML document in accordance
with Figure 16-2, (This is a simplified version of the actual SIRI DatedVehicleJourney entity)
<DatedVehicleJourney>
<!-- Inherited properties -->
<JourneyPatternRef>JP56789T</JourneyPatternRef>
<!-- Specific properties -->
<DatedVehicleJourneyCode>DVC0008767</DatedVehicleJourneyCode>
<!—Journey Pattern Info -->
<RouteRef>RT0004</RouteRef >
<DirectionRef>Northbound</DirectionRef >
<ExtraJourney>false</ExtraJourney>
<!—Association to Block -->
< BlockRef>013564</BlockRef
<!—Contained children - Callss -->
<Calls>
<!-- == CALL 1 == -->
<DatedCall>
<!—Stop point in sequence Group -->
<StopPointRef>HLTS00101</StopPointRef>
<StopName>Market Place</StopName >
<DestinationDisplay>Hospital</DestinationDisplay>
<!-- Departure Info Group -->
<AimedDepartureTime>2001-12-17T09:32:47-05:00</AimedDepartureTime >
<DeparturePlatformName>Stance 1</DeparturePlatformName>
</DatedCall>
<!-- == CALLl 2 ==-->
<DatedCall>
<!—Stop point in sequence Group -->
<StopPointRef>HLTS00102</StopPointRef>
<StopName>Hospital</StopName>
<DestinationDisplay>Station</DestinationDisplay>
<!--Arrival Info Group -->
<AimedArrivalTime>2001-12-17T09:38:47-05:00</AimedArrivalTime>
<!-- Departure Info Group -->
<AimedDepartureTime>2001-12-17T09:39:47-05:00</AimedDepartureTime>
</DatedCall>
<!-- == CALL 3 == -->
<DatedCall>
<!—Stop point in sequence Group -->
<StopPointRef>HLTS00103</StopPointRef>
< StopName>Main Station</ StopName >
<!--Arrival Group -->
<AimedArrivalTime>2001-12-17T09:40:47-05:00</AimedArrivalTime>
<!-- Departure Info Group -->
<AimedDepartureTime>2001-12-17T09:43:47-05:00</AimedDepartureTime>
<DepartureBoardingActivity>NoBoarding</DepartureBoardingActivity>
</DatedCall>
…..
</Calls>
</DatedVehicleJourney>
</DatedTimetableVersionFrame>
© Copyright Kizoom 2006-2007
Page 89
SIRI Functional Services - UML Diagrams
ORDER OF ATTRIBUTES
Attributes appear within classes within the same order as in the XML.
DIRECTION OF READING
Where possible a convention is followed to places parent elements above or left and child elements
below, or to the right.
SIMPLE DATA TYPES
XML simple types are used, along with a number of common types such as string tagged with a
language attribute. These are generally shown in lower Camel Case, e.g. dateTime.
Simple data type names that are defined for SIRI are shown in Upper Camel case.
REUSABLE COMPLEX DATA TYPES
A small number of basic complex type: Location, FacilityChange, HalfOpenDate
FramedVehicleJourneyRef are used extensively and are not repeated on individual pages. They are
shown on a separate page
© Copyright Kizoom 2006-2007
Page 90