Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aligning BookingArrangements more closely with NeTEx #232

Merged
merged 52 commits into from
Jan 20, 2023
Merged
Changes from 46 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
d027b0e
Aligning BookingArrangements more closely with NeTEx
ue71603 Aug 11, 2022
d789aa6
Travis CI update [skip ci]
Aug 11, 2022
9ca2cb6
Update OJP_Common.xsd
ue71603 Aug 25, 2022
d9e0e4e
Adding BookingAccess
ue71603 Aug 25, 2022
8ee631d
Travis CI update [skip ci]
Aug 25, 2022
d7998a1
remove MultilinguagString (move it to OJP_Common.xsd)
ue71603 Aug 25, 2022
efe429a
Travis CI update [skip ci]
Aug 25, 2022
48e0b03
Update OJP_FareSupport.xsd
ue71603 Aug 25, 2022
f3a3191
Travis CI update [skip ci]
Aug 25, 2022
7921fd0
Update OJP_FareSupport.xsd
Aurige Sep 22, 2022
a94140c
Update OJP_FareSupport.xsd
Aurige Sep 22, 2022
2147d8d
Update OJP_FareSupport.xsd
Aurige Sep 22, 2022
2eed338
anyURI to WebLinkStructure and MultilingualString to InternationalText
ue71603 Oct 10, 2022
73e9ab4
Travis CI update [skip ci]
Oct 10, 2022
6af7748
errors corrected
ue71603 Oct 10, 2022
c0c3f14
Update OJP_FareSupport.xsd
ue71603 Oct 18, 2022
b46dda7
List elements are not documented
ue71603 Oct 18, 2022
d8bfb76
Travis CI update [skip ci]
Oct 18, 2022
952a498
Travis CI update [skip ci]
Oct 18, 2022
d238fe1
Update OJP_FareSupport.xsd
ue71603 Oct 26, 2022
102cd6a
Travis CI update [skip ci]
Oct 26, 2022
b29cac0
Travis CI update [skip ci]
Nov 4, 2022
cedabd0
Update OJP/OJP_FareSupport.xsd
ue71603 Nov 24, 2022
b90179d
Update OJP/OJP_FareSupport.xsd
ue71603 Nov 24, 2022
3e22eb7
Update OJP/OJP_FareSupport.xsd
ue71603 Nov 24, 2022
6a526ea
Update OJP/OJP_FareSupport.xsd
ue71603 Nov 24, 2022
b0810ad
Update OJP/OJP_FareSupport.xsd
ue71603 Nov 24, 2022
1cd9734
Travis CI update [skip ci]
Nov 24, 2022
3cda2e8
check in ojp-to-prepdoc enabled and comment fixed for Stefan
ue71603 Nov 26, 2022
15b31fc
Travis CI update [skip ci]
Nov 26, 2022
482c211
Update ojp-to-prepdoc.xsl
ue71603 Nov 26, 2022
1033ef3
BookingMethodListOfEnumerations: list to sequence
ue71603 Nov 26, 2022
d865671
Travis CI update [skip ci]
Nov 26, 2022
c094861
added file
ue71603 Nov 26, 2022
4227374
Travis CI update [skip ci]
Nov 26, 2022
44f29fc
Update schema-collection.xml
ue71603 Nov 26, 2022
d21fbd6
Update schema-collection.xml
ue71603 Nov 26, 2022
8f91660
simple->complexTye BookingProcessListOfEnumerations
ue71603 Dec 5, 2022
e80917b
Travis CI update [skip ci]
Dec 5, 2022
8c9c145
Update OJP/OJP_FareSupport.xsd
ue71603 Jan 17, 2023
bdf51f7
Update OJP/OJP_FareSupport.xsd
ue71603 Jan 17, 2023
78f7103
Update OJP/OJP_FareSupport.xsd
ue71603 Jan 17, 2023
6bbacd3
Update OJP/OJP_FareSupport.xsd
ue71603 Jan 17, 2023
57f73e4
Apply suggestions from code review
skinkie Jan 17, 2023
42a844d
Apply suggestions from code review
skinkie Jan 17, 2023
df3acfe
Update OJP/OJP_FareSupport.xsd
skinkie Jan 17, 2023
c6564d2
changed xs:list
ue71603 Jan 17, 2023
320a73c
Lint and update documentation tables
github-actions[bot] Jan 17, 2023
349eaff
Update OJP/OJP_FareSupport.xsd
ue71603 Jan 17, 2023
6f4c667
Apply suggestions from code review
skinkie Jan 19, 2023
c558dc8
Merge branch 'changes_for_v1.1' into Extended_BookingArrangements
skinkie Jan 20, 2023
e29548f
Lint and update documentation tables
github-actions[bot] Jan 20, 2023
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
319 changes: 305 additions & 14 deletions OJP/OJP_FareSupport.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -137,45 +137,331 @@
<xs:annotation>
<xs:documentation>========================================== Booking ==========================================</xs:documentation>
</xs:annotation>
<xs:complexType name="BookingArrangementStructure">
<xs:simpleType name="ContactTypeEnumeration">
<xs:annotation>
<xs:documentation>[a more generalised form of BOOKING ARRANGEMENTS in TMv6] arrangement for booking any leg or legs of a journey </xs:documentation>
<xs:documentation>Allowed values for CONTACT role.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="any"/>
<xs:enumeration value="information"/>
<xs:enumeration value="reservations"/>
<xs:enumeration value="lostProperty"/>
<xs:enumeration value="publicRelations"/>
<xs:enumeration value="complaints"/>
<xs:enumeration value="emergency"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PhoneType">
<xs:annotation>
<xs:documentation>Type for an International phone number. + Country + MSISDN e.g. +41 675601 etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:normalizedString"/>
</xs:simpleType>
<xs:simpleType name="EmailAddressType">
<xs:annotation>
<xs:documentation>Email address type a@b.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:normalizedString"/>
</xs:simpleType>
<xs:complexType name="ContactDetailsStructure" abstract="false">
<xs:annotation>
<xs:documentation>Type for contact details.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="BookingAgencyName" type="InternationalTextStructure" minOccurs="0">
<xs:element name="ContactPerson" type="InternationalTextStructure" minOccurs="0">
<xs:annotation>
<xs:documentation>Name of the booking agency (contractual partner).</xs:documentation>
<xs:documentation>Name of contact person.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookingUrl" type="WebLinkStructure" minOccurs="0">
<xs:element name="Email" type="EmailAddressType" minOccurs="0">
ue71603 marked this conversation as resolved.
Show resolved Hide resolved
<xs:annotation>
<xs:documentation>The email address of the contact.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Phone" type="PhoneType" minOccurs="0">
<xs:annotation>
<xs:documentation>URL to online booking service.</xs:documentation>
<xs:documentation>Contact telephone number.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InfoUrl" type="WebLinkStructure" minOccurs="0">
<xs:element name="Fax" type="PhoneType" minOccurs="0">
<xs:annotation>
<xs:documentation>URL to information page.</xs:documentation>
<xs:documentation>Contact fax number.</xs:documentation>

