Skip to content
Open
126 changes: 126 additions & 0 deletions examples/siri_exm_SX/exx_situationExchange_response_extended.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
<?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>5</Priority>
<Audience>public</Audience>
<ReportType>point</ReportType>
<Summary xml:lang="fr">Bagage oublié à la station Rome</Summary>
<Description xml:lang="fr">Bagage oublié à la station Rome. Service temporairement interrompu.</Description>
<Affects>
<Operators>
<AllOperators/>
</Operators>
<StopPoints>
<AffectedStopPoint>
<StopPointRef>ROM123SSP</StopPointRef>
<StopPointName xml:lang="fr">Rome</StopPointName>
</AffectedStopPoint>
</StopPoints>
<StopPlaces>
<AffectedStopPlace>
<StopPlaceRef>ROM123SP</StopPlaceRef>
<StopPlaceName xml:lang="FR">Rome</StopPlaceName>
<StopPlaceType>metroStation</StopPlaceType>
</AffectedStopPlace>
</StopPlaces>
</Affects>
<Consequences>
<Consequence>
<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>noAlighting</ArrivalBoardingActivity>
<DepartureBoardingActivity>noBoarding</DepartureBoardingActivity>
</Boarding>
</Consequence>
</Consequences>
<PublishingActions>
<PublishToWebAction>
<ActionData>
<Type>ShortText</Type>
<Prompt>Babage oublié à Rome. Service interrompu jusqu'à 17h30.</Prompt>
</ActionData>
<Incidents>true</Incidents>
<HomePage>true</HomePage>
<Ticker>false</Ticker>
</PublishToWebAction>
<PublishToWebAction>
<ActionData>
<Type>image</Type>
<Url contentType="image/png" label="deviation_map">https://mediabank.aom.fr/images/perturbations/devation_map.png</Url>
</ActionData>
<HomePage>true</HomePage>
</PublishToWebAction>
<PublishToMobileAction>
<ActionData>
<Type>ShortText</Type>
<Prompt xml:lang="fr">Babage oublié à Rome. Service interrompu jusqu'à 17h30.</Prompt>
<Prompt xml:lang="en">Unattended bag at Rome station. Disruption of service until 17:30.</Prompt>
</ActionData>
<Incidents>true</Incidents>
<HomePage>false</HomePage>
</PublishToMobileAction>
<PublishToDisplayAction>
<ActionData>
<Type>ShortText</Type>
<Prompt contentType="text/plain" xml:lang="fr">Babage oublié à Rome. Service interrompu jusqu'à 17h30.</Prompt>
<Prompt contentType="text/markdown" xml:lang="fr">Babage oublié à Rome. **Service interrompu jusqu'à 17h30**.</Prompt>
<Prompt contentType="text/plain" xml:lang="en">Unattended bag at Rome station. Disruption of service until 17:30.</Prompt>
<Prompt contentType="text/markdown" xml:lang="en">Unattended bag at Rome station. **Disruption of service until 17:30**.</Prompt>
</ActionData>
<OnPlace>true</OnPlace>
</PublishToDisplayAction>
</PublishingActions>
</PtSituationElement>
</Situations>
</SituationExchangeDelivery>
</ServiceDelivery>
</Siri>
127 changes: 127 additions & 0 deletions examples/siri_exm_SX/exx_situationExchange_responsewithaudio.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
<?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>5</Priority>
<Audience>public</Audience>
<ReportType>point</ReportType>
<Summary xml:lang="fr">Bagage oublié à la station Rome</Summary>
<Description xml:lang="fr">Bagage oublié à la station Rome. Service temporairement interrompu.</Description>
<Affects>
<Operators>
<AllOperators/>
</Operators>
<StopPoints>
<AffectedStopPoint>
<StopPointRef>ROM123SSP</StopPointRef>
<StopPointName xml:lang="fr">Rome</StopPointName>
</AffectedStopPoint>
</StopPoints>
<StopPlaces>
<AffectedStopPlace>
<StopPlaceRef>ROM123SP</StopPlaceRef>
<StopPlaceName xml:lang="FR">Rome</StopPlaceName>
<StopPlaceType>metroStation</StopPlaceType>
</AffectedStopPlace>
</StopPlaces>
</Affects>
<Consequences>
<Consequence>
<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>noAlighting</ArrivalBoardingActivity>
<DepartureBoardingActivity>noBoarding</DepartureBoardingActivity>
</Boarding>
</Consequence>
</Consequences>
<PublishingActions>
<PublishToWebAction>
<ActionData>
<Type>ShortText</Type>
<Prompt xml:lang="fr">Babage oublié à Rome. Service interrompu jusqu'à 17h30.</Prompt>
<Prompt xml:lang="en">Unattended bag at Rome station. Disruption of service until 17:30.</Prompt>
</ActionData>
<Incidents>true</Incidents>
<HomePage>true</HomePage>
<Ticker>false</Ticker>
</PublishToWebAction>
<PublishToMobileAction>
<ActionData>
<Type>ShortText</Type>
<Prompt xml:lang="fr">Babage oublié à Rome. Service interrompu jusqu'à 17h30.</Prompt>
<Prompt xml:lang="en">Unattended bag at Rome station. Disruption of service until 17:30.</Prompt>
</ActionData>
<Incidents>true</Incidents>
<HomePage>false</HomePage>
</PublishToMobileAction>
<PublishToDisplayAction>
<ActionData>
<Type>ShortText</Type>
<Prompt xml:lang="fr">Babage oublié à Rome. Service interrompu jusqu'à 17h30.</Prompt>
<Prompt xml:lang="en">Unattended bag at Rome station. Disruption of service until 17:30.</Prompt>
</ActionData>
<OnPlace>true</OnPlace>
</PublishToDisplayAction>
<PublishToAudioAction>
<ActionData>
<Type>RecordedMessage</Type>
<Url contentType="audio/mp4" xml:lang="fr">http://mediabank.aom.fr/audio/unattended_bag_fr.mp4</Url>
<Url contentType="audio/mp4" xml:lang="en">http://mediabank.aom.fr/audio/unattended_bag_en.mp4</Url>
</ActionData>
<Repeat>true</Repeat>
<RepeatInterval>3</RepeatInterval>
</PublishToAudioAction>
Comment on lines +114 to +121

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.

