Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- (C) Copyright 2005-2012 CEN SIRI -->
<Siri xmlns="http://www.siri.org.uk/siri" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:d2="http://datex2.eu/schema/2_0RC1/2_0" version="2.0" xsi:schemaLocation="http://www.siri.org.uk/siri ../../xsd/siri.xsd">
<ServiceDelivery>
<!--=======HEADER================================================== -->
<ResponseTimestamp>2026-05-17T16:00:26+01:00</ResponseTimestamp>
<ProducerRef>GT7</ProducerRef>
<Status>true</Status>
<MoreData>false</MoreData>
<!--=======PAYLOAD============================================== -->
<SituationExchangeDelivery version="2.0">
<ResponseTimestamp>2026-05-17T16:00:26+01:00</ResponseTimestamp>
<Situations>
<PtSituationElement>
<CreationTime>2026-05-17T16:00:00.0Z</CreationTime>
<CountryRef>fr</CountryRef>
<ParticipantRef>GT7</ParticipantRef>
<SituationNumber>123456</SituationNumber>
<Version>0</Version>
<References>
<RelatedToRef>
<CreationTime>2026-05-17T16:00:00</CreationTime>
<CountryRef>fr</CountryRef>
<ParticipantRef>GT7</ParticipantRef>
<SituationNumber>123456</SituationNumber>
<Version>0</Version>
</RelatedToRef>
</References>
<Source>
<Country>fr</Country>
<SourceType>directReport</SourceType>
<AgentReference>987654</AgentReference>
<TimeOfCommunication>2026-05-17T15:55:00.0Z</TimeOfCommunication>
</Source>
<Verification>verified</Verification>
<Progress>open</Progress>
<QualityIndex>certain</QualityIndex>
<ValidityPeriod>
<StartTime>2026-05-17T16:00:00.0Z</StartTime>
<EndTime>2026-05-17T17:30:00.0Z</EndTime>
</ValidityPeriod>
<AlertCause>unattendedBag</AlertCause>
<Severity>slight</Severity>
<Priority>2</Priority>
<Audience>public</Audience>
<ReportType>point</ReportType>
<Summary xml:lang="fr">Bagage oublié à la station Saint-Paul</Summary>
<Summary xml:lang="en">Unattended bag at the metro station Saint-Paul</Summary>
<Description xml:lang="en">Unattended bag at the metro station Saint-Paul on the line 1, direction Château de Vincennes. No service between Hôtel-de-Ville and Château de Vincennes. Disrupted service between La Défense and Hôtel-de-Ville.</Description>
<Affects>
<Operators>
<AllOperators/>
</Operators>
<StopPoints>
<AffectedStopPoint>
<StopPointRef>STPL987SSP</StopPointRef>
<StopPointName xml:lang="fr">Hôtel-de-Ville</StopPointName>
</AffectedStopPoint>
</StopPoints>
<StopPlaces>
<AffectedStopPlace>
<StopPlaceRef>STPL987SP</StopPlaceRef>
<StopPlaceName xml:lang="FR">Hôtel-de-Ville</StopPlaceName>
<StopPlaceType>metroStation</StopPlaceType>
</AffectedStopPlace>
</StopPlaces>
</Affects>
<Consequences>
<Consequence>
<ConsequenceCode>C1</ConsequenceCode>
<Period>
<StartTime>2026-05-17T16:00:00.0Z</StartTime>
<EndTime>2026-05-17T17:30:00.0Z</EndTime>
</Period>
<Condition>noService</Condition>
<Severity>verySevere</Severity>
<Blocking>
<JourneyPlanner>true</JourneyPlanner>
<RealTime>true</RealTime>
</Blocking>
<Boarding>
<ArrivalBoardingActivity>alighting</ArrivalBoardingActivity>
<DepartureBoardingActivity>boarding</DepartureBoardingActivity>
</Boarding>
</Consequence>
<Consequence>
<ConsequenceCode>C2</ConsequenceCode>
<Period>
<StartTime>2026-05-17T16:00:00.0Z</StartTime>
<EndTime>2026-05-17T17:30:00.0Z</EndTime>
</Period>
<Condition>disruption</Condition>
<Severity>slight</Severity>
<Blocking>
<JourneyPlanner>true</JourneyPlanner>
<RealTime>true</RealTime>
</Blocking>
<Boarding>
<ArrivalBoardingActivity>alighting</ArrivalBoardingActivity>
<DepartureBoardingActivity>boarding</DepartureBoardingActivity>
</Boarding>
</Consequence>
</Consequences>
<PublishingActions>
<PublishToWebAction>
<ActionData>
<Type>LongText</Type>
<Prompt xml:lang="en">Unattended bag at the Saint-Paul station. No service between Hôtel-de-Ville and Château de Vincennes. Disrupted service between La Défense and Hôtel-de-Ville.</Prompt>
</ActionData>
<PublicationRef>WEB123</PublicationRef>
<ConsequenceRef>C1</ConsequenceRef>
<ConsequenceRef>C2</ConsequenceRef>
<Incidents>true</Incidents>
<HomePage>true</HomePage>
<Ticker>false</Ticker>
</PublishToWebAction>
<PublishToMobileAction>
<ActionData>
<Type>ShortText</Type>
<Prompt xml:lang="en">Unattended bag at Saint-Paul station. Disrupted service between La Défense and Hôtel-de-Ville.</Prompt>
</ActionData>
<PublicationRef>MOB123</PublicationRef>
<ConsequenceRef>C2</ConsequenceRef>
<Incidents>true</Incidents>
<HomePage>false</HomePage>
</PublishToMobileAction>
<PublishToMobileAction>
<ActionData>
<Type>ShortText</Type>
<Prompt xml:lang="en">Unattended bag at Saint-Paul station. No service between Hôtel-de-Ville and Château de Vincennes.</Prompt>
</ActionData>
<PublicationRef>MOB456</PublicationRef>
<ConsequenceRef>C1</ConsequenceRef>
<Incidents>true</Incidents>
<HomePage>false</HomePage>
</PublishToMobileAction>
</PublishingActions>
</PtSituationElement>
</Situations>
</SituationExchangeDelivery>
</ServiceDelivery>
</Siri>
21 changes: 21 additions & 0 deletions xsd/siri_model/siri_reference.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -869,4 +869,25 @@ Values for these elements can be specified on an annual schedule and will be inh
<xsd:extension base="ControlActionCodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<!-- ======================================================================= -->
<!-- References to PT CONSEQUENCE ========================================= -->
<xsd:element name="ConsequenceRef" type="ConsequenceRefStructure">
<xsd:annotation>
<xsd:documentation>Reference to a Consequence associated with the element.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:simpleType name="ConsequenceCodeType">
<xsd:annotation>
<xsd:documentation>Identifier of a PT CONSEQUENCE</xsd:documentation>
Comment thread
TuThoThai marked this conversation as resolved.
Outdated
</xsd:annotation>
<xsd:restriction base="xsd:NMTOKEN"/>
</xsd:simpleType>
<xsd:complexType name="ConsequenceRefStructure">
<xsd:annotation>
<xsd:documentation>Type for reference to a PT CONSEQUENCE.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="ConsequenceCodeType"/>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>
5 changes: 5 additions & 0 deletions xsd/siri_model/siri_situation.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -1236,6 +1236,11 @@ Note that if the ControlAction is the master ControlAction of a GroupOfControlAc
<xsd:documentation>Type for disruption.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="ConsequenceCode" type="xsd:NMTOKEN" minOccurs="0">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This linking causes overly complex parsing. Notice that the example has multiple ConsequenceRef's.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@skinkie, indeed the example has multiple ConsequenceRef as it exactly describes the context presented at the top of the PR. The idea is that some PublishingAction can refer to several consequences while other are dedicated to only one consequence of the same situation.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think is the wrong solution for the problem. It creates relationships within the document not able to be checked or enforced.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem to solve here is the case of a SituationExchange that has several different consequences and several messages describing the situation.

