Example
Netex_gtfs_exm1_FareAttributes_1.xml
standards/gtfs/Netex_gtfs_exm1_FareAttributes_1.xml
Element names link to their declarations.
<?xml version="1.0" encoding="UTF-8"?>
<!-- ==== SImple Network Example ======
This Example provides an example of mapping of a GTFS FareRule.txt file to NeTEx
The data comes from the sample-feed.zip available at http://code.google.com/transit/spec/transit_feed_specification.html
September 2011
1. DATA
It comprises prices for a simple route base fare
Fare_Attributes
fare_id,price,currency_type,payment_method,transfers,transfer_duration
p,1.25,USD,0,0,
a,5.25,USD,0,0,
2. MAPPING TO NETEX
The GTFS representation is heavily overloaded, so NeTEx mapping is complex depending on fare structure. (E.g. different for flat fare, point-to-point fare, etc)
NeTEx may be augmented with further distinctions not covered by GTFS
Gtfs: FareAttribute = PRICE GROUP + FARE PRICE, where
(a) Flat tariff: FARE PRICE : (FARE PRODUCT PRICE
(b) Point to point tariff: DISTANCE MATRIX ELEMENT PRICE
(b) Zone sequence :tariff FARE STRUCTURE ELEMENT PRICE
also
PREASSIGNED FARE PRODUCT + VALIDABLE ELEMENT +
+ TARIFF + FARE STRUCTURE ELEMENTs @conditions_ofUse) frequency
2.1 Fare Attributes
GTFS NeTEx
fare_id, <PriceGroup><members><FarePrice #fare_id >
price, <FarePrice #fare_id><Amount> #price
currency_type, <FarePrice #fare_id><Currency> #currency_type
payment_method, <Tariff><FareStructureElement id="#fare_id@conditions_of_travel"> <GenericParameterAssignment #fare_id@conditions_of_travel> <limitations>
0 =Pay on Boarding <PurchaseWindow #fare_id><PurchaseMoment> (#onBoarding)
1 = Fare must be paid before boarding <PurchaseWindow #fare_id><PurchaseMoment> (#beforeBoarding)
transfers, <PreassignedFareProduct #fare_id> <accessRightsInProduct> <AcccessRightInProduct #fare_id> <ValidibleElement #fare_id>
==> <PreassignedFareProduct #fare_id><validableElements><ValidityParameter #fare_id> <fareStructureElements>
==><Tariff #fare_id><FareStructureElement id="#fare_id@conditions_of_travel"> <GenericParameterAssignment #fare_id@conditions_of_travel> <limitations>
<Interchanging #fare_id@conditions_of_travel@interchanging><MaximumNumberOfInterchanges>1</MaximumNumberOfInterchanges>
<FrequencyOfUse #fare_id@conditions_of_travel@frequency><FrequencyOfUseType>unlimited | none | single (#transfers)
transfer_duration <PreassignedFareProduct #fare_id> <accessRightsInProduct> <AcccessRightInProduct #fare_id> <ValidibleElement #fare_id> (#transfers)
==> <PreassignedFareProduct #fare_id><validableElements><ValidityParameter #fare_id> <fareStructureElements>
==><Tariff><FareStructureElement id="#fare_id@conditions_of_travel"> <GenericParameterAssignment #fare_id@conditions_of_travel> <limitations>
<UsageValidityPeriod #fare_id@conditions_of_travel@validity><StandardDuration> #transfer_duration
<UsageValidityPeriod #fare_id@conditions_of_travel@validity> <UsageEnd> endoOfDay | endOfRide | endOfPeriod |etc
GTFS Data copyright Google Inc
v1.1 Revised to use Tarifff
NeTEx (C) CEN Copyright 2010, 2011,2019
NeTEx (C) CEN Copyright 2010, 2011
-->
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://www.netex.org.uk/netex ../../../xsd/NeTEx_publication.xsd">
<PublicationTimestamp>2001-12-17T09:30:47.0Z</PublicationTimestamp>
<ParticipantRef>SYS001</ParticipantRef>
<!--- ======WHAT WAS REQUESTED ========== -->
<PublicationRefreshInterval>P3M</PublicationRefreshInterval>
<Description>Example of GTFS Agency data</Description>
<!--- =============== RESULTS =========== -->
<dataObjects>
<!--- =============== FAREs =========== -->
<!--- =============== FAREs =========== -->
<FareFrame version="any" id="mygtfsxm:p">
<!--- ====Fare USAGE PARAMETERS======= -->
<tariffs>
<Tariff version="any" id="mygtfsxm:p">
<TypeOfTariffRef version="gtfs:1.5" ref="gtfs:flat"/>
<fareStructureElements>
<FareStructureElement version="any" id="mygtfsxm:p@access">
<GenericParameterAssignment order="1" id="mygtfsxm:p@access" version="any">
<TypeOfAccessRightAssignmentRef versionRef="ntx:v1.0" ref="ntx:can_access"/>
<ValidityParameterGroupingType>AND</ValidityParameterGroupingType>
<validityParameters>
<VehicleModes>bus</VehicleModes>
<AuthorityRef ref="mygtfsxm:DTA"/>
</validityParameters>
</GenericParameterAssignment>
</FareStructureElement>
<FareStructureElement id="mygtfsxm:p@conditions_of_travel" version="any">
<Name>Conditions of travel</Name>
<GenericParameterAssignment version="any" order="1" id="mygtfsxm:p@conditions_of_travel">
<Name>Conditions of travel</Name>
<TypeOfAccessRightAssignmentRef versionRef="ntx:v1.0" ref="ntx:condition_of_use"/>
<LimitationGroupingType>AND</LimitationGroupingType>
<limitations>
<UsageValidityPeriod version="any" id="mygtfsxm:p@validity">
<UsageEnd>standardDuration</UsageEnd>
<StandardDuration>PT60M</StandardDuration>
</UsageValidityPeriod>
<Interchanging version="any" id="mygtfsxm:p@interchanging">
<CanInterchange>true</CanInterchange>
<MaximumNumberOfInterchanges>1</MaximumNumberOfInterchanges>
</Interchanging>
</limitations>
</GenericParameterAssignment>
</FareStructureElement>
</fareStructureElements>
<priceGroups>
<PriceGroupRef version="any" ref="mygtfsxm:p"/>
</priceGroups>
</Tariff>
</tariffs>
<!--- ====Fare Product======= -->
<fareProducts>
<PreassignedFareProduct version="any" id="mygtfsxm:p">
<Name>Single flat fare to ride as long as you like on the DTA</Name>
<!--- ====VALIDABLE ELEMENTs====== -->
<validableElements>
<ValidableElement version="any" id="mygtfsxm:p">
<fareStructureElements>
<FareStructureElementRef version="any" ref="mygtfsxm:p@access"/>
<FareStructureElementRef version="any" ref="mygtfsxm:p@conditions_of_travel"/>
</fareStructureElements>
</ValidableElement>
</validableElements>
<!--- ====ACCESS RIGHTS======= -->
<accessRightsInProduct>
<AccessRightInProduct order="1" version="any" id="mygtfsxm:p">
<ValidableElementRef version="any" ref="mygtfsxm:p"/>
</AccessRightInProduct>
</accessRightsInProduct>
</PreassignedFareProduct>
</fareProducts>
<!--- ====PRICEs====== -->
<priceGroups>
<PriceGroup version="any" id="mygtfsxm:p">
<members>
<FareProductPrice version="any" id="mygtfsxm:p">
<Amount>1.25</Amount>
<Currency>USD</Currency>
<PreassignedFareProductRef version="any" ref="mygtfsxm:p"/>
</FareProductPrice>
</members>
</PriceGroup>
</priceGroups>
</FareFrame>
<!--- =============== FAREs =========== -->
<FareFrame version="any" id="mygtfsxm:a">
<!--- ====Fare USAGE PARAMETERS======= -->
<tariffs>
<Tariff version="any" id="mygtfsxm:a">
<TypeOfTariffRef version="gtfs:1.5" ref="gtfs:flat"/>
<fareStructureElements>
<FareStructureElement version="any" id="mygtfsxm:a@access">
<GenericParameterAssignment order="1" id="mygtfsxm:a@access" version="any">
<TypeOfAccessRightAssignmentRef versionRef="ntx:v1.0" ref="ntx:can_access"/>
<ValidityParameterGroupingType>AND</ValidityParameterGroupingType>
<validityParameters>
<VehicleModes>bus</VehicleModes>
<AuthorityRef ref="mygtfsxm:DTA"/>
</validityParameters>
</GenericParameterAssignment>
</FareStructureElement>
<FareStructureElement id="mygtfsxm:a@conditions_of_travel" version="any">
<Name>Conditions of travel</Name>
<GenericParameterAssignment version="any" order="1" id="mygtfsxm:a@conditions_of_travel">
<Name>Conditions of travel</Name>
<TypeOfAccessRightAssignmentRef versionRef="ntx:v1.0" ref="ntx:condition_of_use"/>
<LimitationGroupingType>AND</LimitationGroupingType>
<limitations>
<UsageValidityPeriod version="any" id="mygtfsxm:a@validity">
<UsageEnd>endOfFareDay</UsageEnd>
</UsageValidityPeriod>
<Interchanging version="any" id="mygtfsxm:a@interchanging">
<CanInterchange>false</CanInterchange>
<MaximumNumberOfInterchanges>0</MaximumNumberOfInterchanges>
</Interchanging>
<PurchaseWindow version="any" id="mygtfsxm:a@purchasing">
<PurchaseMoment>beforeBoarding</PurchaseMoment>
</PurchaseWindow>
</limitations>
</GenericParameterAssignment>
</FareStructureElement>
</fareStructureElements>
<priceGroups>
<PriceGroupRef version="any" ref="mygtfsxm:a"/>
</priceGroups>
</Tariff>
</tariffs>
<!--- ====Fare Product======= -->
<fareProducts>
<PreassignedFareProduct version="any" id="mygtfsxm:a">
<Name>Single flat fare to ride as long as you like on the DTA</Name>
<!--- ====VALIDABLE ELEMENTs====== -->
<validableElements>
<ValidableElement version="any" id="mygtfsxm:a">
<fareStructureElements>
<FareStructureElementRef version="any" ref="mygtfsxm:a@access"/>
<FareStructureElementRef version="any" ref="mygtfsxm:a@conditions_of_travel"/>
</fareStructureElements>
</ValidableElement>
</validableElements>
<!--- ====ACCESS RIGHTS======= -->
<accessRightsInProduct>
<AccessRightInProduct order="1" version="any" id="mygtfsxm:a">
<ValidableElementRef version="any" ref="mygtfsxm:a"/>
</AccessRightInProduct>
</accessRightsInProduct>
</PreassignedFareProduct>
</fareProducts>
<!--- ====PRICEs====== -->
<priceGroups>
<PriceGroup version="any" id="mygtfsxm:a">
<members>
<FareProductPrice version="any" id="mygtfsxm:a">
<Amount>5.25</Amount>
<Currency>USD</Currency>
<PreassignedFareProductRef version="any" ref="mygtfsxm:a"/>
</FareProductPrice>
</members>
</PriceGroup>
</priceGroups>
</FareFrame>
<ResourceFrame version="any" id="mygtfsxm:DTA">
<organisations>
<!--- =====Agency========= -->
<Authority version="any" id="mygtfsxm:DTA">
<Name>Demo Transit Authority</Name>
<ContactDetails>
<Url>http://code.google.com/p/googletransitdatafeed/wiki/FareExamples</Url>
</ContactDetails>
</Authority>
</organisations>
</ResourceFrame>
<ResourceFrame version="gtfs:1.5" id="gtfs:GTFS_Common_Resources">
<Name>Built-in GTFS Code Values</Name>
<!--- ======= CODESPACEs======== -->
<codespaces>
<Codespace id="gtfs">
<Xmlns>gtfs</Xmlns>
<XmlnsUrl>http://www.google.com/transit/gtfs</XmlnsUrl>
<Description>GTFS code values</Description>
</Codespace>
</codespaces>
<!--- =======FRAME DEFAULTS======== -->
<FrameDefaults>
<DefaultCodespaceRef ref="gtfs"/>
</FrameDefaults>
<typesOfValue>
<ValueSet version="gtfs:1.5" id="gtfs:GTFS_Types_of_Frame" classOfValues="TypeOfFrame">
<Name>GTFS Built in Types of Frame</Name>
<values>
<TypeOfFrame version="gtfs:1.5" changed="2011-01-20T00:00:00" id="gtfs:GTFS_profile@composite">
<Name>GTFS Built in Types of Frame - flat fare structure</Name>
</TypeOfFrame>
</values>
</ValueSet>
<ValueSet version="gtfs:1.5" id="gtfs:GTFS_Types_of_Tariff" classOfValues="TypeOfTariff">
<Name>GTFS Built in Types of Frame</Name>
<values>
<TypeOfTariff version="gtfs:1.5" changed="2011-01-20T00:00:00" id="gtfs:flat">
<Name>GTFS Built in Types of Tariff - flat fare </Name>
</TypeOfTariff>
<TypeOfTariff version="gtfs:1.5" changed="2011-01-20T00:00:00" id="gtfs:point_to_point">
<Name>GTFS Built in Types of Tariff - fpoint to point</Name>
</TypeOfTariff>
<TypeOfTariff version="gtfs:1.5" changed="2011-01-20T00:00:00" id="gtfs:zone_sequence">
<Name>GTFS Built in Types of Tariff - zone sequence </Name>
</TypeOfTariff>
</values>
</ValueSet>
</typesOfValue>
</ResourceFrame>
</dataObjects>
</PublicationDelivery>