Schema source
netex_fareProduct_version.xsd
netex_part_3/part3_fares/netex_fareProduct_version.xsd
<?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="1.1" id="netex_fareProduct_version">
<xsd:include schemaLocation="../../netex_framework/netex_utility/netex_units.xsd"/>
<xsd:include schemaLocation="netex_fareProduct_support.xsd"/>
<xsd:include schemaLocation="../../netex_framework/netex_reusableComponents/netex_otherOrganisation_support.xsd"/>
<!-- ======================================================================= -->
<xsd:include schemaLocation="netex_validableElement_version.xsd"/>
<xsd:include schemaLocation="netex_fareConditionSummary_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>2011-11-11</Modified>Fix - Change product infoUrl (Misspelt) to be list of infolinks
</Date>
<Date><Modified>2018-01-18</Modified>Fix - Correct type on SupplementToFareProduct Ref
</Date>
<Date><Modified>2019-03-10</Modified>EURA-81 Make relationship with TypeOfFareProduct many-to-many.
</Date>
<Date><Modified>2019-03-10</Modified>EURA-53 Add CappingRuleStartConstraintType attribute to CappingRule to state if fixed / flexible and DayType to specify startOnlyOn DayType
</Date>
<Date><Modified>2019-03-11</Modified>EURA-77 Add Tariffs/ TariffRef attribute to FareProduct. Also correct TypeOfFareProduct
</Date>
<Date><Modified>2019-03-12</Modified>NORWAY-99 change cardinality of ___SupplementProduct__ / ___SupplementToFareProductRef___ from 0:1 to 0:*
</Date>
<Date><Modified>2019-03-13</Modified>Simplify use of Fares:
Add new Attribute ProductType to PreassignedFareProduct with values singleTip, timeTimitedSingleTrip, dayReturnTrip, periodReturnTrip, multiStepTrip, dayPass, periodPass, other.
Add new Atrribute ProductType to SupplementProduct with values seatReservation, dog, animal, bicycle, meal, wifi, other
Add new atrribute ProductType to AmountOfPriceUnitFareProduct with values tripCarnet, passCarnet, unitCoupons, other., </Date>
<Date><Modified>2020-12-12</Modified>NEWMdoes - allow any type of ORGANMISATION to own product
</Date>
<Date><Modified>2023-11-07</Modified>CR0544 Deprecate PrivateCode.
</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 FARE PRODUCT 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_fareProduct_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-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 FARE PRODUCT types.</Title>
<Type>Standard</Type>
</Metadata>
</xsd:appinfo>
<xsd:documentation>NeTEx: FARE PRODUCT types.</xsd:documentation>
</xsd:annotation>
<!-- ===ENTITY IN VERSION IN FRAME====Used in FARE FRAME)=================================================== -->
<!-- ===ENTITY IN VERSION IN FRAME====Used in FARE FRAME)=================================================== -->
<xsd:group name="FareProductsInFrameGroup">
<xsd:annotation>
<xsd:documentation>Fare Product Elements contained in a FARE FRAME.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="usageParameters" type="usageParametersInFrame_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>FARE USAGE PARAMETERS in FRAME.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="accessRightParameterAssignments" type="accessRightParameterAssignmentsInFrame_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>ACCESS RIGHT PARAMETER ASSIGNMENTs in frame.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="fareProducts" type="fareProductsInFrame_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>FARE PRODUCTs in FRAME.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:complexType name="fareProductsInFrame_RelStructure">
<xsd:annotation>
<xsd:documentation>Type for containment in frame of FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="frameContainmentStructure">
<xsd:sequence>
<xsd:element ref="FareProduct_Dummy" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- ====FARE PRODUCT=================================================== -->
<xsd:element name="ServiceAccessRight_Dummy" type="DataManagedObjectStructure" abstract="true" substitutionGroup="PriceableObject_Dummy">
<xsd:annotation>
<xsd:documentation>An immaterial marketable element</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ServiceAccessRight" substitutionGroup="ServiceAccessRight_Dummy">
<xsd:annotation>
<xsd:documentation>An immaterial marketable element dedicated to accessing some services.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="ServiceAccessRight_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="ServiceAccessRightGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="ServiceAccessRightIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ServiceAccessRight_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for SERVICE ACCESS RIGHT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="PriceableObject_VersionStructure">
<xsd:sequence>
<xsd:group ref="ServiceAccessRightGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="ServiceAccessRightGroup">
<xsd:annotation>
<xsd:documentation>Elements for a SERVICE ACCESS RIGHT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="ProductDescriptionGroup"/>
</xsd:sequence>
</xsd:group>
<xsd:group name="ProductDescriptionGroup">
<xsd:annotation>
<xsd:documentation>DescriptionElements for a PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="PrivateCode" minOccurs="0">
<xsd:annotation>
<xsd:documentation>DEPRECATED - use privateCodes. -v2.0</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="InfoUrl" type="xsd:anyURI" minOccurs="0">
<xsd:annotation>
<xsd:documentation>URL for further information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="documentLinks" type="infoLinks_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Timetable documents associated with the Product e.g pdf files</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<!-- ====FARE PRODUCT=================================================== -->
<xsd:element name="FareProduct_Dummy" type="DataManagedObjectStructure" abstract="true" substitutionGroup="ServiceAccessRight_Dummy">
<xsd:annotation>
<xsd:documentation>An immaterial marketable element (access rights, discount rights etc), specific to a CHARGING MOMENT.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="FareProduct" abstract="true" substitutionGroup="FareProduct_Dummy">
<xsd:annotation>
<xsd:documentation>An immaterial marketable element (access rights, discount rights etc), specific to a CHARGING MOMENT.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="FareProduct_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="ServiceAccessRightGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="FareProductGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="FareProductIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="FareProduct_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ServiceAccessRight_VersionStructure">
<xsd:sequence>
<xsd:group ref="FareProductGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="FareProductGroup">
<xsd:annotation>
<xsd:documentation>Elements for a FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="FareProductDescriptionGroup"/>
<xsd:group ref="FareProductRelationGroup">
<xsd:annotation>
<xsd:documentation>Related Elements for a FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:group ref="FareProductValidityGroup"/>
<xsd:group ref="FareProductPricingGroup"/>
</xsd:sequence>
</xsd:group>
<xsd:group name="FareProductDescriptionGroup">
<xsd:annotation>
<xsd:documentation>DescriptionElements for a FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="ChargingMomentRef" minOccurs="0"/>
<xsd:element name="ChargingMomentType" type="ChargingMomentEnumeration" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Enumeration of standardised Charging moment values _v1.1</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:element ref="TypeOfFareProductRef"/>
<xsd:element name="typesOfFareProduct" type="typeOfFareProductRefs_RelStructure">
<xsd:annotation>
<xsd:documentation>Classifications of FARE PROFUDCT .</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element ref="OrganisationRef_Dummy" minOccurs="0">
<xsd:annotation>
<xsd:documentation>ORGANISATION in charge of the FARE PRODUCT. +v1.2.2</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="ConditionSummary" minOccurs="0"/>
</xsd:sequence>
</xsd:group>
<xsd:group name="FareProductValidityGroup">
<xsd:annotation>
<xsd:documentation>ValidityElements for a FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="OptimisedOneManyAssignmentGroup" minOccurs="0"/>
<xsd:element name="validableElements" type="validableElements_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>VALIDABLE ELEMENTs making up FARE SERVICE ACCESS RIGHT.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="accessRightsInProduct" type="accessRightsInProduct_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Access rights given by product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="FareProductPricingGroup">
<xsd:annotation>
<xsd:documentation>Pricing Elements for a FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="tariffs" type="tariffRefs_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>TARIFFs used by FARE PRODUCT. These may be derived from lower level references.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="prices" type="fareProductPrices_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>PRICEs making up FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="FareProductRelationGroup">
<xsd:annotation>
<xsd:documentation>Related Elements for a FARE PRODUCT PRICe.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="FareProductRef" minOccurs="0"/>
</xsd:sequence>
</xsd:group>
<!-- ====TYPE OF FARE PRODUCT======================================== -->
<xsd:complexType name="typeOfFareProducts_RelStructure">
<xsd:annotation>
<xsd:documentation>Type for a list of TYPE OF FARE PRODUCTs.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="containmentAggregationStructure">
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="TypeOfFareProductRef"/>
<xsd:element ref="TypeOfFareProduct"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TypeOfFareProduct" substitutionGroup="TypeOfEntity">
<xsd:annotation>
<xsd:documentation>A classification of FARE PRODUCTs expressing their general functionalities and local functional characteristics specific to the operator. Types of FARE PRODUCTs like e.g. throw-away ticket, throw-away ticket unit, value card, electronic purse allowing access, public transport credit card etc. may be used to define these categories.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="TypeOfFareProduct_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="TypeOfValueGroup"/>
</xsd:sequence>
<xsd:sequence/>
</xsd:sequence>
<xsd:attribute name="id" type="TypeOfFareProductIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="TypeOfFareProduct_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for TYPE OF FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="TypeOfEntity_VersionStructure">
<xsd:group ref="TypeOfFareProductGroup"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="TypeOfFareProductGroup">
<xsd:annotation>
<xsd:documentation>Elements for TYPE OF FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence/>
</xsd:group>
<!-- ==== SALES DISCOUNT RIGHT.=============================================== -->
<xsd:element name="SaleDiscountRight" substitutionGroup="FareProduct_Dummy">
<xsd:annotation>
<xsd:documentation>A FARE PRODUCT allowing a customer to benefit from discounts when purchasing SALES OFFER PACKAGEs.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="SaleDiscountRight_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="ServiceAccessRightGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="FareProductGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="SaleDiscountRightGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="SaleDiscountRightIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="SaleDiscountRight_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for SALES DISCOUNT RIGHT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FareProduct_VersionStructure">
<xsd:sequence>
<xsd:group ref="SaleDiscountRightGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="SaleDiscountRightGroup">
<xsd:annotation>
<xsd:documentation>Elements for a SALES DISCOUNT RIGHT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="ProductType" type="SaleDiscountRightEnumeration" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Classification of USAGE DISOCUNT RIGHT. +v1.1</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="OtherProductGroup" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Other products to which SALE DISCOUNT RIGHT applies</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:group>
<xsd:group name="OtherProductGroup">
<xsd:annotation>
<xsd:documentation>Elements for a SALES DISCOUNT RIGHT.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element ref="GeneralGroupOfEntitiesRef"/>
<xsd:element ref="GeneralGroupOfEntities"/>
</xsd:choice>
</xsd:group>
<!-- ==== ENTITLEMENT PRODUCT.=============================================== -->
<xsd:element name="EntitlementProduct" substitutionGroup="ServiceAccessRight_Dummy">
<xsd:annotation>
<xsd:documentation>A precondition to access a service or to purchase a FARE PRODUCT issued by an organisation that may not be a PT operator (e.g. military card).</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="EntitlementProduct_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="ServiceAccessRightGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="EntitlementProductGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="EntitlementProductIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="EntitlementProduct_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for ENTITLEMENT PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ServiceAccessRight_VersionStructure">
<xsd:sequence>
<xsd:group ref="EntitlementProductGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="EntitlementProductGroup">
<xsd:annotation>
<xsd:documentation>Elements for an ENTITLEMENT PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="GeneralOrganisationRef" minOccurs="0"/>
<xsd:element name="prices" type="fareProductPrices_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Prices for ENTITLEMENT PRODUCT.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<!-- ==== THIRD PARTY PRODUCT.=============================================== -->
<xsd:element name="ThirdPartyProduct" substitutionGroup="FareProduct_Dummy">
<xsd:annotation>
<xsd:documentation>A FARE PRODUCT that is marketed together with a Public Transport Fare Product.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="ThirdPartyProduct_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="ServiceAccessRightGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="FareProductGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="ThirdPartyProductGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="ThirdPartyProductIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ThirdPartyProduct_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for THIRD PARTY PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FareProduct_VersionStructure">
<xsd:sequence>
<xsd:group ref="ThirdPartyProductGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="ThirdPartyProductGroup">
<xsd:annotation>
<xsd:documentation>Elements for an THIRD PARTY PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="OtherProductGroup" minOccurs="0"/>
</xsd:sequence>
</xsd:group>
<!-- ==== USAGE DISCOUNT RIGHT.=============================================== -->
<xsd:element name="UsageDiscountRight" substitutionGroup="FareProduct_Dummy">
<xsd:annotation>
<xsd:documentation>A FARE PRODUCT allowing a customer to benefit from discounts when consuming VALIDABLE ELEMENTs.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="UsageDiscountRight_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="ServiceAccessRightGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="FareProductGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="UsageDiscountRightGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="UsageDiscountRightIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:group name="UsageDiscountRightGroup">
<xsd:annotation>
<xsd:documentation>Elements for a USAGE DISCOUNT RIGHT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="ProductType" type="UsageDiscountRightEnumeration" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Classification of USAGE DISOCUNT RIGHT. +v1.1</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<!-- ==== CAPPED DISCOUNT RIGHT.=============================================== -->
<xsd:element name="CappedDiscountRight" substitutionGroup="FareProduct_Dummy">
<xsd:annotation>
<xsd:documentation>A FARE PRODUCT allowing a customer to benefit from discounts when consuming VALIDABLE ELEMENTs.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="CappedDiscountRight_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="ServiceAccessRightGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="FareProductGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="SaleDiscountRightGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="CappedDiscountRightGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="CappedDiscountRightIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="CappedDiscountRight_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for CAPPED DISCOUNT RIGHT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="SaleDiscountRight_VersionStructure">
<xsd:sequence>
<xsd:group ref="CappedDiscountRightGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="CappedDiscountRightGroup">
<xsd:annotation>
<xsd:documentation>Elements for a CAPPED DISCOUNT RIGHT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="cappingRules" type="cappingRules_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Maximum fare to charge.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<!-- ==== CAPPING RULE.=============================================== -->
<xsd:complexType name="cappingRules_RelStructure">
<xsd:annotation>
<xsd:documentation>Type for a list of CAPPING RULEs.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="strictContainmentAggregationStructure">
<xsd:sequence>
<xsd:element ref="CappingRule" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CappingRule" substitutionGroup="PriceableObject_Dummy">
<xsd:annotation>
<xsd:documentation>Rule about capping for a mode.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="CappingRule_VersionedChildStructure">
<xsd:sequence>
<xsd:sequence>
<xsd:group ref="EntityInVersionGroup" minOccurs="0"/>
</xsd:sequence>
<xsd:sequence>
<xsd:sequence>
<xsd:element ref="keyList" minOccurs="0">
<xsd:annotation>
<xsd:documentation>A list of alternative Key values for an element.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="Extensions" minOccurs="0"/>
<xsd:element ref="BrandingRef" minOccurs="0"/>
</xsd:sequence>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="PriceableObjectGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="CappingRuleGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="CappingRuleIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="CappingRule_VersionedChildStructure">
<xsd:annotation>
<xsd:documentation>Type for CAPPING RULE.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="PriceableObject_VersionStructure">
<xsd:sequence>
<xsd:group ref="CappingRuleGroup">
<xsd:annotation>
<xsd:documentation>Elements for a CAPPING RULE.</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="CappingRuleGroup">
<xsd:annotation>
<xsd:documentation>Elements for a CAPPING RULE.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="MaximumDistance" type="DistanceType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Maximum Distance for distance based Capping.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="CappingPeriod" type="CappingPeriodEnumeration" default="day" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Period with which capping accumulation is done. Default is 'day'. A USAGE VALIDITY PERIDO parameter can be used to add a more specific definition.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="CappedDiscountRightRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="PreassignedFareProductRef" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="ValidableElementRef" minOccurs="0"/>
<xsd:group ref="OptimisedOneManyAssignmentGroup" minOccurs="0"/>
<xsd:element name="prices" type="cappingRulePrices_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Maximum fare to charge.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CappingStartConstraintGroup">
<xsd:annotation>
<xsd:documentation>Elements specify constraints on start of CAPPING RULE.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="CappingStartConstraintType" type="CappingPeriodStartConstraintTypeEnumeration" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Indicates if start of cappig period is variable on fixed. +v1.1</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="startOnlyOn" minOccurs="0">
<xsd:annotation>
<xsd:documentation>If StartConstraintType is Fixed, then allowed days to start on can be indicated by a DAY TYPE, for example Monday, 1st of Month, Start of Quarter, etc +v1.1</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="dayTypes_RelStructure">
<xsd:sequence>
<xsd:element name="StartMonth" type="xsd:gMonth" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Start date of USAGE VALIDITY PERIOD.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="StartDay" type="xsd:gDay" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Start time of USAGE VALIDITY PERIOD.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:group>
<!-- ==== AMOUNT OF PRICE UNIT PRODUCT.=============================================== -->
<xsd:complexType name="UsageDiscountRight_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for USAGE DISCOUNT RIGHT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FareProduct_VersionStructure">
<xsd:sequence>
<xsd:group ref="UsageDiscountRightGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="AmountOfPriceUnitProduct" substitutionGroup="FareProduct_Dummy">
<xsd:annotation>
<xsd:documentation>A FARE PRODUCT consisting in a stored value of PRICE UNITs: an amount of money on an electronic purse, amount of units on a value card etc.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="AmountOfPriceUnitProduct_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="ServiceAccessRightGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="FareProductGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="AmountOfPriceUnitProductGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="AmountOfPriceUnitProductIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="AmountOfPriceUnitProduct_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for AMOUNT OF PRICE UNIT PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FareProduct_VersionStructure">
<xsd:sequence>
<xsd:group ref="AmountOfPriceUnitProductGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="AmountOfPriceUnitProductGroup">
<xsd:annotation>
<xsd:documentation>Elements for a AMOUNT OF PRICE UNIT PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="ProductType" type="AmountOfPriceUnitEnumeration" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Classification of PEEASSIGNED FARE PRODUCT. +v1.1</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="PriceUnitRef" minOccurs="0"/>
<xsd:element name="Amount" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Number of units. If only one. Otherwise use TARIFF with FARE QUALITY FACTOR to specify a range</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<!-- ==== PREASSIGNED FARE PRODUC=============================================== -->
<xsd:element name="PreassignedFareProduct" substitutionGroup="FareProduct_Dummy">
<xsd:annotation>
<xsd:documentation>A FARE PRODUCT consisting of one or several VALIDABLE ELEMENTs, specific to a CHARGING MOMENT.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="PreassignedFareProduct_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="ServiceAccessRightGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="FareProductGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="PreassignedFareProductGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="PreassignedFareProductIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="PreassignedFareProduct_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for PREASSIGNED FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FareProduct_VersionStructure">
<xsd:sequence>
<xsd:group ref="PreassignedFareProductGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="PreassignedFareProductGroup">
<xsd:annotation>
<xsd:documentation>Elements for a PREASSIGNED FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="ProductType" type="PreassignedFareProductEnumeration" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Classification of PEEASSIGNED FARE PRODUCT. +v1.1</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<!-- ==== PREASSIGNED FARE PRODUC=============================================== -->
<xsd:element name="SupplementProduct" substitutionGroup="FareProduct_Dummy">
<xsd:annotation>
<xsd:documentation>A FARE PRODUCT consisting of one or several VALIDABLE ELEMENTs, specific to a CHARGING MOMENT.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="SupplementProduct_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="ServiceAccessRightGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="FareProductGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="PreassignedFareProductGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="SupplementProductGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="PreassignedFareProductIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="SupplementProduct_VersionStructure">
<xsd:annotation>
<xsd:documentation>Type for PREASSIGNED FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="PreassignedFareProduct_VersionStructure">
<xsd:sequence>
<xsd:group ref="SupplementProductGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="SupplementProductGroup">
<xsd:annotation>
<xsd:documentation>Elements for a PREASSIGNED FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="SupplementProductType" type="SupplementProductEnumeration" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Classification of SUPPLEMENT PRODUCT. +v1.1</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:annotation>
<xsd:documentation>Optimised multipel choice</xsd:documentation>
</xsd:annotation>
<xsd:element name="SupplementToFareProductRef" type="FareProductRefStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>FARE PRODUCT to which this SUPPLEMENT PRODUCT can be a a supplement.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="supplementTo" type="fareProductRefs_RelStructure" minOccurs="0">
<xsd:annotation>
<xsd:documentation>FARE PRODUCTa to which this SUPPLEMENT PRODUCT can be a a supplement.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:group>
<!-- ====ACCESS RIGHT IN PRODUCT..============================= -->
<xsd:complexType name="accessRightsInProduct_RelStructure">
<xsd:annotation>
<xsd:documentation>Type for a list of ACCESS RIGHT IN PRODUCTs.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="strictContainmentAggregationStructure">
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="AccessRightInProductRef"/>
<xsd:element ref="AccessRightInProduct"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="AccessRightInProduct" substitutionGroup="VersionedChild">
<xsd:annotation>
<xsd:documentation>A VALIDABLE ELEMENT as a part of a PRE-ASSIGNED FARE PRODUCT, including its possible order in the set of all VALIDABLE ELEMENTs grouped together to define the access right assigned to that PRE-ASSIGNED FARE PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="AccessRightInProduct_VersionedChildStructure">
<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="FareElementInSequenceGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="AccessRightInProductGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="AccessRightInProductIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="AccessRightInProduct_VersionedChildStructure">
<xsd:annotation>
<xsd:documentation>Type for ACCESS RIGHT IN PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FareElementInSequence_VersionedChildStructure">
<xsd:sequence>
<xsd:group ref="AccessRightInProductGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="AccessRightInProductGroup">
<xsd:annotation>
<xsd:documentation>Elements for a ACCESS RIGHT IN PRODUCT.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="ValidableElementRef" minOccurs="0"/>
<xsd:element ref="PreassignedFareProductRef" minOccurs="0"/>
</xsd:sequence>
</xsd:group>
<!-- ======================================================================= -->
<xsd:element name="ChargingMoment" substitutionGroup="TypeOfValue">
<xsd:annotation>
<xsd:documentation>A classification of FARE PRODUCTs according to the payment method and the account location: pre-payment with cancellation (throw-away), pre-payment with debit on a value card, pre-payment without consumption registration (pass), post-payment etc.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="ChargingMoment_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="ChargingMomentIdType" use="required">
<xsd:annotation>
<xsd:documentation>Identifier of CHARGING MOMENT.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ChargingMoment_ValueStructure">
<xsd:annotation>
<xsd:documentation>Type for a CHARGING MOMENT.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="TypeOfValue_VersionStructure"/>
</xsd:complexContent>
</xsd:complexType>
<!-- == FARE PRICEs.============================= -->
<xsd:complexType name="fareProductPrices_RelStructure">
<xsd:annotation>
<xsd:documentation>Type for a list of FARE PRODUCT PRICEs.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="strictContainmentAggregationStructure">
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="FareProductPriceRef"/>
<xsd:element ref="CellRef_Dummy"/>
<xsd:element ref="FareProductPrice"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="FareProductPrice" substitutionGroup="FarePrice_Dummy">
<xsd:annotation>
<xsd:documentation>A set of all possible price features of a FARE PRODUCT default total price, discount in value or percentage etc.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="FareProductPrice_VersionedChildStructure">
<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="FarePriceGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="FareProductPriceGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="FareProductPriceIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="FareProductPrice_VersionedChildStructure">
<xsd:annotation>
<xsd:documentation>Type for a FARE PRODUCT PRICE.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FarePrice_VersionedChildStructure">
<xsd:sequence>
<xsd:group ref="FareProductPriceGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="FareProductPriceGroup">
<xsd:annotation>
<xsd:documentation>Pricing Elements for a FARE PRODUCT PRICE.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="FareProductRef" minOccurs="0"/>
</xsd:sequence>
</xsd:group>
<!-- ======================================================================= -->
<!-- == CAPPING RULE PRICEs.============================= -->
<xsd:complexType name="cappingRulePrices_RelStructure">
<xsd:annotation>
<xsd:documentation>Type for a list of CAPPING RULE PRICEs.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="strictContainmentAggregationStructure">
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="CappingRulePriceRef"/>
<xsd:element ref="CellRef_Dummy"/>
<xsd:element ref="CappingRulePrice"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CappingRulePrice" substitutionGroup="FarePrice_Dummy">
<xsd:annotation>
<xsd:documentation>A set of all possible price features of a CAPPING RULE default total price, discount in value or percentage etc.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="CappingRulePrice_VersionedChildStructure">
<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="FarePriceGroup"/>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="CappingRulePriceGroup"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="id" type="CappingRulePriceIdType" use="required"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="CappingRulePrice_VersionedChildStructure">
<xsd:annotation>
<xsd:documentation>Type for a CAPPING RULE PRICE.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FarePrice_VersionedChildStructure">
<xsd:sequence>
<xsd:group ref="CappingRulePriceGroup"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:group name="CappingRulePriceGroup">
<xsd:annotation>
<xsd:documentation>Pricing Elements for a CAPPING RULE PRICE.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="CappingRuleRef" minOccurs="0"/>
</xsd:sequence>
</xsd:group>
<!-- ======================================================================= -->
</xsd:schema>