<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.netex.org.uk/netex" xmlns:netex="http://www.netex.org.uk/netex" xmlns:siri="http://www.siri.org.uk/siri" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" targetNamespace="http://www.netex.org.uk/netex" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" id="netex_usageParameterBooking_version">
	<xsd:include schemaLocation="netex_usageParameterBooking_support.xsd"/>
	<xsd:include schemaLocation="../../netex_framework/netex_reusableComponents/netex_vehicleSeating_support.xsd"/>
	<xsd:include schemaLocation="netex_timeStructureFactor_support.xsd"/>
	<xsd:include schemaLocation="../../netex_framework/netex_reusableComponents/netex_serviceRestrictions_version.xsd"/>
	<xsd:include schemaLocation="netex_usageParameter_version.xsd"/>
	<!-- ======================================================================= -->
	<xsd:annotation>
		<xsd:appinfo>
			<Metadata xmlns="http://www.govtalk.gov.uk/CM/gms-xs">
				<Aggregation>main schema</Aggregation>
				<Audience>e-service developers</Audience>
				<Contributor>V1.0 Christophe Duquesne</Contributor>
				<Contributor>Nicholas Knowles</Contributor>
				<Coverage>Europe</Coverage>
				<Creator>First drafted for NeTEx version 1.0 CEN TC278 WG3 SG9 Editor Nicholas Knowles.</Creator>
				<Date>
					<Created>2013-04-14</Created>
				</Date>
				<Date><Modified>2011-02-05</Modified> Name Space changes
				</Date>
				<Date><Modified>2019-03-11</Modified>EURA-76 Add IsFeeRefundable attribute to Reserving .
				</Date>
				<Date><Modified>2019-03-12</Modified>Norway 100 Add Reservation type with valies autoAssigned, seatMap  and openSeating.
				</Date>
				<Date><Modified>2019-03-14</Modified>Eura-50  *FARES* Add new PurchaseAction attribute to  PurchaseWindow    with values purchase,  reserve,  orderWithoutPaying,  payForPreviousOrder, other   
			      * Also add ReservationExpiryPeriod
				</Date>
				<Date><Modified>2020-10-07</Modified>NewModes Factor out Booking Policy and add further attribute
					   Canncellation: CancellationALlowed
					   Reservation: MinimumResrevationDUration MaximumReservationDuration
				</Date>
				<Date><Modified>2023-12-18</Modified>FIX: Correct the  documentatiion on #525 implementation of BOOKING ARRANGEMENT and SERVICE BOOKING ARRANGEMENT.
				</Date>
				<Description>
					<p>NeTEx is a European CEN standard for the exchange of Public Transport data including timetables.</p>
					<p>This sub-schema describes the Booking USAGE PARAMETER types.</p>
				</Description>
				<Format>
					<MediaType>text/xml</MediaType>
					<Syntax>http://www.w3.org/2001/XMLSchema</Syntax>
					<Description>XML schema, W3C Recommendation 2001</Description>
				</Format>
				<Identifier>{http://www.netex.org.uk/schemas/1.0/xsd/netex_part_3/part3_fares}netex_usageParameterBooking_version.xsd</Identifier>
				<Language>[ISO 639-2/B] ENG</Language>
				<Publisher>Kizoom, 109-123 Clifton Street, London EC4A 4LD </Publisher>
				<Relation>
					<Requires>http://www.netex.org.uk/schemas/1.0/PATH/netex_prereqfile.xsd</Requires>
				</Relation>
				<Rights>Unclassified
					 <Copyright>CEN, Crown Copyright 2009-2023</Copyright>
				</Rights>
				<Source>
					<ul>
						<li>Derived from the Transmodel, VDV, TransXChange, NEPTUNE, BISON and Trident standards.</li>
					</ul>
				</Source>
				<Status>Version 1.0</Status>
				<Subject>
					<Category>Arts, recreation and travel, Tourism, Travel (tourism), Transport,
Air transport, Airports,
Ports and maritime transport, Ferries (marine),
Public transport, Bus services, Coach services, Bus stops and stations,
Rail transport, Railway stations and track, Train services, Underground trains,
Business and industry, Transport, Air transport , Ports and maritime transport, Public transport,
Rail transport, Roads and Road transport
</Category>
					<Project>CEN TC278 WG3 SG9.</Project>
				</Subject>
				<Title>NeTEx FARE Booking USAGE PARAMETER   types.</Title>
				<Type>Standard</Type>
			</Metadata>
		</xsd:appinfo>
		<xsd:documentation>NeTEX: Booking USAGE PARAMETER types.</xsd:documentation>
	</xsd:annotation>
	<!-- ====  PURCHASE  WINDOW================================================ -->
	<xsd:element name="PurchaseWindow" substitutionGroup="UsageParameter_Dummy">
		<xsd:annotation>
			<xsd:documentation>The number and characteristics of persons entitled to use the public transport service instead of the original customer.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="PurchaseWindow_VersionStructure">
					<xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="EntityInVersionGroup" minOccurs="0"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="DataManagedObjectGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="PriceableObjectGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="UsageParameterGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="PurchaseWindowGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="PurchaseWindowIdType" use="required"/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="PurchaseWindow_VersionStructure">
		<xsd:annotation>
			<xsd:documentation>Type for PURCHASE WINDOW.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="UsageParameter_VersionStructure">
				<xsd:sequence>
					<xsd:group ref="PurchaseWindowGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="PurchaseWindowGroup">
		<xsd:annotation>
			<xsd:documentation>Elements for PURCHASE WINDOW Group.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="PurchaseAction" type="PurchaseActionEnumeration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Action governed by Purchase Window. default is purchase. See allowed values.+v1.1</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="PurchaseWhen" type="PurchaseWhenEnumeration" default="advanceAndDayOfTravel" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>When ticket can be purchased. See allowed values.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="LatestTime" type="xsd:time" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Latest time on specified last day when ticket can be purchased.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="MinimumPeriodBeforeDeparture" type="xsd:duration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Minimum period before departure that purchase must be made.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="MinimumPeriodIntervalRef" type="TimeIntervalRefStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Minimum period before departure that purchase must be made - as arbitrary interval.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="MaximumPeriodBeforeDeparture" type="xsd:duration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Maximum period before departure that purchase can be made.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="MaximumPeriodIntervalRef" type="TimeIntervalRefStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Maximum period before departure that purchase must be made - as arbitrary interval.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="PurchaseMoment" type="PurchaseMomentListOfEnumerations" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Permitted moments of purchase. See allowed values +v1.1</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<!-- ====BOOKING POLICY=================================================== -->
	<xsd:element name="BookingPolicy" abstract="true" substitutionGroup="UsageParameter_Dummy">
		<xsd:annotation>
			<xsd:documentation>The number and characteristics of persons entitled to use the public transport service instead of the original customer. +v1.2.2</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="BookingPolicy_VersionStructure">
					<xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="EntityInVersionGroup" minOccurs="0"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="DataManagedObjectGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="PriceableObjectGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="UsageParameterGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="BookingPolicyGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="BookingPolicyIdType" use="required"/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="BookingPolicy_VersionStructure">
		<xsd:annotation>
			<xsd:documentation>Type for BOOKING POLICY.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="UsageParameter_VersionStructure">
				<xsd:sequence>
					<xsd:group ref="BookingPolicyGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="BookingPolicyGroup">
		<xsd:annotation>
			<xsd:documentation>Elements for BOOKING POLICY Group.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="BookingMethods" type="BookingMethodListOfEnumerations" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Booking methods allowed. +v1.2.2</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<!-- ====RESERVING=================================================== -->
	<xsd:element name="Reserving" substitutionGroup="UsageParameter_Dummy">
		<xsd:annotation>
			<xsd:documentation>The number and characteristics of persons entitled to use the public transport service instead of the original customer.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="Reserving_VersionStructure">
					<xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="EntityInVersionGroup" minOccurs="0"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="DataManagedObjectGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="PriceableObjectGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="UsageParameterGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="BookingPolicyGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="ReservingGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="ReservingIdType" use="required"/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="Reserving_VersionStructure">
		<xsd:annotation>
			<xsd:documentation>Type for RESERVING.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="BookingPolicy_VersionStructure">
				<xsd:sequence>
					<xsd:group ref="ReservingGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="ReservingGroup">
		<xsd:annotation>
			<xsd:documentation>Elements for RESERVING Group.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="ReservingRequirements" type="ServiceReservationFacilityListOfEnumerations" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Nature of resrevation required.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="MinimumNumberToReserve" type="NumberOfPassengers" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Minimum number of passengers required to be able to make a reservation.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="MaximumNumberToReserve" type="NumberOfPassengers" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Minimum number of passsengers required to be able to make a reservation.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="MustReserveWholeCompartment" type="xsd:boolean" default="false" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Must Reserve a whole compartment. Default is 'false'.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:group ref="ReservingCalculationGroup"/>
			<xsd:choice>
				<xsd:element name="bookingArrangements" type="bookingArrangements_RelStructure" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>Set of possible Booking Arrangements for Reservations +v2.0</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="BookingArrangements" type="BookingArrangementsStructure" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>Booking Arrangements for Reservations. DEPRECATED: use bookingArrangements</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
			</xsd:choice>
			<xsd:element name="SeatAllocationMethod" type="SeatAllocationMethodEnumeration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Method of Seat allocation that is used. +V1.1</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ReservationExpiryPeriod" type="xsd:duration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Period after which reservation without payment will expire if not paid for. +v1.1</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<xsd:group name="ReservingCalculationGroup">
		<xsd:annotation>
			<xsd:documentation>Elements for RESERVING Group.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="ReservationChargeType" type="ReservationChargeTypeEnumeration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Nature of reervation fee.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="FeeBasis" type="PerBasisEnumeration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Whether there is a fee for reselling.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="HasFreeConnectingReservations" type="xsd:boolean" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Whether there is an additional fee for connecting reservations.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="NumberOfFreeConnectingReservations" type="xsd:integer" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Whether there is an additional fee for connecting reservations.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="IsFeeRefundable" type="xsd:boolean" default="false" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Whether reservation fees is refundable. +v1.1</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<!-- ====RESERVING=================================================== -->
	<xsd:element name="Cancelling" substitutionGroup="UsageParameter_Dummy">
		<xsd:annotation>
			<xsd:documentation>The number and characteristics of persons entitled to use the public transport service instead of the original customer.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="Cancelling_VersionStructure">
					<xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="EntityInVersionGroup" minOccurs="0"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="DataManagedObjectGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="PriceableObjectGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="UsageParameterGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="CancellingGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="CancellingIdType" use="required"/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="Cancelling_VersionStructure">
		<xsd:annotation>
			<xsd:documentation>Type for CANCELLING.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="UsageParameter_VersionStructure">
				<xsd:sequence>
					<xsd:group ref="CancellingGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="CancellingGroup">
		<xsd:annotation>
			<xsd:documentation>Elements for CANCELLING Group.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:choice>
				<xsd:element name="bookingArrangements" type="bookingArrangements_RelStructure" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>Set of possible Booking Arrangements for Cancellations. +v2.0</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="BookingArrangements" type="BookingArrangementsStructure" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>Booking Arrangements for Cancellations. DEPRECATED: use bookingArrangements</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
			</xsd:choice>
			<xsd:element name="CancellationAllowed" type="xsd:boolean" default="true" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Whether Cancellation is allowed. +v1.2.2</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="BookingDepositRefundable" type="xsd:boolean" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Whether a booking deposit is refunded on cancellation. +v1.2.2</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
</xsd:schema>
