<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.netex.org.uk/netex" targetNamespace="http://www.netex.org.uk/netex" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" id="netex_ifopt_checkConstraint_version">
	<xsd:include schemaLocation="netex_ifopt_checkConstraint_support.xsd"/>
	<xsd:include schemaLocation="../../netex_framework/netex_reusableComponents/netex_environment_support.xsd"/>
	<xsd:include schemaLocation="../../netex_framework/netex_reusableComponents/netex_facility_support.xsd"/>
	<xsd:include schemaLocation="../../netex_framework/netex_reusableComponents/netex_equipment_support.xsd"/>
	<xsd:include schemaLocation="../../netex_framework/netex_reusableComponents/netex_serviceRestrictions_version.xsd"/>
	<xsd:include schemaLocation="../../netex_framework/netex_genericFramework/netex_assignment_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>
				<Coverage>Europe</Coverage>
				<Creator>First drafted for version 1.0 CEN TC278 WG3 SG6 Editor Nicholas Knowles.</Creator>
				<Date>
					<Created>2010-09-04</Created>
				</Date>
				<Date>
					<Modified>2011-02-05</Modified>
				</Date>
				<Date>
					<Modified>2011-12-16</Modified>
				</Date>
				<Date><Modified>2017-05-25</Modified>CR0035 Add Type of COngestion open value. 
				</Date>
				<Date><Modified>2019-04-09</Modified> FIX  Make data type of throughut counts NumberOfPassengers. 
				</Date>
				<Date><Modified>2024-02-01</Modified> Remodularise - add include  to access_support 
				</Date>
				<Description>
					<p>NeTEx - Network Exchange. This subschema defines common Check 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_1/part1_ifopt}netex_ifopt_checkConstraint_version.xsd</Identifier>
				<Language>[ISO 639-2/B] ENG</Language>
				<Publisher>Kizoom Software Ltd, 16 High Holborn, London WC1V 6BX</Publisher>
				<Rights>Unclassified
					 <Copyright>CEN, Crown Copyright 2009-2024</Copyright>
				</Rights>
				<Source>
					<ul>
						<li>Derived from the SIRI 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 Network Exchange - CHECK CONSTRAINT types.</Title>
				<Type>Standard</Type>
			</Metadata>
		</xsd:appinfo>
		<xsd:documentation>CHECK CONSTRAINT types for IFOPT Fixed Objects in Public Transport.</xsd:documentation>
	</xsd:annotation>
	<!-- ===ENTIITY IN VERSION IN FRAME====(Used in SITE FRAME)=================================================== -->
	<xsd:group name="CheckConstraintInFrameGroup">
		<xsd:annotation>
			<xsd:documentation>CHECK CONSTRAINT elements in frame.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="checkConstraints" type="checkConstraintInFrame_RelStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>CHECK CONSTRAINTs in frame.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="checkConstraintDelays" type="checkConstraintDelaysInFrame_RelStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>CHECK CONSTRAINTs DELAYs in frame.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="checkConstraintThroughputs" type="checkConstraintThroughputsInFrame_RelStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>CHECK CONSTRAINTs DELAYs in frame.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<xsd:complexType name="checkConstraintInFrame_RelStructure">
		<xsd:annotation>
			<xsd:documentation>Type for containment in frame of CHECK CONSTRAINTs.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="containmentAggregationStructure">
				<xsd:sequence>
					<xsd:element ref="CheckConstraint" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="checkConstraintDelaysInFrame_RelStructure">
		<xsd:annotation>
			<xsd:documentation>Type for containment in frame of CHECK CONSTRAINT DELAYs.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="containmentAggregationStructure">
				<xsd:sequence>
					<xsd:element ref="CheckConstraintDelay" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="checkConstraintThroughputsInFrame_RelStructure">
		<xsd:annotation>
			<xsd:documentation>Type for containment in frame of CHECK CONSTRAINT DELAYs.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="containmentAggregationStructure">
				<xsd:sequence>
					<xsd:element ref="CheckConstraintDelay" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<!--======CHECK CONSTRAINT ============================================================================-->
	<xsd:complexType name="checkConstraints_RelStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a list of CHECK CONSTRAINTs.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="containmentAggregationStructure">
				<xsd:choice maxOccurs="unbounded">
					<xsd:element ref="CheckConstraintRef"/>
					<xsd:element ref="CheckConstraint" maxOccurs="1">
						<xsd:annotation>
							<xsd:documentation>Process associated with a Place, typically giving rise to a delay to the traveller.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:choice>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="CheckConstraint" substitutionGroup="Assignment_Dummy">
		<xsd:annotation>
			<xsd:documentation>Characteristics of a SITE COMPONENT representing a process, such as check-in, security