My proposal would still be to have the Url inside the ActionData. So it would look like analogue to the Prompts.

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.

But, then it means we add it to all the Actions in ActionsGroup that are based on ParametrisedActionStructure. I am not against it, but wouldn't it be redundant for PublishToWebAction or PublishToMobileAction?

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.

Actually it would support publishing other media like images too. Hence I thought that was your goal for the République française!

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, I addressed the comment in PR #221

If we can agree on that, I will rework this one to streamline PublishToAudioAction to attributes that are specific to an audio message.

</PublishingActions>
</PtSituationElement>
</Situations>
</SituationExchangeDelivery>
</ServiceDelivery>
</Siri>
46 changes: 42 additions & 4 deletions xsd/siri_model/siri_situationActions.xsd
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.siri.org.uk/siri" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.siri.org.uk/siri" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1" id="siri_situationActions">
<!--
15.07.2026 Tu-Tho Thai:
- Addition of URL in ActionData
- Change of Prompt to include the type of content being shared directly, using an enumeration to limit of options
- Addition of annotation to clarify the use of the attribute ContentType
- Addition of PublishtoAudioAction

10.01.2018 D. Rubli, Siri_XML-2.0p synchronisation of recommendation with xsd:
- PublishToDisplayAction added to ActionsGroup
-->
Expand Down Expand Up @@ -218,14 +224,19 @@ Rail transport, Roads and road transport
<xsd:documentation>Data type of action data.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Value" type="xsd:anyType" maxOccurs="unbounded" minOccurs="0">
<xsd:element name="Value" type="xsd:anyType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Value for action.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Prompt" type="NaturalLanguageStringStructure" minOccurs="0" maxOccurs="unbounded">
<xsd:element name="Prompt" type="PromptType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Display prompt for presenting action to user. (Unbounded since SIRI 2.0)</xsd:documentation>
<xsd:documentation>Display prompt for presenting action to user. (Unbounded since SIRI 2.0). Possibility to add attributs on the type of prompt, and its language (+v2.3)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Url" type="ContentURI" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Direct link to the content to be published or broadcaseted as is (e.g., pre-recorded message, image, etc.).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="PublishAtScope" minOccurs="0">
Expand All @@ -252,6 +263,7 @@ Rail transport, Roads and road transport
<xsd:element ref="PublishToTvAction" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="PublishToAlertsAction" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="PublishToDisplayAction" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="PublishToAudioAction" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="ManualAction" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="NotifyByEmailAction" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="NotifyBySmsAction" minOccurs="0" maxOccurs="unbounded"/>
Expand Down Expand Up @@ -399,6 +411,32 @@ Rail transport, Roads and road transport
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PublishToAudioAction" type="PublishToAudioActionStructure">
<xsd:annotation>
<xsd:documentation>Action: Publish SITUATION via Audio messages.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PublishToAudioActionStructure">
<xsd:annotation>
<xsd:documentation>Type for Action Publish SITUATION via Audio messages.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
Comment thread
TuThoThai marked this conversation as resolved.
<xsd:extension base="ParameterisedActionStructure">
<xsd:sequence>
<xsd:element name="Repeat" type="xsd:boolean" default="true" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Indicates if the pre-recorded audio message should be repeated or not. Default is 'true'. +v2.3</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="RepeatInterval" type="xsd:integer" default="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Specifies the interval in minutes at which the pre-recorded message should be repeated. +v2.3</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- ======================================================================= -->
<xsd:element name="ManualAction">
<xsd:annotation>
Expand Down Expand Up @@ -810,4 +848,4 @@ By default, an action does not correspond to a normalisation, i.e., has ActionIs
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
</xsd:schema>
Loading
Loading