<?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" targetNamespace="http://www.netex.org.uk/netex" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1" id="netex_interchangeRule_version">
	<!-- ======================================================================= -->
	<xsd:include schemaLocation="netex_journeyDesignator_support.xsd"/>
	<xsd:include schemaLocation="../../netex_part_1/part1_ifopt/netex_ifopt_stopPlace_support.xsd"/>
	<xsd:include schemaLocation="netex_interchange_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>2010-09-04</Created>
				</Date>
				<Date>
					<Modified>2011-02-05</Modified>
					<!-- Name Space changes -->
				</Date>
				<Date><Modified>2012-08-01</Modified>  [CH] Add   line and direction refs  
				</Date>
				<Date><Modified>2017-06-13</Modified> CR008  Allow multiple Lines and  Directions on filter
				</Date>
				<Date><Modified>2019-04-19</Modified> Fix allow add JourneyDesignator
				</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 INTERCHANGE RULE 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_2/part2_journeyTimes}netex_interchangeRule_version.xsd</Identifier>
				<Language>[ISO 639-2/B] ENG</Language>
				<Publisher>Kizoom Software Ltd, 16 High Holborn, London WC1V 6BX </Publisher>
				<Relation>
					<Requires>http://www.netex.org.uk/schemas/1.0/PATH/netex_prereqfile.xsd</Requires>
				</Relation>
				<Rights>Unclassified
				 <Copyright>CEN, Crown Copyright 2009-2019</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 INTERCHANGE RULE types.</Title>
				<Type>Standard</Type>
			</Metadata>
		</xsd:appinfo>
		<xsd:documentation>NeTEx: INTERCHANGE RULE types.</xsd:documentation>
	</xsd:annotation>
	<!-- ======================== =============================================== -->
	<!-- ===ENTIITY IN VERSION IN FRAME====(Used in SERVICE FRAME)=================================================== -->
	<xsd:group name="InterchangeInFrameGroup">
		<xsd:annotation>
			<xsd:documentation>Properties of INTERCHANGEs in TIMETABLE FRAME.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="journeyMeetings" type="journeyMeetingsInFrame_RelStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>JOURNEY MEETINGs in frame.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="journeyInterchanges" type="journeyInterchangesInFrame_RelStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>INTERCHANGES in frame.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="defaultInterchanges" type="defaultInterchangesInFrame_RelStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>DEFAULT INTERCHANGES in frame.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="interchangeRules" type="interchangeRulesInFrame_RelStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>INTERCHANGE RULEs in frame.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<xsd:complexType name="interchangeRulesInFrame_RelStructure">
		<xsd:annotation>
			<xsd:documentation>Type for containment in frame of INTERCHANGE RULEs.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="containmentAggregationStructure">
				<xsd:sequence>
					<xsd:element ref="InterchangeRule" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<!-- ======================== =============================================== -->
	<xsd:complexType name="interchangeRules_RelStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a list of INTERCHANGE RULEs.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="containmentAggregationStructure">
				<xsd:choice maxOccurs="unbounded">
					<xsd:element ref="InterchangeRuleRef"/>
					<xsd:element ref="InterchangeRule"/>
				</xsd:choice>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="InterchangeRule" substitutionGroup="DataManagedObject">
		<xsd:annotation>
			<xsd:documentation>Conditions for considering journeys to meet or not to meet, specified indirectly: by a particular MODE, DIRECTION or LINE. Such conditions may alternatively be specified directly, indicating the corresponding services. In this case they are either a SERVICE JOURNEY PATTERN INTERCHANGE or a SERVICE JOURNEY INTERCHANGE.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="InterchangeRule_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="InterchangeGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="InterchangeRuleGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="InterchangeRuleIdType" use="required"/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="InterchangeRule_VersionStructure">
		<xsd:annotation>
			<xsd:documentation>Type for INTERCHANGE RULE.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="Interchange_VersionStructure">
				<xsd:sequence>
					<xsd:group ref="InterchangeRuleGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="InterchangeRuleGroup">
		<xsd:annotation>
			<xsd:documentation>Elements for an INTERCHANGE RULE.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="ConnectionZoneRef" type="ZoneRefStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Reference to a CONNEXTION ZONE area.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="ControlCentreRef" minOccurs="0"/>
			<xsd:element name="Exclude" type="xsd:boolean" default="false" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Whether rule is to exclude any connections that satisfy the criteria. Default is false.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="timings" type="interchangeRuleTimings_RelStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Additional timings for the INTERCHANGE RULE for specific TIME DEMAND TYPEs.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:group ref="InterchangeRuleFilteringGroup">
				<xsd:annotation>
					<xsd:documentation>Filter Elements for an INTERCHANGE RULE. SIngle Elements are Logically ANDED together . Multiple elements (e.g. Line) are Logically ORed with each other.</xsd:documentation>
				</xsd:annotation>
			</xsd:group>
		</xsd:sequence>
	</xsd:group>
	<!-- ======================================================================= -->
	<xsd:group name="InterchangeRuleFilteringGroup">
		<xsd:annotation>
			<xsd:documentation>Filter Elements for an INTERCHANGE RULE.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="FeederFilter" type="InterchangeRuleParameterStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Feeder end of INTERCHANGE RULE.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="DistributorFilter" type="InterchangeRuleParameterStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Distributor end of INTERCHANGE RULE.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<xsd:complexType name="InterchangeRuleParameterStructure">
		<xsd:annotation>
			<xsd:documentation>Type for INTERCHANGE RULE PARAMETER.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="TransportMode" type="AllPublicTransportModesEnumeration" default="all" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Identifier of PT MODE of end Point of TRANSFER . Default is all modes.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="OperatorRef" minOccurs="0"/>
			<xsd:element name="StopAreaRef" type="StopAreaRefStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Identifier of a Place at end point of transfer.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="StopPlaceRef" minOccurs="0"/>
			<xsd:group ref="InterchangeRuleLineFilterGroup"/>
			<xsd:group ref="InterchangeRulePointFilterGroup"/>
			<xsd:element ref="TimeDemandTypeRef" minOccurs="0"/>
			<xsd:choice minOccurs="0">
				<xsd:element name="ServiceJourneyRef" type="ServiceJourneyRefStructure">
					<xsd:annotation>
						<xsd:documentation>Reference to a connecting VEHICLE JOURNEY to whom INTERCHANGE RULE applies. If absent applies to all journeys.</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element ref="JourneyDesignator"/>
				<xsd:element ref="ServiceDesignator"/>
			</xsd:choice>
			<xsd:element name="MaximumInterchangeWindow" type="xsd:duration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Maximum interval for making INTERCHANGe.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:group name="InterchangeRuleLineFilterGroup">
		<xsd:annotation>
			<xsd:documentation>Line filter Elements for an INTERCHANGE RULE PARAMETER.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:choice>
				<xsd:annotation>
					<xsd:documentation>LINEs for which this applies.</xsd:documentation>
				</xsd:annotation>
				<xsd:element name="AllLines" type="EmptyType">
					<xsd:annotation>
						<xsd:documentation>Applies to all Lines. +v1.1</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="linesInDirectionRefs" type="linesInDirectionRefs_RelStructure">
					<xsd:annotation>
						<xsd:documentation>List of LINEs in a DIRECTION +v1.1</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element ref="LineInDirectionRef" maxOccurs="unbounded"/>
			</xsd:choice>
		</xsd:sequence>
	</xsd:group>
	<xsd:group name="InterchangeRulePointFilterGroup">
		<xsd:annotation>
			<xsd:documentation>Stop filter Elements for an INTERCHANGE RULE PARAMETER.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="ScheduledStopPointRef" minOccurs="0"/>
			<xsd:element name="AdjacentStopPointRef" type="ScheduledStopPointRefStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Prior (feeder) or onwards (distributor) SCHEDULED STOP POINT before/after CONNECTION.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="AdjacentStopPlaceRef" type="StopPlaceRefStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Prior (feeder) or onwards (distributor) SCHEDULED STOP PLACE before/after CONNECTION.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="AdjacentPointRef" type="PointRefStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Prior (feeder) or onwards (distributor) POINT (not necessarily a STOP POINT) before/after connection.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="EndStopPointRef" type="ScheduledStopPointRefStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Identifier of end i.e. origin (feeder) or destination (Distributor)(SCHEDULED STOP POINT of feeder/distributor JOURNEY.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<!-- ======================== =============================================== -->
	<xsd:complexType name="interchangeRuleFilters_RelStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a list of INTERCHANGE RULE FILTERs</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="containmentAggregationStructure">
				<xsd:sequence>
					<xsd:element ref="InterchangeRuleFilter" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="InterchangeRuleFilter" type="InterchangeRuleParameterStructure">
		<xsd:annotation>
			<xsd:documentation>Filter for INTERCHANGE RULE Filter.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="InterchangeRuleFilter_VersionedChildStructure">
		<xsd:annotation>
			<xsd:documentation>Type for INTERCHANGE RULE PARAMETER.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="VersionedChildStructure">
				<xsd:sequence>
					<xsd:group ref="InterchangeRuleFilterGroup"/>
				</xsd:sequence>
				<xsd:attribute name="order" type="xsd:positiveInteger" use="optional">
					<xsd:annotation>
						<xsd:documentation>Order in which to apply filter -v2.0</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="InterchangeRuleFilterGroup">
		<xsd:annotation>
			<xsd:documentation>Stop filter Elements for an INTERCHANGE RULE PARAMETER.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="OperatorRef" minOccurs="0"/>
			<xsd:element name="StopAreaRef" type="StopAreaRefStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Identifier of a Place at end point of transfer.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="StopPlaceRef" minOccurs="0"/>
			<xsd:group ref="InterchangeRuleLineFilterGroup"/>
			<xsd:group ref="InterchangeRulePointFilterGroup"/>
			<xsd:element ref="TimeDemandTypeRef" minOccurs="0"/>
			<xsd:choice minOccurs="0">
				<xsd:element name="ServiceJourneyRef" type="ServiceJourneyRefStructure">
					<xsd:annotation>
						<xsd:documentation>Reference to a connecting VEHICLE JOURNEY to whom INTERCHANGE RULE applies. If absent applies to all journeys.</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element ref="ServiceDesignator"/>
			</xsd:choice>
			<xsd:element name="MaximumInterchangeWindow" type="xsd:duration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Maximum interval for making INTERCHANGe.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="TransportMode" type="AllPublicTransportModesEnumeration" default="all" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Identifier of PT MODE of end Point of TRANSFER . Default is all modes.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<!-- ======================== =============================================== -->
	<xsd:complexType name="interchangeRuleTimings_RelStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a list of INTERCHANGE RULE TIMINGs.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="containmentAggregationStructure">
				<xsd:choice maxOccurs="unbounded">
					<xsd:element ref="InterchangeRuleTimingRef"/>
					<xsd:element ref="InterchangeRuleTiming">
						<xsd:annotation>
							<xsd:documentation>Timings for an INTERCHANGE RULE for a given TIME DEMAND TYPE.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:choice>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="InterchangeRuleTiming" substitutionGroup="VersionedChild">
		<xsd:annotation>
			<xsd:documentation>Conditions for considering journeys to meet or not to meet, specified indirectly: by a particular MODE, DIRECTION or LINE. Such conditions may alternatively be specified directly, indicating the corresponding services. In this case they are either a SERVICE JOURNEY PATTERN INTERCHANGE or a SERVICE JOURNEY INTERCHANGE.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="InterchangeRuleTiming_VersionStructure">
					<xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="EntityInVersionGroup" minOccurs="0"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="VersionedChildGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="JourneyTimingGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="InterchangeRuleTimingGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="InterchangeRuleTimingIdType" use="required"/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="InterchangeRuleTiming_VersionStructure">
		<xsd:annotation>
			<xsd:documentation>Type for INTERCHANGE RULE TIMING.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="JourneyTiming_VersionedChildStructure">
				<xsd:sequence>
					<xsd:group ref="InterchangeRuleTimingGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="InterchangeRuleTimingGroup">
		<xsd:annotation>
			<xsd:documentation>Elements for an INTERCHANGE RULE TIMING.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:group ref="InterchangeTimesGroup"/>
		</xsd:sequence>
	</xsd:group>
	<!-- ======================================================================= -->
</xsd:schema>