In this case, for a single SituationExchange, there can be several complementary messages (PublishingAction):

  • PublishingActions with a text that describes only one of the consequences (one action for each consequence)
  • A PublishingAction with a text that describes several consequences (one action describing all the consequences)

Depending on the context, a system using the SituationExchange needs to be able to choose between the more specific version of the message for a specific consequence (for example, a display at a specific bus stop for a specific line) or the broader version of the message whose text describes all the consequences in a single optimized message (for example, a display in the hall of a bus station to optimize screen usage).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The question is more in the direction: is the document structure wrong for this. If it does not logically flow that PublishingActions are related to Consequences.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The document structure does not seem fundamentally wrong to me.
Adding this kind of relationship between Consequence and PublishingAction is, in my view, similar to the SituationRef found in the SMDelivery (IIRC). It would provide an attribute indicating that a publishing action (i.e., a message) is associated with one or more consequences.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@skinkie This is 2.3 Consequences, Control and PublishingAction never had a hierarchical relation. Ergo it is a messy n:m relation. In my view this was always a result on the way the standard was made. If changes are to be made, they would be for 3.0. However, in the DACH area it is unlikely that there will support for it.

@rbnxx rbnxx Aug 28, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding an identifier to PublishingActions and Consequences seems to be a natural move to allow finer traceability of SituationExchange changes. There is no conceptual or relational change in adding optional identifiers.

Also, I don't think that forcing a hierarchical relationship between Consequences and PublishingActions is a good idea, as both concepts are related but can exist independently (and a PublishingAction can also be related to several Consequences).

Having an optional link between PublishingActions and Consequences does not break or change the concepts. It simply allows the optional indication that a specific PublishingAction is related to one or more Consequences.

This is not a conceptual modification (but an addition) or a technical breaking change.

<xsd:annotation>
<xsd:documentation>Unique identifier of the Consequence, facilitating its link with the ParametrisedActionStructure.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Period" type="HalfOpenTimestampOutputRangeStructure" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Period of effect of disruption, if different from that of SITUATION.</xsd:documentation>
Expand Down
12 changes: 11 additions & 1 deletion xsd/siri_model/siri_situationActions.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -154,12 +154,22 @@ Rail transport, Roads and road transport
<xsd:documentation>Data associated with action.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="PublicationRef" type="xsd:NMTOKEN" minOccurs="0">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see why this should be tracked with extra references.

<xsd:annotation>
<xsd:documentation>Unique identifier of the Published Action, intended to faciliate its tracking by data consumers.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="PublicationWindow" type="ClosedTimestampRangeStructure" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Defines a number of publication windows. When not sent, then the publication windows of higher level are valid. Can be overwritten by deeper level.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:element name="ConsequenceRef" type="ConsequenceRefStructure" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Refers to the unique identifier of one or several Consequences that trigerred this Action.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
Expand Down
Loading