Choose a reason for hiding this comment

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

Do we need Fax? What happens or breaks if we let it away.
As i now fax really used these days.

Copy link
Contributor

Choose a reason for hiding this comment

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

The media exists...

</xs:annotation>
</xs:element>
<xs:element name="PhoneNumber" type="PhoneNumberType" minOccurs="0">
<xs:element name="Url" type="WebLinkStructure" minOccurs="0">
<xs:annotation>
ue71603 marked this conversation as resolved.
Show resolved Hide resolved
<xs:documentation>Phone number for booking.</xs:documentation>
<xs:documentation>The web site address of the contact.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FurtherDetails" type="xs:string" minOccurs="0">
ue71603 marked this conversation as resolved.
Show resolved Hide resolved
<xs:annotation>
<xs:documentation>Further details about contact process.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ======================================================================= -->
<xs:simpleType name="BookingMethodEnumeration">
<xs:annotation>
<xs:documentation>Allowed values for Flexible Booking method.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="callDriver"/>
<xs:enumeration value="callOffice"/>
<xs:enumeration value="online"/>
<xs:enumeration value="other"/>
<xs:enumeration value="phoneAtStop"/>
<xs:enumeration value="text"/>
<xs:enumeration value="mobileApp"/>
<xs:enumeration value="atOffice"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BookingMethodListOfEnumerations">
<xs:annotation>
<xs:documentation>List of values for Flexible Booking values.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="BookingMethod" type="BookingMethodEnumeration" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ======================================================================= -->
<xs:simpleType name="BookingAccessEnumeration">
<xs:annotation>
<xs:documentation>Allowed values for Booking Access.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="public"/>
<xs:enumeration value="authorisedPublic"/>
<xs:enumeration value="staff"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
<!-- =================================================== -->
<xs:simpleType name="PurchaseWhenEnumeration">
<xs:annotation>
<xs:documentation>Allowed values for Purchase when.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:normalizedString">
<xs:enumeration value="advanceOnly"/>
<xs:enumeration value="untilPreviousDay"/>
<xs:enumeration value="dayOfTravelOnly"/>
<xs:enumeration value="advanceAndDayOfTravel"/>
<xs:enumeration value="timeOfTravelOnly"/>
<xs:enumeration value="subscriptionChargeMoment"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
<!-- =================================================== -->
<xs:simpleType name="PurchaseMomentEnumeration">
<xs:annotation>
<xs:documentation>Allowed values for Purchase Moment.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:normalizedString">
<xs:enumeration value="onReservation">
<xs:annotation>
<xs:documentation>Purchase must be made on reservation in advance of travel.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="inAdvance">
<xs:annotation>
<xs:documentation>Purchase can be made in advance of travel.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="inAdvanceOnly">
<xs:annotation>
<xs:documentation>Purchase can only be made in advance of travel (e.g. for season ticket or advance ticket).</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="beforeBoarding">
<xs:annotation>
<xs:documentation>Purchase can be made before boarding transport vehicle.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="beforeBoardingOnly">
<xs:annotation>
<xs:documentation>Purchase must be made before boarding transport vehicle.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="onBoarding">
<xs:annotation>
<xs:documentation>Purchase can be made on boarding transport vehicle.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="onBoardingOnly">
<xs:annotation>
<xs:documentation>Purchase can only be made on boarding transport vehicle.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="afterBoarding">
<xs:annotation>
<xs:documentation>Purchase can be made after boarding transport vehicle.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="onCheckIn">
<xs:annotation>
<xs:documentation>Purchase can be made on entering transport system.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="onCheckOut">
<xs:annotation>
<xs:documentation>Purchase can be made on leaving transport system.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="subscriptionOnly">
<xs:annotation>
<xs:documentation>Purchase can only be made on subscription.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="other">
<xs:annotation>
<xs:documentation>Other moment of Purchase </xs:documentation>
skinkie marked this conversation as resolved.
Show resolved Hide resolved
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PurchaseMomentListOfEnumerations">
<xs:annotation>
<xs:documentation>List of Purchase Moment. values.</xs:documentation>
skinkie marked this conversation as resolved.
Show resolved Hide resolved
</xs:annotation>
<xs:list itemType="PurchaseMomentEnumeration"/>
</xs:simpleType>
<!-- =================================================== -->
<xs:simpleType name="BookingProcessEnumeration">
<xs:annotation>
<xs:documentation>Allowed values for Booking Process UIC 7037 Code list.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:normalizedString">
<xs:enumeration value="productNotAvailable">
<xs:annotation>
<xs:documentation>Product is not available.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="productNotBookable">
<xs:annotation>
<xs:documentation>Product cannot be booked.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="bookableThroughInternationalSystem">
<xs:annotation>
<xs:documentation>Product can be booked online internationally.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="bookableThroughNationalSystem">
<xs:annotation>
<xs:documentation>Product can be booked online nationally.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="bookableManuallly">
<xs:annotation>
<xs:documentation>Product can only be booked by contacting specific authorised retail outlets</xs:documentation>
skinkie marked this conversation as resolved.
Show resolved Hide resolved
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="other">
<xs:annotation>
<xs:documentation>Other booking process.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BookingProcessListOfEnumerations">
<xs:annotation>
<xs:documentation>List of Booking Process values.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="BookingProcess" type="BookingProcessEnumeration" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- =================================================== -->
<xs:simpleType name="GroupBookingEnumeration">
<xs:annotation>
<xs:documentation>Allowed values for Group Booking.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:normalizedString">
<xs:enumeration value="groupsAllowed"/>
<xs:enumeration value="groupsNotAllowed"/>
<xs:enumeration value="groupsAllowedWithReservation"/>
<xs:enumeration value="groupBookingsRestricted"/>
<xs:enumeration value="unknown"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GroupBookingListOfEnumerations">
<xs:annotation>
<xs:documentation>List of Group Booking values.</xs:documentation>
</xs:annotation>
<xs:list itemType="GroupBookingEnumeration"/>
</xs:simpleType>
<xs:complexType name="BookingArrangementsStructure" abstract="false">
<xs:annotation>
<xs:documentation>Type for BOOKING ARRANGEMENTs modified from NeTEx.</xs:documentation>
</xs:annotation>
<xs:group ref="BookingArrangementsGroup"/>
</xs:complexType>
<xs:group name="BookingArrangementsGroup">
<xs:annotation>
<xs:documentation>Elements for BOOKING ARRANGEMENTs.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="BookingContact" type="ContactDetailsStructure" minOccurs="0">
<xs:annotation>
<xs:documentation>Contact for Booking.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookingMethods" type="BookingMethodListOfEnumerations" minOccurs="0">
<xs:annotation>
<xs:documentation>Allowed Ways of Making a BOOKING.</xs:documentation>
</xs:annotation>
</xs:element>
skinkie marked this conversation as resolved.
Show resolved Hide resolved
<xs:element name="BookingAccess" type="BookingAccessEnumeration" minOccurs="0">
<xs:annotation>
<xs:documentation>Who can make a booking. Default is public.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookWhen" type="PurchaseWhenEnumeration" minOccurs="0">
<xs:annotation>
<xs:documentation>When Booking can be made.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BuyWhen" type="PurchaseMomentListOfEnumerations" minOccurs="0">
<xs:annotation>
<xs:documentation>When purchase can be made. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LatestBookingTime" type="xs:time" minOccurs="0">
<xs:annotation>
<xs:documentation>Latest time that booking can be made. The exact meaning must be derived also from BookWhen and MinimumBookingPeriod.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MinimumBookingPeriod" type="xs:duration" minOccurs="0">
<xs:annotation>
<xs:documentation>Minimum duration bookings must be completed before trip starts.</xs:documentation>
ue71603 marked this conversation as resolved.
Show resolved Hide resolved
<xs:documentation>Minimum interval in advance of departure day or time that Service may be ordered.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MaximumBookingPeriod" type="xs:duration" minOccurs="0">
<xs:annotation>
<xs:documentation>Maximum interval in advance of departure day or time that Service may be ordered.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookingUrl" type="WebLinkStructure" minOccurs="0">
<xs:annotation>
<xs:documentation>URL for booking.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookingNote" type="InternationalTextStructure" minOccurs="0">
<xs:annotation>
<xs:documentation>Note about booking the FLEXIBLE LINE.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Extension" type="xs:anyType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:group>
<xs:complexType name="BookingArrangementsContainerStructure">
<xs:annotation>
<xs:documentation>Container for multiple booking arrangements.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="BookingArrangement" type="BookingArrangementStructure" maxOccurs="unbounded">
<xs:element name="BookingArrangement" type="BookingArrangementsStructure" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>[a more generalised form of BOOKING ARRANGEMENTS in TMv6] arrangement for booking any leg or legs of a journey.</xs:documentation>
</xs:annotation>
Expand Down Expand Up @@ -389,6 +675,11 @@
<xs:documentation>Structure of a Single Trip Fare Request result</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Problem" type="FareProblemStructure" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Result-specific error messages </xs:documentation>
skinkie marked this conversation as resolved.
Show resolved Hide resolved
</xs:annotation>
</xs:element>
<xs:group ref="TripLegRangeGroup" minOccurs="0"/>
<xs:element name="PassedZones" type="TariffZoneListInAreaStructure" minOccurs="0">
<xs:annotation>
Expand Down Expand Up @@ -463,7 +754,7 @@
</xs:element>
<xs:element name="TravelClass" type="TypeOfFareClassEnumeration" minOccurs="0">
<xs:annotation>
<xs:documentation>Travel class for which to retrieve FareProducts. Refers to TYPE OF FARE CLASS</xs:documentation>
<xs:documentation>Travel class for which to retrieve FareProducts. Refers to TYPE OF FARE CLASS (e.g. first class).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
Expand Down