screening, ticket control or immigration, that may potentially incur a time penalty that should be allowed for when journey planning. Used to mark PATH LINKs to determine transit routes through interchanges.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="CheckConstraint_VersionStructure">
					<xsd:sequence>
						<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="AssignmentGroup"/>
							</xsd:sequence>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="CheckConstraintGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="CheckConstraintIdType" use="required"/>
					<xsd:attribute name="responsibilitySetRef" type="ResponsibilitySetIdType" use="optional">
						<xsd:annotation>
							<xsd:documentation>Reference to RESPONSIBILITY SET for managing the object. If absent, then responsibility is same as for containing context of this object.</xsd:documentation>
						</xsd:annotation>
					</xsd:attribute>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="CheckConstraint_VersionStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a CHECK CONSTRAINT.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="Assignment_VersionStructure">
				<xsd:sequence>
					<xsd:group ref="CheckConstraintGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="CheckConstraintGroup">
		<xsd:annotation>
			<xsd:documentation>Elements of a CHECK CONSTRAINT.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="PlaceRef" minOccurs="0"/>
			<xsd:group ref="CheckConstraintPropertiesGroup"/>
			<xsd:group ref="CheckConstraintRelationGroup"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:group name="CheckConstraintPropertiesGroup">
		<xsd:annotation>
			<xsd:documentation>Property Elements of a CHECK CONSTRAINT.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="CheckDirection" type="CheckDirectionEnumeration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>For CHECK CONSTRAINTs associated with PATH LINKs, the direction in which the check applies. Forwards = from/to, backwards = to/from. For Check constraints associated with an external ENTRANCE, forwards is into the SITE, backwards is out of the SITE.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="CheckProcess" type="CheckProcessTypeEnumeration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Type of process that may occur at CHECK CONSTRAINT.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="CheckService" type="CheckServiceEnumeration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Nature of service that may occur at CHECK CONSTRAINT.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="AccessFeatureType" type="AccessFeatureEnumeration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Type of physical feature that may slow use of CHECK CONSTRAINT.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Congestion" type="CongestionEnumeration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Type of crowding that may slow use of CHECK CONSTRAINT.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="TypeOfCongestionRef" minOccurs="0"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:group name="CheckConstraintRelationGroup">
		<xsd:annotation>
			<xsd:documentation>Reference Elements of a CHECK CONSTRAINT.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="ClassOfUseRef" minOccurs="0"/>
			<xsd:element ref="TypeOfEquipmentRef" minOccurs="0"/>
			<xsd:element ref="FacilityRef" minOccurs="0"/>
			<xsd:element ref="EquipmentRef" minOccurs="0"/>
			<xsd:element name="delays" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Delays for CHECK CONSTRAINT .process.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:complexContent>
						<xsd:extension base="checkConstraintDelays_RelStructure"/>
					</xsd:complexContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="throughput" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Throughput for CHECK CONSTRAINT.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:complexContent>
						<xsd:extension base="checkConstraintThroughputs_RelStructure"/>
					</xsd:complexContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<!--======CHECK CONSTRAINT  DELAY=================================================================-->
	<xsd:complexType name="checkConstraintDelays_RelStructure">
		<xsd:annotation>
			<xsd:documentation>A collection of one or more CHECK CONSTRAINTs.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="strictContainmentAggregationStructure">
				<xsd:choice maxOccurs="unbounded">
					<xsd:element ref="CheckConstraintDelayRef"/>
					<xsd:element ref="CheckConstraintDelay"/>
				</xsd:choice>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="CheckConstraintDelay" substitutionGroup="Assignment_Dummy">
		<xsd:annotation>
			<xsd:documentation>Time penalty associated with a CHECK CONSTRAINT.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="CheckConstraintDelay_VersionStructure">
					<xsd:sequence>
						<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="AssignmentGroup"/>
							</xsd:sequence>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="CheckConstraintDelayGroup">
								<xsd:annotation>
									<xsd:documentation>Group of delays associated with a SITE COMPONENT.</xsd:documentation>
								</xsd:annotation>
							</xsd:group>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="CheckConstraintDelayIdType" use="required"/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="CheckConstraintDelay_VersionStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a CHECK CONSTRAINT DELAY.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="Assignment_VersionStructure">
				<xsd:sequence>
					<xsd:group ref="CheckConstraintDelayGroup">
						<xsd:annotation>
							<xsd:documentation>Group of delays associated with a SITE COMPONENT.</xsd:documentation>
						</xsd:annotation>
					</xsd:group>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="CheckConstraintDelayGroup">
		<xsd:annotation>
			<xsd:documentation>Elements of a CHECK CONSTRAINT DELAY.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="CheckConstraintRef" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Reference to a CHECK CONSTRAINT. Can be omitted if given by context.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="ClassOfUseRef" minOccurs="0"/>
			<xsd:element name="MinimumLikelyDelay" type="xsd:duration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Minimum duration needed to pass through CHECK CONSTRAINT.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="AverageDelay" type="xsd:duration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Average duration expected to pass through Check.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="MaximumLikelyDelay" type="xsd:duration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Maximum duration expected to pass through CHECK CONSTRAINT.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<!--======CHECK CONSTRAINT THROUGHPUT ==============================================================================-->
	<xsd:complexType name="checkConstraintThroughputs_RelStructure">
		<xsd:annotation>
			<xsd:documentation>A collection of one or more CHECK CONSTRAINTs.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="strictContainmentAggregationStructure">
				<xsd:choice maxOccurs="unbounded">
					<xsd:element ref="CheckConstraintThroughputRef"/>
					<xsd:element ref="CheckConstraintThroughput"/>
				</xsd:choice>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="CheckConstraintThroughput" substitutionGroup="Assignment_Dummy">
		<xsd:annotation>
			<xsd:documentation>Throughput of a CHECK CONSTRAINT. the number of passengers who can pass through it.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="CheckConstraintThroughput_VersionStructure">
					<xsd:sequence>
						<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="AssignmentGroup"/>
							</xsd:sequence>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="CheckConstraintThroughputGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="CheckConstraintThroughputIdType" use="required"/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="CheckConstraintThroughput_VersionStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a CHECK CONSTRAINT THROUGHPUT.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="Assignment_VersionStructure">
				<xsd:sequence>
					<xsd:group ref="CheckConstraintThroughputGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="CheckConstraintThroughputGroup">
		<xsd:annotation>
			<xsd:documentation>Elements of a CHECK CONSTRAINT THROUGHPUT.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="CheckConstraintRef" minOccurs="0"/>
			<xsd:element name="Period" type="xsd:duration" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Interval for measurement.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="MaximumPassengers" type="NumberOfPassengers" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Maximum number of passengers.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="AveragePassengers" type="NumberOfPassengers" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Average number of passengers.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="WheelchairPassengers" type="NumberOfPassengers" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Maximum number of wheelchair passengers.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<!-- ======================================================================= -->
	<xsd:element name="TypeOfCongestion" substitutionGroup="TypeOfEntity">
		<xsd:annotation>
			<xsd:documentation>A classification of CONGESTIONs according to their functional purpose.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="TypeOfCongestion_ValueStructure">
					<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="TypeOfValueGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="TypeOfCongestionIdType" use="required"/>
					<xsd:attribute name="nameOfClassifiedEntityClass" type="NameOfClass" use="optional">
						<xsd:annotation>
							<xsd:documentation>Name of Class of the ENTITY. Allows reflection. Fixed for each ENTITY type.</xsd:documentation>
						</xsd:annotation>
					</xsd:attribute>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="TypeOfCongestion_ValueStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a TYPE OF CONGESTION.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="TypeOfEntity_VersionStructure"/>
		</xsd:complexContent>
	</xsd:complexType>
	<!--============================================================================================-->
</xsd:schema>
