Avant-propos

L’harmonisation des pratiques dans l’échange des données relatives aux offres de transport est essentielle :

  • pour l’usager, aux fins d’une présentation homogène et compréhensible de l’offre de transport et de l’engagement sous-jacent des organisateurs (autorités organisatrices et opérateurs de transports) ;

  • pour les AOT, de manière à fédérer des informations homogènes venant de chacun des opérateurs de transports qui travaillent pour elle. L’harmonisation des échanges, et en particulier le présent profil, pourra le cas échéant être imposé par voie contractuelle. Cette homogénéité des formats d’information permet d’envisager la mise en place de systèmes d’information multimodaux, produisant une information globale de l’offre de transports sur un secteur donné, et garantir le fonctionnement des services d’information, en particulier des calculateurs d’itinéraires, et la cohérence des résultats, que ces services soient directement intégrés dans ces systèmes d’information multimodaux ou qu’ils puisent leurs informations sur des bases de données réparties ;

  • pour les opérateurs, qui pourront utiliser ce format d’échange pour leurs systèmes de planification, les systèmes d’aide à l’exploitation, leurs systèmes billettiques et leurs systèmes d’information voyageur (information planifiée et information temps réel) ;

  • pour les industriels et développeurs pour pérenniser et fiabiliser leurs investissements sur les formats d’échanges implémentés par les systèmes qu’ils réalisent, tout en limitant fortement l’effort de spécification lié aux formats d’échange ;

Ce document est le fruit de la collaboration entre les différents partenaires des autorités organisatrices de transports, opérateurs, industriels et développeurs de solutions et de systèmes informatiques ayant pour objet l’aide à l’exploitation du transport public et l’information des voyageurs. Il a pour objet de présenter le profil d’échange Profil NeTEx Tarifs : “format de référence pour l’échange de données de description des offres tarifaires” (issu des travaux NeTEx, et Transmodel) qui aujourd’hui fait consensus dans les groupes de normalisation (CN03/GT7 – Transport public / information voyageur).

Introduction

Le présent format d’échange est un profil de NeTEx.

NeTEx (CEN TS 16614-1, 16614-2 et 16614-3) propose un format et des services d’échange de données de description de l’offre de transport planifiée, basé sur Transmodel (EN 12896) et l’ancienne norme IFOPT (EN 28701). NeTEx permet non seulement d’assurer les échanges pour les systèmes d’information voyageur mais traite aussi l’ensemble des concepts nécessaires en entrée et sortie des systèmes de planification de l’offre (graphiquage, etc.) et des SAE (Systèmes d’Aide à l’Exploitation).

NeTEx se décompose en cinq parties :

  • Partie 1 : topologie des réseaux (les réseaux, les lignes, les parcours commerciaux les missions commerciales, les arrêts et lieux d’arrêts, les correspondances et les éléments géographiques en se limitant au strict minimum pour l’information voyageur)

  • Partie 2 : horaires théoriques (les courses commerciales, les heures de passage graphiquées, les jours types associés ainsi que les versions des horaires)

  • Partie 3 : information tarifaire (uniquement à vocation d’information voyageur)

  • Partie 4 : Profil Européen pour l’information voyageur (EPIP : European Passenger Information Profile)

  • Partie 5 : NeTEx New Modes extension (vehicle sharing, vehicle pooling, etc.)

NeTEx a été développé dans le cadre du CEN/TC 278/WG 3/SG 9 piloté par la France. Les parties 1 et 2 ont été publiées en tant que spécification technique début 2014. Les travaux pour la partie 3, quant à eux, se sont terminés en 2016.

Il faut noter que NeTEx a été l’occasion de renforcer les liens du CEN/TC278/WG3 avec le secteur ferrovaire, en particulier grâce à la participation de l’ERA (Agence Européen du Rail, qui a intégré NeTEx dans la directive Européenne 454/2011 TAP-TSI ) et de l’UIC (Union International des Chemins de fer).

Les normes, dans leur définition même, sont des « documents établis par consensus ». Celles du CEN/TC278 sont de plus établies à un niveau européen, en prenant donc en compte des exigences qui dépassent souvent le périmètre national.

Il en résulte des normes qui sont relativement volumineuses et dont le périmètre dépasse souvent largement les besoins d’une utilisation donnée. Ainsi, à titre d’exemple, SIRI propose toute une série d’options ou de mécanismes dont la vocation est d’assurer la compatibilité avec les systèmes développés en Allemagne dans le contexte des VDV 453/454. De même, SIRI propose des services dédiés à la gestion des correspondances garanties, services qui, s’ils sont dès aujourd’hui pertinents en Suisse ou en Allemagne, sont pratiquement inexistants en France.

De plus, un certain nombre de spécificités locales ou nationales peuvent amener à préciser l’usage ou la codification qui sera utilisée pour certaines informations. Par exemple, les Anglais disposant d’un référentiel national d’identification des points d’arrêts (NaPTAN), ils imposeront naturellement que cette codification soit utilisée dans les échanges SIRI, ce que ne feront pas les autres pays européens.

Enfin, certains éléments proposés par ces normes sont facultatifs et il convient, lors d’une implémentation, de décider si ces éléments seront ou non implémentés.

L’utilisation des normes liées à l’implémentation de l’interopérabilité pour le transport en commun passe donc systématiquement par la définition d’un profil (local agreement, en anglais). Concrètement, le profil est un document complémentaire à la norme et qui en précise les règles de mise en œuvre dans un contexte donné. Le profil contient donc des informations comme :

  • détail des services utilisés,

  • détail des objets utilisés dans un échange,

  • précisions sur les options proposées par la norme,

  • précision sur les éléments facultatifs,

  • précision sur les codifications à utiliser,

  • etc.

Les principaux profils actuellement utilisés en France sont NEPTUNE (profil de TRIDENT) et le profil de SIRI défini par le CEREMA et Île-de-France Mobilités (un profil SIRI Frane, qui en découle, est en cours d’élaboration). Ces deux profils ont une vocation nationale. Le groupe de travail GT7 (AFNOR BNTRA/CN 03/GT 7) a élaboré une sélection des concepts Transmodel nécessaire à la description des horaires en France (à vocation d’information voyageur essentiellement). C’est sur la base de cette sélection qu’est élaboré le présent profil.

D’autre profils de NeTEx sont disponibles (arrêt, réseau, horaire). Ils sont tous complémentaires les uns des autres (sans recouvrement) et s’appuient tous sur un document partagé: NeTEx - Profil Français de NETEx: éléments communs. Il conviendra de se référer à ce document pour tous les éléments utilisés dans le présent document, et dont la structure n’est pas détaillée.

Ce profil d’échange a pour objectif de décrire et de structurer précisément les éléments nécessaires à une bonne information de description des horaires de transport public de façon :

  • à pouvoir les présenter d’une manière homogène et compréhensible à l’usager des transports publics sur des supports différents (papier ou Internet),

  • à pouvoir les échanger entre systèmes d’information (systèmes d’information voyageurs et systèmes d’information multimodale, systèmes d’aide à l’exploitation, systèmes de planification, systèmes billettiques, etc.).

Les éléments présentés ci-dessous couvrent donc l’ensemble des concepts propres à la description des offres tarifaires (on notera que le prix n’est que l’un des élément possible de description de l’offre tarifaire, et que le prix n’est pas toujours connu, notamment dans le cas des tarifs dits « yieldés »).

NOTE IMPORTANTE Ce document étant un profil d’échange de NeTEx, il ne se substitue en aucun cas à NeTEx, et un minimum de connaissance de NeTEx sera nécessaire à sa bonne compréhension.

Domaine d’application

Le présent document est le profil de la CEN/TS 6614 (NeTEx) pour l’échange de données de description des horaires en France et permet de décrire les horaires de transports publics et la manière dont ils pourront être structurés pour des échanges entre systèmes d’information ainsi que pour leur présentation aux voyageurs.

Ce sont les services de transport et leurs horaires au sens large (heures de passage, fréquences, jours d’application) qui sont pris en compte dans ce contexte, et non la structure de l’offre de transport (voir les profils arrêt et réseau pour cela).

Références normatives

Les documents de référence suivants sont indispensables pour l’application du présent document. Pour les références datées, seule l’édition citée s’applique. Pour les références non datées, la dernière édition du document de référence s’applique (y compris les éventuels amendements).

CEN/TS 16614-1, Network and Timetable Exchange (NeTEx) — Part 1: Public transport network topology exchange format

CEN/TS 16614-2, Network and Timetable Exchange (NeTEx) — Part 2: Public transport scheduled timetables exchange format

EN 12896, Road transport and traffic telematics - Public transport - Reference data model (Transmodel)

Termes et définitions

Pour les besoins du présent document, les termes et définitions suivants s’appliquent. Ils sont directement issus de Transmodel et NeTEx. Pour une information complète, il conviendra toutefois de se référer au document normatif.

NOTE Les définitions ci-dessus sont des traductions littérales du document normatif. Seules les définitions spécifiques du profil tarif sont proposées ici, celles relatives aux autres profils sont disponibles dans les profils correspondants.

ACCESS RIGHT IN PRODUCT (DROIT D’ACCÈS D’UN PRODUIT tarifaire)

Un ÉLÉMENT VALIDABLE (VALIDABLE ELEMENT) faisant partie d’un PRODUIT TARIFAIRE PRÉDÉFINI (PRE-ASSIGNED FARE PRODUCT), éventuellement incluant un numéro d’ordre dans un ensemble d’ ÉLÉMENTs VALIDABLEs regroupés pour définir les droits d’accès de ce PRODUIT TARIFAIRE PRÉDÉFINI

ACCESS RIGHT PARAMETER ASSIGNMENT (AFFECTATION DES PARAMÈTRES DES DROITS D’ACCÈS)

L’affectation d’un paramètre tarifaire (faisant référence à la géographie, au temps, à la qualité ou à l’usage) à un élément d’un système tarifaire (droit d’accès, accès validé, moyen de contrôle, etc.).

AMOUNT OF PRICE UNIT (MONTANT D’UNITÉS TARIFAIRE)

PRODUIT TARIFAIRE constitué d’une valeur stockée d’UNITÉS TARIFAIRE : une somme d’argent sur un porte-monnaie électronique, une quantité d’unités transport sur une carte, etc.

BORDER POINT (POINT FRONTALIER)

Un POINT sur le Réseau marquant une limite pour le calcul tarifaire. Peut ou non être un POINT D’ARRÊT PLANIFIÉ.

CAPPED DISCOUNT RIGHT (REDUCTION PAR PLAFONNEMENT)

Spécialisation du DROIT A REDUCTION utilisé pour les tarifications de type « pay-as-you-go », où une fois qu’un certain niveau de consommation a été atteint dans un intervalle de temps donné, un plafond (tel que spécifié par une ou plusieurs RÈGLES DE PLAFONNEMENT) est appliqué, par exemple en limitant le coût, pour toute utilisation au cours d’une même journée, au prix d’un passe journalier.

CELL (CELLULE)

Une combinaison unique de caractéristique au sein d’un GRILLE TARIFAIRE, utilisée pour associer un prix à un élément de tarif.

CHARGING MOMENT (MOMENT DE PAIMENT)

Une classification des PRODUITS TARIFAIRES selon le mode de paiement et le type de compte : pré-paiement à usage unique, pré-paiement avec débit sur carte, pré-paiement sans enregistrement de consommation (pass), post- paiement etc…

CHARGING POLICY (POLITIQUE DE PAIEMENT)

Paramètre régissant le montant minimum et le crédit autorisé lors de la consommation d’un PRODUIT TARIFAIRE.

CLASS OF USE (CLASSE D’UTILISATION)

Une classification des tarifs et autres classes de services par catégorie d’utilisateur autorisé à les utiliser.

COMMERCIAL PROFILE (PROFIL COMMERCIALE)

Catégorisation d’utilisateurs en fonction de leurs relations commerciales avec l’opérateur (fréquence d’utilisation, montant d’achat…), souvent utilisée pour les remises.

COMPANION PROFILE (PROFIL D’ACCOMPAGNATEUR)

Le nombre et les caractéristiques des personnes autorisées à voyager en tant qu’accompagnateur d’un autre PROFIL UTILISATEUR.

DISTANCE MATRIX ELEMENT (ÉLÉMENT DE MATRICE DE DISTANCES)

Une cellule d’une matrice origine-destination pour les ZONES TARIFAIRES ou POINTS D’ARRÊT, exprimant une distance tarifaire pour le trajet correspondant : valeur en km, nombre d’unités tarifaires etc.

DISTRIBUTION ASSIGNMENT (AFFECTATION DE DISTRIBUTION)

Une affectation du CANAL DE DISTRIBUTION par lequel un produit peut ou non être distribué.

DISTRIBUTION CHANNEL (CANAL DE DISTRIBUTION)

Un type de point de vente pour la vente d’un produit.

DISTRIBUTION VALIDITY PARAMETERS (PARAMÈTRE DE VALIDITÉ POUER LA DISTRIBUTION)

Un type de PARAMÈTRE DE VALIDITÉ lié à la distribution des produits tarifaires.

ELIGIBILITY CHANGE POLICY (POLITIQUE POUR LE CHANGEMENT D’ÉLIGIBILITÉ)

La politique à appliquer si l’éligibilité d’un utilisateur, en tant que PROFIL UTILISATEUR, change.

ENTITLEMENT GIVEN (DROIT OBTENU)

Paramètre indiquant si un PRODUIT TARIFAIRE particulier donne le droit d’acheter ou d’utiliser un droit d’accès.

ENTITLEMENT PRODUCT (PRODUIT OUVRANT DES DROITS)

Une condition préalable pour accéder à un service ou pour acheter un PRODUIT TARIFAIRE délivré par une organisation qui peut ne pas être un opérateur transport public (par exemple, une carte militaire).

ENTITLEMENT REQUIRED (DROIT REQUIS)

Paramètre indiquant si un PRODUIT TARIFAIRE nécessite un droit ou autorisation particulière pour pouvoir l’acheter ou l’utiliser.

EXCHANGING (ÉCHANGE)

Si et comment le droit d’accès peut être échangé contre un autre droit d’accès.

FARE DEMAND FACTOR (FACTEUR TARIFAIRE LIÉ À LA DEMENADE)

Un ensemble nommé de paramètres définissant une période de déplacement avec un prix donné, par exemple heures creuses, heures pleines, super heures creuses, etc.

FARE ELEMENT IN SEQUENCE (D’ÉLÉMENT TARIFAIRE EN SÉQUENCE)

Un ÉLÉMENT TARIFAIRE faisant partie d’un ensemble, y compris son ordre éventuel dans la séquence d’ÉLÉMENTS TARIFAIRE.

FARE POINT IN JOURNEY PATTERN (POINT TARIFAIRE DANS UN PARCOURS)

Un POINT SUR PARCOURS qui représente le début ou la fin d’une SECTION TARIFAIRE, ou un point utilisé pour définir une CONTRAINTE DE SÉRIE.

FARE PRICE (PRIX)

Caractéristiques de prix définies par défaut caractérisant les différents GROUPES DE PRIX.

FARE PRODUCT (PRODUIT TARIFAIRE)

Un élément commercialisable immatériel (droits d’accès, droits de remise, etc.), propre à un MOMENT DE PAIEMENT.

FARE QUOTA FACTOR (FACTEUR DE QUOTA TARIFAIRE)

Un ensemble paramètres définissant un nombre maximal de tarifs disponibles pour une dénomination donnée.

FARE SCHEDULED STOP POINT (POINT D’ARRÊT TARIFAIRE)

Une spécialisation de POINT D’ARRÊT PLANIFIÉ décrivant un arrêt avec des caractéristiques tarifaires en lien avec l’itinéraire.

FARE SECTION (SECTION TARIFAIRE)

Subdivision d’un PARCOURS constitué de POINTs consécutifs sur ce PARCOURS, utilisée pour définir un élément de la structure tarifaire.

FARE STRUCTURE ELEMENT (ÉLÉMENT DE STRUCTURE TARIFAIRE)

Une séquence ou un ensemble d’éléments tarifaires auxquels sont appliquées des règles de limitation des droits d’accès et de calcul des prix (structure tarifaire).

FARE STRUCTURE ELEMENT IN SEQUENCE (ÉLÉMENTS DE STRUCTURE TARIFAIRE EN SÉQUENCE)

Un ÉLÉMENT DE STRUCTURE TARIFAIRE faisant partie d’un ÉLÉMENT VALIDABLE, y compris son ordre éventuel dans la séquence d’ÉLÉMENTS DE STRUCTURE TARIFAIRE formant cet ÉLÉMENT VALIDABLE, et son éventuelle limitation quantitative.

FARE TABLE (GRILLE TARIFAIRE)

Un regroupement de prix pouvant être associé à tout ou partie des éléments suivants : ÉLÉMENT DE MATRICE DE DISTANCE, ÉLÉMENT DE STRUCTURE TARIFAIRE INTERVALLE GÉOGRAPHIQUE, GROUPE DE PARAMÈTRE DE DROIT D’ACCÈS, CLASSE D’UTILISATION, OPÉRATEUR, MODE VÉHICULE, PRODUIT TARIFAIRE.

FARE VALIDITY PARAMETERS (PARAMETRES DE VALIDITÉ TARIFAIRE)

Un type de PARAMÈTRE DE VALIDITÉ lié aux produits tarifaires et/ou à leur distribution.

FARE ZONE (ZONE BILLÉTIQUE)

Specialisation d’une ZONE TARIFAIRE pour inclure les SECTIONs TARIFAIREs.

FREQUENCY OF USE (FÉQUENCE D’UTILISATION)

Limites de fréquence d’utilisation d’un PRODUIT TARIFAIRE (ou d’un de ses composants) ou d’une OFFRE A LA VENTE pendant une PÉRIODE DE VALIDITÉ déterminée. Il peut y avoir des tarifications différentes selon la fréquence de consommation du droit au cours de la période.

FULFILMENT METHOD (MÉTHODE DE DÉLIVRANCE)

Le moyen par lequel le billet est remis au CLIENT, par ex. en ligne, collecte, etc.

GENERIC PARAMETER ASSIGNMENT (AFFECTATION GÉNÉRIQUE DES PARAMÈTRES)

Une AFFECTATION DE PARAMETRES DE VALIDITE spécifiant des droits d’accès génériques pour une classe de produits (par exemple une limite de tranche horaire - 7h à 10h - pour les trajets effectués avec un titre étudiant).

GEOGRAPHICAL INTERVAL (INTERVAL GÉOGRAPHIQUE)

Un intervalle géographique précisant les droits d’accès pour les ÉLÉMENTS DE STRUCTURE TARIFAIRE dans la plage de cet intervalle : 0-5 km, 4-6 zones etc.

GEOGRAPHICAL STRUCTURE FACTOR (FACTEUR D’INTERVAL GÉOGRAPHIQUE)

La valeur d’un INTERVALLE GEOGRAPHIQUE ou d’un ELEMENT MATRICE DE DISTANCE exprimée par une UNITÉ GEOGRAPHIQUE.

GEOGRAPHICAL UNIT (UNITÉ GÉOGAPHIQUE)

Une unité de calcul des tarifs géographiques dégressifs.

GROUP OF DISTANCE MATRIX ELEMENTS (GROUPE D’ÉLÉMENT MATRICES DE DISTANCE)

Un regroupement d’ÉLÉMENTS DE MATRICE DE DISTANCE. Peut être utilisé pour fournir des paires Origine/Destination réutilisables (et leur associer un PRIX).

GROUP OF SALES OFFER PACKAGES (GROUPE D’OFFRES À LA VENTE)

Un groupement d’OFFREs À LA VENTE

GROUP TICKET (TICKET DE GROUPE)

Le nombre et les caractéristiques des personnes autorisées à voyager en plus du titulaire d’un droit d’accès.

LUGGAGE ALLOWANCE (BAGAGES AUTORISÉS)

Le nombre et les caractéristiques (poids, volume) des bagages qu’un titulaire d’un droit d’accès est autorisé à transporter.

MINIMUM STAY (SÉJOUR MINIMUM)

Détails de tout séjour minimum à la destination requis pour utiliser le produit.

NETWORK VALIDITY PARAMETERS (PARAMETRES DE VALIDITÉ DU RESEAU)

Un type de PARAMÈTRE DE VALIDITÉ lié à la structure du réseau.

ORGANISATIONAL VALIDITY PARAMETERS (PARAMETRES DE VALIDITÉ ORGANISATIONELS)

Un type de PARAMÈTRE DE VALIDITÉ relatifs à l’organisation.

PENALTY POLICY (POLITIQUE D’AMENDE)

Politique concernant différents aspects des frais de pénalité, par exemple entrée répétée dans la même gare, ne pas avoir de billet, etc.

PLACE VALIDITY PARAMETERS (PARAMETRES DE VALIDITÉ DES LIEUX)

Un type de PARAMÈTRE DE VALIDITÉ relatifs aux sites du réseau.

PRE-ASSIGNED FARE PRODUCT (PRODUIT TARIFAIRE PRÉDÉFINI)

UN PRODUIT TARIFAIRE composé d’un ou plusieurs ÉLÉMENTS VALIDABLES, spécifiques à un MODE DE PAIEMENT.

PRICEABLE OBJECT (OBJET AVEC PRIX)

Un élément qui peut avoir un PRIX.

PRODUCT VALIDITY PARAMETERS (PARAMETRES DE VALIDITÉ DU PRODUIT)

Un type de PARAMÈTRE DE VALIDITÉ lié aux produits tarifaires.

PURCHASE WINDOW (FENÊTRE D’ACHAT)

Période pendant laquelle le produit doit être acheté.

QUALITY STRUCTURE FACTOR (FACTEUR QUALITATIF)

Un facteur influençant la définition des droits d’accès ou le calcul des prix, en fonction de la qualité : seuil de congestion du trafic, réservation anticipée/tardive, etc.

QUALITY STRUCTURE FACTOR PRICE (PRIX DE FACTEUR QUALITATIF)

Un ensemble de toutes les caractéristiques de prix possibles d’un FACTEUR QUALITATIF, par ex. prix total par défaut, etc.

REFUNDING (REMBOURSEMENT)

Indique si et comment le produit peut être remboursé.

REPLACING (REMPLACEMENT)

Indique si et comment le produit peut être remplacé.

RESELLING (REVENTE)

Conditions de revente (c’est-à-dire pour échange ou remboursement) attachées au produit.

RESERVING (RESERVATION)

Indiquer si le droit d’accès nécessite une réservation.

RESIDENTIAL QUALIFICATION (QUALIFICATION RÉSIDENTIELLE)

Décrit une exigence de résidence dans une certaine zone géographique.

ROUND TRIP (ALLER RETOUR)

Propriétés relatives à l’usage pour un aller simple ou un aller-retour d’un droit d’accès.

ROUTING (ITINÉRAIRE)

Limitations d’un droit d’accès relative à l’itinéraire réalisable.

ROUTING VALIDITY PARAMETERS (PARAMETRE DE VALIDITE DE L’ITINERAIRE)

Un type de PARAMÈTRE DE VALIDITÉ lié à un itinéraire spécifique.

SALE DISCOUNT RIGHT (DROIT A REDUCTION)

PRODUIT TARIFAIRE (FARE PRODUCT) qui permet à son porteur de bénéficier d’une déduction lors de l’achat d’OFFREs A LA VENTE (SALES OFFER PACKAGE) particulières.

SALE OFFER ENTITLEMENT GIVEN (DROIT D’ACCES A UNE OFFRE)

DROIT accordé pour utiliser une OFFRE A LA VENTE.

SALE OFFER ENTITLEMENT REQUIRED (DROIT NÉCESSAIRE POUR ACCEDER A L’OFFRE)

DROIT nécessaire pour utiliser une OFFRE A LA VENTE.

SALES NOTICE ASSIGNMENT (AFFECTATION D’UNE NOTE)

Affectation d’une NOTE à un une OFFRE A LA VENTE ou à un GROUPE D’OFFREs A LA VENTE.

SALES OFFER PACKAGE (OFFRE A LA VENTE)

Une offre à la vente dans son ensemble, composé d’un ou plusieurs PRODUITS TARIFAIRES matérialisé grâce à un ou plusieurs DOCUMENTS DE VOYAGE. Les PRODUITS TARIFAIRES peuvent être soit directement attachés aux DOCUMENTS DE VOYAGE, soit être rechargeables sur les DOCUMENTS DE VOYAGE.

SALES OFFER PACKAGE ELEMENT (ÉLÉMENT D’OFFRE A LA VENTE)

L’affectation d’un PRODUIT TARIFAIRE à un TYPE DE DOCUMENT DE VOYAGE afin de définir une OFFRE A LA VENTE, réalisé sous forme d’affectation fixe (impression, stockage magnétique etc.) ou par la possibilité de recharger le PRODUIT TARIFAIRE sur le TYPE DU DOCUMENT DE VOYAGE.

SALES OFFER PACKAGE PRICE (PRIX D’UNE OFFRE A LA VENTE)

Un ensemble de toutes les caractéristiques de prix possibles d’une OFFRE A LA VENTE : prix total par défaut, etc.

SCOPING VALIDITY PARAMETERS (CIBLAGE DES PARAMÈTRES DE VALIDITÉ)

Regroupement des affectations de PARAMETRE DE VALIDITÉ aux éléments pour les associer à un ensemble de cibles (éléments auxquels ils s’appliquent).

SEATING VALIDITY PARAMETERS (PARAMÈTRES DE VALIDITÉ DES SIÈGES)

Type de PARAMÈTRE DE VALIDITÉ lié aux caractéristiques des sièges (par exemple, siège d’autocar ou de passager).

SERIES CONSTRAINT (CONTRAINTE DE SÉRIE)

Extension d’un ÉLÉMENT DE MATRICE DE DISTANCE (une cellule d’une matrice origine-destination pour les ZONES TARIFAIRES ou les POINTS D’ARRÊT PLANIFIÉS) exprimant une distance tarifaire pour le trajet correspondant (valeur en km, nombre d’unités tarifaires, etc.), limitée à des itinéraires spécifiques. Les CONTRAINTES DE SÉRIE sont principalement utilisées pour les tarifs ferroviaires.

SERVICE ACCESS RIGHT (DROIT D’ACCÈS AU SERVICE)

Un élément commercialisable immatériel dédié à l’accès à certains services.

SERVICE VALIDITY PARAMETERS (PARAMÈTRE DE VALIDITÉ DU SERVICE)

Un type de PARAMÈTRE DE VALIDITÉ lié aux caractéristiques du service (par exemple, la classe).

SITE VALIDITY PARAMETERS (PARAMÈTRE DE VALIDITÉ DU SITE)

Un type de PARAMÈTRE DE VALIDITÉ lié aux caractéristiques du SITE.

START TIME AT STOP POINT (HORAIRE DE DÉBUT AU POINT D’ARRÊT)

Heure à laquelle une tranche horaire tarifaire (tranche horaire pointe, heures creuses) commence pour les trajets au départ d’une gare particulière.

STEP LIMIT (LIMITATION DU NOMBRE D’ÉTAPES)

Paramètre géographique limitant les droits d’accès par comptage d’arrêts, de tronçons ou de zones.

SUBSCRIBING (SOUSCRIPTION)

Paramètres régissant la souscription à un produit permettant un paiement à intervalles réguliers.

SUPPLEMENT PRODUCT (SUPPLÉMENT)

PRODUIT TARIFAIRE PRÉAFFECTÉ qui offrira un droit supplémentaire lorsqu’il est utilisé avec (en complément) d’un autre (siège réservé, surclassement de deuxième à première classe, etc.). PRODUIT SUPPLÉMENTAIRE signifie aussi généralement prix de supplément.

SUSPENDING (SUSPENSION)

Conditions de suspension d’un PRODUIT TARIFAIRE, par ex. forfait période ou abonnement.

TARIFF (TARIF)

Un tarif particulier, décrit par une combinaison de paramètres.

TARIFF VALIDITY PARAMETERS (PARAMÈTRES DE VALIDITÉ DU TARIF)

Un type de PARAMÈTRE DE VALIDITÉ lié aux TARIFs.

TARIFF ZONE (ZONE TARIFAIRE)

Une ZONE utilisée pour définir une structure tarifaire zonale dans un système de comptage de zones ou de matrice de zones.

TEMPORAL VALIDITY PARAMETERS (PARAMÈTRES DE VALIDITÉ TEMPORELS)

Regroupement des paramètres de validité temporelle.

THIRD PARTY PRODUCT (PRODUIT TARIFAIRE TIER)

PRODUIT TARIFAIRE (non lié au transport public) commercialisé avec un PRODUIT TARIFAIRE de transport public.

TIME BAND (PLAGE HORAIRE)

Une période dans une journée, importante pour certains aspects des transports publics, par ex. conditions de circulation ou catégorie tarifaire similaires.

TIME DEMAND TYPE (NIVEAU DE SERVICE)

Un indicateur des conditions de circulation ou d’autres facteurs (heure de pointe, heure creuse, etc.) qui peuvent affecter les temps de parcours ou d’attente des véhicules. Elle peut être saisie directement par la planification ou définie par l’utilisation de PLAGEs HORAIRES.

TIME INTERVAL (INTERVAL TEMPOREL)

Un intervalle temporel précisant les droits d’accès aux ÉLÉMENTS DE STRUCTURE TARIFAIRE dans la plage de cet intervalle : 0-1 heure, 1-3 jours etc.

TIME STRUCTURE FACTOR (FACTEUR DE STRUCTURE TEMPORELLE)

La valeur d’un INTERVAL TEMPOREL exprimée par une UNITÉs TEMPORELLE.

TIME UNIT (UNITÉs TEMPORELLE)

Unité temporelle de calcul des tarifs progressifs en fonction du temps.

TRANSFERABILITY (TRANSFÉRABILITÉ)

Le nombre et les caractéristiques des personnes autorisées à utiliser le service de transport public à la place du client d’origine.

TYPE OF CONCESSION (TYPE DE CONCESSION)

Une classification du PROFIL D’UTILISATEUR par type de personne éligible pour y correspondre.

TYPE OF FARE PRODUCT (TYPE DE PRODUIT TARIFAIRE)

Classification de PRODUIT TARIFAIRE.

TYPE OF PAYMENT METHOD (TYPE DE MÉTHODE DE PAIEMENT)

Une classification du mode de paiement (par exemple, espèces, carte de crédit, carte de débit, carte de voyage, carte de voyage sans contact, téléphone portable, jeton, etc.).

TYPE OF TRAVEL DOCUMENT (TYPE DE DOCUMENT DE VOYAGE)

Une classification des DOCUMENTS DE VOYAGE exprimant leur fonctionnement et les caractéristiques fonctionnelles locales propres à l’opérateur. Des TYPEs DE DOCUMENTS DE VOYAGE comme par ex. ticket jetable, bloc ticket jetable, carte de valeur, porte-monnaie électronique permettant l’accès, carte de crédit de transport en commun, etc. peuvent être utilisés pour définir ces catégories.

USAGE DISCOUNT RIGHT (DROIT À RÉDUCTION LIÉ À L’USAGE)

PRODUIT TARIFAIRE permettant à un client de bénéficier de remises lors de la consommation d’ÉLÉMENTS VALIDABLES.

USAGE PARAMETER (PARAMÈTRE D’UTILISATION)

Paramètre utilisé pour spécifier l’utilisation d’une OFFRE À LA VENTE ou d’un PRODUIT TARIFAIRE.

USAGE VALIDITY PERIOD (PÉRIODE DE VALIDITÉ D’UTILISATON)

Une limitation dans le temps de la validité d’un PRODUIT TARIFAIRE ou d’une OFFRE À LA VENTE. Il peut être composé d’une durée standard (par exemple 3 jours, 1 mois) et/ou de dates et heures de début/fin fixes.

USER PROFILE (PROFIL UTILISATEUR)

Profil social d’un passager, basé sur la tranche d’âge, l’éducation, la profession, le statut social, le sexe etc., souvent utilisé pour permettre des réductions : 18-40 ans, diplômés, chauffeurs, chômeurs, femmes etc.

VALIDABLE ELEMENT (ÉLÉMENT VALIDABLE)

Une séquence ou un ensemble d’ÉLÉMENTS DE STRUCTURE TARIFAIRE, regroupés pour être validés en une seule fois.

VALIDITY PARAMETER ASSIGNMENT (AFFECTATION DE PARAMÈTRES DE VALIDITÉ)

Une AFFECTATION DE PARAMÈTRES DE DROIT D’ACCÈS associant un paramètre de perception tarifaire à un PRODUIT TARIFAIRE (ou à l’un de ses composants) ou à une OFFRE À LA VENTE.

Symboles et abréviations

AO

Autorité Organisatrice de Transports

PMR

Personne à Mobilité Réduite

Exigences minimum liées à la LOM et la règlementation Européenne

La LOI n° 2019-1428 du 24 décembre 2019 d’orientation des mobilités (LOM : https://www.legifrance.gouv.fr/dossierlegislatif/JORFDOLE000037646678) et, au niveau Européen, le Règlement Délégué (UE) 2017/1926 De La Commission du 31 mai 2017 (complétant la directive 2010/40/UE du Parlement européen et du Conseil en ce qui concerne la mise à disposition, dans l’ensemble de l’Union, de services d’informations sur les déplacements multimodaux) rendent obligatoire la mise à disposition, quand elles existent, de certains types de données.

Le tableau ci-dessous résulte de l’analyse de la LOM et du Règlement Délégué et fournit la liste attentes fonctionnelles relatives à la tarification. Il sera donc nécessaire de fournir ces données pour être conforme à la législation (il s’agit bien de mettre à disposition toutes les données existantes dans les SI transport, et non de créer des données qui n’existeraient pas encore sous forme informatique).

Notez que les catégories de données présentes dans les tableaux sont celles qui sont directement référencées par l’annexe du règlement européen (https://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32017R1926&from=FR), mais que pour beaucoup d’entre elles, cela impliquera tout un ensemble de concepts Transmodel/NeTEx.

De plus, les noms des catégories (colonnes Catégorie et Détail) ont été conservés dans la langue originale du document (l’anglais) pour éviter tout risque de confusion.

La première colonne reprend la notion de niveau tel qu’il est décrit et utilisé par le règlement européen et a notamment une incidence sur le calendrier de mise à disposition de la donnée (voir le règlement pour plus de détails).

Les différents concepts retenus ne sont bien sûr pas détaillés dans ce tableau, mais dans le profil lui-même. C’est aussi dans la description du profil que l’on trouvera les détails concernant les attributs (obligatoire/facultatif, règles de remplissage, codification, etc.). Pour ce qui est des attributs facultatifs, la règle reste que, pour les objets ci-dessous, toute information disponible est supposée être fournie (mais on ne crée pas d’information si elle n’est pas disponible).

L’attente du règlement délégué est très vaste et ne permet malheureusement pas de réaliser une sélection de concepts dans ce que propose NeTEx (qui est de plus très vaste).

Si l’autorité organisatrice des transports décide de sélectionner les titres et les tarifs sur lesquels elle communique de façon exhaustive (description complète même s’ils sont complexes), alors, il y a lieu que cette sélection couvre :

  • Les abonnements et le ou les titres unitaires les plus utilisés, l’ensemble devant représenter au moins 80% des validations.

  • Ainsi que les tarifs sociaux et ceux dédiés aux accompagnateurs de personnes handicapées.

  • Les titres restants pourront être décrits de façon plus succincte, comme indiqué en 6.12, et illustré en B.2 et B.3 en utilisant des « Notices » en lieu et place d’une description structurée et détaillée des droits d’accès et paramètres d’utilisation.

Concepts relatifs à la LOM et à la Règlementation Européenne
NiveauCatégorieDétail
2Information serviceWhere and how to buy tickets for scheduled modes, demand responsive modes and car parking (all scheduled modes and demand-responsive incl. retail channels, fulfilment methods, payment methods)
2Trip plans, auxiliary information, availability checkBasic common standard fares (all scheduled modes): Standard fare structures (point to point including daily and weekly fares, zonal fares, flat fares)
3Detailed common standard and special fare query (all scheduled modes)Special Fare Products: offers with additional special conditions such as promotional fares, group fares, season passes, aggregated products combining different products and add on products such as parking and travel, minimum stay
3Detailed common standard and special fare query (all scheduled modes)Basic commercial conditions such as refunding/replacing/exchanging/transferring and basic booking conditions such as purchase windows, validity periods, routing restrictions zonal sequence fares, minimum stay.
3Information service (all modes)How to book car sharing, taxis, cycle hire etc. (incl. retail channels, fulfilment methods, payment methods)
3Information service (all modes)Where how to pay for car parking, public charging stations for electric vehicles and refuelling points for CNG/LNG, hydrogen, petrol and diesel powered vehicles (incl. retail channels, fulfilment methods, payment methods)

Description du profil d’échange

Conventions de représentation

Tableaux d’attributs

NOTE les choix de conventions présentées ici ont pour vocation d’être cohérents avec ceux réalisés dans le cadre du profil SIRI (Île-de-France Mobilités et CEREMA). De plus tous les profils NeTEx partagent les mêmes conventions.

Les messages constituant ce profil d’échange sont décrits ci-dessous selon un double formalisme : une description sous forme de diagrammes XSD (leur compréhension nécessite une connaissance préalable de XSD : XML Schema Definition) et une description sous forme tabulaire. Les tableaux proposent ces colonnes :

ClassificationNomTypeCardinalitéDescription
  • Classification : permet de catégoriser l’attribut. Les principales catégories sont :

    • PK (Public Key) que l’on peut interpréter comme Identifiant Unique : il permet à lui seul d’identifier l’objet, de façon unique, pérenne et non ambiguë. C’est l’identifiant qui sera utilisé pour référencer l’objet dans les relations.

    • AK (Alternate Key) est un identifiant secondaire, généralement utilisé pour la communication, mais qui ne sera pas utilisé dans les relations.

    • FK (Foreign Key) indique que l’attribut contient l’identifiant unique (PK) d’un autre objet avec lequel il est en relation.

    • GROUP est un groupe XML nommé (ensemble d’attributs utilisables dans différents contextes) (cf. http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/#AttrGroups )

  • Nom : nom de l’élément ou attribut XSD

  • Type : type de l’élément ou attribut XSD (pour certains d’entre eux, il conviendra de se référer à la XSD NeTEx)

  • Cardinalité : cardinalité de l’élément ou attribut XSD exprimée sous la forme “minimum:maximum” (“0:1” pour au plus une occurrence; “1:*” au moins une occurrence et sans limites de nombre maximal; “1:1” une et une seule occurrence; etc.).

  • Description : texte de description de l’élément ou attribut XSD (seul les attributs retenus par le profil ont un texte en français ; les textes surlignés en jaune indiquent une spécificité du profil par rapport à NeTEx).

Les textes surlignés en jaune sont ceux présentant une particularité (spécialisation) par rapport à NeTEx : une codification particulière, une restriction d’usage, etc.

Les textes surlignés en bleu correspondent à des éléments de NeTEx non retenus dans le cadre de ce profil (présentés à titre informatif donc). Dans les diagrammes XSD, les éléments et attributs apparaissant sur fond bleu sont ceux qui ne sont pas retenus par le profil (et ce sont donc systématiquement des éléments ou attributs facultatifs de NeTEx).

La description XSD utilisée est strictement celle de NeTEx, sans aucune modification (ceci explique notamment que tous les commentaires soient en anglais).

Les attributs et éléments rendus obligatoires dans le cadre de ce profil restent facultatifs dans l’XSD (le contrôle de cardinalité devra donc être réalisé applicativement).

Valeurs de code de profil

Dans la mesure du possible, le profil sélectionne les valeurs de code à utiliser pour caractériser des éléments et les limite à un ensemble de valeurs documentées. NeTEx propose plusieurs mécanismes différents pour spécifier les valeurs de code autorisées :

  • des énumérations fixes définies dans le cadre du schéma XSD NeTEx. Le profil impose alors un sous-ensemble des codes NeTEx.

  • des spécialisations de TYPE OF VALUE, utilisées pour définir des ensembles de codes ouverts pouvant être ajoutés au fil du temps sans modifier le schéma, par exemple, pour enregistrer des classifications d’entités héritées. Le profil lui-même utilise le mécanisme TYPE OF VALUE dans quelques cas pour spécifier des codes normalisés supplémentaires : ceux-ci sont affectés à un CODESPACE « FR_IV_metadata » (https://netex-cen.eu/FR_IV) indiqué par un préfixe « FR_IV ». (par exemple, « FR_IV: monomodal ».

  • des instances TypeOfFrame : le profil utilise plusieurs TYPES DE FRAME pour spécifier l’utilisation de VERSION FRAME dans le profil.

Indication des classes abstraites

NeTEx, et Transmodel, utilisent largement l’héritage de classe ; cela simplifie considérablement la spécification en évitant les répétitions puisque les attributs partagés sont déclarés par une superclasse et que des sous-classes viennent ensuite les spécialiser sans avoir à répéter ces attributs et en n’ajoutant que ceux qui lui sont spécifiques. La plupart des superclasses sont « abstraites » - c’est-à-dire qu’il n’existe aucune instance concrète ; seules les sous-classes terminales sont « concrètes ».

Un inconvénient de l’héritage est que si l’on veut comprendre les propriétés d’une classe concrète unique, il faut également examiner toutes ses super-classes. Pour cette raison, le profil inclut les classes abstraites nécessaires pour comprendre les classes concrètes, même si ces classes abstraites ne sont jamais directement instanciées dans un document NeTEx.

  • Les super-classes sont signalées dans les en-têtes par le suffixe « (abstrait) »

  • Dans les diagrammes UML (comme pour NeTEx et Transmodel), les noms des classes abstraites sont indiqués en italique et les classes abstraites sont de couleur gris clair.

  • Certaines super-classes ne sont techniquement pas abstraites dans NeTEx, mais ne sont pas utilisées comme classes concrètes dans le profil : elles sont signalées avec la même convention que les classes abstraites.

Classes de sous-composants

Un certain nombre de classes ont des sous-composants qui constituent leur définition. Celles-ci fournissent des détails auxiliaires (par exemple, AlternativeText, AlternativeName, TrainComponent) et sont signalées dans les en-têtes par le suffixe « (objet inclus) ».

Concepts de base pour la description de l’offre tarifaire

Comme pour les autres domaines, NeTEx s’appuie sur le modèle de données Transmodel pour la gestion des offres tarifaires.

NeTEx fournit un modèle de représentation permettant de décrire les produits tarifaires simples et complexes et les prix associés quand ils sont déterminés à l’avance. Les produits sont assemblés à partir d’un ensemble de composants réutilisables de bas niveau, en s’appuyant aussi sur d’autres ensembles de données communs utilisés pour décrire les arrêts, les lignes et les services planifiés d’un réseau de transport ou de réseaux (voir les autres profils NeTEx France).

Les structures et les produits tarifaires peuvent parfois être complexes et il existe des écarts importants dans la manière de les structurer dans les différents pays européens, mais aussi d’une région à l’autre, ou encore entre les différents opérateurs et les différents modes. Confrontés à ce type de complexité et de diversité, il est nécessaire de séparer soigneusement les concepts de modélisation.

Le point de départ de la description de ces concepts fondamentaux est la définition des droits d’accès, basée sur l’utilisation d'éléments de réseau et les éléments temporels. Ceux-ci peuvent être combinés pour former des produits tarifaires, qui sont liés aux documents de voyage afin de constituer des packages de vente aux passagers. Les composants de prix sont liés aux droits d’accès, aux produits tarifaires et aux packages de vente : ils servent à calculer le prix à payer par un client pour une consommation spécifique (vente sur un distributeur automatique, débit d’une carte, post-paiement, par exemple).

NeTEx, dans sa Partie 3, couvre uniquement la description planifiée de l’offre tarifaire et l’information voyageur qui y est associée (la validation et le contrôle, l’information en temps réel sur les prix de vente quand ils ne sont pas fixes, la disponibilité, ou encore le suivi des ventes, ne font pas partie du périmètre courvert). L’objectif est donc de pouvoir renseigner sur les différents titres disponibles ainsi que leurs variantes, les droits qu’ils ouvrent, les supports utilisés, les conditions d’achat et d’utilisation et le prix, quand il est défini de façon planifiée.

Couverture de NeTEx pour l’offre tarifaire

Les principales catégories de données disponibles dans NeTEx sont les suivantes :

  • Description de la structure tarifaire (les éléments de base sur lesquels s’appuie l’offre tarifaire : trajet simple, la durée de voyage autorisée, les origines/destinations, etc.)

  • Description des droits d’accès (accès aux réseaux, aux lignes, les possibilités de correspondances, les aller/retour, etc.)

  • Les prix (quand ils sont connus à l’avance, et sinon des informations sur les services pour obtenir les prix variables)

  • Les conditions de vente (possibilités d’échange et remboursement, nécessité d’achat ou réservation à l’avance, etc.)

  • Les modalités de paiement possibles (carte bancaire, liquide, paiement en ligne, etc.)

Catégories de donnée gérées (entourée en pointillé bleus) et leur classification

Différents droits d’accès peuvent être combinés pour former des produits tarifaires (par exemple, un « aller simple » associé à un produit tarifaire appelé « billet simple » ou plusieurs trajets au cours d’un mois associés à un produit tarifaire appelé« abonnement mensuel »).

Un ou plusieurs produits tarifaires peuvent être associés à un « document de voyage » et matérialisés (par exemple, un billet unique en papier permettant uniquement un « aller simple » ou une carte électronique contenant divers produits tarifaires).

Les combinaisons de produits tarifaires et de documents de voyage sont vendues aux clients en tant que « packages d’offre de vente » (par exemple un carnet de tickets « aller simple »). Chaque package vendu fait partie d’un « contrat » individuel avec un client particulier.

L’offre tarifaire peut être décrite en plusieurs étapes (Figure 9), résumées comme suit :

  1. Les éléments pertinents du réseau de transport (arrêts, zones tarifaires, etc.) et les services planifiés (par exemple, des trajets spécifiques avec des restrictions tarifaires, etc.), qui peuvent être utilisés dans un produit sont identifiés (ces informations sont décrites par les profils Arrêts, Réseau et Horaire).

  2. Une STRUCTURE TARIFAIRE (FARE STRUCTURE) définie en fonction des éléments spatiaux et temporels utilisés, ainsi que tout autre élément donnant lieu à une tarification particulière (classe d’utilisation, types d’utilisateurs éligibles, heure de pointe ou non, etc.).

  3. Les ensembles de DROITS D’ACCÈS (ACCESS RIGHT), comme les droits de déplacement au sein d’une zone, les droits de déplacement entre des arrêts, etc. sont définis comme des ÉLÉMENTS VALIDABLEs.

  4. Les PRODUITs TARIFAIREs (FARE PRODUCT) combinent des ensembles de droits d’accès avec des conditions supplémentaires telles que les conditions commerciales d’achat et de remboursement, etc.

  5. Les PRODUITs TARIFAIREs sont combinés dans des OFFRES COMMERCIALES (SALES PACKAGE OFFER) décrivant le support sur lequel les produits sont disponibles, ainsi que les éventuelles conditions commerciales et les canaux de vente autorisés.

  6. Les PRIX (FARE PRICE) des offres commerciales et éventuelles options sont définies.

Un principe fondamental de l’approche NeTEx est que les prix sont séparés des éléments qu’ils tarifent. Un autre principe important consiste à réutiliser les éléments de données existants dans la mesure du possible. Ainsi, par exemple, les mêmes données d’arrêt sont utilisées pour les horaires et les tarifs.

Les éléments non définis dans l’offre des service (réseau et horaires)

Même si l’infrastructure et les services sont très complètement décrits par les parties 1 et 2 de NeTEx, la description de l’offre tarifaire nécessite de compléter certaines de ces informations avec des attributs propres à la tarification. C’est ce que proposent les spécialisations et compléments d’objet présentés dans ce chapitre.

Note : en gris, les éléments non instanciés (abstraits) ou issu des autres profils (et donc non décrits dans ce document).

Éléments du réseau dédié à l’offre tarifaire – Modèle conceptuel

NeTEx Partie 1 décrit le concept de ZONE TARIFAIRE, qui peut être utilisé pour définir les zones tarifaires permanentes d’un système. Un POINT D’ARRÊT PLANIFIÉ donné peut appartenir à une ou plusieurs ZONE TARIFAIREs. Le MODÈLE DE ZONE TARIFAIRE NeTEx Partie 3 les complète des concepts supplémentaires relatifs au réseau qui peuvent être utilisés en plus pour étayer les structures tarifaires.

  • Une ZONE BILLETTIQUE (FARE ZONE) est une spécialisation de ZONE TARIFAIRE qui peut notamment être associée à des SECTION TARIFAIREs.

  • Les SECTION TARIFAIREs permettent à des sections (entre deux arrêts d’une ligne en général) arbitraires du réseau d’être associées à une ZONE BILLETTIQUE spécifique.

  • Le POINT D’ARRÊT TARIFAIRE (FARE SCHEDULED STOP POINT) spécialise le POINT D’ARRÊT PLANIFIÉ avec des attributs supplémentaires liés à la tarification.

  • Un POINT FRONTALIER (BORDER POINT) peut être utilisé pour distinguer certains points (souvent mais pas nécessairement les POINTS D’ARRÊT PLANIFIÉs et / ou les POINTS HORAIREs) comme ayant une importance particulière pour le calcul des tarifs internationaux.

  • Une CONSTRAINTE DE SERIE permet de spécifier des contraintes sur des itinéraires spécifiques (pour le domaine ferroviaire), par exemple pour indiquer que les itinéraires peuvent ou doivent passer par des points particuliers. Ils sont principalement utilisés pour le rail et peuvent comprendre un ou plusieurs POINTs TARIFAIRES sur PARCOURS.
FareZone (Zone de Prix) – Element
ClassificationNameTypeCardinalityDescription
::>::>TariffZone::>FARE ZONE hérite de TARIFF ZONE. Voir profil Réseau.
« PK »idFareZoneIdType1:1Identifiant due la FARE ZONE.
« enum »ZoneTopologyZoneTopologyEnum0:1Topologie de la FARE ZONE (en anneaux, tuiles adjacentes, etc.). Voir les valeurs autorisées ci-dessous.
« FK »TransportOranisationRef(TransportOrganisationRef) OperatorRef | AuthorityRef0:1Reference à l’OPERATOR associé à la FARE ZONE.
« cntd »fareSectionsFareSection0:*FARE SECTIONs de la FARE ZONE.
« cntd »containsTariffZoneRef0:*Autre zone tarifaire entièrement incluse dans la FARE ZONE.
« cntd »neighboursFareZoneRef0:*FARE ZONEs adjacentes.

Le tableau suivant fournit les valeurs autorisées pour ZoneTopology (ZoneTopologyEnumeration).

ZoneTopology – Allowed values
ValueDescription
overlappingLes zones sont de forme arbitraire et peuvent se chevaucher
honeycombLes zones sont disposées en nid d’abeilles, en mosaïque de polygones réguliers (par exemple, des hexagones, des carrés, etc.) Les zones ne se chevauchent pas.
ringLes zones sont disposées en anneaux. Les zones internes imbriquées sont incluses dans toutes les zones externes contenantes.
annularLes zones sont disposées en anneaux non imbriqués. La zone immédiatement imbriquée est exclue de la zone externe contenante.
nestedLes zones sont imbriquées, c’est-à-dire que certaines zones sont entièrement contenues dans d’autres zones et sont automatiquement incluses si la zone extérieure est sélectionnée. Elles peuvent également chevaucher les zones voisines.
tiledLes zones sont disposées sous forme de tuiles adjacentes ou de formes arbitraires qui ne se chevauchent pas.
sequenceLes zones sont disposées en tuiles adjacentes en séquence qui se touchent à l’une ou aux deux extrémités. Elles ne se chevauchent pas.
overlappingSequenceLes zones sont disposées en tuiles adjacentes en séquence qui se touchent à l’une ou aux deux extrémités. Elles peuvent se chevaucher partiellement de sorte que certains arrêts se trouvent dans les deux zones.
otherLa zone a une topologie autre ou non spécifiée.

Une SECTION TARIFAIRE est subdivision d’un PARCOURS composée de POINTs SUR PARCOURS consécutifs, utilisée pour définir un élément de la structure tarifaire.

FareSection – Element
ClassificationNameTypeCardinalityDescription
::>::>CommonSection::>FARE SECTION hérite de COMMON SECTION.
« PK »idFareSectionIdType1:1Identifiant de la FARE SECTION.
NameMultilingualString0:1Nom de la FARE SECTION.
« FK »JourneyPatternRefJourneyPatternRef+0:1Référence au JOURNEY PATTERN sur laquelle cette FARE SECTION s’applique.
« FK »FromFarePointRefFarePointInPatternRef0:1Référence au FARE POINT IN PATTERN auquel la FARE SECTION débute.
« FK »ToFarePointRefFarePointInPatternRef0:1Référence au FARE POINT IN PATTERN auquel la FARE SECTION se termine.
CommonSection – Element
ClassificationNameTypeCardinalityDescription
::>::>DataManagedObject::>COMMON SECTION hérite de DATA MANAGED OBJECT.
« PK »idCommonSectionIdType1:1Identifiant du la COMMON SECTION.
« cntd »pointsOnSectionPointOnSectionr0:*POINTS de la COMMON SECTION.

Le FareScheduledStopPoint est une spécialisation de POINT D’ARRÊT PLANIFIÉ décrivant un arrêt avec des caractéristiques de billettique et de routage. Le POINT D’ARRÊT PLANIFIÉ pourra avoir été déjà échangé par ailleurs pour décrire les données d’offre de transport : un jeux de données d’offre tarifaire pourra reprendre l’ensemble des caractéristique de ces POINT D’ARRÊT PLANIFIÉs

FareScheduledStopPoint – Element
ClassificationNameTypeCardinalityDescription
::>::>ScheduledStopPoint::>FARE SCHEDULED STOP POINT hérite de SCHEDULED STOP POINT.
« PK »idFareStopPointIdType1:1Identifiant du FARE SCHEDULED STOP POINT.
SiteFacilitySetSiteFacilitySetRef0:1Ensemble des services disponible à ce point
NameOnRoutingMultilingualString0:1Nom à utiliser pour indiquer la station sur les itinéraires.
« FK »AccountingStopPointRefFareScheduledStopPointRef0:1Identifiant d’une autre station à utiliser à des fins comptables pour cette station.
« FK »BorderPointRefBorderPointRef0:1BORDER POINT associé au FARE SCHEDULED STOP POINT.

Le FarePointInJourneyPattern Un POINT SUR PARCOURS qui représente le début ou la fin d’une SECTION TARIFAIRE.

Les FareStage (dernier attribut), ou point de changement de tarif, sont des points géographiques qui délimitent une frontière de transition pour définir un tarif. Un FareStage peut être à un point d’arrêt ou entre deux arrêts.

FarePointInPattern – Element
ClassificationNameTypeCardinalityDescription
::>::>PointInJourneyPattern::>FARE POINT IN PATTERN hérite POINT IN JOURNEY PATTERN. Voir Profil Réseau.
« PK »idFaresPointInPatternIdType1:1Identifiant du FARE POINT IN PATTERN.
ScheduledStopPointViewScheduledStopPointView0:1Informations dérivées sur le POINT D’ARRÊT PLANIFIÉ, telles que son nom – voir Profil Réseau.
IsFareStagexsd:boolean0:1Indique si l’arrêt est considéré comme une étape de tarification.

Un BorderPoint est un point sur le réseau marquant une limite pour le calcul des tarifs. Peut ou non être un POINT D’ARRÊT PLANIFIÉ.

BorderPoint – Element
ClassificationNameTypeCardinalityDescription
::>::>TimingPoint::>BORDER POINT hérite de TIMING POINT. Voir Profile Réseau
« PK »idBorderPointIdType1:1Identifiant du BORDER POINT.
ShortNameMultilingualString0:1Nom court du BORDER POINT.
DescriptionMultilingualString0:1Description du BORDER POINT.

Une SeriesConstraint est une extension d’un ÉLÉMENT DE MATRICE DE DISTANCE, une cellule d’une matrice origine-destination pour les ZONE TARIFAIREs ou les POINTs D’ARRÊT, exprimant une distance tarifaire pour le trajet correspondant (en tant que valeur en km, nombre d’unités tarifaires etc.) et éventuellement une contrainte pour n’autoriser les déplacements que sur des itinéraires spécifiques.

SeriesConstraint – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>SERIES CONSTRAINT hérite de PRICEABLE OBJECT.
« PK »idSeriesConstraintIdType1:1Identifiant de SERIES CONSTRAINT.
PrivateCodePrivateCodeType0:1Code privé associé à l'élément.
Itineraryxsd:normalizedString0:1Description textuelle schématique de la série (Voir Tap STI 5.1).
SymbolMarkingUsualRoutexsd:normalizedString0:1Symbol to use to denote the usual route.
« enum »SeriesTypeSeriesTypeEnum0:1

Classification de la SERIES CONSTRAINT. La valeur par défaut est ‘stationToStation’. Voir les valeurs autorisées ci-dessous (voir TAP-TSI pour plus de détail):

  • stationToStation (arrêt à arrêt)

  • originToBorder (départ à frontière)

  • borderToDestination (frontière à destionation)

  • border (frontière)

  • transit (via)

« enum »RoutingTypeRoutingTypeEnum0:1Indique s’il s’agit d'un direct, ou si un changement est requis.
« enum »FareBasisFareBasisEnum0:1Base tarifaire utilisée pour établir le prix des séries (itinéraire ou distance)
FirstClassDistanceDistanceType0:1Distance fictive de la CONTRAINTE DE SÉRIE pour le calcul des tarifs de première classe.
SecondClassDistanceDistanceType0:1Distance fictive de la CONTRAINTE DE SÉRIE pour le calcul des tarifs de seconde classe.
Discretexsd:boolean0:1Indique si la CONTRAINTE DE SÉRIE ne peut être utilisé que seul ou s'il peut être utilisé dans une chaîne de séries.
« FK »FromConnectionRefConnectionRef0:1Référence à la correspondance associée au départ de la CONTRAINTE DE SÉRIE.
« FK »ToConnectionRefConnectionRef0:1Référence à la correspondance associée à la fin de la CONTRAINTE DE SÉRIE.
« cntd »farePointsInPatternFarePointInPattern0:*FARE POINTs IN PATTERN faisant partie de la série.
« cntd »journeyPatternsJourneyPatternRef+0:*Références aux JOURNEY PATTERN “equivalent” à la SERIES CONSTRAINT.
« cntd »replacesSeriesConstraintRef0:*Remplace la SERIE spéifiée. (nécessaire pour TAP TSI).

Note : de façon générale, les attributs de prix des différents éléments ne sont pas retenus car le profil fait le choix de systématiser la présentation des prix via des GRILLEs TARIFAIRE (FARE TABLE).

La structure tarifaire

La définition des éléments de la structure tarifaire repose sur des règles génériques, principalement quantitatives, qui influencent les droits d’accès réglementant la consommation des services de transport, et donc le prix qu’un passager doit payer pour une consommation spécifique : limitation de la durée ou de la durée des trajets , le nombre de zones traversées, etc.

Ces règles décrivent l’utilisation du système de transport et se définissent en termes d’espace, de temps et de qualité de service. Ainsi, les paramètres spatiaux, temporels et de qualité seront spécifiés et associés à des ÉLÉMENTS DE STRUCTURE TARIFAIRE.

Les règles déterminant les droits d’accès peuvent être classées en deux grandes catégories :

  • Des règles globales qui permettent de déterminer la validité d’une gamme de droits d’accès génériques servant de base au calcul du prix de leur consommation. Un tel ensemble de règles est classiquement appelé « structure tarifaire ».

  • Règles de limitation de validité qui consistent à attribuer certains « paramètres de limitation » à des droits d’accès spécifiques. Par exemple, un trajet peut être limité par la dernière heure de départ possible, un pass valable uniquement pour les étudiants, etc. Ces limitations sont exprimées par deux catégories de paramètres :

    • « Paramètres de validité », qui affectent les caractéristiques physiques des droits d’accès (principalement dans l’espace ou dans le temps) ; des exemples de paramètres de limitation de validité sont GROUPE DE LIGNES, TYPE DE JOUR, etc.

    • « CONDITIONS D’UTILISATION », qui affectent l’utilisation réelle des droits d’accès, tels que PROFIL D’UTILISATEUR, FRÉQUENCE D’UTILISATION, TRANSFÉRABILITÉ, etc.

Une version particulière de la structure tarifaire fixe les valeurs des différents paramètres : cet ensemble de règles avec des valeurs de paramètres bien définies construit un TARIF.

La structure tarifaire est composé d’un certain nombre de sous-modèles décrits ci-dessous.

  • Le modèle géographique définit des aspects spatiaux de la structure tarifaire.

  • Le modèle temporel définit des aspects temporels de la structure des tarifs.

  • Les FACTEURs DE QUALITÉ définissent d’autres aspects qualitatifs de la structure tarifaire.

  • La MATRICE DE DISTANCE montre les origine/destination possibles et leurs caractéristiques.

Structure tarifaire – Modèle conceptuel

Elément de structure tarifaire (FareStructureElement)

Le FareStructureElement est naturellement l’élément de base de la construction des structures tarifaires.

FareStructureElement – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>FARE STRUCTURE ELEMENT hérite de PRICEABLE OBJECT.
« PK »idFareStructureElementIdType1:1Identifiant de FARE STRUCTURE ELEMENT.
« enum »TariffBasisTariffBasisEnum0:1

Base tarifaire à utiliser pour cet élément

Flat (constant)

Distance (distance)

unitSection (section)

zone (zonal)

zoneToZone (zone à zone)

pointToPoint (point à point)

route (itinéraire)

tour (tour)

group (group)

discount (rabais)

period (période)

free (gratuit)

other (autre)

TypeOfFareStructureElementRefTypeOfFareStructureElementRef0:1Type ouvert associé à l’élément .
XGRPFareStructureElementFactorGroupxmlGroup0:1FARE STRUCTURE FACTORs associé au FARE STRUCTURE ELEMENT.
XGRPFareStructureComponentGroupxmlGroup0:1FARE STRUCTURE COMPONENTs associé au FARE STRUCTURE ELEMENT.
FareStructureElementFactorGroup – Group
ClassificationNameTypeCardinalityDescription
Choice
« FK »aGeographicalIntervalRefGeographicalIntervalRef0:1

Reference au GEOGRAPHICAL INTERVAL associé au FARE STRUCTURE ELEMENT.

Note : de façon générale on n’utilisera les références que s’il y a effectivement réutilisation (donc ici on préférera geographicalIntervals à GeographicalIntervalRef sauf si les mêmes GeographicalInterval sont utilisés à plusieurs reprises)

« cntd »bgeographicalIntervalsGeographicalInterval | GeographicalIntervalRef0:*GEOGRAPHICAL INTERVALs associé au FARE STRUCTURE ELEMENT.
« cntd »cgeographicalStructureFactorsGeographicalStructureFactor | GeographicalStructureFactorRef0:*GEOGRAPHICAL STRUCTURE FACTORs associé au FARE STRUCTURE ELEMENT.
Choice
« FK »aTimeIntervalRefTimeIntervalRef0:1Référence au TIME INTERVAL ass associé au FARE STRUCTURE ELEMENT.
« cntd »btimeIntervalsTimeInterval | TimeIntervalRef0:*TIME STRUCTURE INTERVALs associé au the FARE STRUCTURE ELEMENT.
« cntd »ctimeStructureFactorsTimeStructureFactor | TimeStructureFactorRef0:*TIME STRUCTURE FACTORs associé au FARE STRUCTURE ELEMENT.
Choice
« FK »aQualityStructureFactorRefQualityStructureFactorRef0:1Référence au QUALITY STRUCTURE FACTOR associé au FARE STRUCTURE ELEMENT.
« cntd »bqualityStructureFactorsQualityStructureFactor | QualityStructureFactor0:*QUALITY STRUCTURE FACTORs associé au FARE STRUCTURE ELEMENT.
Choice
« FK »aDistanceMatrixElementRefDistanceMatrixElementRef0:1Référence au DISTANCE MATRIX ELEMENT associé au FARE STRUCTURE ELEMENT.
« FK »bdistanceMatrixElementsDistanceMatrixElement | DistanceMatrixElementRef0:*DISTANCE MATRIX ELEMENTs associés au FARE STRUCTURE ELEMENT.
« FK »cGroupOfDistanceMatrixElementsRefGroupOfDistanceMatrixElementsRef0:1Référence au GROUP OF DISTANCE MATRIX ELEMENTs associés au FARE STRUCTURE ELEMENT.
« cntd »dGroupOfDistanceMatrixElementsGroupOfDistanceMatrixElements0:1GROUP OF DISTANCE MATRIX ELEMENTs associés au FARE STRUCTURE ELEMENT.
FareStructureComponentGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »fareStructureElementsInSequenceFareStructureElementInSequence0:*Ensemble de FARE STRUCTURE ELEMENTS IN SEQUENCE constituant FARE STRUCTURE ELEMENT.
ChoiceSoit plusieurs paramètres enveloppés dans une balise, soit un seul paramètre (une optimisation).
« cntd »avalidityParameterAssignmentsAccessRightParameterAssignment0:*GENERIC PARAMETER ASSIGNMENTs associés au FARE STRUCTURE ELEMENT.
« cntd »bGenericParameterAssignmentGenericParameterAssignment0:1GENERIC PARAMETER ASSIGNMENT unique associé au FARE STRUCTURE ELEMENT.
« cntd »cGenericParameterAssignmentInContextGenericParameterAssignment0:1GENERIC PARAMETER ASSIGNMENT unique associé au FARE STRUCTURE ELEMENT. Aucun ID ne doit être fourni - sera déduit des valeurs d’affectation. (OPTIMISATION).

Les structures tarifaires impliquent souvent la définition de séquences d’éléments à utiliser dans un ordre spécifié. Le modèle de structure tarifaire définit un élément abstrait FARE ELEMENT IN SEQUENCE qui est affiné dans d’autres sous-modèles pour décrire les aspects séquentiels de la STRUCTURE FARE.

FareStructureElementInSequence – Element
ClassificationNameTypeCardinalityDescription
::>::>FareElementInSequence::>FARE STRUCTURE ELEMENT IN SEQUENCE hérite de FARE ELEMENT IN SEQUENCE.
« PK »idFareStructureElementInSequenceIdType1:1Identifiant du FARE STRUCTURE ELEMENT IN SEQUENCE.
« FK »FareStructureElementRefFareStructureElementRef0:1Référence à unFARE STRUCTURE ELEMENT.

Note : les éventuels ValidityParameterAssignment ne sont pas retenus dans le FareStructureElementInSequence et seront, si nécessaire, placés dans les FareStructureElement « hôte » de la séquence.

FareElementInSequence – Element
ClassificationNameTypeCardinalityDescription
::>::>VersionedChild::>FARE ELEMENT IN SEQUENCE hérite de VERSIONED CHILD.
« PK »idFareElementInSequenceIdType1:1Identifiant du FARE ELEMENT IN SEQUENCE.
« PK »orderxsd:positiveInteger0:1Odre de l’élément dans la SEQUENCE.
NameMultilingualString0:1Nom du FARE ELEMENT IN SEQUENCE.
DescriptionMultilingualString0:1Description du FARE ELEMENT IN SEQUENCE.
IsFirstInSequencexsd:boolean0:1Indique si l’élément est le premier de la séquence
IsLastInSequencexsd:boolean0:1Indique si l’élément est le dernier de la séquence
AccessNumberIsLimitedxsd:boolean0:1Indique si le nombre d’accès est limité
AccessNumberxsd:nonNegativeInteger0:1Numéro d’accès

Exemples

FareStructureElement ne contenant qu’un intervalle temporel

<FareStructureElement id="FR-Tarif-Example:FareStructureElement:001:LOC" version="any">
  <TimeIntervalRef ref="FR-Tarif-Example:TimeInterval:001:LOC"/>
</FareStructureElement>

FareStructureElement contenant des DistanceMatrixElements (origines-destination)

<FareStructureElement id="FR-Tarif-Example:FareStructureElement:DM-001:LOC" version="any">
  <distanceMatrixElements>
    <DistanceMatrixElementRef ref="FR-Tarif-Example:DistanceMatrixElement:AtoB:LOC"/>
    <DistanceMatrixElementRef ref="FR-Tarif-Example:DistanceMatrixElement:AtoC:LOC"/>
    <DistanceMatrixElementRef ref="FR-Tarif-Example:DistanceMatrixElement:BtoC:LOC"/>
    <!--etc...-->
  </distanceMatrixElements>
</FareStructureElement>

FareStructureElement incluant des limitation d’utilisation

<FareStructureElement id="LEMAN-EXPRESS:FareStructureElement:001:LOC" version="any">
  <DistanceMatrixElementRef ref="FR-Tarif-Example:DistanceMatrixElement:001:LOC"/>
  <GenericParameterAssignment id="LEMAN-EXPRESS:GenericParameterAssignment:001:LOC" version="any" order="1">
    <limitations>
      <UsageValidityPeriod id="LEMAN-EXPRESS:UsageValidityPeriod:001:LOC" version="any">
        <!--Peut être une référence pour mutualiser la définition-->
        <UsageTrigger>purchase</UsageTrigger>
        <!--On a aussi l'option startOutboundRide, etc.-->
        <StandardDuration>PT180M</StandardDuration>
      </UsageValidityPeriod>
    </limitations>
  </GenericParameterAssignment>
</FareStructureElement>

Règle d’application des caractéristiques (QualityStructureFactor)

Les FACTEURs DE QUALITÉ définissent les aspects qualitatifs de la structure tarifaire. Par exemple, le niveau de congestion ou d’occupation (par exemple en %) peut influencer le tarif ou une limitation des droits d’accès. Certains opérateurs ferroviaires appliquent des tarifs différents si la réservation est effectuée tôt ou tard (par exemple en nombre de jours).

Deux spécialisations peuvent être utilisées pour des aspects spécifiques : Un FACTEUR DE FREQUENTATION (FARE DEMAND FACTOR) définit une « tranche horaire » pour le voyage, par ex. aux heures de pointe ou aux heures creuses, et un QUOTA TARIFAIRE (FARE QUOTA FACTOR) définit une allocation limitée de sièges disponibles à un prix particulier.

Note : un QualityStructureFactor peut aussi être référencé par l’AFFECTATION DES PARAMÈTRES DES DROITS D’ACCÈS (ACCESS RIGHT PARAMETER ASSIGNMENT, plus précisément par le ValidityParameterAssignment). On n’utilisera le QualityStructureFactor au sein de la structure tarifaire que s’il est véritablement partie intégrante de la structure sur laquelle s’appuie la tarification (par exemple si l’on a systématiquement une prise en compte de la différence heure creuse/heure de pointe). Si par contre il ne s’applique que pour un ou quelques titres ou cartes de réduction (par exemple une carte de réduction valable uniquement en heures creuses), alors le QualityStructureFactor sera référencé par le ValidityParameterAssignment (et en cas d’ambiguïté, c’est cette seconde solution que l’on préférera systèmatiquement)

QualityStructureFactor – Modèle conceptuel

QualityStructureFactor – Element
ClassificationNameTypeCardinalityDescription
::>::>FareStructureFactor::>QUALITY STRUCTURE FACTOR hérite de PRICEABLE OBJECT.
« PK »idQualityStructureFactorIdType1:1Identifiant du QUALITY STRUCTURE FACTOR.

Note : dans le cas où les QualityStructureFactor est très spécifique, on en effectuera la description dans une Notice (disponible via l’héritage PriceableObject).

FareStructureFactor – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>FARE STRUCTURE FACTOR. hérite de PRICEABLE OBJECT***.***
« PK »idFareStructureFactorIdType1:1Identifiant du FARE STRUCTURE FACTOR.
PrivateCodePrivateCodeStructure0:1Code externe associé au facteur
TypeOfFareStructureFactorRefTypeOfFareStructureFactorRefStructure0:1Référence à un TYPE OF FARE STRUCTURE FACTOR.

Note : dans le cas où les FareStructureFactor est très spécifique, on en effectuera la description dans une Notice (disponible via l’héritage PriceableObject).

FareDemandFactor – Element
ClassificationNameTypeCardinalityDescription
::>::>QualityStructureFactor::>FARE DEMAND FACTOR hérite de QUALITY STRUCTURE FACTOR.
« PK »idFareDemandFactorIdType1:1Identifiant du a FARE DEMAND FACTOR.
« enum »FareDemandTypeFareDemandTypeEnum0:1

TIME DEMAND TYPE correspondant au FARE DEMAND FACTOR:

Peak (heures de pointe)

Middle (heures intermédiaires)

offPeak (heures creuses)

superOffPeak (heures super-creuses)

night (nuit)

specialEvent (évènement spécial)

« FK »TimeDemandTypeRefTimeDemandTypeRef0:1TIME DEMAND TYPE correspondant au FARE DEMAND FACTOR
« cntd »startTimesAtStopPointsStartTimeAtStopPoint0:*Heure de début au SCHEDULED STOP POINTs pour ce FARE DEMAND TYPE.

Le NIVEAU DE SERVICE (TIME DEMAND TYPE) est définie dans la Partie 1 de NeTEx mais n’avait pas été retenu par les profils français jusqu’à maintenant. C’est a la base un indicateur temporel des conditions de circulation (ou taux de remplissage) ou d’autres facteurs qui peuvent influer sur la circulation des véhicules, les temps d’attente ou la tarification.

TimeDemandType – Element
ClassificationNameTypeCardinalityDescription
::>::>DataManagedObject::>

TIME DEMAND TYPE hérite de DATA MANAGED OBJECT.

Note : La période associée au TimeDemandType est définie par sa ValidityCondition (en l’occurrence on utilisera une AvailabilityCondition qui dispose de DayType et TimeBands)

« PK »idTimeDemandTypeIdType1:1Identifiant du TIME DEMAND TYPE.
NameMultilingualString0:1Nom du TIME DEMAND TYPE.
DescriptionMultilingualString0:1Description du TIME DEMAND TYPE.
« AK »PrivateCodexsd:normalizedString0:1Code alternatif du TIME DEMAND TYPE.
StartTimeAtStopPoint – Element
ClassificationNameTypeCardinalityDescription
::>::>VersionedChild::>START TIME AT STOP POINT hérite de VERSIONED CHILD.
« PK »idStartTimeAtStopPointIdType1:1Identifiant du START TIME AT STOP POINT
« FK »ScheduledStopPointRefScheduledStopPointRef1:1SCHEDULED STOP POINT auquel s’applique l’information.
StartTimexsd:time0:1Heure à laquelle la tranche horaire commence à l’arrêt.
EndTimexsd:time0:1Heure à laquelle la tranche horaire se termine à l’arrêt.
DayOffsetDayOffsetType0:1Décalage du jour de l’heure de fin par rapport à l’heure de début. Zéro indique qu’il n’y a pas de changement de jour.
FareQuotaFactor – Element
ClassificationNameTypeCardinalityDescription
::>::>QualityStructureFactor::>FARE QUOTA FACTOR hérite de QUALITY STRUCTURE FACTOR.
« PK »idFareQuotaFactorIdType1:1Identifiant du FARE QUOTA FACTOR.
NumberOfUnitsxsd:integer0:*Nombre d’unités disponibles à un prix donné.

Exemple

Le fragment de code suivant montre trois FareDemandFactor pour un trajet à tout moment, en période de pointe et en dehors des heures de pointe. Le trajet en dehors des heures de pointe définit des heures de début distinctes pour certaines zones.

<qualityStructureFactors>
  <FareDemandFactor version="any" id="tfl:any_time">
    <Name>Anytimetravel </Name>
  </FareDemandFactor>
  <FareDemandFactor version="any" id="tfl:peak">
    <Name>Peak time travel </Name>
    <validityConditions>
      <AvailabilityConditionRef ref="tfl:Peak" version="any"/>
    </validityConditions>
  </FareDemandFactor>
  <FareDemandFactor version="any" id="tfl:offPeak">
    <Name>off peak time travel</Name>
    <Description>Has stop specific overrides</Description>
    <!--
If you travel from a station north of Moor Park or Hatch End on a weekday after the times below, your Oyster
single fare will count towards the off-peak cap instead of the peak cap.
North of Moor Park
Station Touch in times
Chesham After 09:00
Amersham After 09:10
Chalfont & Latimer After 09:15
Chorleywood After 09:15
Rickmansworth After 09:20 -->
    <validityConditions>
      <AvailabilityConditionRef ref="tfl:OffPeak" version="any"/>
    </validityConditions>
    <startTimesAtStopPoints>
      <StartTimeAtStopPoint version="any" id="tfl:Chesham">
        <ScheduledStopPointRef ref="tfl:Chesham" version="any"/>
        <StartTime>09:00:00</StartTime>
      </StartTimeAtStopPoint>
      <StartTimeAtStopPoint version="any" id="tfl:Amersham">
        <ScheduledStopPointRef ref="tfl:Amersham" version="any"/>
        <StartTime>09:10:00</StartTime>
      </StartTimeAtStopPoint>
      <StartTimeAtStopPoint version="any" id="tfl:Chalfont_and_Latimer">
        <ScheduledStopPointRef ref="tfl:Chalfont_and_Latimer" version="any"/>
        <StartTime>09:15:00</StartTime>
      </StartTimeAtStopPoint>
      <StartTimeAtStopPoint version="any" id="tfl:Chorleywood">
        <ScheduledStopPointRef ref="tfl:Chorleywood" version="any"/>
        <StartTime>09:15:00</StartTime>
      </StartTimeAtStopPoint>
      <StartTimeAtStopPoint version="any" id="tfl:Rickmansworth">
        <ScheduledStopPointRef ref="tfl:Rickmansworth" version="any"/>
        <StartTime>09:20:00</StartTime>
      </StartTimeAtStopPoint>
    </startTimesAtStopPoints>
  </FareDemandFactor>
</qualityStructureFactors>

Tarif : version de l’offre Tarifaire (Tariff)

Les TARIFs regroupent des ÉLÉMENTs DE STRUCTURE TARIFAIRE soumis à des conditions de validité communes.

Dans la plupart des cas, un seul FACTEUR DE STRUCTURE GEOGRAPHIQUE (resp. TEMPS ou QUALITE) est attaché à chaque ELEMENT DE STRUCTURE TARIFAIRE. Parfois, différents facteurs peuvent s’appliquer au même élément, choisis par une règle en fonction de conditions de validité spécifiques. C’est le cas par exemple lorsque des tarifs différents sont appliqués en été par rapport aux autres saisons. Plus simplement, la structure tarifaire peut évoluer et une version être remplacée par une autre.

L’entité TARIF décrit une VERSION de tous les paramètres composant une structure tarifaire particulière. Lors de l’application des règles tarifaires, un algorithme choisira les paramètres en fonction du TARIF valide au moment spécifié par la demande.

Le principe est donc très similaire à celui des FRAMEs mais avec, ici, une granularité plus fine (une FRAME pour par exemple contenir plusieurs TARIFs, un pour le bus en période scolaire, un autre pour la période de vacances et un troisième TARIF pour le ferré, etc.).

Tariff – Element
ClassificationNameTypeCardinalityDescription
::>::>DataManagedObject::>TARIFF hérite de DATA MANAGED OBJECT.
« PK »idTariffIdType1:1Identifiant du TARIFF.
XGRPTariffDescriptionGroupxmlGroup0:1Éléments descriptifs du TARIFF.
PrivateCodePrivateCodeType0:1Identifiant alternatif
XGRPTariffOrganisationGroupxmlGroup0:1Éléments descriptifs des ORGANISATIONs opérant TARIFF.
XGRPTariffApplicabilityGroupxmlGroup0:1Éléments descriptifs des LINEs opérant TARIFF.
XGRPTariffCalculationGroupxmlGroup0:1Éléments descriptifs des paramètre de calcul du TARIFF.
XGRPTariffGeographicalGroupxmlGroup0:1Éléments descriptifs des aspects géographiques du TARIFF.
XGRPTariffTimeGroupxmlGroup0:1Éléments descriptifs des aspects temporels du TARIFF.
XGRPTariffQualityGroupxmlGroup0:1Éléments descriptifs des aspects qualitatifs du TARIFF.
XGRPTariffStructureGroupxmlGroup0:1Éléments descriptifs de la structure du TARIFF.
XGRPTariffPricesGroupxmlGroup0:1TARIFF PRICE faisant partie du TARIFF.
TariffDescriptionGroup – Group
ClassificationNameTypeCardinalityDescription
NameMultilingualString0:1Nom du TARIFF.
« cntd »alternativeNamesAlternativeName0:*Nom alternatif TARIFF.
DescriptionMultilingualString0:1Description du TARIFF.
« cntd »noticeAssignmentsNoticeAssignment0:*NOTICE ASSIGNMENTs associés au TARIFF.
« cntd »documentLinksInfoLink0:*Liens vers les documents associés au TARIFF.
TariffOrganisationGroup – Group
ClassificationNameTypeCardinalityDescription
« FK »OrganisationRef(OrganisationRef)0:1ORGANISATION pour laquelle le TARIFF s’applique.
« FK »GroupOfOrganisationsRefGroupOfOrganisationsRef0:1GROUP OF ORGANISATIONs auquel le TARIFF s’applique.
TariffApplicabilityGroup – Group
ClassificationNameTypeCardinalityDescription
« FK »LineRefLineRef0:1LINE à laquelle TARIFF s’applique.
« FK »GroupOfLinesRefGroupOfLinesRef0:1GROUP OF LINEs auquel le TARIFF s’applique.
TariffGeographicalGroup – Group
ClassificationNameTypeCardinalityDescription
« FK »GeographicalUnitRefGeographicalUnitRef0:1Référence au GEOGRAPHICAL UNIT for TARIFF.
« cntd »geographicalIntervalsGeographicalInterval0:*GEOGRAPHICAL INTERVALs associé auTARIFF.
« cntd »geographicalStructureFactorsGeographicalStructureFactor0:*GEOGRAPHICAL STRUCTURE FACTORs associé au TARIFF.
TariffTimeGroup – Group
ClassificationNameTypeCardinalityDescription
« FK »TimeUnitRefTimeUnitRef0:1Référence au TIME UNIT for TARIFF.
« cntd »timeIntervalsTimeInterval0:*TIME INTERVALs associé au TARIFF.
« cntd »timeStructureFactorsTimeStructureFactor0:*TIME STRUCTURE FACTORs associé au TARIFF.
TariffQualityGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »qualityStructureFactorsQualityStructureFactor0:*QUALITY STRUCTURE FACTORs associé au TARIFF.
TariffStructureGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »fareStructureElementsFareStructureElement0:*FARE STRUCTURE ELEMENTs associé au TARIFF.
« cntd »distanceMatrixElementsDistanceMatrixElement0:*DISTANCE MATRIX ELEMENTs associé au TARIFF.
« cntd »groupsOfDistanceMatrixElementsGroupOfDistanceMatrixElements0:*GROUPs OF DISTANCE MATRIX ELEMENTS associé au TARIFF.
TariffPricesGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »priceGroupsPriceGroup0:*PRICE GROUPs pour ce TARIFF.
« cntd »fareTablesFareTable0:*FARE TABLEs pour ce TARIFF.

Exemple

<Tariff id="tap:NrtProduct@Route@Basic01" version="01">
  <Name>Standard route based Fare table 1</Name>
  <validityConditions>
    <AvailabilityCondition id="tap:Tariff01" version="01">
      <FromDate>2011-01-01T00:00:00Z</FromDate>
      <ToDate>2014-01-01T00:00:00Z</ToDate>
    </AvailabilityCondition>
  </validityConditions>
  <OperatorRef ref="tap:0106" version="any"/>
  <TypeOfTariffRef ref="tap:B.1.1:01" version="any"/>
  <TariffBasis>route</TariffBasis>
  <ReturnFareTwiceSingle>true</ReturnFareTwiceSingle>
  <fareStructureElements>
    <FareStructureElementRef ref="tap:NrtProduct@round_trips" version="01"/>
    <FareStructureElementRef ref="tap:NrtProduct@fare_classes" version="01"/>
    <FareStructureElementRef ref="tap:NrtProduct@profiles" version="01"/>
    <FareStructureElementRef ref="tap:NrtProduct@series" version="01"/>
  </fareStructureElements>
  <groupsOfDistanceMatrixElements>
    <GroupOfDistanceMatrixElementsRef ref="tap:NrtProduct@Routes" version="01"/>
  </groupsOfDistanceMatrixElements>
</Tariff>

Les éléments de structure de tarification temporelle

Il est assez courant d’avoir une structure tarifaire basée sur le temps, par exemple:

  • déterminé par l’entité INTERVALLE DE TEMPS qui décrit les périodes (0-1 heure, 1-3 heures, etc.) pendant lesquels un certain tarif est appliqué aux ELEMENT DE STRUCTURE TARIFAIRE.

  • une structure temporelle progressive définie à l’aide d’une UNITÉ DE TEMPS (par ex. Jours, heures ou minutes).

  • les deux types de structures peuvent être combinés en FACTEURS DE STRUCTURE DE TEMPS règles d’application pour les structures temporelles). Cela permet par exemple de spécifier un tarif par heure passée, qui varie en fonction de la durée totale de transport (ou d’utilisation du service).

Intervalle de temps (TimeInterval)

TimeInterval – Element
ClassificationNameTypeCardinalityDescription
::>::>FareInterval::>TIME INTERVAL hérite de FARE INTERVAL.
« PK »idTimeIntervalIdType1:1Identifiant du TIME INTERVAL.
StartTimexsd:time0:1
1 :1
Début du TIME INTERVAL.
EndTimexsd:time0:1
1 :1
Fin du TIME INTERVAL.
DayOffsetDayOffsetType0:1Décalage du jour de l'heure de fin par rapport à l'heure de début. Zéro indique qu’il n’y a pas de changement de jour.
Durationxsd:duration0:1Durée
MinimumDurationxsd:duration0:1Durée minimale du TIME INTERVAL.

Règles d’application de Structure Temporelle (TimeStructureFactor)

TimeStructureFactor – Element
ClassificationNameTypeCardinalityDescription
::>::>FareStructureFactor::>TIME STRUCTURE FACTOR hérite de FARE STRUCTURE FACTOR.
« PK »idTimeStructureFactorIdType1:1Identifiant du TIME STRUCTURE FACTOR.
« FK »TimeIntervalRefTimeIntervalRef0:1Référence au TIME INTERVAL associé au facteur.
« FK »TimeUnitRefTimeUnitRef0:1Référence au TIME UNIT associé au facteur.
« FK »QualityStructureFactorRefQualityStructureFactorRef0:*QUALITY FACTOR associé au TIME STRUCTURE FACTOR.

Note : les TimeInterval, TimeUnit et QualityStructureFactor s’appliquent de façon combinée (ET logique) dans le TimeStructureFactor

Unité Temporelle (TimeUnit )

TimeUnit – Element
ClassificationNameTypeCardinalityDescription
::>::>FareUnit::>TIME UNIT hérite de FARE UNIT.
« PK »idTimeUnitIdType1:1Identifiant du TIME UNIT.
Typexsd:NCName0:1Nom de type XML associé à l’unité e.g. gday, gMonth. Cette information est une métadonnée.
Durationxsd:duration0:1Durée associée à l’unité, e.g. P1D, PT1S.

Exemple

<TimeInterval id="FR-Tarif-Example:TimeInterval:001:LOC" version="any">
  <Description>1h30 de validit&#xE9; pour bus et TRam</Description>
  <Duration>PT90M</Duration>
  <timeStructureFactors>
    <TimeStructureFactor>
      <Name>Entre premi&#xE8;re et derni&#xE8;re validation</Name>
      <!--A présenter pour l'IV-->
      <Description>Time Structure Factor pour "entre premi&#xE8;re et derni&#xE8;re validation"</Description>
      <TypeOfFareStructureFactorRef ref="BetweenFirstAndLastValidation"/>
    </TimeStructureFactor>
  </timeStructureFactors>
</TimeInterval>

Les éléments de structure de tarification géographique

Les règles de structure tarifaire les plus courantes sont basées sur la géographie ou, plus précisément, sur la distance. Les trois types principaux sont respectivement progressifs (proportionnel à une distance), gradués en fonction d’une distance, et utilisant des zones. Certains de ces types peuvent être combinés.

L’entité INTERVALLE GÉOGRAPHIQUE décrit une classification des ÉLÉMENTS DE STRUCTURE TARIFAIRE en fonction de leur longueur, par exemple :

  • 1 zone (ou section tarifaire) traversée, 2 à 4 zones traversées, plus de 4 zones traversées ;

  • longueur de trajet inférieure à 5 km, entre 5 et 15 km, plus de 15 km ;

  • etc.

Les structures tarifaires progressives permettent un calcul des tarifs en fonction de la distance parcourue pendant le voyage. La distance est calculée à partir d’une certaine unité, la plus classique étant la distance en kilomètres, le nombre de sections tarifaires (ou zones) ou le nombre de points d’arrêt. Une telle unité de graduation est décrite par l’entité UNITE GEOGRAPHIQUE. Le tarif d’un voyage sera calculé en multipliant la distance par un paramètre de prix attaché à l’UNITÉ GEOGRAPHIQUE.

De nombreux réseaux utilisent des ZONEs TARIFAIREs (ZONE définie spécifiquement pour le calcul des tarifs). Elle définit notamment un périmètre qui contient des POINTS D’ARRÊT PLANIFIÉS. Une ZONE TARIFAIRE peut avoir des points spécifiques sur ses frontières (POINTS TARIFAIRES).

Une SECTION TARIFAIRE est un autre type de paramètre de structure tarifaire. Il s’agit d’une subdivision d’un PARCOURS, constitué de POINTS D’ARRÊT PLANIFIÉS.

De nombreuses structures tarifaires progressives utiliseront le nombre de ZONEs TARIFAIREs ou de SECTIONs TARIFAIREs comme UNITÉ GÉOGRAPHIQUE.

Certains systèmes de structure tarifaire utiliseront des distances arbitraires ou réelles entre l’origine et la destination. Ces valeurs de paramètres sont susceptibles de différer d’un calcul exact basé sur la distance parcourue. Ces valeurs sont stockées dans l’entité DISTANCE MATRIX ELEMENT. Les origines et destination sont généralement des POINTS D’ARRÊT PLANIFIÉS, LIEUX D’ARRÊT ou des ZONEs TARIFAIREs (l’origine et la destination peuvent avoir des types différents).

Intervalle Géographique (GeographicalInterval)

GeographicalInterval – Element
ClassificationNameTypeCardinalityDescription
::>::>FareInterval::>GEOGRAPHICAL INTERVAL hérite de FARE INTERVAL.
« PK »idGeographicalIntervalIdType1:1Identifiant du GEOGRAPHICAL INTERVAL.
StartGeographicalValuexsd:decimal0:1Valeur de départ du GEOGRAPHICAL INTERVAL.
EndGeographicalValuexsd:decimal0:1Valeur de fin du GEOGRAPHICAL INTERVAL.
NumberOfUnitsxsd:integer0:1Nombre d’unités du GEOGRAPHICAL INTERVAL.
« enum »IntervalTypeIntervalTypeEnum0:1

Classification de l’interval:

Stop (arrêt)

tariffZone (zone tarifaire)

distance (distance)

section (section)

coupon (coupon)

other (autre)

« FK »GeographicalUnitRefGeographicalUnitRef0:1GEOGRAPHICAL UNIT pour l’interval.

Unité Géographique (GeographicUnit)

GeographicalUnit – Element
ClassificationNameTypeCardinalityDescription
::>::>FareUnit::>GEOGRAPHICAL UNIT hérite de FARE UNIT.
« PK »idGeographicalUnitIdType1:1Identifiant du GEOGRAPHICAL UNIT.
DistanceDistanceType0:1Pour les unités de distance, type de l’unité.

Règles d’application de Structure Géographique (GeographicalStructureFactor)

Les structures tarifaires simples peuvent être combinées dans des structures plus complexes.

Dans la plupart des cas de structures tarifaires utilisant des INTERVALLEs GEOGRAPHIQUEs, le tarif sera fixe dans la plage de chaque intervalle, ce qui signifie que le tarif est le même tout au long de l’intervalle. Cependant, les tarifs peuvent varier à l’intérieur de chaque intervalle, selon une graduation basée sur une UNITÉ GÉOGRAPHIQUE. Par exemple, les tarifs peuvent être progressifs, le prix au km différant en fonction du nombre de zones traversées (notamment pour permettre des prix plus bas pour les longs trajets).

De même, une structure tarifaire progressive peut être influencée par le type de voyage, en ce qui concerne la géographie du réseau. Si le tarif est basé sur le nombre de sections tarifaires traversées, il peut varier, par exemple, selon que le trajet s’effectue d’une banlieue vers le centre-ville ou entre deux banlieues. Cette structure associera des INTERVALLE GÉOGRAPHIQUE (sections tarifaires) et des ÉLÉMENTS DE MATRICE DE DISTANCE (en utilisant un ensemble de ZONEs TARIFAIREs, par exemple « centre » et « banlieue »).

L’entité GEOGRAPHICAL STRUCTURE FACTOR permet de combiner deux structures simples dans un facteur complexe. Il est identifié par une UNITÉ GEOGRAPHIQUE, décrivant l’unité de graduation utilisée, et par un INTERVALLE GÉOGRAPHIQUE ou un ÉLÉMENT DE MATRICE DE DISTANCE.

GeographicalStructureFactor – Element
ClassificationNameTypeCardinalityDescription
::>::>FareStructureFactor::>GEOGRAPHICAL STRUCTURE FACTOR hérite de FARE STRUCTURE FACTOR.
« PK »idGeographicalStructureFactorRef1:1Identifiant du GEOGRAPHICAL STRUCTURE FACTOR.
« FK »DistanceMatrixElementRefDistanceMatrixElementRef0:1Référence à un DISTANCE MATRIX ELEMENT.
« FK »GeographicalIntervalRefGeographicalIntervalIdType0:1Référence à un GEOGRAPHICAL INTERVAL.
« FK »GeographicalUnitRefGeographicalUnitRef0:1Référence au GEOGRAPHICAL UNIT correspondant.

Exemple

<GeographicalUnit version="any" id="SNCF:GeographicalUnit:TER-Unit&#xE9;-de-distance:LOC">
  <Name>Unit&#xE9; de distance arbitraire (peut-&#xEA;tre des kilom&#xE9;tre, ou une unit&#xE9; de distance tarifaire)</Name>
</GeographicalUnit>

<GeographicalInterval version="001" id="SNCF:GeographicalInterval:TER-1km:LOC">
  <StartGeographicalValue>0.0</StartGeographicalValue>
  <EndGeographicalValue>1.0</EndGeographicalValue>
  <IntervalType>distance</IntervalType>
</GeographicalInterval>

<!--etc...-->

<GeographicalInterval version="001" id="SNCF:GeographicalInterval:TER-3km:LOC">
  <StartGeographicalValue>1.0</StartGeographicalValue>
  <EndGeographicalValue>2.0</EndGeographicalValue>
  <IntervalType>distance</IntervalType>
</GeographicalInterval>

<!--etc...-->

<!--Association Interval - Unités-->
<GeographicalStructureFactor version="001" id="SNCF:GeographicalStructureFactor:AtoB:LOC">
  <GeographicalIntervalRef version="001" ref="SNCF:GeographicalInterval:TER-43km:LOC"/>
  <GeographicalUnitRef ref="SNCF:GeographicalUnit:TER-Unit&#xE9;-de-distance:LOC"/>
</GeographicalStructureFactor>

Élément de Matrice de Distances (DistanceMatrixElement)

La MATRICE DE DISTANCEs permet de décrire les tarifs point à point. Chaque ELEMENT DE MATRICE DE DISTANCE représente le tarif pour un couple d’origine-destination. Un GROUPE D’ÉLÉMENTS DE MATRICE DE DISTANCE spécifie un ensemble d’ÉLÉMENTs DE MATRICE DE DISTANCE, permettant un ensemble commun de prix entre différentes paires origine-destination si nécessaire.

Dans le domaine ferroviaire, il peut y avoir des CONSTRAINTEs SERIEs associées à un DISTANCE MATRIX ELEMENT, chacune représentant une contrainte de routage différente.

DistanceMatrixElement – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>DISTANCE MATRIX ELEMENT hérite de PRICEABLE OBJECT***.***
« PK »idDistanceMatrixElementIdType1:1Identifiant du DISTANCE MATRIX ELEMENT.
XGRPDistanceMatrixElementDetailsGroupxmlGroup1:1Propriétés détaillées du DISTANCE MATRIX ELEMENT.
XGRPDistanceMatrixElementODGroupxmlGroup1:1Origine et Destination du DISTANCE MATRIX ELEMENT.
XGRPDistanceMatrixElementComponentGroupxmlGroup1:1Composants du DISTANCE MATRIX ELEMENT.
DistanceMatrixElementDetailsGroup – Group
ClassificationNameTypeCardinalityDescription
DistanceDistanceType0:1Distance entre l’origine et la destination d’un DISTANCE MATRIX ELEMENT.
RelativeRankingxsd:integer0:1Préférence relative attribuée à cet élément s’il y a plusieurs possibilités entre deux points.
IsDirectxsd:boolean0:1Indique que le voyage est direct ou nécessite des changements.
InverseAllowedxsd:boolean0:1Indique s’il y a un élément dans la direction opposée avec les mêmes prix - optimisation pour réduire les volumes de données.
DistanceMatrixElementODGroup – Group
ClassificationNameTypeCardinalityDescription
Choice1:1
« FK »aStartStopPointRefScheduledStopPointRef0:1SCHEDULED STOP POINT duquel le DISTANCE MATRIX ELEMENT commence.
« FK »cStartTariffZoneRefTariffZoneRef0:1TARIFF ZONE à laquelle DISTANCE MATRIX ELEMENT commence.
« FK »eStartFareSectionRefFareSectionRef0:1FARE SECTION à laquelle DISTANCE MATRIX ELEMENT commence.
« FK »fStartFarePointInPatternRefFarePointInPatternRef0:1FARE POINT IN PATTERN duquel le DISTANCE MATRIX ELEMENT commence (gère le cas des passages répétés)
Choice1:1Destination du DISTANCE MATRIX ELEMENT.
« FK »aEndStopPointRefScheduledStopPointRef0:1SCHEDULED STOP POINT où le DISTANCE MATRIX ELEMENT se termine.
« FK »cEndTariffZoneRefTariffZoneRef0:1TARIFF ZONE à laquelle le DISTANCE MATRIX ELEMENT se termine.
« FK »eEndFareSectionRefFareSectionRef0:1FARE SECTION à laquelle le DISTANCE MATRIX ELEMENT se termine.
« FK »fEndFarePointInPatternRefFarePointInPatternRef0:1FARE POINT IN PATTERN où le DISTANCE MATRIX ELEMENT se termine. (gère le cas des passages répétée)
DistanceMatrixElementComponentGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »seriesConstraintsSeriesConstraintRef0:*SERIES CONSTRAINTs associé au DISTANCE MATRIX ELEMENT.
« cntd »structureFactorsGeographicalStructureFactorRef0:*STRUCTURE FACTORs associé au DISTANCE MATRIX ELEMENT.

Groupe de Matrice d’Éléments de Distances (GroupOfDistanceMatrixElement)

GroupOfDistanceMatrixElements – Element
ClassificationNameTypeCardinalityDescription
::>::>GroupOfEntities::>GROUP of DISTANCE MATRIX ELEMENTs hérite de GROUP OF ENTITies.
« PK »idGroupOfDistanceMatrixElementsIdType1:1Identifiant du GROUP of DISTANCE MATRIX ELEMENTS.
UseToExcludexsd:boolean0:1Indique si le contenu du groupe doit être utilisé pour exclure (vrai) l’information d’une liste plus importante. La valeur par défaut est “false” (c’est-à-dire “include”)
DistanceDistanceType0:1Distance entre les origines et les destinations d’un GROUP OF DISTANCE MATRIX ELEMENTs.
« cntd »structureFactorsGeographicalStructureFactorRef0:*Référence à un GEOGRAPHICAL STRUCTURE FACTORs.
« cntd »noticeAssignmentsNoticeAsssignment0:*NOTICE ASSIGNMENTs pour le GROUP OF DISTANCE MATRIX ELEMENTs.
« cntd »membersDistanceMatrixElements0:*Référence les membres du GROUP OF DISTANCE MATRIX ELEMENTs.

Exemple

Exemple 1

<DistanceMatrixElement id="FR-Tarif-Example:DistanceMatrixElement:AtoB:LOC" version="any">
  <Distance>43</Distance>
  <IsDirect>true</IsDirect>
  <InverseAllowed>true</InverseAllowed>
  <StartStopPointRef versionRef="any" ref="SNCF:ScheduledStopPoint:GareA:LOC"/>
  <EndStopPointRef versionRef="any" ref="SNCF:ScheduledStopPoint:GareB:LOC"/>
  <structureFactors>
    <GeographicalStructureFactorRef version="001" ref="SNCF:GeographicalInterval:TER-43km:LOC"/>
  </structureFactors>
</DistanceMatrixElement>

Exemple 2

<DistanceMatrixElement id="FR-Tarif-Example:DistanceMatrixElement:001:LOC" version="any">
  <IsDirect>true</IsDirect>
  <InverseAllowed>false</InverseAllowed>
  <StartStopPointRef versionRef="any" ref="SNCF:ScheduledStopPoint:ParisGareduNord-87271007:LOC"/>
  <EndStopPointRef versionRef="any" ref="SNCF:ScheduledStopPoint:LilleFlandre-87 286 005:LOC"/>
  <!--Note On pourrait insérer ici une CONTRAINTE de SERIE si plusieurs itinéraires étaient concernés-->
  <!-- <seriesConstraints>
<SeriesConstraint id="SNCF:SeriesConstraint:Paris-Lille" order="1" version="1.0">
<Itinerary>Paris * Lille</Itinerary>
<SeriesType>stationToStation</SeriesType>
<FirstClassDistance>19</FirstClassDistance> -->
  <!-- et on peut en profiter pour ajouter une
distance tarifaire -->
  <!--
<SecondClassDistance>20</SecondClassDistance>
<journeyPatterns>
<JourneyPatternRef ref="SNCF:JourneyPattern:0001:LOC"></JourneyPatternRef> -->
  <!--Peut
passer par des JP, mais ausi par des points ... ou des correspondances-->
  <!--
<JourneyPatternRef ref="SNCF:JourneyPattern:0002:LOC"></JourneyPatternRef>
</journeyPatterns>
</SeriesConstraint>
</seriesConstraints>-->
</DistanceMatrixElement>

Les Éléments Validables (ValidableElement)

Le système de contrôle d’un organisme de transport public est organisé pour « valider » régulièrement la consommation des droits d’accès, c’est-à-dire que les passagers disposent du bon billet pour le transport sur lequel ils voyagent. Le processus de validation vise à préciser qu’un droit d’accès est valide, a été consommé et que cette consommation a été autorisée. Il utilise les résultats d’un ou plusieurs contrôles consécutifs.

Un tel droit d’accès validé peut inclure plusieurs éléments pour lesquels la structure tarifaire est différente. Par exemple, un produit tarifaire peut inclure une réduction pour les voyageurs utilisant un parking puis les transports en commun (cas des parcs relais). Si la structure tarifaire de ces deux éléments est différente (par exemple, les tarifs fixes pour les transports publics et le prix basé sur la durée du séjour pour le parking), ils seront décrits par deux ÉLÉMENTS DE STRUCTURE TARIFAIRE différents. La remise n’est accordée que lorsque le processus de validation reconnaît que les deux ont été consommés en séquence.

Par conséquent, un ÉLÉMENT VALIDABLE est défini comme une séquence ou un ensemble d’ÉLÉMENTS DE STRUCTURE TARIFAIRE, à consommer dans son ensemble (ou à valider en une seule fois), c’est-à-dire qu’il n’est pas prévu d’utiliser les différents éléments de la séquence séparément (si l’un des éléments est consommé, l’ensemble du droit d’accès est considéré comme consommé).

Un ELEMENT DE STRUCTURE TARIFAIRE, dédié à être consommé tel quel, seul, est identique à un ELEMENT VALIDABLE.

Par exemple, un abonnement peut donner à l’utilisateur le droit d’effectuer un trajet entre une gare de banlieue particulière et le centre-ville (pour lequel l’ÉLÉMENT VALIDABLE est un « voyage en train » avec départ spécifié) et aussi le droit de circuler en métro dans la zone urbaine (l’ÉLÉMENT VALIDABLE est un « trajet en métro » avec une restriction zonale).

Un ÉLÉMENT VALIDABLE peut être limité à une portée particulière (par exemple, MODE, OPÉRATEUR, LIGNE, etc.) via une ASSIGNATION DE PARAMÈTRES DE VALIDITÉ associée.

Dans certains cas, il est utile de décrire les droits plus en détail, en particulier de les relier au processus de vérification des billets et l’ELEMENT CONTRÔLABLE (voir plus loin) permet de le faire.

Élément Validable – Modèle conceptuel

Note : Quand un ValidableElement n’a pas vocation à être réutilisé (uniquement utilisé par un unique FareProduct) alors on le définit directement dans le FareProduct

ValidableElement – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>VALIDABLE ELEMENT hérite de PRICEABLE OBJECT***.***
« PK »idValidableElementIdType1:1Identifiant du VALIDABLE ELEMENT.
XGRPValidableElementStructureGroupxmlGroup1:1Éléments structurels constituant le VALIDABLE ELEMENT.
XGRPValidableElementProductGroupxmlGroup1:1Éléments relatifs au produit constituant le VALIDABLE ELEMENT.
ValidableElementStructureGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »fareStructureElementsFareStructureElement0:*FARE STRUCTURE ELEMENTs constituant le VALIDABLE ELEMENT.
« cntd »elementsInSequenceFareStructureElementInSequence0:*FARE STRUCTURE ELEMENTs IN SEQUENCE constituant le VALIDABLE ELEMENT.
ValidableElementProductGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »discountRightsFareProductRef+0:*

Droits à remise faisant parti du VALIDABLE ELEMENT.

Note : utilisé uniquement pour consommation simultanée d’un titre ouvrant droit à réduction

« cntd »thirdPartyProductsThirdPartyProductRef0:*THIRD PARTY PRODUCTs lié au VALIDABLE ELEMENT.
« cntd »validityParameterAssignmentsValidityParameterAssignment0:*VALIDITY PARAMETER ASSIGNMENTs liés au VALIDABLE ELEMENT.

Exemple

<ValidableElement id="FR-Tarif-Example:ValidableElement:001:LOC" version="any">
  <noticeAssignments>
    <NoticeAssignment id="FR-Tarif-Example:NoticeAssignment:001:LOC" version="any" order="1">
      <NoticeRef ref="FR-Tarif-Example:Notice:001:LOC"/>
    </NoticeAssignment>
  </noticeAssignments>
  <fareStructureElements>
    <FareStructureElementRef ref="FR-Tarif-Example:FareStructureElement:001:LOC" version="any"/>
  </fareStructureElements>
</ValidableElement>

Les Éléments Contrôlables (ControllableElement)

UNIQUEMENT UTILE SI L’ALIMENTATION D’UN SYSTÈME BILLETTIQUE EST ENVISAGEE !

Note : l’ÉLÉMENT CONTRÔLABLE n’est à utiliser que dans les contexte de l’alimentation d’un système billettique (de façon à lui préciser les élément effectivement à contrôler)

La définition d’un système tarifaire comprend toujours un niveau de base de droits d’accès, pour lequel les paramètres de validité contrôlés restent les mêmes et sont constamment valables. Un ELEMENT CONTROLLABLE est défini comme le plus petit élément de service :

  • dont la consommation réelle peut être contrôlée, au moyen de contrôles réguliers ou occasionnels ;

  • tout au long duquel tout paramètre contrôlé reste valide.

Un ÉLÉMENT CONTRÔLABLE est le composant de base de toute combinaison de droits d’accès incluse dans un produit tarifaire.

Trois principaux types d’ÉLÉMENTS CONTRÔLABLES se retrouvent dans les transports publics :

  • La montée dans un véhicule, par exemple dans des bus, des tramways ou d’autres systèmes « ouverts ». Un trajet d’un POINT D’ARRÊT PLANIFIÉ à un autre, au cours d’une COURSE, peut représenter un tel ÉLÉMENT CONTRÔLABLE ;

  • Les voyages, composés de séquences de segments et de correspondances, par exemple dans des systèmes fermés comme le métro avec des tourniquets d’entrée / sortie. Dans un tel cas, les échanges sont autorisés au sein du même ÉLÉMENT CONTRÔLABLE et ne sont pas contrôlés ;

  • L’accès aux services communs (par ex. parking, salon, etc.), le cas échéant.

Dans les situations complexes, des ÉLÉMENTS CONTRÔLABLES plus détaillés sont définis. Par exemple, si une ligne de train utilise une voie composée de deux tronçons, chacun exploité par un opérateur différent, un seul trajet sur cette ligne sera composé de deux ÉLÉMENTS CONTRÔLABLES, distingués par le paramètre OPÉRATEUR.

Les paramètres de validité peuvent être associés à un ÉLÉMENT CONTRÔLABLE, soit :

  • au début de l’élément, contrôlé par un contrôle d’entrée ; par exemple, la consommation doit commencer à un POINT D’ARRÊT PLANIFIÉ donné ;

  • à la fin de l’élément, contrôlé par un contrôle de sortie ; par exemple, la consommation ne doit pas se terminer après 16 heures ;

  • tout au long de l’élément (paramètre « en route »), éventuellement contrôlé par tout contrôle d’entrée, de sortie ou en route ; par exemple, la consommation doit avoir lieu sur la ligne 18.

Élément contrôlable – Modèle conceptuel

Note : l’association avec les ÉLÉMENTS DE STRUCTURE TARIFAIRE se fait via les FareStructureComponentGroup

ControllableElement – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>CONTROLLABLE ELEMENT hérite de PRICEABLE OBJECT***.***
« PK »idControllableElementIdType1:1Identifiant du CONTROLLABLE ELEMENT.
« cntd »accessRightParameterAssignmentsAccessRightParameter-Assignment+0:*ACCESS RIGHT PARAMETER ASSIGNMENTs associé au CONTROLLABLE ELEMENT.
« cntd »controllableElementsInSequenceControllableElementInSequence0:*CONTROLLABLE ELEMENTs IN SEQUENCE associé au CONTROLLABLE ELEMENT.

Les Produits Tarifaires (FareProduct)

Le PRODUIT TARIFAIRE décrit un ensemble de fonctionnalités (droits d’accès, droits de remise, etc.), spécifiques à un MOMENT DE PAIMENT (pré-paiement, post-paiement…).

Un PRODUIT TARIFAIRE est un élément commercialisable immatériel (il donne des droits) mis à la disposition du public. Il peut être acheté et permet au propriétaire d’utiliser les transports en commun ou d’autres services à des conditions spécifiques. Il peut s’agir de droits d’accès spécifiés (PRODUIT TARIFAIRE PRÉDÉFINI) ou d’autres produits (remises, montant d’unité de prix, etc.).

Un PRODUIT FARE bien qu’immatériel, peut être matérialisé sur différents DOCUMENTS DE VOYAGE. Par exemple, un PRODUIT TARIFAIRE « passe mensuelle » peut être incorporé de différentes manières sur un billet papier spécifique ou stocké sur une carte électronique.

Le fait que les PRODUITs TARIFAIREs se distinguent en fonction du MOMENT DE PAIEMENT montre la caractéristique intrinsèque d’un PRODUIT TARIFAIRE ; ce sont des droits d’accès.

Les exemples classiques de MOMENT DE PAIMENT sont les suivants :

  • pré-paiement avec annulation (billets jetables );

  • pré-paiement avec débit sur un DOCUMENT DE VOYAGE (carte de valeur) ;

  • pré-paiement sans enregistrement de la consommation (pass illimité) ;

  • post-paiement (carte électronique avec compte central et débit mensuel) ;

  • gratuit.

Ces principales catégories peuvent naturellement être subdivisées en fonction des exigences spécifiques de l’opérateur.

Les PRODUITs TARIFAIREs les plus classiques sont des combinaisons de droits d’accès spécifiés (ticket unique, ticket hebdomadaire, abonnement mensuel, etc.). Un tel PRODUIT TARIFAIRE PRÉDÉFINI est décrit comme un PRODUIT TARIFAIRE composé d’un ou plusieurs ÉLÉMENTS VALIDABLES spécifiques.

Un même PRODUIT TARIFAIRE peut être utilisé dans une ou plusieurs OFFREs A LA VENTE (voir plus loin) pour décrire un produit commercialisé que l’utilisateur peut acheter matérialisé sur un DOCUMENT DE VOYAGE (ticket, carte, mobile, etc.).

Note : la plupart de spécialisation de : UN PRODUIT TARIFAIRE dispose d’un attribut ProductType. Par convention, dans le cadre du profil si le produit est “single trip” et qu’il référence plusieurs ValidableElements, alors le PRODUIT ne donne la possibilité que d’utiliser un seul de ces ValidableElement parmi la miste proposée. Cela permet de gérer les cas où un produit donne accès à une droit A ou B ou C …. On pourra aussi utliser ce mécanisme pour faire un unique produit O-D, contenant de très nombreuses O-D, mais avec une seule tarification comme dans le cas du Yield Management. Pour mémoire, le ValidableElement peut lui-même être constitué d’une séquence de FareStructureElements, ce qui permettra bien de gérer toutes les situations de droits combinés.

Produits Tarifaires (vue simplifiée) – Modèle conceptuel

ServiceAccessRight – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>SERVICE ACCESS RIGHT hérite de PRICEABLE OBJECT***.***
« PK »idServiceAccessRightIdType1:1Identifiant du SERVICE ACCESS RIGHT.
« AK »PrivateCodePrivateCodeType0:1Identifiant alternatif; peut être utilisé pour s’associer à des systèmes existants.
InfoUrlxsd:anyURI0:1Lien ver les informations sur le produit.
« cntd »documentLinksInfoLink0:*InfoLinks pour les documents externes. Pour les PDF, etc.
FareProduct – Element (abstrait)
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>

FARE PRODUCT hérite de SERVICE ACCESS RIGHT.

Note : cet héritage fournit entre autres un attribut noticeAssignments ; dans le contexte de ce profil, c’est au niveau des SalesOfferPackage et FareProducts que l’on placera les Notices.

« PK »idFareProductIdType0:1Identifiant du FARE PRODUCT.
« FK »ChargingMomentRefChargingMomentRef0:1Référence à CHARGING MOMENT associé au produit.
« enum »ChargingMomentTypeChargingMomentTypeEnum0:1

Énumération des valeurs normalisées du moment de paiement.

beforeTravel (avant le voyage)

onStartOfTravel (au départ du voyage)

beforeEndOfTravel (avant la fin du voyage)

onStartThenAdjustAtEndOfTravel (au départ avec ajustement à la fin du voyage)

onStarThenAdjustAtEndOfFareDay (au départ avec ajustement en fin de journée)

onStartThenAdjustAtEndOfChargePeriod (au départ avec ajustement en fin de période tarifaire)

atEndOfTravel (à la fin du voyage)

atEndOfFareDay (à la fin de la journée tarifaire)

atEndOfChargePeriod (à la fin de la période tarifaire)

free (gratuit)

anyTime (à n’importe quel moment)

other (autre)

« FK »typesOfFareProductRefTypeOfFareProductRef0:*Classifications du FARE PRODUCT.
« FK »TransportOrganisationRef(TransportOrganisationRef) OperatorRef | AuthorityRef0:1OPERATOR ou AUTHORITY en charge du FARE PRODUCT.
« cntd »ConditionSummaryConditionSummary0:1

Résumé des conditions associées au FARE PRODUCT.

Note : dans le cadre du profil, seuls certains attributs des ConditionSummary sont acceptés pour le FareProduct (voir description des ConditionSummary plus haut).

XGRPFareProductValidityGroupFareProductRef0:1Informations de validité relatives au FARE PRODUCT.
FareProductValidityGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »validityParameterAssignmentsAccessRightParameterAssignment0:*VALIDITY PARAMETER ASSIGNMENTs relatifs au FARE PRODUCT.
« cntd »validableElementsValidableElement0:*VALIDABLE ELEMENTs pour le FARE PRODUCT.
« cntd »accessRightsInProductAccessRightInProduct0:*ACCESS RIGHTs contenu par le FARE PRODUCT.
PreassignedFareProduct – Element
ClassificationNameTypeCardinalityDescription
::>::>FareProduct::>PREASSIGNED FARE PRODUCT hérite de FARE PRODUCT.
« PK »idPreassignedFareProductIdType1:1Identifiant du PREASSIGNED FARE PRODUCT.
« enum »ProductTypePreassignedFareProductEnum1:1

Classification du PREASSIGNED FARE PRODUCT.

singleTrip (trajet unique)

shortTrip (trajet court)

timeLimitedSingleTrip (trajet unique à durée limitée)

dayReturnTrip (aller-retour dans la journée)

periodReturnTrip (aller-retour sur période fixe)

multistepTrip (trajet à étapes)

dayPass (passe journalier)

periodPass (abonnement pour une période)

supplement (supplément)

other (autre)

ChargingMoment – Element
ClassificationNameTypeCardinalityDescription
::>::>TypeOfValue::>TYPE OF CHARGING MOMENT hérite de TYPE OF VALUE.
« PK »idChargingMomentIdType1:1Identifiant du TYPE OF CHARGING MOMENT.

Les quatre principaux types de PRODUITS TARIFAIRES sont les suivants :

  • Le PRODUIT TARIFAIRE PRÉDÉFINI est une combinaison commercialisable d’ÉLÉMENTS VALIDABLES spécifiés. Il s’agit du PRODUIT TARIFAIRE le plus courant dans les transports publics (matérialisé par exemple sous forme de ticket unique, d’abonnement mensuel, etc.) ;

  • Le AMOUNT OF PRICE UNIT, qui correspond à une porte-monnaie d’unités transport, est un PRODUIT TARIFAIRE exprimé par un nombre spécifié d’UNITÉS DE PRIX (unité monétaire, jeton, trajet, etc.). Il n’est généralement pas pré-assigné, ce qui signifie qu’il donne le droit de consommer n’importe quel ELEMENT VALIDABLE d’une liste spécifiée. Dans certains cas, les billets simples doivent être considérés comme « unité transport », lorsqu’il est nécessaire de poinçonner un nombre variable de billets en fonction de la nature ou la durée du voyage effectué ;

  • Le DROIT A REMISE est un PRODUIT TARIFAIRE permettant à son titulaire de bénéficier de remises lors de l’achat d’OFFRES A LA VENTE spécifiques. Les compagnies de train, par exemple, proposent généralement de telles réductions (par exemple, une carte de réduction de 30%) ;

  • Le DROIT A REMISE A L’USAGE est un PRODUIT TARIFAIRE permettant à son titulaire de bénéficier de remises lors de la consommation des ELEMENT VALIDABLEs spécifiés, et ce en fonction de l’usage qu’il fait des services de transport (c’est typiquement le principe des « Miles », cartes voyageur, etc.).

Deux autres types de PRODUITs TARIFAIREs existent également :

  • REMISE PAR PLAFONNEMENT un affinement du droit de remise utilisé pour les tarifs électroniques avancés de paiement à la consommation, où une fois qu’un certaine niveau d’usage a été atteint, un plafond (tel que spécifié par une ou plusieurs RÈGLES DE PLAFONNEMENT) est appliqué, par exemple en limitant l’utilisation quotidienne a coût d’un passe journalier.

  • PRODUIT SUPPLÉMENTAIRE : Un produit accessoire, tel qu’un surclassement de siège ou un repas, qui ne peut être acheté qu’en complément d’un autre produit.

En outre, deux autres types de « produits » non liés au voyage peuvent être déclarés et référencés :

  • un PRODUIT OUVRANT DES DROITS peut également être utilisé pour représenter des qualifications non liées au transport telles que des cartes d’invalidité, des cartes militaires ou des laissez-passer de retraités qui sont des conditions préalables à l’achat ou à la consommation de produits de voyage.

  • un PRODUIT TIERS : UN PRODUIT TARIFAIRE qui est commercialisé avec un PRODUIT TARIFAIRE pour les transports publics mais qui n’y est pas lié (un accès à un salon, un abonnement sportif, etc.).

Produits Tarifaires – Modèle conceptuel

Le DROIT A REDUCTION (SALE DISCOUNT RIGHT) est un PRODUIT TARIFAIRE (FARE PRODUCT) qui permet à son porteur de bénéficier d’une déduction lors de l’achat d’OFFREs A LA VENTE (SALES OFFER PACKAGE) particulières. Une carte de réduction ouvrant droit à une rabais de 25% sur les trajets en train d’une compagnie ferroviaire en est un exemple relativement classique.

SaleDiscountRight – Element
ClassificationNameTypeCardinalityDescription
::>::>FareProduct::>SALE DISCOUNT RIGHT hérite de FARE PRODUCT.
« PK »idSaleDiscountRightIdType1:1Identifiant du SALE DISCOUNT RIGHT.
« enum »ProductTypeSaleDiscountRightEnum1:1

Classification du SALE DISCOUNT RIGHT.

travelCard (carte voyageur)

payAsYouGoRight (paiement au fur et à mesure)

statutoryRight (droit statutaire)

other (autre)

La REDUCTION PAR PLAFONNEMENT (CAPPED DISCOUNT RIGHT) est un raffinement du DROIT A REDUCTION utilisé pour les tarifications de type « pay-as-you-go », où une fois qu’un certain niveau de consommation a été atteint dans un intervalle de temp donné, un plafond (tel que spécifié par une ou plusieurs RÈGLES DE PLAFONNEMENT) est appliqué, par exemple en limitant le coût, pour toute utilisation au cours d’une même journée, au prix d’un passe journalier.

CappedDiscountRight – Element
ClassificationNameTypeCardinalityDescription
::>::>SaleDiscountRight::>CAPPED DISCOUNT RIGHT hérite de SALE DISCOUNT RIGHT***.***
« PK »idCappedDiscountRightIdType1:1Identifiant du CAPPED DISCOUNT RIGHT.
« cntd »cappingRulesCappingRule0:*Un ensemble de paramètres fixant un prix plafond sur un produit.
CappingRule – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>CAPPING RULE hérite de PRICEABLE OBJECT.
« PK »idCappingRuleIdType1:1Identifiant du CAPPING RULE.
« cntd »MaximumDistanceLengthType0:*Plafonnement de la distance de si la limite est basée sur la distance.
« enum »CappingPeriodCappingPeriodEnum0:1

Période pendant laquelle le plafonnement s'applique, par ex. du quotidien. Voir les valeurs autorisées ci-dessous. Une valeur quantitative peut être définie avec une USAGE VALIDITY PERIOD, ainsi qu'une définition plus détaillée des heures de début et de fin.

Day (jour)

Week (semaine)

Month (mois)

None (rien)

« FK »PreassignedFareProductRefPreassignedFareProductRef0:1PREASSIGNED FARE PRODUCT dont les prix plafonnent le prix pour ce produit.
« cntd »validityParameterAssignmentsValidityParameterAssignment+0:*VALIDITY PARAMETER ASSIGNMENTS pour cette règle.

Un SUPPLÉMENT (SUPPLEMENT PRODUCT) et un produit accessoire, tel qu’un surclassement de classe de siège ou un repas, qui ne peut être acheté qu’en plus d’un autre produit.

SupplementProduct – Element
ClassificationNameTypeCardinalityDescription
::>::>PreassignedFareProduct::>SUPPLEMENT PRODUCT hérite de PREASSIGNED FARE PRODUCT.
« PK »idSupplementProductIdType1:1Identifiant du SUPPLEMENT PRODUCT.
« enum »SupplementProductTypeSupplementProductTypeEnum0:1

Classification du SUPPLEMENT PRODUCT.

seatReservation (réservation de place assise)

bicycle (vélo)

dog (chien)

animal (animal)

meal (repas)

wifi (wifi)

extraLuggage (bagage additionnel)

penalty (amende)

upgrade (sur classement)

journeyExtension (extension de trajet)

journeyAddOn (trajet additionel)

eventAddOn (évènement additionel)

parking (parking)

topUp (rechargement)

other (autre)

Choice
« FK »aSupplementToFareProductRefFareProductRef+0:1Référence au PRE ASSIGNED FARE PRODUCT OFFER pour lequel ceci est un supplément.

La REDUCTION A L’USAGE (USAGE DISCOUNT RIGHT) est un PRODUIT TARIFAIRE permettant à son titulaire de bénéficier de remises basées sur sa consommation de titres de transport. Par exemple, un tel produit peut accorder à son détenteur une réduction pour un parking relai (« park and ride »), alors que le stationnement ou les trajets en transport en commun consommés seuls sont facturés au tarif normal. Le principe des « miles » accumulés, classiquement utilisés dans les transports longue distance, et aussi un exemple classique de REDUCTION A L’USAGE. Ce type de remise est particulièrement utilisé avec les méthodes post-paiement.

UsageDiscountRight – Element
ClassificationNameTypeCardinalityDescription
::>::>FareProduct::>USAGE DISCOUNT RIGHT hérite de FARE PRODUCT.
« PK »idUsageDiscounRightIdType1:1Identifiant du USAGE DISCOUNT RIGHT.
« enum »ProductTypeUsageDiscountRightEnum1:1

Classification du USAGE DISCOUNT RIGHT.

mileagePoints (miles)

usageRebate (rabais à l’usage)

other (autre)

Le MONTANT D’UNITÉS TARIFAIRE (AMOUNT OF PRICE UNIT PRODUCT) est un PRODUIT TARIFAIRE constitué d’une valeur stockée d’UNITÉS TARIFAIRE: une somme d’argent sur un porte-monnaie électronique, une quantité d’unités transport sur une carte, etc.

AmountOfPriceUnitProduct – Element
ClassificationNameTypeCardinalityDescription
::>::>FareProduct::>AMOUNT OF PRICE UNIT hérite de FARE PRODUCT.
« PK »idAmountOfPriceUnitIdType1:1Identifiant du AMOUNT OF PRICE UNIT.
« enum »ProductTypeAmountOfPriceUnitEnum1:1

Classification du AMOUNT OF PRICE UNIT.

tripCarnet (carnet)

passCarnet (carnet de passes)

unitCoupon (coupon unitaire)

storedValue (valeur)

other (autre)

« FK »PriceUnitRefPriceUnitRef0:1Référence à un PRICE UNIT.
Amountxsd:decimal0:1Nombre d’unités.

Un PRODUIT TIERS (Third Party Product) est un PRODUIT TARIFAIRE commercialisé avec un PRODUIT TARIFAIRE pour les transports publics mais produit par une autre organisation, non liée au transport public. Ce produit ne sera naturellement pas entièrement décrit par les systèmes de transport. On peut, titre d’exemple, citer un titre de transport associé à un évènement (exposition, salon, évènement sportif).

ThirdPartyProduct – Element
ClassificationNameTypeCardinalityDescription
::>::>FareProduct::>THIRD PARTY PRODUCT hérite de FARE PRODUCT.
« PK »idThirdPartyProductIdType1:1Identifiant du THIRD PARTY PRODUCT.
CHOICE
« cntd »aGeneralGroupOfEntitiesGeneralGroupOfEntities0:1GENERAL GROUP OF ENTITIES associé au THIRD PARTY PRODUCT.
« cntd »aGeneralGroupOfEntitiesRefGeneralGroupOfEntitiesRef0:1Référence à GENERAL GROUP OF ENTITIES associé au Third PARTY product.

Résumé Des Conditions Tarifaires

Un RÉSUMÉ DES CONDITIONS TARIFAIRES (CONDITION SUMMARY) peut être utilisé pour fournir une description synthétique d’un produit à des fins de comparaison et d’information des voyageurs. Le résumé indique généralement simplement l’existence d’une condition - les conditions réelles elles-mêmes sont décrites plus exactement par les CONDITIONS D’UTILISATION, les AFFECTATIONS DE DROITS D’ACCÈS et d’autres éléments. Le résumé peut inclure des informations sur :

  • Les exigences concernant les cartes liées au produit.

  • Les conditions commerciales de remboursement, d’échange, etc.

  • Conditions limitant les temps de parcours, les itinéraires, etc.

  • Conditions relatives aux droits.

  • Conditions affectant la réservation.

La figure suivante montre le modèle physique du RÉSUMÉ DES CONDITIONS TARIFAIRES.

Résume des conditions – Modèle physique

Note : les attributs du ConditionSummary sont spécialisés par le profil NeTEx Tarif France. Ainsi certains sont uniquement destinés à être utilisés par les PRODUITs TARIFAIREs (Fare Product) et d’autres sont réservés aux OFFREs À LA VENTE (SalesPackageOffer). Cette restriction et ce systématisme ont pour vocation de simplifier l’usage d’un profil (placer une information donnée à un endroit unique quand cela est possible). Une colonne précisant PT (PRODUITs TARIFAIRE) ou OalV (OFFRE À LA VENTE) a été ajoutée pour préciser cette affectation (s’il n’y a pas de précision, l’attribut reste utilisable dans les deux cas).

ConditionSummary – Element
ClassificationNameTypeCardinalityDescription
« enum »FareStructureTypeFareStructureTypeEnum1:1

Classification de la structure tarifaire.

networkFlatFare (constant sur le réseau)

lineFlatFare (constant par ligne)

zonalFare (constant par zone)

zoneToZoneFare (zone à zone)

zoneSequenceFare (sequence de zones)

cappedFlatFare (constant plafonné)

cappedPointToPointFare (point à point plafonné)

cappedZonalFare (zonal plafoné)

pointToPointFare (point à point)

pointToPointDistanceFare (tarification à la distance)

stageFare (tarification par étapes)

penaltyFare (amende)

other (autre)

PT
« enum »TariffBasisTariffBasisEnum0:1

Base pour la tarification.

Flat (constant)

Distance (distance)

unitSection (section)

zone (zonal)

zoneToZone (zone à zone)

pointToPoint (point à point)

route (itinéraire)

tour (tour)

group (group)

discount (rabais)

period (période)

free (gratuit)

other (autre)

PT
HasNoticesxsd:boolean0:1

Indique si une NOTICE est associée au produit.

Note : la NOTICE doit systématiquement être affichée en contexte d’information voyageur

XGRPConditionSummaryCardGroupxmlGroup1:1Éléments relatif aux cartes de paiement dans le CONDITION SUMMARY.
XGRPConditionSummaryEntitlementGroupxmlGroup1:1Éléments relatif aux droits ouverts dans le CONDITION SUMMARY.
XGRPConditionSummaryTravelGroupxmlGroup1:1Éléments relatif aux conditions de voyage dans le CONDITION SUMMARY.
XGRPConditionSummaryCommercialGroupxmlGroup1:1Éléments relatif aux conditions commerciales dans le CONDITION SUMMARY.
XGRPConditionSummaryReservationGroupxmlGroup1:1Éléments relatif aux conditions de réservation dans le CONDITION SUMMARY.
XGRPConditionSummaryChargingGroupxmlGroup1:1Éléments relatif aux conditions de recharge dans le CONDITION SUMMARY.
ConditionSummaryCardGroup – Group
ClassificationNameTypeCardinalityDescription
ProvidesCardxsd:boolean0:1Indique si une carte est fournie avec le produit.OalV
GoesOnCardxsd:boolean0:1Indique si le produit va sur une carte.OalV
IsPersonalxsd:boolean0:1Indique si que le produit est vendu de manière anonyme ou à une personne identifiée.OalV
RequiresPhotoxsd:boolean0:1Indique si l’utilisation du produit nécessite la fourniture d’une photo.OalV
MustCarryxsd:boolean0:1Indique si la carte, le support, doit être transporté lors du déplacement afin d’utiliser le produit.OalV
RequiresAccountxsd:boolean0:1Indique si le produit nécessite que l’utilisateur crée un compte pour la facturation.OalV
ConditionSummaryEntitlementGroup – Group
ClassificationNameTypeCardinalityDescription
IsSupplementxsd:boolean0:1Indique si le produit est un complément à un autre produitPT
RequiresEntitlementxsd:boolean0:1Indique si le produit nécessite un droit ouvert par d’autres produits.PT
GivesEntitlementxsd:boolean0:1Indique si le produit ouvre des droits à d’autres produits.PT
ConditionSummaryTravelGroup – Group
ClassificationNameTypeCardinalityDescription
« enum »HasOperatorRestrictionsOperatorRestrictionEnum0:1

Limitations quant à l'OPÉRATEUR pouvant être utilisé

anyTrain (n’importe quel train)

restricted (limité)

specifiedOperatorOnly (opérateurs spéciaux seulement)

PT
HasTravelTimeRestrictionsxsd:boolean0:1Indique si des limitations s'appliquent quant au moment où le voyage peut avoir lieu.PT
HasRouteRestrictionsxsd:boolean0:1Indique si des limitations s'appliquent à l'itinéraire qui peut être utilisé.PT
« enum »HasTrainRestrictionsTrainRestrictionEnum0:1

Limitations quant aux trains pouvant être utilisés.

anyTrain (n’importe quel train

restricted (limité)

specifiedTrainOnly (train unique)

specifiedTrainsOnly (certains trains)

specifiedTrainAndConnections (train unique et correspondances)

PT
HasZoneRestrictionsxsd:boolean0:1Indique si des limitations s'appliquent quant à la zone dans laquelle le voyage peut avoir lieu.PT
CanBreakJourneyxsd:boolean0:1Indique si l'utilisateur est autorisé à interrompre le trajet, c'est-à-dire à quitter le réseau de transport, à un point intermédiaire, puis à reprendre son trajet.PT
ReturnTripsOnlyxsd:boolean0:1Indique si trajet retour doit impérativement être acheté.PT
ConditionSummaryCommercialGroup – Group
ClassificationNameTypeCardinalityDescription
CanChangeClassxsd:boolean0:1Indique si l’utilisateur peut changer de classePT
IsRefundablexsd:boolean0:1Indique si le billet est remboursableOalV
IsExchangablexsd:boolean0:1Indique si le billet est échangeableOalV
HasExchangeFeexsd:boolean0:1Indique s’il y a des frais pour les échanges.OalV
HasDiscountedFaresxsd:boolean0:1Indique si les tarifs réduits sont autorisés.PT
AllowAdditionalDiscountsxsd:boolean0:1Indique si plusieurs remises peuvent être appliquées, par ex. Enfant + Accompagnateur.PT
AllowCompanionDiscountxsd:boolean0:1Indique s’il y a une remise pour les accompagnateur.PT
HasMinimumPricexsd:boolean0:1Indique s’il y a un prix minimum lors de la combinaison de remises.PT
RequiresPositiveBalancexsd:boolean0:1Indique si le produit nécessite un solde positif (généralement sur une carte de transport) pour être utilisé.OalV
ConditionSummaryReservationGroup – Group
ClassificationNameTypeCardinalityDescription
PenaltyWIthoutTicketxsd:boolean0:1Indique s’il y a une pénalité pour voyager sans billet, c’est-à-dire que les billets ne peuvent pas être achetés à bord.OalV
AvailableOnSubscriptionxsd:boolean0:1Indique si le produit est disponible sur abonnement.OalV
ConditionSummaryReservationGroup – Group
ClassificationNameTypeCardinalityDescription
HasPurchaseConditionsxsd:boolean0:1Indique si les conditions d’achat s’appliquent à la vente du produit, par ex. quand doit être acheté ou qui peut acheter.OalV
HasDynamicPricingxsd:boolean0:1Indique si le produit a une tarification dynamique.PT
RequiresReservationxsd:boolean0:1Indique si le produit nécessite une réservation.OalV
HasReservationFeexsd:boolean0:1Indique si la réservation est payante.OalV
HasQuotaxsd:boolean0:1Indique qu’il y a un quota limité pour l’offre ou qu’elle est vendue en nombre illimité.OalV

Exemple

Exemple 1 (simple)

<!-- LE TITRE -->
<PreassignedFareProduct id="FR-Tarif-Example:PreassignedFareProduct:T+001:LOC" version="any">
  <Name>Ticket 1h30</Name>
  <AuthorityRef ref="FR-Tarif-Example:Authority:IDFM:"/>
  <ConditionSummary>
    <TariffBasis>period</TariffBasis>
    <CanBreakJourney>false</CanBreakJourney>
    <IsRefundable>false</IsRefundable>
    <IsExchangable>false</IsExchangable>
  </ConditionSummary>

  <validableElements>
    <ValidableElementRef ref="FR-Tarif-Example:ValidableElement:001:LOC" version="any"/>
  </validableElements>
  <ProductType>singleTrip</ProductType>
</PreassignedFareProduct>

Exemple 2

<PreassignedFareProduct id="FR-Tarif-Example:PreassignedFareProduct:Paris-Lille-001:LOC" version="any">
  <Name>Paris-Lille</Name> <!--NOTE : OU "billet OD TGV" SI ON FAIT DE LA MUTUALISATION-->
  <noticeAssignments>
    <NoticeAssignment>
      <NoticeRef ref="FR-Tarif-Example:Notice:002:LOC"/>
    </NoticeAssignment>
  </noticeAssignments>
  <ChargingMomentType>beforeTravel</ChargingMomentType>
  <OperatorRef ref="FR-Tarif-Example:Authority:SNCF:"/>
  <ConditionSummary>
    <FareStructureType>pointToPointFare</FareStructureType>
    <TrainRestrictions>specifiedTrainOnly</TrainRestrictions>
    <CanBreakJourney>false</CanBreakJourney>
    <IsRefundable>false</IsRefundable>
    <IsExchangable>false</IsExchangable>
    <HasExchangeFee>true</HasExchangeFee>
    <HasDynamicPricing>true</HasDynamicPricing> <!--YIELD MANANGED-->
    <RequiresReservation>true</RequiresReservation> <!--inclue dans le titre-->
    <HasReservationFee>false</HasReservationFee>
  </ConditionSummary>
  <validityParameterAssignments>
    <GenericParameterAssignment>
      <LimitationGroupingType>AND</LimitationGroupingType>
      <limitations>
        <ReservingRef ref="FR-Tarif-Example:Reserving:001:LOC"/>

        <ExchangingRef ref="FR-Tarif-Example:Exchanging:001:LOC"/>
        <ExchangingRef ref="FR-Tarif-Example:Exchanging:002:LOC"/>
        <ExchangingRef ref="FR-Tarif-Example:Exchanging:003:LOC"/>
        <ExchangingRef ref="FR-Tarif-Example:Exchanging:004:LOC"/>
        <RefundingRef ref="FR-Tarif-Example:Refunding:001:LOC"/>
        <RefundingRef ref="FR-Tarif-Example:Refunding:002:LOC"/>
        <RefundingRef ref="FR-Tarif-Example:Refunding:003:LOC"/>
      </limitations>
      <validityParameters>
        <VehicleModes>rail</VehicleModes>
      </validityParameters>
    </GenericParameterAssignment>
  </validityParameterAssignments>
  <validableElements>
    <ValidableElementRef ref="FR-Tarif-Example:ValidableElement:002:LOC"/>
    <!--etc. VOIR NOTE SUR ProductType -->
    <!--NOTE: On peut aussi définit le VE ici plutôt que de le référencer-->
  </validableElements>
  <ProductType>singleTrip</ProductType> <!--NOTE IMPORTANTE: si le produit est "single trip" alors un seul
de ValidableElement est utilisable, même s'il y a plusieurs VE: cela permet de gérer les cas ou un produit
donne accès à une droit A OU B OU C .... On pourra aussi utliser ce mécanisme pour faire un unique produit
O-D, contenant de très nombreuses O-D, mais avec une seule tarification comme dans le cas du Yield Management
...-->
</PreassignedFareProduct>

Les Offres à la Vente (SalesPackageOffer)

Les PRODUITS TARIFAIREs sont associés à des DOCUMENTS DE VOYAGE afin de constituer des packages propices à la vente. Une OFFRE A LA VENTE est définie comme un ensemble, constitué d’un ou plusieurs PRODUITS TARIFAIREs matérialisés grâce à un ou plusieurs DOCUMENTS DE VOYAGE.

Les PRODUITS TARIFAIREs peuvent être soit directement attachés aux DOCUMENTS DE VOYAGE (impression, stockage magnétique, etc.), soit rechargeables sur des DOCUMENTS DE VOYAGE (tels que des porte-monnaies électroniques ou des laissez-passer).

Dans la plupart des cas, une OFFRE A LA VENTE ne comprendra qu’un seul PRODUIT TARIFAIRE sur un DOCUMENT DE VOYAGE, mais des combinaisons plus complexes sont possibles. Elles permettent aussi de proposer des packages temporaires (par exemple pendant une semaine de promotion) ou permanents.

Les OFFRE A LA VENTE sont décrites par des ÉLÉMENTS D’OFFRE DE VENTE, chacun associant un PRODUIT TARIFAIRE spécifique à un TYPE DE DOCUMENT DE VOYAGE spécifique.

Une OFFRE A LA DE VENTE peut parfois être soumise à des limitations : par exemple n’être vendu que dans une certaine ZONE D’ARRÊT.

Offre à la Vente – Modèle conceptuel

Les tableaux ci-dessous présentent les attributs des OFFRE A LA VENTE retenus dans le cadre du profil.

SalesOfferPackage – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>

SALES OFFER PACKAGE hérite de PRICEABLE OBJECT.

Note : cet héritage fournit entre autres un attribut noticeAssignments ; dans le contexte de ce profil, c’est au niveau des SalesOfferPackage et FareProducts que l’on placera les Notices.

« PK »idSalesOfferPackageIdType1:1Identifiant du a SALES OFFER PACKAGE.
« AK »PrivateCodePrivateCodeType0:1Identifiant alternatif d'une entité. peut être utilisé pour s'associer à des systèmes existants.
XGRPSalesOfferPackageCommonGroupxmlGroup0:1Propriétés communes au SALES OFFER PACKAGE et au GROUP OF SALES OFFER PACKAGEs.
SalesOfferPackageCommonGroup – Element
ClassificationNameTypeCardinalityDescription
« FK »TypeOfSalesOfferPackageRefTypeOfSalesOfferPackageRef0:1Type of SALES OFFER PACKAGE.
« cntd »ConditionSummaryConditionSummary0:1

Description synthétique des conditions d'une OFFRE A LA VENTE pouvant être utilisée pour fournir des informations aux passagers.

Note : dans le cadre du profil, seuls certains attributs des ConditionSummary sont acceptés pour le SalesOfferPackage (voir description des ConditionSummary plus haut).

« cntd »validityParameterAssignmentsGenericAccessRightParameterAssignment0:*GENERIC PARAMETER ASSIGNMENTs (i.e. ACCESS RIGHT PARAMETER ASSIGNMENTs) associé au SALES OFFER PACKAGE.
« cntd »distributionAssignmentsDistributionAssignment0:*DISTRIBUTION ASSIGNMENTs pour le SALES OFFER PACKAGE.
« cntd »salesOfferPackageElementsSalesOfferPackageElement0:*

SALES OFFER PACKAGE ELEMENTs associé au SALES OFFER PACKAGE.

Note : on n’utilisera ici la possibilité de faire des références que s’il y a réutilisation du SalesOfferPackageElement, dans tous les autres cas on inculera directement le SalesOfferPackageElement dans la structure XML.

Les OFFRE A LA VENTE sont décrites par des ÉLÉMENTS D’OFFRE DE VENTE, chacun associant un PRODUIT TARIFAIRE spécifique à un TYPE DE DOCUMENT DE VOYAGE spécifique.

SalesOfferPackageElement – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>SALES OFFER PACKAGE ELEMENT hérite de PRICEABLE OBJECT.
« PK »idSalesOfferPackageElementIdType1:1Identifiant du SALES OFFER PACKAGE ELEMENT.
RequiresValidationxsd:boolean0:1Indique si l'élément nécessite une validation avant de pouvoir être utilisé.
« cntd »ConditionSummaryConditionSummary0:1

Description synthétique du SALES OFFER PACKAGE.

Note : dans le cadre du profil, seuls certains attributs des ConditionSummary sont acceptés pour le SalesOfferPackage (voir description des ConditionSummary plus haut).

« FK »TypeOfTravelDocumenRefTypeOfTravelDocumentRef0:1

Référence à un TYPE OF TRAVEL DOCUMENT.

Note : si un FareProduct est disponible sur plusieurs types de média, il faut créer plusieurs SalesOfferPackageElement

« FK »FareProductRefFareProductRef+0:1FARE PRODUCT associé au SALES OFFER PACKAGE.
« cntd »validityParameterAssignmentsGenericParameterAssignment0:*GENERIC PARAMETER ASSIGNMENTs associé au SALES OFFER PACKAGE ELEMENT.
GroupOfSalesOfferPackages – Element
ClassificationNameTypeCardinalityDescription
::>::>GroupOfEntities::>GROUP of SALES OFFER PACKAGEs hérite de GROUP OF ENTITIES. Voir NeTEx Partie 1.
« PK »idGroupOfSalesOffer-PackagesIdType1:1Identifiant du GROUP of SALES OFFER PACKAGEs.
« cntd »alternativeNamesAlternativeName0:*ALTERNATIVE NAMEs for GROUP of SALES OFFER PACKAGEs.
XGRPSalesOfferPackageCommonGroupxmlGroup0:1Propriétés communes du SALES OFFER PACKAGE et du GROUP OF SALES OFFER PACKAGES.
« cntd »membersSalesOfferPackageRef0:*Références aux constituants du GROUP OF SALES OFFER PACKAGEs.

Exemple

<SalesOfferPackageElement id="FR-Tarif-Example:SalesOfferPackageElement:001:LOC" version="any" order="1">
  <RequiresValidation>true</RequiresValidation>
  <TypeOfTravelDocumentRef ref="FR-Tarif-Example:TypeOfTravelDocument:001:LOC"/>
  <PreassignedFareProductRef ref="FR-Tarif-Example:PreassignedFareProduct:T+001:LOC" version="any"/>
</SalesOfferPackageElement>

<TypeOfTravelDocument id="FR-Tarif-Example:TypeOfTravelDocument:001:LOC" version="any">
  <Name>Ticket T+ carton a bande magn&#xE9;tique</Name>
  <Url>http://www.navigo.fr/wp-content/uploads/2018/11/127099_Ticket-T_carnet-de-10-300x136.png</Url>
  <MediaType>paperTicket</MediaType>
  <MachineReadable>magneticStrip</MachineReadable>
</TypeOfTravelDocument>

<SalesOfferPackage id="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any">
  <Name>Ticket &#xE0; l'unit&#xE9;</Name>
  <salesOfferPackageElements>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC" version="any"/>
  </salesOfferPackageElements>
</SalesOfferPackage>


<SalesOfferPackage id="FR-Tarif-Example:SalesOfferPackage:002:LOC" version="any">
  <Name>Carnet de 10 Ticket</Name>
  <validityParameterAssignments>
    <GenericParameterAssignment>
      <limitations>
        <UsageValidityPeriod>
          <ValidityPeriodType>carnet</ValidityPeriodType>
        </UsageValidityPeriod>
      </limitations>
    </GenericParameterAssignment>
  </validityParameterAssignments>

  <salesOfferPackageElements>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
    <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
  </salesOfferPackageElements>
</SalesOfferPackage>

Document de voyage

Le TYPE DE DOCUMENT DE VOYAGE indique les matérialisations possibles des produits tarifaires sur un support.

Les DOCUMENTs DE VOYAGE sont généralement attribués aux clients à l’occasion d’une TRANSACTION DE VENTE.

Les DOCUMENTs DE VOYAGE sont gérés individuellement dans une base de données opérateur, s’ils appartiennent à des clients identifiés (carte de valeur rechargeable, document de droit de remise, etc.). Ceci est bien sûr obligatoire pour les méthodes de post-paiement.

Les DOCUMENTs DE VOYAGE sont catégorisés par un TYPE DE DOCUMENT DE VOYAGE, qui exprime :

  • leurs caractéristiques générales (type de support, types de produits tarifaires compatibles, etc.) ;

  • leurs caractéristiques fonctionnelles locales, propres à l’opérateur ou à la collectivité (produits tarifaires spécifiques stockés sur ce type, type de revendeur, etc.).

Les types le plus classiques de DOCUMENTS DE VOYAGE sont par exemple :

  • billet jetable à usage unique, donnant le droit de consommer un seul ELEMENT VALIDABLE (par exemple un voyage) ;

  • billet jetable, offrant un droit d’accès en utilisant un certain nombre d’unités (généralement en les poinçonnant ensemble dans un validateur) ;

  • carte, débitée d’un certain montant pour chaque consommation d’ÉLÉMENTS VALIDABLES ;

  • porte-monnaie électronique rechargeable, permettant l’accès au réseau de transport, débité à chaque achat ;

  • Carte de crédit transport, avec post-paiement sur un compte central ;

  • document attestant le droit de bénéficier d’une réduction ;

  • etc.

TypeOfTravelDocument – Element
ClassificationNameTypeCardinalityDescription
::>::>TypeOfValue::>TYPE OF TRAVEL DOCUMENT hérite de TYPE OF VALUE. Voir NeTEx Partie 1.
« PK »idTypeOfTravelDocumentIdType1:1Identifiant du TYPE OF TRAVEL DOCUMENT.
IsCardxsd:boolean0:1Indique si le TRAVEL DOCUMENT est matérialisé sous forme de carte.
IsSmartCardxsd:boolean0:1Indique si le TRAVEL DOCUMENT est matérialisé sous forme d’une carte à puce ou d’un appareil mobile.
HasPhotoxsd:boolean0:1Indique si le TRAVEL DOCUMENT comporte une photo.
« enum »MediaTypeMediaTypeEnum0:1

Classification du TRAVEL DOCUMENT par type de média :

none (aucun)

paperTicket (ticket papier)

paperTicketWithCoupons (ticket papier et coupon)

coupon (coupon)

selfPrintPaperTicket (impression à domicile)

smartCard (carte à puce)

mobileApp (application sur mobile)

card (carte)

mms (MMS)

sms (SMS)

other (autre)

« enum »MachineReadableMachineReadableEnum0:*

Classification du the TRAVEL DOCUMENT par mécanisme de lecture en machine :

none (aucun)

magneticStrip (bande magnétique)

chip (puce)

ocr (reconnaissance de caractères)

barCode (code barre)

shotCode (numéro d’émission)

nfc (NFC)

other (autre)

« cntd »typesOfMachineReadabilitiesTypeOfMachineReadabilityRef0:*Classification du TRAVEL DOCUMENT par TYPE OF MACHINE READABILITY.
« cntd »alternativeNamesAlternativeName0:*ALTERNATIVE NAMEs pour l’élément.

Exemples

<TypeOfTravelDocument id="FR-Tarif-Example:TypeOfTravelDocument:001:LOC" version="any">
  <Name>E-Billet</Name>
  <Description>Billet &#xE9;lectronique &#xE0; Flashcode, imprim&#xE9; sur papier ou viualis&#xE9; sur terminal &#xE9;lectronique
(smartphone)</Description>
  <Url>https://www.oui.sncf/aide/le-e-billet</Url>
  <MediaType>other</MediaType>
  <!--"Other" car il n'y a pas qu'un unique support physique ... on pourrait
aussi ne pas faire figurer cet élément-->
  <MachineReadable>barCode</MachineReadable>
</TypeOfTravelDocument>
<TypeOfTravelDocument id="FR-Tarif-Example:TypeOfTravelDocument:001:LOC" version="any">
  <Name>Ticket T+ carton a bande magn&#xE9;tique</Name>
  <Url>http://www.navigo.fr/wp-content/uploads/2018/11/127099_Ticket-T_carnet-de-10-300x136.png</Url>
  <MediaType>paperTicket</MediaType>
  <MachineReadable>magneticStrip</MachineReadable>
</TypeOfTravelDocument>

Canal de distribution (DistributionChannel)

Le modèle de distribution des titres de transport spécifie les règles pour savoir où et comment les PRODUITs TARIFAIREs peuvent être achetés, par exemple au comptoir, en ligne, via des distributeurs automatiques de billets en libre-service, etc.

Le CANAL DE DISTRIBUTION et de la MÉTHODE DE RETRAIT - comment un achat est ensuite livré - sont séparées car ils peuvent être distinctes. Par exemple, un produit acheté en ligne peut être délivré soit par courrier, auto-impression, collecte à partir d’une machine ou par ajout automatique à un compte en ligne. Lorsque certaines facilités, telles que les remboursements, sont limitées à certains points de vente, cela peut également être indiqué.

DistributionChannel – Element
ClassificationNameTypeCardinalityDescription
::>::>TypeOfValue::>DISTRIBUTION CHANNEL hérite de TYPE OF VALUE. Voir NeTEx Partie 1.
« PK »idDistributionChannelIdType1:1Identifiant du DISTRIBUTION CHANNEL.
« cntd »alternativeNamesAlternativeName0:*Nom alternatif du DISTRIBUTION CHANNEL.
« enum »DistributionChannelTypeDistributionChannelTypeEnum0:1

Type de DISTRIBUTION CHANNEL.

atStop (à l’arrêt)

onBoard (à bord)

online (en ligne)

onlineAccount (sur compte en ligne)

telephone(par téléphone)

electronicPass (passe électronique)

postal (postal)

mobileDevice (sur terminal mobile)

agency (en agence)

tourOperator (par agence de voyage)

other (autre)

IsObligatoryxsd:boolean0:1Indique si l’utilisation du DISTRIBUTION CHANNEL est obligatoire (et donc qu'elle doit être autorisée).
RequiresEmailAddressxsd:boolean0:1L'utilisation du canal nécessite une adresse e-mail.
« FK »OrganisationRef(OrganisationRef)0:1ORGANISATION associée au channel.
« enum »PaymentMethodsPaymentMethodEnum0:*

Méthode de paiement supportée

cash (liquide)

cashExactChangeOnly (liquide sans rendu de monaie)

cashAndCard (liquide et cartes)

coin (pièces)

banknote (billets)

cheque (chèque)

travellersCheque (traveller chèque)

postalOrder (mandat postal)

companyCheque (chèque d’entreprise)

creditCard (carte de crédit)

debitCard (carte de débit)

cardsOnly (cartes uniquement)

travelCard (carte de transport)

contactlessPaymentCard (paiement sans contact)

contactlessTravelCard (carte de transport sans contact)

directDebit (prélèvement)

bankTransfer (virement bancaire)

epayDevice (paiement électronique)

epayAccount (compte électronique)

sms (par SMS)

mobilePhone (par télépohne portable)

mobileApp (par Application sur téléphone ou ordinateur)

voucher (voucher/bon)

token (jeton)

warrant (madat)

mileagePoints (miles)

other (autre)

« cntd »typesOfPaymentMethodTypeOfPaymentMethodRef0:*Type libre pour la PAYMENT METHOD
« enum »DistributionRightsDistributionRightsEnum0:1

Droit de distribution du DISTRIBUTION CHANNEL.

None (aucun)

Sell (vente)

Exchange (échange)

Refund (reboursement)

Inform (information)

Private (privé)

Other (autre)

« cntd »distributionPointsPointRef+0:*Points auxquels la distribution est limitée, le cas échéant. Par exemple, qu'un billet ne peut être acheté qu'à une gare spécifique.
« FK »DistributionGroupRefGroupOfEntitiesRef0:1GROUPE D'ENTITÉS, par ex. lieux, organisations ou autres entités (par exemple, trajets spécifiques à bord ou lieux de services) auxquels la distribution est restreinte, le cas échéant. Par exemple, qu'un billet ne peut être acheté qu'à une gare spécifique.
DistributionAssignment – Element
ClassificationNameTypeCardinalityDescription
::>::>Assignment::>DISTRIBUTION ASSIGNMENT hérite de ASSIGNMENT.
« PK »idDistributionAssignmentIdType1:1Identifiant du a DISTRIBUTION ASSIGNMENT.
« FK »ServiceAccessRightRefServiceAccessRightRef0:1SERVICE ACCESS RIGHT (FARE PRODUCT) auquel on associe une DISTRIBUTION ASSIGNMENT.
« FK »SalesOfferPackageRefSalesOfferPackageRef0:1SALES OFFER PACKAGE auquel on associe une DISTRIBUTION ASSIGNMENT.
« FK »GroupOfSalesOfferPackagesRefGroupOfSalesOfferPackagesRef0:1GROUP OF SALES OFFER PACKAGEs auquel on associe une DISTRIBUTION ASSIGNMENT.
DistributionRightsxmlGroup0:1Droits de distribution associé au DISTRIBUTION ASSIGNMENT.
XGRPDistributionThroughGroupxmlGroup0:1Éléments régissant les canaux par lesquels la distribution peut être effectuée.
XGRPDistributionByGroupxmlGroup0:1Éléments indiquent qui peut distribuer.
XGRPDistributionDetailsGroupxmlGroup0:1Éléments détaillant la distribution.

Table 74 – DistributionThroughGroup – Element

ClassificationNameTypeCardinalityDescription
CHOICEPays/Région/Ville dans lequel la distribution peut avoir lieu.
« FK »TopographicPlaceRefTopographicPlaceRef0:1TOPOGRAPHIC PLACE associé au DISTRIBUTION ASSIGNMENT.
CHOICECanal par lequel la distribution peut être effectuée.
aAllDistributionChannelsRefAllDistributionChannelsRef0:1La distribution peut se faire par tous les canaux.
« FK »bDistributionChannelRefDistributionChannelRef0:1DISTRIBUTION CHANNEL associé au DISTRIBUTION ASSIGNMENT.
« FK »cGroupOfDistributionChannelsRefGroupOfDistributionChannelsRef0:1GROUP OF DISTRIBUTION CHANNELs associé au DISTRIBUTION ASSIGNMENT.
AllowedInChannelxsd:boolean0:1Indique si la distribution est autorisée ou interdite par le DISTRIBUTION CHANNEL spécifié.
RestrictedToChannelxsd:boolean0:1Indique si la distribution est limitée aux seuls DISTRIBUTION CHANNEL spécifiés.
DistributionByGroup– Element
ClassificationNameTypeCardinalityDescription
InitialCarrierxsd:boolean0:1Distribution par transporteur de la première étape du voyage.
FinalCarrierxsd:boolean0:1Distribution par transporteur de la dernière étape du voyage.
ChoiceOrganisation qui peut effectuer la distribution.
« FK »aAllOrganisationsRefAllOrganisationsRef0:1Toutes ORGANISATIONs qui peuvent distribuer.
« FK »bOrganisationRef(OrganisationRef)0:1ORGANISATION désignée par ce DISTRIBUTION ASSIGNMENT.
« FK »ResponsibilitySetRefResponsibilitySetRef0:1RESPONSIBILITY SET associé au DISTRIBUTION ASSIGNMENT.
DistributionDetailsGroup– Element
ClassificationNameTypeCardinalityDescription
« enum »TicketingServiceFacilityTicketingServiceFacilityEnum0:*

Liste des TICKETING SERVICE FACILITies, par ex. achat, collecte, faire le plein.

Purchase (achat)

Collection (collection)

cardTopUp (recharge de carte)

reservations (réservations)

exchange (échange)

refund (remboursement)

renewal (renouvellement)

excessFares (ajustements)

other (autre)

all (tous)

RequiresRegistrationxsd:boolean0:1Indique si la distribution nécessite que le client enregistre une identité personnelle en ligne ou autrement.
« FK »FulfilmentMethodRefFulfilmentMethodRef0:1FULFILMENT METHOD à utiliser pour cette distribution.

Le MODE DE REMISE (FULFILMENT METHOD) est le moyen par lequel le titre de transport est délivré au client, par exemple en ligne, retrait en station, etc.

FulfilmentMethod – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>FULFILMENT METHOD hérite de PRICEABLE OBJECT.
« PK »idFulfillmentMethodIdType1:1Identifiant du FULFILMENT METHOD.
« enum »FulfilmentMethodTypeFulfilmentMethodTypeEnum0:1

Type de FULFILMENT METHOD.

ticketOffice (guichet)

ticketMachine (machine)

conductor (conducteur)

agent (agent)

post (poste)

courier (courrier)

selfprint (impression à domicile)

sms (SMS)

email (email)

topUpDevice (équipement de rechargement)

validator (validateur)

mobileApp (application mobile)

other (autre)

RequiresCardxsd:boolean0:1Indique si la collecte du billet nécessite une carte de crédit utilisée pour l'achat.
RequiresBookingReferencexsd:boolean0:1Indique si la collecte du billet nécessite une référence d’achat.
« cntd »typesOfDocumentTypeOfTravelDocumentRef0:*TYPEs OF TRAVEL DOCUMENT associé.

Exemples

Exemple 1

<DistributionChannel id="FR-Tarif-Example:DistributionChannel:001:LOC" version="any">
  <Name>Points de vente RATP</Name>
  <Description>Vente de ticket dans tous les points de vente RATP</Description>
  <DistributionChannelType>agency</DistributionChannelType>
  <OrganisationRef ref="FR-Tarif-Example:Organisation:RATP:"/>
  <distributionPoints>
    <PointRef ref="etc."/>
    <PointRef ref="etc."/>
  </distributionPoints>
</DistributionChannel>
<GroupOfDistributionChannels id="FR-Tarif-Example:GroupOfDistributionChannels:001:LOC" version="any">
  <Name>Tous les points de vente du Ticket T+</Name>
  <members>
    <DistributionChannelRef ref="FR-Tarif-Example:DistributionChannel:001:LOC"/>
    <!--Etc.-->
  </members>
</GroupOfDistributionChannels>
<DistributionAssignment>
  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC"/>
  <!--Ticket T+ plein tarif à l'unité-->
  <GroupOfDistributionChannelsRef ref="FR-Tarif-Example:GroupOfDistributionChannels:001:LOC"/>
</DistributionAssignment>

Exemple 2

<DistributionChannel id="FR-Tarif-Example:DistributionChannel:001:LOC" version="any">
  <Name>Points de vente SNCF</Name>
  <Description>Vente de ticket dans tous les points de vente SNCF</Description>
  <DistributionChannelType>agency</DistributionChannelType>
  <OrganisationRef ref="FR-Tarif-Example:Organisation:SNCF:"/>
  <distributionPoints>
    <PointRef ref="etc."/>
    <PointRef ref="etc."/>
  </distributionPoints>
</DistributionChannel>

<DistributionChannel id="FR-Tarif-Example:DistributionChannel:002:LOC" version="any">
  <Name>Oui SNCF</Name>
  <Description>Vente de ticket sur le site officiel SNCF</Description>
  <DistributionChannelType>online</DistributionChannelType>
  <ContactDetails>
    <Url>https://www.oui.sncf/</Url>
  </ContactDetails>
  <OrganisationRef ref="FR-Tarif-Example:Organisation:Oui-SNCF:"/>
</DistributionChannel>

<DistributionChannel id="FR-Tarif-Example:DistributionChannel:003:LOC" version="any">
  <Name>Trainline</Name>
  <Description>Vente de billets de 270 compagnies de train et de bus</Description>
  <DistributionChannelType>online</DistributionChannelType>
  <ContactDetails>
    <Url>https://www.trainline.fr/</Url>
  </ContactDetails>
  <OrganisationRef ref="FR-Tarif-Example:Organisation:TrainLine:"/>
</DistributionChannel>

<GroupOfDistributionChannels id="FR-Tarif-Example:GroupOfDistributionChannels:001:LOC" version="any">
  <Name>Tous les points de vente SNCF en ligne</Name>
  <members>
    <DistributionChannelRef ref="FR-Tarif-Example:DistributionChannel:002:LOC"/>
    <DistributionChannelRef ref="FR-Tarif-Example:DistributionChannel:003:LOC"/>
    <!--Etc.-->
  </members>
</GroupOfDistributionChannels>

<DistributionAssignment>
  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC"/>
  <GroupOfDistributionChannelsRef ref="FR-Tarif-Example:GroupOfDistributionChannels:001:LOC"/>
</DistributionAssignment>

Les Droits d’accès et Conditions de validité (Validity Parameters)

En complément de la structure tarifaire tels que les intervalles de temps et la distance, d’autres paramètres peuvent être utilisés par un système tarifaire afin de limiter la validité de droits d’accès particuliers.

Ce modèle permet d’associer des DROITS D’ACCÈS spécifiques à des éléments de la structure tarifaire à l’aide de divers paramètres de validité. L’élément central est l’AFFECTATION DES PARAMÈTRES DE DROITS D’ACCÈS (ACCESS RIGHT PARAMETER ASSIGNMENT) qui attribue un ensemble droits et limitation. Il est possible de combiner ces droits en utilisant un opérateur logique (ET, OU ou OU-Exclusif) pour créer des combinaisons complexes de conditions qui peuvent ensuite être associées à de nombreux éléments du modèle tarifaire (ÉLÉMENT DE STRUCTURE TARIFAIRE, ÉLÉMENT DE MATRICE DE DISTANCE, GROUPE D’ÉLÉMENTS DE MATRICE DE DISTANCE, PRODUIT TARIFAIRE, PACKAGE D’OFFRE DE VENTE, ÉLÉMENT VALIDABLE, ou ÉLÉMENT CONTRÔLABLE)

Une AFFECTATION DE PARAMÈTRES DE VALIDITÉ permet de spécifier un paramètre limitant un droit d’accès théorique, par exemple, une période temporelle après laquelle le titre ne sera plus utilisable.

Une AFFECTATION DE PARAMÈTRE DE DROIT D’ACCÈS compare généralement une valeur de paramètre à une caractéristique de l’objet associé. L’attribut « Type d’affectation » permet une telle comparaison. Il existe différents types de comparaisons possibles, spécifiées par le type d’attribution d’attribut, dont les valeurs sont un opérateur de comparaison (« GT », « EQ », « LT », etc.). Ils expriment que la caractéristique comparée, par exemple :

  • « EQ » est strictement égal au paramètre, par exemple : Titre limité à la LIGNE « 27 ».

  • « NE » est différent d’une certaine valeur, par exemple : pour représenter la règle « le droit d’accès est valable sur toutes les LIGNES du réseau de bus à l’exception de la LIGNE 278 et de la LIGNE 66 » ou « le droit d’accès à la zone 4 n’est pas valable entre 2 h 00 et 4 h 00 »

  • « GE » est supérieur ou égal au paramètre, par exemple : le voyage doit se terminer après « 23 heures » ;

  • « LE » est égal ou inférieur au paramètre, par exemple : le voyage doit se terminer avant « 23h00 ».

Note : à chaque fois que cela est possible, on préfèrera faire porter les ValidityParameters par le FareProduct… le passage par le SalesOffPackage, ou le ValidableElement (voir le FareStructureElement) ne se fera que si les droits sont véritablement complètement spécifiques à ces concepts.

A titre d’exemple l’association des ValidityParameters au SalesOffPackage sera justifiée si le fait de porter son titre sur une « carte grand voyageur » donnait accès à une « salon grand voyageur » ce qui ne serait pas le cas pour le même titre sur billet papier ou billet électronique.

De plus, seuls les ValidityParameters génériques sur un FareProduct seront affectés « en dur », et toutes les variantes avec impact sur le prix (réduction famille nombreuse, tarifs enfants, etc. pour ce même FareProduct) seront affectées via une FareTable.

La figure ci-dessous propose une vue d’ensemble des affectations de droits : on y voit clairement que des droits peuvent apparaitre à tous les niveaux : la note ci-dessus est donc importante pour harmoniser les façons de décrire les tarifs.

L’AFFECTATION DES PARAMÈTRES DES DROITS D’ACCÈS (ACCESS RIGHT PARAMETER ASSIGNMENT) est l’élément central de l’affectation des droits. Toutefois, dans le contexte du profil, il est considéré comme abstrait et on ne l’instanciera pas en tant qu’élément XML, mais uniquement via sa spécialisation en AFFECTATION DES PARAMÈTRES GÉNÉRIQUES (GENERIC PARAMETER ASSIGNMENT).

L’AFFECTATION DE PARAMÈTRES GÉNÉRIQUES (GENERIC PARAMETER ASSIGNMENT) spécifie donc les droits d’accès génériques pour une classe de produits (par exemple, une limite de temps - 7 à 10 heures - pour les voyages effectués avec un passe étudiant).

Le CIBLAGE DES PARAMÈTRES DE VALIDITÉ (SCOPING VALIDITY PARAMETER) permet de définit la portée de la validité des droits d’accès, par exemple sur une partie du réseau, sur certains services, etc. Les PARAMÈTRE D’UTILISATION spécifient les conditions d’utilisation (échange, remboursement, réservation, possibilités d’emporter des bagages, profil utilisateur comme les classes d’âge, etc.). Les PARAMÈTRES DE VALIDITÉ TEMPORELS précise naturellement les aspects temporels (à ne pas confondre avec les ÉLÉMENTS DE STRUCTURE TARIFAIRE décrivant la temporalité : par exemple un ticket de bus permettant de voyager pendant 90 minute relève de la structure tarifaire, par contre si ce même billet doit être utilisé dans l’année suivant la date d’achat, cela relève des PARAMÈTRES DE VALIDITÉ TEMPORELS).

Droits d’accès et Conditions de validité – Modèle conceptuel

AccessRightParameterAssignment – Element
ClassificationNameTypeCardinalityDescription
::>::>Assignment::>ACCESS RIGHT PARAMETER ASSIGNMENT hérite de ASSIGNMENT.
« PK »idAccessRightParameterAssignmentIdType1:1Identifiant du ACCESS RIGHT PARAMETER ASSIGNMENT.
XGRPAccessRightParamterAssignmentProperiesGroupxmlGroup1:1Propriétés générales du ACCESS RIGHT PARAMETER ASSIGNMENT.
XGRPParameterAssignmentScopeGroupxmlGroup1:1FARE STRUCTURE ELEMENTS concerné par cet ACCESS RIGHT PARAMETER ASSIGNMEN.
XGRPUsageValidityParameterGroupxmlGroup1:1USAGE PARAMETERs limitant cet ACCESS RIGHT PARAMETER ASSIGNMENT.
XGRPAccessRightParameterValidityParameterGroupxmlGroup1:1Paramètres de validité liés à l’ACCESS RIGHT PARAMETER ASSIGNMENT.
ParameterAssignmentScopeGroup – Group
ClassificationNameTypeCardinalityDescription
« FK »ValidableElementRefValidableElementRef0:1VALIDABLE ELEMENT cible de l’affectation.
« FK »ControllableElementRefControllableElementRef0:1CONTROLLABLE ELEMENT cible de l’affectation.
« FK »FareProductRefFareProductRef+0:1

FARE PRODUCT cible de l’affectation.

Note : dans le cadre du profil France, c’est sur le FARE PRODUCT que l’on fera porter l’affectation des droits à chaque fois que cela est possible.

« FK »FareStructureElementRefFareStructureElementRef0:1FARE STRUCTURE ELEMENT cible de l’affectation.
« FK »FareStructureElementInSequenceRefFareStructure-Element-InSequenceRef0:1FARE STRUCTURE ELEMENT IN SEQUENCE cible de l’affectation.
« FK »DistanceMatrixElementRefDistanceMatrixRef0:1DISTANCE MATRIX ELEMENT cible de l’affectation.
« FK »DistanceMatrixInverseRefDistanceMatrixRef0:1DISTANCE MATRIX ELEMENT cible de l’affectation. La référence est pour le sens inverse de celui de l'élément.
« FK »SalesOfferPackageRefSalesOfferPackageRef0:1SALES OFFER PACKAGE cible de l’affectation.
« FK »GroupOfDistanceMatrixElementsRefGroupOfDistanceMatrixElementsRef0:1GROUP OF DISTANCE MATRIX ELEMENTs cible de l’affectation.
« FK »GroupOfSalesOfferPackages-RefGroupOfSalesOffer-PackagesRef0:1GROUP OF SALES OFFER PACKAGEs cible de l’affectation.

Les règles de limitation des DROITS D’ACCÈS peuvent être complexes et impliquer plusieurs combinaisons de paramètres et de conditions. Ces règles peuvent être exprimées sous forme de propositions logiques avec des opérateurs logiques (et, ou, ou-exclusif). Cela signifie que différents types de combinaisons doivent être pris en compte et que l’AFFECTATION DE DROITS D’ACCÈS est une affectation multiple. Pour cela, les attributs xxxGroupingType ci-dessous sont définis avec les valeurs d’un opérateur logique (AND, OR, NOT, XOR). Cela permettra d’exprimer des choses comme un droit valable de 6h00 à 8h30 ET de 19h30 à 21h00, par opposition à une droit valable de 6h00 à 8h30 OU (EXCLUSIF) de 19h30 à 21h00.

UsageValidityParameter – Group
ClassificationNameTypeCardinalityDescription
« enum »LimitationGroupingTypeBooleanOperatorEnum0:1

Opérateur logique pour combiner les USAGE PARAMETERs. La valeur par défaut est « ET ». « OR » et « XOR » ne doivent être utilisés que si les paramètres sont tous du même type. Voir les valeurs autorisées ci-dessous.

AND

OR

NOT

XOR

« enum »LimitationsSetSelection-TypeSetOperatorEnum0:1

Lorsqu'un ou plusieurs paramètres constituent un groupe contenant plusieurs éléments, (GROUP OF xxx), opérateur d'ensemble pour faire la distinction entre l'ensemble complet et les différentes possibilités de sélection.

oneOfAnyOneSet (un seul d’entre eux)

oneOfEachSet (un de chaque)

someOfAnySet (plusieurs d’une categorie)

allOfOneSet (tous ceux d’une categorie)

allOfAllSets (tous)

« FK »limitationsUsageParameterRef+0:*Réferences des USAGE PARAMETERs définissant des limitations.
AccessRightParameterValidityParameterGroup – Group
ClassificationNameTypeCardinalityDescription
« enum »ValidityParameterAssignmentTypeComparisonOperatorEnum0:1

Opérateur de comparaison pour faire correspondre les valeurs des paramètres de validité.

EQ

NE

GE

GT

LE

LT

« enum »ValidityParameterGroupingTypeBooleanOperatorEnum0:1

Opérateur logique pour combiner les paramètres de validité du réseau, par ex. « ET », « OU », « XOR ».

AND

OR

NOT

XOR

« enum »ValiditySetSelection-TypeSetOperatorEnum0:1

Lorsqu'un ou plusieurs paramètres sont un groupe contenant plusieurs éléments, (GROUP OF xxx), opérateur d'ensemble pour faire la distinction entre l'ensemble complet et les différentes possibilité de sélections.

oneOfAnyOneSet (un seul d’entre eux)

oneOfEachSet (un de chaque)

someOfAnySet (plusieurs d’une categorie)

allOfOneSet (tous ceux d’une categorie)

allOfAllSets (tous)

« cntd »temporalValidityParametersTemporalValidityParametersGroup0:*Validité temporelle associée.
« cntd »validityParametersLimitingValidityParametersGroup0:*Paramètres de validités associés.
TemporalValidityParametersGroup – Group
ClassificationNameTypeCardinalityDescription
« FK »DayTypeRefValidityConditionRef0:1DAY TYPE auquel l’ACCESS RIGHT PARAMETER est affecté.
« FK »GroupOfTimebandsRefGroupOfTimebandsRef0:1GROUP OF TIME BANDs auquel l’ACCESS RIGHT PARAMETER est affecté.
« FK »OperatingDayRefOperatingDayRef0:1OPERATING DAY auquel l’ACCESS RIGHT PARAMETER est affecté.
« FK »OperatingPeriodRefOperatingPeriod-Ref0:1OPERATING PERIOD auquel l’ACCESS RIGHT PARAMETER est affecté.
« FK »ValidityConditionRefValidityConditionRef0:1VALIDITY CONDITION auquel l’ACCESS RIGHT PARAMETER est affecté.
AccessRightParameterAssignmentPropertiesGroup – Group
ClassificationNameTypeCardinalityDescription
IsAllowedxsd:boolean0:1Indique si les affectations spécifiées sont autorisées (true) ou non (false).
« FK »TypeOfAssignmentRefTypeOAccessRightAssignmentRef0:1Classification du ACCESS RIGHT PARAMETER ASSIGNMENT.
ValidityParameterAssignment – Element
ClassificationNameTypeCardinalityDescription
::>::>AccessRightParameterAssignment::>VALIDITY PARAMETER ASSIGNMENT hérite de ACCESS RIGHT PARAMETER ASSIGNMENT.
« PK »idValidityParameterAssignmentIdType1:1Identifiant du VALIDITY PARAMETER ASSIGNMENT.
« FK »QualityStructureFactorRefQualityStructureFactorRef0:1Référence à un QUALITY STRUCTURE FACTOR auquel l’ACCESS RIGHT PARAMETER ASSIGNMENT s’applique.
GenericParameterAssignment – Element
ClassificationNameTypeCardinalityDescription
::>::>ValidityParameterAssignment::>GENERIC PARAMETER ASSIGNMENT hérite de VALIDITY PARAMETER ASSIGNMENTs
« PK »idGenericParameterAssignmentIdType1:1Identifiant du GENERIC PARAMETER ASSIGNMENT.
GenericParameterAssignmentIncludesGroupxmlGroup1:1Éléments pour le GENERIC PARAMETER ASSIGNMENT. Ne peut être combiné qu’avec des paramètres du même type.
AccessRightParameterAssignmentIncludesGroup – Group
ClassificationNameTypeCardinalityDescription
« enum »IncludesGroupingTypeBooleanOperatorEnum0:1

Opérateur logique pour combiner les éléments inclus. La valeur par défaut est « OU ».

AND

OR

NOT

XOR

« cntd »includesAccessRightParameterAssignment+0:*ACCESS RIGHT PARAMETER ASSIGNMENTs constituant un ACCESS RIGHT PARAMETER ASSIGNMENT composite.

Ciblage des droits d’accès

Le ciblage permet de restreindre les droits d’accès des éléments de la structure tarifaire à des éléments spécifiques du réseau.

Paramètres liés à l’organisation :

  • Quels OPÉRATEURS ou GROUPES D’OPÉRATEURS peuvent être utilisés.

  • Quels MODE et sous-modes de VÉHICULE peuvent être utilisés.

Paramètres liés au réseau :

  • Quels LIGNES, GROUPES DE LIGNES ou RÉSEAUX et MODE DE VÉHICULE peuvent être utilisés.

  • Quelles ZONE TARIFAIRE, SECTION TARIFAIRE et quels POINTS D’ARRÊT PLANIFIÉS peuvent être utilisés. De même, lorsqu’un droit est limité à une partie d’un emplacement physique, cela peut être spécifié à l’aide d’un ÉLÉMENT DU SITE.

  • Quels POINTS D’INTÉRÊT sont accessibles.

Paramètres liés au service :

  • Quelles CONTRAINTES DE SERIES sur les itinéraires doivent être suivies.

  • Le NUMÉRO DE TRAIN, la COURSE, la MISSION COMMERCIALE, le TYPE DE PRODUIT (par exemple ICE, Thalys, etc.) qui peuvent être utilisés.

  • Quelle CLASSE peuvent être utilisées.

Paramètres liés au SITE :

  • Le LIEU D’ARRÊT, le PARKING ou LE POINT D’INTÉRÊT qui est concerné.

  • L’ADRESSE à laquelle l’affectation s’applique.

  • LIEU TOPOGRAPHIQUE auquel l’affectation s’applique.

Paramètres liés au SIÈGE :

  • La COURSE et le NUMÉRO DE TRAIN auxquels l’affectation s’applique.

  • Les service (FACILITY SET) et le type de place (Siège, couchette, etc.) auxquels s’applique l’affectation.

  • Le SIÈGE lui-même auquel l’affectation s’applique.

Ciblage des droits d’accès – Modèle conceptuel

ScopingValidityParameters – Element
ClassificationNameTypeCardinalityDescription
XGRPOrganisationValidityParametersGroupxmlGroup1:1Paramètre de validité concernant l’ORGANISATION cible de l’affecation.
XGRPNetworkValidityParametersGroupxmlGroup1:1Paramètre de validité concernant le NETWORK cible de l’affecation.
XGRPRouteValidityParametersGroupxmlGroup1:1Paramètre de validité concernant la ROUTE cible de l’affecation.
XGRPServiceValidityParametersGroupxmlGroup1:1Paramètre de validité concernant le SERVICE cible de l’affecation.
XGRPProductValidityParametersGroupxmlGroup1:1Paramètre de validité concernant le PRODUCT cible de l’affecation.

La figure ci-dessous fournit une vue d’ensemble de ce ciblage des droits d’accès (le tableau des attributs lui-même n’est pas fourni car il s’agit simplement d’une longue liste de références à des objets existant – LineRef, SchduledStopPointRef, SiteRef, etc.- et ne présente pas d’intérêt particulier pour ce document).

Ciblage des droits d’accès – vue d’ensemble

Exemples

Exemple 1

<GenericParameterAssignment id="LEMAN-EXPRESS:GenericParameterAssignment:001:LOC" version="any" order="1">
  <limitations>
    <UsageValidityPeriod id="LEMAN-EXPRESS:UsageValidityPeriod:001:LOC" version="any">
      <!--Peut être une référence pour mutualiser la définition-->
      <UsageTrigger>purchase</UsageTrigger>
      <!--On a aussi l'option startOutboundRide, etc.-->
      <StandardDuration>PT180M</StandardDuration>
    </UsageValidityPeriod>
  </limitations>
</GenericParameterAssignment>

Exemple 2

<GenericParameterAssignment>
  <LimitationGroupingType>AND</LimitationGroupingType>
  <limitations>
    <RoundTripRef ref="FR-Tarif-Example:RoundTrip:001:LOC"/>
    <ExchangingRef ref="FR-Tarif-Example:Exchanging:001:LOC"/>
    <RefundingRef ref="FR-Tarif-Example:Refunding:001:LOC"/>
  </limitations>
  <validityParameters>
    <VehicleModes>tram bus</VehicleModes>
  </validityParameters>
  <IncludesGroupingType>AND</IncludesGroupingType>
  <includes>
    <GenericParameterAssignment>
      <Description>Voir http://www.navigo.fr/wp-content/uploads/2016/06/lignes_tarifica-
tion_speciale_07-2014.pdf pour les lignes &#xE0; tarification sp&#xE9;ciale</Description>
      <IsAllowed>false</IsAllowed>
      <validityParameters>
        <LineRef ref="FR-Tarif-Example:Line:Orlybus:LOC"/>
        <LineRef ref="FR-Tarif-Example:Line:Tram11:LOC"/>
        <LineRef ref="FR-Tarif-Example:Line:RAPT350:LOC"/>
        <LineRef ref="FR-Tarif-Example:Line:RAPT351:LOC"/>
        <GroupOfLinesRef ref="FR-Tarif-Example:GroupOfLines:Noctilien:LOC"/>
      </validityParameters>
    </GenericParameterAssignment>
  </includes>
</GenericParameterAssignment>

Conditions d’Utilisation (Usage Parameter)

La validité d’un droit d’accès peut être limitée par des paramètres liés à la manière de le consommer (profil de l’utilisateur, fréquence d’utilisation, transférabilité, etc.). Cela se décrit par des règles complémentaires à celles exprimées par la structure tarifaire et les paramètres de validité. Ces paramètres sont décrits par les CONDITIONS D’UTILISATION.

Les CONDITIONS D’UTILISATION spécifient divers types de limitations fonctionnelles sur un élément tarifaire, par exemple, quand il peut être acheté (FENÊTRE D’ACHAT), qui peut l’acheter (PROFIL UTILISATEUR), s’il peut être donné à quelqu’un d’autre (TRANSFÉRABILITÉ), etc. Les paramètres se répartissent en quatre groupes principaux qui sont présentés ci-dessous.

Les CONDITIONS D’UTILISATION DU VOYAGE spécifient les limites de voyage telles que ALLER-RETOUR, ITINÉRAIRE, FRÉQUENCE D’UTILISATION, ÉCHANGE, PÉRIODE DE VALIDITÉ D’UTILISATION, SÉJOUR MINIMUM.

  • ALLER-RETOUR exprimant les propriétés relatives à l’utilisation d’aller simple ou d’aller-retour d’un droit d’accès.

  • PÉRIODE DE VALIDITÉ D’UTILISATION décrit une limitation dans le temps des droits d’accès, en particulier des abonnements. Il peut inclure une « durée standard » de validité (1 jour, 1 mois…), des limites de temps (« date de début » et « date de fin », « heure de début » et « heure de fin »), ou une combinaison des deux ;

  • FRÉQUENCE D’UTILISATION décrit la limitation d’un droit d’accès, en fonction de la fréquence d’utilisation pendant une PÉRIODE DE VALIDITÉ. Par exemple, un produit est proposé à un tarif spécial s’il est utilisé plus de 50 fois par mois ;

  • CORRESPONDANCE exprimant les limites de correspondances au cours d’un voyage ;

  • SÉJOUR MINIMUM, exprimant les détails de tout séjour minimum à destination requis pour utiliser le produit (typiquement une réduction si l’on passe un weekend sur place) ;

  • LIMITE DE SEUIL, paramètre géographique limitant les droits d’accès par comptage d’arrêts, tronçons ou zones ;

  • ITINERAIRE, expression des limitations lié à l’itinéraire suivi, pour un droit d’accès ;

  • SUPENSION, décrivant les conditions applicables pour suspendre temporairement un droit d’accès tel qu’un abonnement.

L’éligibilité spécifie les limites sur les personnes autorisées à utiliser un produit telles que PROFIL D’UTILISATEUR, BILLET DE GROUPE, COMPAGNON OU MEMBRE DU GROUPE, PROFIL COMMERCIAL, DROIT DONNÉ et DROIT REQUIS.

  • PROFIL UTILISATEUR, qui décrit le profil social d’un client. Il est généralement utilisé pour permettre des réductions en fonction des groupes d’âge (par exemple moins de 18 ans), du sexe, de la profession, du statut social (par exemple étudiant, retraité, chômeur), etc. ;

  • PROFIL COMMERCIAL, qui permet de décrire les catégories de clients en fonction de leurs relations commerciales avec l’opérateur (grand voyageur, montant des achats par une entreprise, etc.). Il est généralement utilisé pour permettre des remises ;

  • TICKET DE GROUPE décrit le nombre et les caractéristiques des personnes éventuellement habilitées à voyager en plus du titulaire d’un droit d’accès ;

  • PROFIL D’ACCOMPAGNATEUR, indiquant le nombre et les caractéristiques des personnes habilitées à voyager en groupe ou en tant qu’accompagnateur d’un autre PROFIL UTILISATEUR ;

  • QUALIFICATION RÉSIDENTIELLE, catégorisant les utilisateurs en fonction de leurs lieu de résidence ;

  • POLITIQUE DE CHANGEMENT D’ÉLIGIBILITÉ, spécifiant l’action à entreprendre si l’éligibilité d’un utilisateur pour un profil donné change.

Les CONDITIONS D’UTILISATION des droits peuvent préciser les droits préalablement requis pour un produit, ou les droits donnés par un produit.

  • DROIT REQUIS, indiquant si un PRODUIT requis pour pouvoir utiliser le droit d’accès (carte famille nombreuse par exemple) ;

  • DROIT DONNÉ, indiquant si un produit permet d’en utiliser d’autres.

Les CONDITIONS D’UTILISATION des bagages spécifient des limitations sur les bagages (quantité, poids maximal, etc.).

  • ALLOCATION DE BAGAGES décrit le nombre et les caractéristiques (poids ou volume, vélos, etc.) des bagages que le titulaire d’un droit d’accès est en droit de transporter.

Les CONDITIONS DE VENTE spécifient les limites des transactions de réservation telles que la FENÊTRE D’ACHAT, la TRANSFÉRABILITÉ, les RÉSERVATION, l’ÉCHANGE, le REMBOURSEMENT.

  • FENÊTRE D’ACHAT, indiquant la période dans laquelle le produit sera acheté ;

  • TRANSFÉRABILITÉ décrit le droit de céder un droit à d’autres personnes que le client d’origine ;

  • REVENTE, exprimant les conditions de revente attachées au produit ;

  • ÉCHANGE indiquant si et comment le droit d’accès peut être échangé contre un autre droit d’accès ;

  • REMBOURSEMENT indiquant si et comment le droit d’accès acheté peut être remboursé ;

  • REMPLACEMENT indiquant si et comment le droit d’accès peut être remplacé (par exemple si un ticket est perdu ou défectueux) ;

  • RÉSERVATION indiquant si le droit d’accès nécessite une réservation.

Les CONDITIONS DE FACTURATION spécifient des règles liées à la facturation tels que la POLITIQUE DE FACTURATION et la POLITIQUE DE PÉNALITÉ.

  • Le paramètre la POLITIQUE DE FACTURATION spécifie les limitations sur la façon dont un produit peut être facturé, par exemple pour spécifier un niveau de crédit minimum et maximum.

  • Le paramètre POLITIQUE DE PÉNALITÉ spécifie les règles relatives aux pénalités qui peuvent être encourus en cas d’infraction.

  • Le paramètre POLITIQUE D’ABONNEMENT spécifie les règles relatives aux tarifs achetés dans le cadre d’un abonnement avec des de paiement réguliers.

Conditions d’Utilisation – Modèle conceptuel

UsageParameter – Element (abstrait)
ClassificationNameTypeCardinalityDescription
::>::>PriceableObject::>USAGE PARAMETER hérite de PRICEABLE OBJECT***.***
« PK »idUsageParameterIdType1:1Identifiant du USAGE PARAMETER.
Urlxsd:anyUri0:1Url associé au parameter.
« FK »TypeOfUsageParameterRefTypeOfUsageParameterRef0:1Type de USAGE PARAMETER (TypeofValue).

Les figures ci-dessous présente les modèles de données pour l’ensemble des conditions d’utilisation. Ces conditions sont à prendre tel-quel et il n’y a pas de véritable intérêt à leur applique un travail de profil, les tableaux d’attributs qui leur correspondent on don été placés en annexe (en anglais) pour référence (ceci afin de ne pas surcharger inutilement la partie principale de ce document).

Conditions d’Utilisation (Usage Parameter)

Paramètre du voyage (Travel parameters)

Eligibilité (Eligibility)

Ouvertures de droits (Entitlements)

Bagages (Luggage)

Réservation (Booking)

Après-vente (After Sales)

Paiement (Charging)

Exemples

<UserProfile id="FR-Tarif-Example:UserProfile:001:LOC" version="any">
  <!--Plein tarif classique-->
  <Name>Plein tarif</Name>
  <Description>Plein tarif adulte sans r&#xE9;duction</Description>
  <MinimumAge>10</MinimumAge>
</UserProfile>
<UserProfile id="FR-Tarif-Example:UserProfile:002:LOC" version="any">
  <!--Gratuit pour les enfants-->
  <Name>Moins de 4 ans</Name>
  <Description>Gratuit pour les enfants de moins de 4 ans</Description>
  <MaximumAge>4</MaximumAge>
  <DiscountBasis>free</DiscountBasis>
</UserProfile>
<UserProfile id="FR-Tarif-Example:UserProfile:003:LOC" version="any">
  <!--50% pour les enfants entre 4 et 10 ans -->
  <Name>Tarif Enfant</Name>
  <Description>50%de r&#xE9;duction pour les enfants entre 4 et 10 ans </Description>
  <prices>
    <UsageParameterPrice>
      <LimitingRule>
        <DiscountAsPercentage>0.50</DiscountAsPercentage>
        <CanBeCumulative>false</CanBeCumulative>
      </LimitingRule>
    </UsageParameterPrice>
  </prices>
  <MinimumAge>4</MinimumAge>
  <MaximumAge>10</MaximumAge>
  <DiscountBasis>discount</DiscountBasis>
</UserProfile>
<UserProfile id="FR-Tarif-Example:UserProfile:004:LOC" version="any">
  <!-- User Profile pour les titulaire de carter Famille Nombreuse -->
  <Name>Titulaire de carte famille nombreuse SNCF bleue</Name>
  <Description>50%de r&#xE9;duction</Description>
  <TypeOfUsageParameterRef ref="FR-Tarif-Example:EntitlementRequired:004:LOC" version="any"/>
  <prices>
    <UsageParameterPrice>
      <LimitingRule>
        <DiscountAsPercentage>0.50</DiscountAsPercentage>
        <CanBeCumulative>false</CanBeCumulative>
      </LimitingRule>
    </UsageParameterPrice>
  </prices>
  <DiscountBasis>discount</DiscountBasis>
</UserProfile>
<Exchanging id="FR-Tarif-Example:Exchanging:001:LOC" version="any">
  <Description>Billet &#xE9;changeable gratuitement jusqu'&#xE0; 30 jours avant le d&#xE9;part. S'ajoute l'&#xE9;ventuelle
diff&#xE9;rence de prix entre l'ancien et le nouveau billet</Description>
  <Allowed>full</Allowed>
  <ResellWhen>beforeStartOfValidity</ResellWhen>
  <ExchangableUntilDuration>-P30D</ExchangableUntilDuration>
  <HasFee>false</HasFee>
  <RefundBasis>perPerson</RefundBasis>
  <!--A vérifier-->
</Exchanging>
<Exchanging id="FR-Tarif-Example:Exchanging:002:LOC" version="any">
  <Description>Billet &#xE9;changeable avec retenue de 5 &#x20AC; &#xE0; compter de 30 jours avant le d&#xE9;part. A la retenue
s'ajoute l'&#xE9;ventuelle diff&#xE9;rence de prix entre l'ancien et le nouveau billet</Description>
  <prices>
    <UsageParameterPrice>
      <Amount>5</Amount>
      <Currency>EUR</Currency>
    </UsageParameterPrice>
  </prices>
  <Allowed>full</Allowed>
  <ResellWhen>beforeStartOfValidity</ResellWhen>
  <ExchangableFromDuration>-P30D</ExchangableFromDuration>
  <ExchangableUntilDuration>-P2D</ExchangableUntilDuration>
  <HasFee>true</HasFee>
  <RefundBasis>perPerson</RefundBasis>
  <!--A vérifier-->
</Exchanging>
<Refunding id="FR-Tarif-Example:Refunding:001:LOC" version="any">
  <Description>Billet Remboursable gratuitement jusqu'&#xE0; 30 jours avant le d&#xE9;part.</Description>
  <Allowed>full</Allowed>
  <ResellWhen>beforeStartOfValidity</ResellWhen>
  <ExchangableUntilDuration>-P30D</ExchangableUntilDuration>
  <HasFee>false</HasFee>
  <RefundBasis>perPerson</RefundBasis>
  <!--A vérifier-->
</Refunding>
<Refunding id="FR-Tarif-Example:Refunding:002:LOC" version="any">
  <Description>Billet Remboursable avec retenue de 5 &#x20AC; &#xE0; compter de 30 jours avant le d&#xE9;part.</Description>
  <prices>
    <UsageParameterPrice>
      <Amount>5</Amount>
      <Currency>EUR</Currency>
    </UsageParameterPrice>
  </prices>
  <Allowed>full</Allowed>
  <ResellWhen>beforeStartOfValidity</ResellWhen>
  <ExchangableFromDuration>-P30D</ExchangableFromDuration>
  <ExchangableUntilDuration>-P2D</ExchangableUntilDuration>
  <HasFee>true</HasFee>
  <RefundBasis>perPerson</RefundBasis>
  <!--A vérifier-->
</Refunding>

Les Grilles Tarifaires (FareTable)

Dans tous les tableaux précédents, les attributs fournissant une information de prix n’ont pas été retenus dans le cadre du Profil France : cela tient au fait que l’option retenue par le profil est de systématiser la présentation des prix au travers d’une GRILLE TARIFAIRE (FARE TABLE). L’objectif est ici de systématiser la production et l’interprétation des données d’ordre tarifaire, mais aussi d’éviter une trop grande disparité des choix et options de modélisation qui ne manquerait pas de se présenter (surtout dans le domaine tarifaire) s’il elles n’étaient pas un peu contraintes.

La présentation des prix sous forme de grille des tarifs reste un grand classique dans le domaine des transports, et ce choix permettra aussi la simplification de la présentation de l’offre aux voyageur (ce qui est cohérent avec l’objectif d’information voyageur du profil).

Il reste toutefois quelques cas où des prix pourront être fournis en dehors des GRILLEs TARIFAIREs : par exemple si un produit offre une réduction fixe, par exemple de 5€, cela pourra être indiqué explicitement dans la description du produit tarifaire de façon à pouvoir en donner une description complète et pertinente au voyageur.

Note : dans le cadre du profil, on fait le choix de ne pas prévoir la gestion de réductions cumulatives.

Une GRILLE TARIFAIRE permet la représentation de groupes de prix pour des combinaisons d’éléments tarifaires. Il définit une matrice multidimensionnelle de CELLULES, dont chacune peut indiquer un prix pour une combinaison d’un ou plusieurs éléments tarifaires. Par exemple, on peut avoir des références PROFIL UTILISATEUR + ÉLÉMENT DE MATRICE DE DISTANCE + CLASSE D’UTILISATION sur chaque cellule afin de définir les tarifs adulte et enfant pour la première et la deuxième classe.

Les grilles peuvent être imbriqués. Tous les objets héritant de « PRICEABLE OBJECT » (ce qui est le cas de la grande majorité des objets de ce profil) peuvent être utilisés au sein d’un GRILLE TARIFAIRE.

La construction en GRILLE TARIFAIRE permet de définir tout un ensemble de composants relativement indépendants et potentiellement réutilisables qui seront assemblés (par référence) au sein de la grille pour fournir un prix correspondant (par exemple : Titre pour zones A et B + billet à l’unité + jeune voyageur (18-25 ans) => Prix). On conserve donc une construction très modulaire.

La GRILLE TARIFAIRE fera des références vers tous les éléments qui la constituent à l’exception des prix eux-mêmes qui, n’étant pas définis par ailleurs, devront être complètement définis au sein de la GRILLE TARIFAIRE.

Grilles Tarifaires – Modèle conceptuel

FareTable – Element
ClassificationNameTypeCardinalityDescription
::>::>PriceGroup::>FARE TABLE hérite de PRICE GROUP***.***
« PK »idFareTableIdType1:1Identifiant du FARE TABLE.
StartDatexsd:date0:1Date de début de validité du prix.
EndDatexsd:date0:1Date de fin de validité du prix.
XGRPFareTableReferencesGroupxmlGroup0:*Éléments de structure tarifaire pouvant recevoir un prix et donc associés à cette cellule.
XGRPFareTableCommonAssignmentsGroupxmlGroup0:1Association d’un élément de structure tarifaire pour une cellule.
XGRPFareTableHeadingsGroupxmlGroup0:1En-têtes de lignes et de colonnes pour le tableau. Les CELL peuvent y faire référence.
EmbargoUntilxsd:dateTime0:1Les prix ne seront communiqués qu’à partir de cette date.
« cntd »cellsCell0:*Un tuple dans une TABLE DES TARIFS qui associe une ou plusieurs entités tarifaires à un prix.
« cntd »noticeAssignmentsNoticeAssignment0:*NOTICEs s’appliquant à l’ensemble de la FARE TABLE
FareTableReferencesGroup – Group
ClassificationNameTypeCardinalityDescription
« FK »TypeOfFareTableRefTypeOfFareTableRef0:1Classification de la FARE TABLE.
« cntd »pricesForPriceableObjectRef+0:*PRICEABLE OBJECT pouvant faire l’objet d’un prix et donc associé à cette CELL.
« cntd »usedInChoice0:1Un élément tarifaire associé au FARE TABLE.
« FK »aTariffRefTariffRef1:*TARIFF auquel le PRICEs of FARE TABLE s’applique.
« FK »bGroupOfDistanceMatrixElementsRefGroupOfDistanceMatrixElementsRef1:*GROUP OF DISTANCE MATRIX ELEMENTs associé au FARE TABLE.
« FK »cGroupOfSalesOfferPackagesRefGroupOfSalesOfferPackagesRef1:*GROUP OF SALES OFFER PACKAGEs associé au FARE TABLE.
« FK »OrganisationRef(OrganisationRef)0:1OPERATOR ou AUTHORITY auquel le FARE PRICEs s’applique.
FareTableCommonAssignmentsGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »limitationsUsageParameterRef+0:*USAGE PARAMETER or PARAMETERs auquel le CELL PRICE s’applique.
XGRPCellSpecificNetworkGroupxmlGroup0:1Combinaison d’éléments liés au réseau pour lesquels la FARE TABLE ou CELL fournit un prix.
XGRPCellSpecificRoutingGroupxmlGroup0:1Combinaison d’éléments liés à l’itinéraire pour lesquels la FARE TABLE or CELL fournit un prix.
XGRPCellSpecificServiceGroupxmlGroup0:1Combinaison d’éléments liés aux services pour lesquels la FARE TABLE ou CELL fournit un prix.
XGRPCellSpecificDistributionGroupxmlGroup0:1Combinaison d’éléments liés à la distribution pour lesquels la FARE TABLE ou CELL fournit un prix.
FareTableHeadingsGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »columnsFareTableColumnHeading0:*En-têtes de colonnes à utiliser lors de la présentation du tableau.
« cntd »rowsFareTableRowHeading0:*En-têtes de ligne à utiliser lors de la présentation du tableau.
« cntd »includesFareTable0:*FARE TABLEs imbriqués dans ce tableau. Peut être récursif.
FareTableColumn – Element
ClassificationNameTypeCardinalityDescription
::>::>VersionedChild::>FARE TABLE COLUMN hérite de VERSIONED CHILD
« PK »idFareTableColumnIdType1:1Identifiant du FARE TABLE COLUMN.
NameMultilingualString0:1Nom du FARE TABLE COLUMN.
DescriptionMultilingualString0:1Description du FARE TABLE COLUMN.
« cntd »noticeAssignmentsNoticeAssignments0:*NOTICEs qui s’applique à l’ensemble de la FARE TABLE COLUMN.
« cntd »representing(VersionOfObjectRef)0:*ENTITIES que la colonne représente.
« cntd »columnsFareTableColumnHeading0:*En-têtes de FARE TABLE COLUMN imbriqués à utiliser lors de la présentation de la table. Récursif.
FareTableRow – Element
ClassificationNameTypeCardinalityDescription
::>::>VersionedChild::>FARE TABLE ROW hérite de VERSIONED CHILD.
« PK »idFareTableRowIdType1:1Identifiant du FARE TABLE ROW.
NameMultilingualString0:1Nom du FARE TABLE ROW.
DescriptionMultilingualString0:1Description du FARE TABLE ROW.
« cntd »noticeAssignmentsNoticeAssignments0:*NOTICEs qui s’applique à l’ensemble de la FARE TABLE ROW.
« cntd »representing(VersionOfObjectRef)0:*ENTITIES que la colonne représente.
« cntd »rowsFareTableRowHeading0:*En-têtes de FARE TABLE ROW imbriqués à utiliser lors de la présentation de la table. Récursif.

Les Cellules

Note : la cellule ayant principalement la capacité de référencer tous les éléments liés à la tarification pour les combiner et leur attribuer un prix, cela en fait un objet très volumineux (de par sa définition, et non son implémentation) mais sa structure est très simple (alignement de références à « potentiellement » combiner).

Cell – Element
ClassificationNameTypeCardinalityDescription
::>::>VersionedChild::>CELL hérite de VERSIONED CHILD
« PK »idCellIdType1:1Identifiant du CELL.
NameMultilingualString0:1Nom du CELL.
DescriptionMultilingualString0:1Description du CELL.
priceChoice1:1Prix
« FK »cFarePriceFarePrice+1:1

Tout objet héritant de FARE PRICE fournissant le prix pour cette CELL.

Dans le cas du profil France on utilisera de façon très préférentielle (voir exclusivement) un SalesOfferPAckegePrice ici

XGRPCellReferencesGroupxmlGroup0:1Structure tarifaire qui pouvant avoir un prix et ainsi être associée à cette CELLULE.
XGRPCellHeadingsGroupxmlGroup0:1Intitulés de tableaux associés à cette CELL.
« cntd »noticeAssignmentsNoticeAssignments0:*NOTICEs qui s’applique à cette CELL.
CellReferencesGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »PriceableObjectRefPriceableObjectRef+0:*Éléments de structure tarifaire pouvant être tarifés et donc associés à cette CELL.
« FK »GroupOfDistanceMatrixElementsRefGroupOfDistanceMatrixElementsRef0:1Référence à un GROUP OF DISTANCE MATRIX ELEMENTS) associé à la CELL or FARE TABLE.
XGRPCellSpecificRoutingGroupxmlGroup0:1Itinéraires pour lesquels CELL fournit un prix.
XGRPCellSpecificNetworkGroupxmlGroup0:1Réseaux pour lesquels CELL fournit un prix.
XGRPCellSpecificServiceGroupxmlGroup0:1Services pour lesquels CELL fournit un prix.
XGRPCellSpecificDistributionGroupxmlGroup0:1Canaux de distribution pour lesquels CELL fournit un prix.
CellSpecificNetworkGroup – Group
ClassificationNameTypeCardinalityDescription
« FK »GroupOfLinesRefGroupOfLinesRef0:1A GROUP OF LINEs pour leque cette CELL fournit un prix.
« FK »LineRefLineRef0:1LIGNE pour laquelle la CELLULE fournit un prix.
« FK »SiteRefSiteRef0:1SITE pour laquelle la CELLULE fournit un prix.
« FK »TariffZoneRefTariffZoneRef0:1TARIFF ZONE pour laquelle la CELLULE fournit un prix.
« FK »FareSectionRefFareSectionRef0:1FARE SECTION pour laquelle la CELLULE fournit un prix.
CellSpecificRoutingGroup – Group
ClassificationNameTypeCardinalityDescription
« enum »DirectionTypeRelativeDirectionEnum0:1

Pour les tarifs des DISTANCE MATRIX ELEMENTs, DIRECTION dans laquelle le prix s'applique. Voir Part1 pour les valeurs autorisées.

both (les deux)

forwards (aller)

backwards (retour)

« enum »RoutingTypeRoutingTypeEnum0:1

Si le tarif est pour un itinéraire direct (c'est-à-dire qu'aucun changement n'est requis pour un tarif point à point) ou pour un itinéraire indirect.

direct (direct)

indirect (avec correspondance)

both (les deux)

CellSpecificServiceGroup – Group
ClassificationNameTypeCardinalityDescription
« enum »FareClassFareClassEnum0:1FARE CLASS pour laquelle la CELL fournit un prix.
« FK »ClassOfUseRefClassOfUseRef0:1CLASS OF USE (Seat Class) pour laquelle la CELL fournit un prix.
« FK »FacilitySetRefFacilitySetRef0:1FACILITY SET pour laquelle la CELL fournit un prix.
« FK »TypeOfProductCategoryRefTypeOfProductCategoryRef0:1TYPE OF PRODUCT CATEGORY pour laquel la CELL fournit un prix.
« FK »TypeOfServiceRefTypeOfServiceRef0:1TYPE OF SERVICE pour lequel la CELL fournit un prix.
« FK »ServiceJourneyRefServiceJourneyRef0:1SERVICE JOURNEY pour laquelle la CELL fournit un prix.
« FK »TrainNumberRefTrainNumberRef0:1TRAIN NUMBER pour lequel la CELL fournit un prix.
« FK »GroupOfServicesRefGroupOfServicesRef0:1GROUP OF SERVICEs pour lequel la CELL fournit un prix.
CellReferencesGroup – Group
ClassificationNameTypeCardinalityDescription
« FK »TypeOfFareProductRefTypeOfFareProductRef0:1TYPE OF FARE PRODUCT pour lequel la CELL fournit un prix.
« FK »DistributionChannelRefDistributionChannelRef0:1DISTRIBUTION CHANNEL pour laquelle la CELL fournit un prix.
« FK »GroupOfDistributionChannelsRefGroupOfDistributionChannelsRef0:1GROUP OF DISTRIBUTION CHANNELs pour laquelle la CELL fournit un prix.
« enum »PaymentMethodsPaymentMethodEnum0:1Valeur standard de PaymentMethod pour laquelle la CELL fournit un prix.
« FK »TypeOfPaymentMethodRefTypeOfPaymentMethodRef0:1TYPE OF PAYMENT METHOD pour lequel la CELL fournit un prix.
CellHeadingsGroup – Group
ClassificationNameTypeCardinalityDescription
« FK »ColumnRefColumnRef0:1Référence à une colonne de la FARE TABLE à laquelle cette CELL est affectée.
« FK »RowRefRowRef0:1Référence à une ligne de la FARE TABLE à laquelle cette CELL est affectée.

Exemples

Exemple 1

<!-- Pour chaque cellule: Prix / UserProfile ou Entitlement / SalesOfferPackage (le lien avec les FareProduct
est fait par le SalesOfferPackage) -->
<FareTable version="any" id="lFR-Tarif-Example:TickeT+FareTable:001:LOC">
  <Name> Bus Fare Prices - 18+Student </Name>
  <cells>
    <Cell version="any" id="FR-Tarif-Example:Cell:001:LOC" order="1">
      <SalesOfferPackagePrice version="any" id="lFR-Tarif-Example:SalesOfferPackagePrice:001:LOC">
        <Name>Ticket 1h30</Name>
        <Amount>1.90</Amount>
      </SalesOfferPackagePrice>
      <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
      <NetworkRef ref="FR-Tarif-Example:Network:001:"/>
      <!--Réseau concerné-->
      <noticeAssignments>
        <NoticeAssignmentView>
          <Text>Ticket 1h30 - a l'unit&#xE9; plein tarif - aAller retour interdit, gratuit pour le moins de
4 ans, ticket disponible en agence uniquement</Text>
          <CanBeAdvertised>true</CanBeAdvertised>
        </NoticeAssignmentView>
      </noticeAssignments>
    </Cell>
    <!-- etc. -->
  </cells>
</FareTable>

Exemple 2

<FareTable version="any" id="FR-Tarif-Example:TickeT+FareTable:001:LOC">
  <Name> Tarif TGV Paris - Lille </Name>
  <cells>
    <Cell version="any" id="FR-Tarif-Example:Cell:001:LOC">
      <SalesOfferPackagePrice>
        <Name>Prix dynamique plein taif</Name>
        <!--<Amount>xx.00</Amount> Possibilité de prix de référence même s'il y a un tarif "yieldé"-->
        <PricingServiceRef ref="FR-Tarif-Example:PricingService:001:LOC"/>
        <!-- <LimitingRule> Possibilité de limitation du prix
<MinimumPrice>0.1 </MinimumPrice>
<MaximumPrice>10000.00</MaximumPrice>
</LimitingRule>-->
      </SalesOfferPackagePrice>
      <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:001:LOC"/>
      <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
    </Cell>
    <Cell version="any" id="FR-Tarif-Example:Cell:002:LOC">
      <SalesOfferPackagePrice>
        <Name>Gratuit pour les enfants de moins de 4 ans</Name>
        <Amount>0.0</Amount>
        <!--GRATUIT POUR LES ENFANT DE MOINS DE 4 ANS "SUR LES GENOUX"-->
      </SalesOfferPackagePrice>
      <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:002:LOC"/>
      <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
    </Cell>
    <Cell version="any" id="FR-Tarif-Example:Cell:002b:LOC">
      <SalesOfferPackagePrice>
        <Name>Tarif pour les enfants de moins de 4 ans sur un si&#xE8;ge</Name>
        <Amount>9.0</Amount>
        <!--9€ FIXE POUR LES ENFANT DE MOINS DE 4 ANS "SUR UN SIEGE"-->
      </SalesOfferPackagePrice>
      <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:002b:LOC"/>
      <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
    </Cell>
    <Cell version="any" id="FR-Tarif-Example:Cell:003:LOC">
      <SalesOfferPackagePrice>
        <Name>Prix dynamique pour le 4-11 ans</Name>
        <PricingServiceRef ref="FR-Tarif-Example:PricingService:001:LOC"/>
        <DiscountingRule>
          <DiscountAsPercentage>0.6</DiscountAsPercentage>
        </DiscountingRule>
      </SalesOfferPackagePrice>
      <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:003:LOC"/>
      <!--LES ENFANT DE DE 4
A 11 ANS => 60% de réduction-->
      <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
    </Cell>
    <!-- etc. -->
  </cells>
</FareTable>

Les prix

Le modèle complète de façon très naturelle le reste de la description de l’offre tarifaire.

Tout élément qui peut avoir un prix (ou auquel on peut faire correspondre un prix ou une variation de prix) est une spécialisation d’un OBJET VALORISABLE (PRICEABLE OBJECT), ce qui est le cas de la majorité des concepts introduits dans ce profil.

Il existe différents types de PRIX pour chaque OBJET VALORISABLE, par exemple prix d’un ÉLÉMENT DE MATRICE DE DISTANCE, prix d’un PRODUIT TARIFAIRE, etc.

Les PRIX peuvent être un montant absolu (par exemple 23,00 euros) ou être dérivés en utilisant une RÈGLE DE CALCUL DU PRIX sur un autre prix (par exemple un pourcentage de réduction). Le PRIX peut indiquer le prix et la règle dont il est dérivé ainsi que le montant qui en résulte.

  • Une RÈGLE DE RÉDUCTION spécifie les paramètres relatifs à la remise ; Les remises peuvent être exprimées en pourcentage (par exemple 10%) ou en montant absolu (par exemple 5 euros).

  • Une RÈGLE DE LIMITATION peut être utilisée pour définir une règle définie sur les résultats, par exemple pour fixer un prix minimum et maximum.

Il peut être nécessaire de regrouper les de prix en GROUPES DE PRIX, par exemple pour définir des catégories auxquelles la même augmentation, en valeur ou en pourcentage, peut être appliquée.

Prix – Modèle conceptuel

PriceableObject – Element (abstrait)
ClassificationNameTypeCardinalityDescription
::>::>DataManagedObject::>PRICEABLE OBJECT hérite de DATA MANAGED OBJECT.
« PK »idPriceableObjectIdType1:1Identifiant du PRICEABLE OBJECT.
NameMultilingualString0:1Nom du PRICEABLE OBJECT.
DescriptionMultilingualString0:1Description du PRICEABLE OBJECT.
Urlxsd:AnyURI0:1URL d’une page web contenant des information concernant le PRICEABLE OBJECT.
« cntd »infoLinksInfoLink0:*Hypelien d’information additionel
« cntd »alternativeNamesAlternativeName0:*Nom alternatif
« cntd »noticeAssignmentsNoticeAssignment0:*

NOTICE ASSIGNMENTs associé à cet élément.

Note : on n’utilisera cette possibilité de NOTICE que si l’on n’est pas en mesure de la faire figurer dans la GRILLE TAIFAIRE (FARE TABLE)

FarePrice – Element (abstrait)
ClassificationNameTypeCardinalityDescription
::>::>VersionedChild::>FARE PRICE hérite de VERSIONED CHILD
« PK »idFarePriceIdType1:1Identifiant du FARE PRICE.
NameMultilingualString0:1Nom du PRICE.
DescriptionMultilingualString0:1Description du PRICE.
PrivateCodePrivateCode0:1Identifiant externe du PRICE.
StartDatexsd:date0:1Date de départ pour la validité du PRICE.
EndDatexsd:date0:1Date de fin pour la validité du PRICE.
AmountAmountType0:1Prix dans l’unité monétaire convenue.
CurrencyCurrencyType0:1Code de devise ISO 4217 (Ceci dans une optimisation permettant d’omettre les PRICE UNITs).
« FK »PriceUnitRefPriceUnitRef0:1Référence à un PRICE UNIT ; peut-être remplacé par Currency.
Unitsxsd:decimal0:1Nombe d’unités désignée.
« FK »PricingServiceRefPricingServiceRef0:1Référence à un PRICE SERVICE qui peut fournir le prix (pour la tarification dynamique).
XGRPFarePriceCalculationGroupxmlGroup0:1Éléments régissant le calcul des prix.
Rankingxsd:integer0:1Classement relatif du prix par rapport aux autres prix.
FarePriceCalculationGroup – Group
ClassificationNameTypeCardinalityDescription
« cntd »bPricingRulePricingRule0:1

PRICING RULE utilisée pour claculer le prix.

Peut être une

DiscountingRule

LimitingRule

LimitingRuleInContext

PricingRule

CanBeCumulativexsd:boolean0:1Si la remise peut être utilisée de manière cumulative en combinaison avec d'autres remises.
« FK »RoundingRefRoundingRef0:1Arrondi à utiliser pour le calcul.
PricingService – Element
ClassificationNameTypeCardinalityDescription
::>::>DataManagedObject::>PRICING SERVICE hérite de DATA MANAGED OBJECT.
« PK »idPricingServiceIdType1:1Identifiant du PRICING SERVICE.
NameMultilingualString0:1Nom du PRICING SERVICE.
DescriptionMultilingualString0:1Description du PRICING SERVICE.
Urlxsd:anyURI0:1URL à laquelle le service est disponible.
« FK »OrganisationRef(OrganisationRef)0:1ORGANISATION qui fournit des services (coordonnées, etc.).
PricingRule – Element
ClassificationNameTypeCardinalityDescription
::>::>DataManagedObject::>PRICING RULE hérite de DATA MANAGED OBJECT.
« PK »idPricingRuleIdType1:1Identifiant du PRICING RULE.
NameMultilingualString0:1Nom du PRICING RULE.
DescriptionMultilingualString0:1Description du PRICING RULE.
MethodNamexsd:NCNAME0:1Méthode de calcul associé au PRICING RULE.
CurrencyCurrencyType0:1Devise associé au PRICING RULE.
« FK »PriceUnitRefPriceUnitRef0:1PRICE UNIT pour le PRICING RULE.
urlxsd:anyURI0:1URL associé au PRICING RULE.
DiscountingRule – Element
ClassificationNameTypeCardinalityDescription
::>::>PricingRule::>DISCOUNTING RULE hérite de PRICING RULE.
« PK »idDiscountingRuleIdType1:1Identifiant du DISCOUNTING RULE.
DiscountAsPercentagePercentageType0:1Remise du prix en pourcentage.
DiscountAsValueAmountType0:1Remise du prix en valeur.
CanBeCumulativexsd:boolean0:1Indique si la remise peut être utilisée de manière cumulative en combinaison avec d’autres remises.
PriceUnit – Element
ClassificationNameTypeCardinalityDescription
::>::>TypeOfValue::>PRICE UNIT hérite de TYPE OF VALUE.
« PK »idPriceUnitIdType1:1Identifiant du PRICE UNIT.
Precisionxsd:integer0:1Précision su PRICE UNIT.

PricingParameterSet décrit l’Ensemble de paramètres tarifaires globaux commun à tous les éléments de la FRAME.

PricingParameterSet – Element
ClassificationNameTypeCardinalityDescription
::>::>DataManagedObject::>PRICING PARAMETER SET hérite de DATA MANAGED OBJECT. Voir NeTEx Partie 1.
idPricingParameterSetIdType1:1Identifiant du PRICING PARAMETER SET.
NameMultilingualString0:1Nom du PRICING PARAMETER SET.
« cntd »priceUnitsPriceUnit0:*PRICE UNITs disponibles.
« cntd »pricingRulesPricingRule0:1PRICING RULEs disponibles.
AllowCumulativeDiscountsxsd:boolean0:1Indique si les remises cumulatives sont autorisées.
« FK »DayTypeRefDayTypeRef0:1FARE DAY par default.
« cntd »monthValidityOffsetsMonthValidityOffset0:12Décalages de jours pour chaque mois de l’année à utiliser pour décider de la date d’activation de certains produits.
« cntd »pricingServicesPricingService0:*PRICING SERVICEs disponibles

Le MonthValidityOffset décrit les jours avant (négatif) ou après (positif) le début du mois où un produit, dont l’activation est basée sur une période calendaire, devient valide.

MonthValidityOffset – Element
ClassificationNameTypeCardinalityDescription
::>::>DataManagedObject::>MONTH VALIDITY OFFSET hérite de DATA MANAGED OBJECT.
Monthmonth1:1Numéro de mois
NameMultilingualString0:1Nom du MONTH VALIDITY OFFSET.
DayOffsetxsd:integer1:1Nombre de jours par rapport au début du mois.

Utilisation des Notices

Les notes sont un élément important dans la communication sur la tarification (il suffit de regarder une fiche tarifaire pour voir qu’elle est truffée d’astérisques et de renvois vers tout une série de notes). Il faut de plus noter que, dans le contexte particulier du Profil Tarif France, sa mise en service sera plus délicate que les autres profils de fait qu’il n’existe que très peu d’offre tarifaire déjà décrite de façon structurée et numérique (on a encore, en 2021, majoritairement des pages web et de document PDF pour présenter l’offre tarifaire) : le travail de représentation structuré initial sera donc relativement long et conséquent et il sera utile de procéder par étapes. L’une des solutions pour procéder par étape pourra être de commencer par ne structurer que les éléments clés de produits : on décrit les fondamentaux (FareStructureElement comme une origine-destination ou une validité temporelle d’une heure trente par exemple), le produit tarifaire (PreassignedFareProduct) et l’offre à la vente (SalesOfferPackage) mais avec des droits (ValidityParameter, UsageParameter, etc.) très succincts, et on assemble l’ensemble dans une grille tarifaire (FareTable) dans laquelle on ajoute une note précisant les droits. L’idée ici est typiquement de fournir suffisamment d’éléments pour qu’un système d’information (calculateur d’itinéraire, service en contexte MaaS, etc.) puisse proposer le titre quand il a de grande chance d’être pertinent et que la note associée permette à l’usager de décider si le titre lui convient ou pas.

La figure ci-dessous montre un titre TER (Bourgogne-Franche-Compté) que l’on peut décrire en détail avec NeTEx mais qui nécessite de nombreux éléments de profil utilisateur combinés (salarié des entreprises, agent des administrations, autre professionnels…), qui nécessitera aussi un enregistrement du professionnel ou de sa société, etc. Ces éléments de droits d’accès et de profil utilisateur peuvent, en première approche, être insérés dans une note : en réutilisant le titre (PreassignedFareProduct) « standard » on créera une offre à la vente (SalesOfferPackage) dédiée que l’on associera, dans la grille tarifaire (FareTable) à une note (Notice) et à l’information sur la réduction correspondant (via un FarePrice), ici de 30%.

Exemple de tarif particulier pouvant justifier l’usage d’une note pour le simplifier

Autre élément important dans le cadre de ce profil : les Notices seront exclusivement rattachées aux grilles tarifaires (FareTable), qui permettra en fait de l’associer à une offre à la vente (SalesOfferPackage), ou éventuellement à un produit tarifaire (PreassignedFareProduct). Théoriquement une note peut être attachée à n’importe quel objet mais attacher les note sans règle à de nombreux endroits rendrait l’exploitation de la donnée très délicate.

Il sera aussi souvent utile de pouvoir proposer des traductions des notes dans différentes langues : on procédera naturellement à ces traduction grâce à l’élément AlternativeText (décrit dans le document NF_Profil NeTEx éléments communs(F) à partir de la version 2).

Exemple minimal

L’exemple ci-dessous illustre la description d’un tarif minimal : l’option prise dans cette exemple est d’être le plus simple et compact possible, mais cette simplification a pour conséquence qu’un calculateur d’itinéraire, s’il aura la possibilité de présenter cette offre pour les réseau concernés, ne pourra pas vérifier qu’il est pertinent pour un itinéraire proposé (seul le texte indique que la durée d’utilisation et d’une heure trente au maximum par exemple). Le même exemple est proposé de façon un tout petit peu plus détaillé en B.2-Tarif simple (il ajoute en particulier un élément de structure tarifaire de type TimeInterval qui pourra être utilisé par par le calculateur d’itinéraire).

<?xml version="1.0"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://www.netex.org.uk/netex ./xsd/NeTEx_publication.xsd" version="1.1">
  <!--- =============== ENTETE =========== -->
  <PublicationTimestamp>2019-06-12T09:30:47.0Z</PublicationTimestamp>
  <ParticipantRef>AURIGE001</ParticipantRef>
  <!-- ========== DONNEES =========== -->
  <dataObjects>
    <!-- =========================================== -->
    <!-- CompositeFrame.de type NETEX_FRANCE -->
    <CompositeFrame version="1" created="2019-06-12T09:30:47.0Z" id="FR-Tarif-Example:CompositeFrame:myFrame01:LOC">
      <frames>
        <!-- =========================================== -->
        <!-- Frame NETEX_TARIF -->
        <GeneralFrame version="001" id="FR-Tarif-Example:TypeOfFrame:NETEX_TARIF-Example1:LOC">
          <TypeOfFrameRef ref="FR:TypeOfFrame:NETEX_TARIF">version="1.01:FR-NETEX_TARIF-1.0"</TypeOfFrameRef>
          <members modificationSet="all">
            <!-- ======================================================================== -->
            <!-- LE TITRE -->
            <PreassignedFareProduct id="FR-Tarif-Example:PreassignedFareProduct:T+001:LOC" version="any">
              <Name>Ticket 1h30</Name>
              <AuthorityRef ref="FR-Tarif-Example:Authority:IDFM:"/>
              <ConditionSummary>
                <TariffBasis>period</TariffBasis>
                <CanBreakJourney>false</CanBreakJourney>
                <IsRefundable>false</IsRefundable>
                <IsExchangable>false</IsExchangable>
              </ConditionSummary>
              <ProductType>singleTrip</ProductType>
            </PreassignedFareProduct>
            <!-- ======================================================================= -->
            <!-- FARE TABLE avec affectation des prix -->
            <!-- Version minimaliste sans SalesOfferPackage (le lien direct avec FareProduct) -->
            <FareTable version="any" id="lFR-Tarif-Example:TickeT+FareTable:001:LOC">
              <Name> Bus Fare Prices - 18+Student </Name>
              <cells>
                <Cell version="any" id="FR-Tarif-Example:Cell:001:LOC" order="1">
                  <SalesOfferPackagePrice version="any" id="lFR-Tarif-Example:SalesOfferPackagePrice:001:LOC">
                    <Name>Ticket 1h30</Name>
                    <Amount>1.90</Amount>
                  </SalesOfferPackagePrice>
                  <PreassignedFareProductRef ref="FR-Tarif-Example:PreassignedFareProduct:T+001:LOC" version="any"/>
                  <NetworkRef ref="FR-Tarif-Example:Network:001:"/>
                  <!--Réseau concerné-->
                  <noticeAssignments>
                    <NoticeAssignmentView>
                      <Text>Ticket 1h30 - a l'unit&#xE9; plein tarif &#x2013; Aller/retour interdit, gratuit pour le moins de 4 ans, ticket disponible en agence uniquement</Text>
                      <CanBeAdvertised>true</CanBeAdvertised>
                    </NoticeAssignmentView>
                  </noticeAssignments>
                </Cell>
                <!-- etc. -->
              </cells>
            </FareTable>
            <!-- ======================================================================== -->
          </members>
        </GeneralFrame>
      </frames>
    </CompositeFrame>
  </dataObjects>
</PublicationDelivery>

Entêtes NeTEx

Note: les entêtes NeTEx sont présentés dans le document éléments communs. Seules les spécificités du profil NETEX_TARIF sont présentées ici.

TypeOfFrame : type spécifique NETEX_TARIF

Le présent profil utilise un TypeOfFrame spécifique, identifié NETEX_TARIF. Il apparaitra systématiquement et explicitement dans les éléments members du GeneralFrame.

TypeOfFrame – Element
Classifi­cationNomTypeDescription
::>::>TypeOfValueDataManagedObject::>::>

TYPE OF FRAME hérite de TYPE OF VALUE.

L'Id est imposé à NETEX_TARIF

« cntd »classesClassInContextRef0:*

Liste des classes pouvant être contenues dans ce TYPE OF FRAME.

La liste est fixe pour NETEX_TARIF:

  • FARE STRUCTURE ELEMENT

  • FARE STRUCTURE ELEMENT IN SEQUENCE

  • QUALITY STRUCTURE FACTOR

  • FARE DEMAND FACTOR

  • TIME DEMAND TYPE

  • FARE QUOTA FACTOR

  • TARIFF

  • TIME INTERVAL

  • TIME STRUCTURE FACTOR

  • TIME UNIT

  • GEOGRAPHICAL INTERVAL

  • GEOGRAPHICAL UNIT

  • GEOGRAPHICAL STRUCTURE FACTOR

  • DISTANCE MATRIX ELEMENT

  • GROUP OF DISTANCE MATRIX ELEMENTS

  • VALIDABLE ELEMENT

  • CONTROLLABLE ELEMENT

  • PREASSIGNED FARE PRODUCT

  • SALE DISCOUNT RIGHT

  • CAPPED DISCOUNT RIGHT

  • SUPPLEMENT PRODUCT

  • USAGE DISCOUNT RIGHT

  • THIRD PARTY PRODUCT

  • SALES OFFER PACKAGE

  • GROUP OF SALES OFFER PACKAGES

  • TYPE OF TRAVEL DOCUMENT

  • DISTRIBUTION CHANNEL

  • DISTRIBUTION ASSIGNMENT

  • ACCESS RIGHT PARAMETER ASSIGNMENT

  • USAGE VALIDITY PARAMETER

  • VALIDITY PARAMETER ASSIGNMENT

  • GENERIC PARAMETER ASSIGNMENT

  • SCOPING VALIDITY PARAMETERS

  • USAGE PARAMETER (and all inheriting objects)

  • FARE TABLE (and associated object, cell, etc.)

  • SALES OFFER PACKAGE PRICE

  • PRICING SERVICE

TypeOfValue (pour le TypeOfFrame NETEX\_ HORAIRE) – Element
Classifi­cationNameTypeDescription
::>::>DataManagedObject::>

TYPE OF VALUE hérite de DATA MANAGED OBJECT.

L’attribut version portera la version du profil.

L'Identifiant du TYPE OF VALUE est imposé à NETEX_TARIF.

NameMultilingualString1:1

Nom du TYPE OF VALUE.

Imposé à « NETEX TARIF ».

DescriptionMultilingualString1:1

Description du TYPE OF VALUE.

Imposé à « Profil d’échange français NETEX TARIF ».

Usage Parameters

Les CONDITIONS D’UTILISATION (USAGE PARAMETER) sont nombreuses, mais il est difficile d’en faire une sélection dans le cadre du profil car la diversité des offres tarifaire est telle qu’il n’est pas possible d’affirmer que telle CONDITION d’UTILISATION n’est (et ne sera) utile nulle part en France. Les tableaux ci-dessous fournissent, pour mémoire, donc l’intégralité des CONDITIONS D’UTILISATION proposées par NeTEx (non traduit en Français, donc en Anglais).

Usage Parameter: Travel – Attributes

RoundTrip – Element

Properties relating to single or return trip use of an access right.

RoundTrip – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>ROUND TRIP hérite de USAGE PARAMETER.
« PK »idRoundTripIdType1:1

Identifiant du ROUND TRIP.

  • single Single trip.

  • return Outbound and return trip.

  • returnOut Outbound leg of return journey

  • returnBack Return leg of return journey.

  • returnOnly Return trip only

  • multiple Multiple trip.

TripTypexsd:boolean0:1Whether return trip is allowed.
DoubleSingleFarexsd:boolean0:1Whether fare for return trip is single fare doubled.
ShortTripxsd:boolean0:1Whether trip is classified as a short trip for fares.
IsRequiredxsd:boolean0:1Whether return trip is required.

Routing – Element

Limitations on routing of an access right.

Routing – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>ROUTING hérite de USAGE PARAMETER.
« PK »idRoutingIdType1:1Identifiant du ROUTING.
ReturnRouteIdenticalxsd:boolean0:1Whether return route shall be same as outbound route.
ForwardsOnlyxsd:boolean0:1Whether passenger may only take routes that proceed in a single direction. (They may not use product to achieve a return trip for the cost of a single trip).
IsRestrictedxsd:boolean0:1Whether only allowed on certain routes or series.
CrossBorderxsd:boolean0:1Whether the routing is across a border.

FrequencyOfUse – Element

The limits of usage frequency for a FARE PRODUCT (or one of its components) or a SALES OFFER PACKAGE during a specific VALIDITY PERIOD. There may be different tariffs depending on how often the right is consumed during the period.

FrequencyOfUse – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>FREQUENCY OF USE hérite de USAGE PARAMETER.
« PK »idFrequencyOfUseIdType1:1Identifiant du FREQUENCY OF USE.
« enum »FrequencyOfUseTypeFrequencyOfUseEnum0:1

Type of Frequency of Use. See allowed values below.

  • none No use changes allowed.

  • single Single use allowed.

  • limited Limited use allowed.

  • unlimited Unlimited use allowed.

  • twiceADay Can be used twice a day.

MinimalFrequencyxsd:integer0:1Minimum number of times can be used.
MaximalFrequencyxsd:integer0:1Maximum number of times can be used.
FrequencyIntervalxsd:duration0:1Interval within which frequency is measured. If absent forever.
« FK »TimeIntervalRefTimeIntervalRef0:1Interval within which frequency is measured. - as Référence au arbitrary time interval.
« enum »DiscountBasisDiscountBasisEnum0:1

Nature of discount for number of journeys. See allowed values below.

  • none No companion allowed.

  • free Companion allowed for free

  • discount Companion allowed at discount

Interchanging – Element

Limitations on making changes within a trip.

Interchanging – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>INTERCHANGING hérite de USAGE PARAMETER.
« PK »idInterchangingIdType1:1Identifiant du INTERCHANGING.
CanInterchangexsd:boolean0:1Whether an interchange can be made.
« enum »FromModeVehicleModeEnum0:1TRANSPORT MODE from which user is interchanging. See NeTEx Part1 for allowed values.
« enum »ToModeVehicleModeEnum0:1TRANSPORT MODE to which user is interchanging. See NeTEx Part1 for allowed values.
MaximumNumberOfChangesxsd:integer0:1Maximum number of transfers that can be made on a trip.
MaximumTimeToMakeATransferxsd:duration0:1Maximum time allowed to make a transfer.
CanBreakJourneyxsd:boolean0:1Whether the journey can be broken at an interchange point.
CrossBorderxsd:boolean0:1Whether the interchange is across a border.
« enum »RegisterBreakOfJourneyRegisterBreakOfJourneyEnum0:*

Whether the Journey can be interrupted, i.e. leave stop point and return. See allowed values below.

  • none No action needed.

  • markByStaff Journey break shall be marked by operator staff.

  • markByValidator Journey break shall be marked by validator.

  • markByMobileApp Journey break shall be marked using mobile application.

  • other Journey break shall be marked by other means.

MinimumStay – Element

Details of any minimum stay at the destination required to use the product.

MinimumStay – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>MINIMUM STAY hérite de USAGE PARAMETER.
« PK »idMinimumStayIdType1:1Identifiant du MINIMUM STAY parameter.
MinimumStayTypeMinimumStay0:1

Nature of Minimum stay requirements. See allowed values below.

  • none Starts on purchase.

  • specifiedNightsAway Shall spend specified nights away.

  • countNightsAway Shall spend the specified number of nights away.

  • either Shall spend either the specified number of nights away or the specified nights

  • both Shall spend the specified number of nights away which shall be from the specified nights.

« enum »RequiredNightsAwayDayOfWeekEnum0:7Specific nights which shall be spent away. See NeTEx Part1.
MinimumNumberOfNightsAwayxsd:integer0:1Minimum number of nights that shall be spent away.
MaximumNumberOfNightsAwayxsd:integer0:1Minimum number of nights that can be spent away.

StepLimit – Element

Geographical parameter limiting the access rights by counts of stops, sections or zones.

StepLimit – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>STEP LIMIT hérite de USAGE PARAMETER.
« PK »idStepLimitIdType1:1Identifiant du STEP LIMIT parameter.
Restrictedxsd:boolean0:1Whether restricted to a number of stops.
« enum »StepUnitsStepUnitEnum0:`

Units in which steps are counted. See allowed values below.

  • stops Step limit applies to number of stops at which user enters or changes.

  • stopsIncludingPassThroughStops Step limit applies to number of stops including stops passed though.

  • sections Step limit applies to number of sections passed though.

  • zones Step ep limit applies to number of zones passed though.

  • networks Step limit applies to number of networks passed though.

  • operators Step limit applies to number of operators used.

  • countries Step limit applies to number of countries passed though.

MinimumNumberOfStepsxsd:integer0:1Minimum number of steps allowed.
MaximumNumberOfStepsxsd:integer0:1Maximum number of steps allowed.
MaximumNumberOfTripsxsd:integer0:1Maximum number of trips allowed.

UsageValidityPeriod – Element

A time limitation for validity of a FARE PRODUCT or a SALES OFFER PACKAGE. It may be composed of a standard duration (e.g. 3 days, 1 month) and/or fixed start/end dates and times.

UsageValidityPeriod – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>USAGE VALIDITY PERIOD hérite de USAGE PARAMETER.
« PK »idUsageValidityPeriodIdType1:1Identifiant du USAGE VALIDITY PERIOD.
« enum »ValidityTypeValidityTypeEnum0:*

Type of USAGE VALIDITY PERIOD. See allowed values below.

  • singleRide A single ride.

  • singleTrip A single trip.

  • returnTrip A return trip.

  • carnet A number of individual trips.

  • dayPass Ticket valid for a day.

  • weeklyPass Valid for one week.

  • weekendPass Valid for one weekend.

  • monthlyPass Valid for one month.

  • annualPass Valid for one year.

  • seasonTicket Ticket valid for specified period of several days, weeks or months.

  • profileMembership Ticket valid while member of a COMMERCIAL PROFILE or USER PROFILE.

  • subscription Product valid for specified period of subscription.

  • openEnded Ticket valid until otherwise notified.

  • other Other Validity period

« enum »UsageTriggerUsageTriggerEnum0:1

Trigger event that starts validity period. See allowed values below.

  • startOfPeriod Start of period. Beginning time for period in which first use occurs (for Capping products)

  • startOutboundRide Start of outbound trip.

  • endOutboundRide End of outbound trip.

  • startReturnRide Start of return trip

  • enrolment Validity period starts when user registers (e.g. creates a customer account).

  • reservation Validity period starts when user makes a reservation.

  • purchase Starts on purchase.

  • activation Validity period starts when user activates a product.

  • specifiedStartDate Start date specified at purchase - may be different from purchase date.

  • fulfilment Starts on collection.

  • dayOffsetBeforeCalendarPeriod Becomes valid a given number days before start of calendar period where number of days is specified by a MONTH VALIDITY OFFSET.

« enum »UsageEndUsageEndEnum0:1

Classification du when the end of the Usage validity period occurs. May be a specified period (Standard Duration) or an event, e.g. end of trip. See allowed values below.

  • standardDuration Period Ticket valid for specified after validation. May be in terms of trip or a specified period.

  • endOfCalendarPeriod Ticket valid to end of calendar period.

  • endOfRide Ticket valid to end of ride.

  • endOfTrip Ticket valid to end of trip - may be several rides.

  • endOfFareDay Ticket valid to end of fare day.

  • endOfFarePeriod Ticket valid to end of fare period.

  • productExpiry Product valid to end of product - for a travel card withe expiry date.

  • deregistration Product valid until deregistration.

  • profileExpiry Ticket valid while member of a profile. Stops when ends.

  • other Other Validity period.

StandardDurationxsd:duration0:1Duration of VALIDITY PERIOD after departure. or validation
« enum »ActivationMeansActivationMeansEnum0:1

Means of activatiing start of period. See allowed values below.

  • noneRequired No activation required.

  • checkIn Activation occurs automatically on check-in at barrier, etc.

  • useOfValidator Activation occurs on use of validator.

  • useOfMobileDevice Activation is made by using mobile device.

  • automaticByTime Activation occurs automatically at specified time of travel.

  • automaticByProximity Activation occurs automatically by proximity to stop and/or vehicle.

  • other Other means of activation.

StartDatexsd:date0:1Start date for VALIDITY PERIOD.
StartTimexsd:time0:1Start time for VALIDITY PERIOD.
EndDatexsd:date0:1End date for VALIDITY PERIOD.
EndTimexsd:time0:1End time for VALIDITY PERIOD.

UsageValidityPeriodStartConstraintGroup – Group

Elements relating to the start of the Validity Period.

UsageValidityPeriodStartConstraintGroup – Group
ClassificationNameTypeCardinalityDescription
« enum »UsageStartConstraintTypeUsageStartConstraintEnum0:1

Whether start type of trip or pass is variable or fixed. See allowed values below.

  • variable Validity start date can be chosen by user.

  • fixed Validity start date is constrained. For a pass to certain days of week, month or year. For a trip to a specific train.

  • fixedWindow Validity start date for a trip is constrained relative to start of booked service, e.g. may catch previous train as well.

  • noTravelWithinTimeband No travel permitted within exclusion time band of a day.

« cntd »startOnlyOnDayType0:*Prices for the USAGE PARAMETER.
MaximumServicesBeforexsd:nonNegativeInteger0:1If UsageStartConstraintType is "fixedWindow", maximum number of services before the booked train that may also be used.
FlexiblePeriodBeforexsd:duration0:1If UsageStartConstraintType is "fixedWindow", maximum period before the booked train during which other trains may also be caught.
MaximumServicesAfterxsd:nonNegativeInteger0:1If UsageStartConstraintType is "fixedWindow", maximum number of services after the booked train that may also be used.
FlexiblePeriodAfterxsd:duration0:1If UsageStartConstraintType is "fixedWindow", maximum period after the booked train during which other trains may also be caught.

Suspending – Element

Conditions governing temporary suspension of a FARE PRODUCT, (i.e. period pass or subscription).

Suspending – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>SUSPENDING hérite de USAGE PARAMETER.
« PK »idSuspendingIdType1:1Identifiant du USAGE VALIDITY PERIOD.
« enum »SuspensionPolicySuspensionPolicyEnum0:*

Allowed policies for suspending term of product.

  • none Suspension not allowed.

  • forCertifiedIllness Suspension allowed for illness.

  • forParentalLeave Suspension allowed for parental leave.

  • forHoliday Suspension allowed for holiday.

  • forAnyReason Suspension allowed for any reason

  • weeklyPass Valid for one week.

  • weekendPass Valid for one weekend.

  • monthlyPass Valid for one month.

  • seasonTicket Ticket valid for specified period of several days, weeks or months.

  • profileMembership Ticket valid while member of a COMMERCIAL PROFILE or USER PROFILE.

  • openEnded Ticket valid until otherwise notified.

  • other Other Validity period

QualificationPeriodduration0:1Minimum duration that shall have occurred before a suspension is allowed.
QualificationPercentdecimal0:1Minimum proportion of term that shall have occurred before a suspension is allowed.
MinimumSuspensionPeriodduration0:1Minimum duration allowed for a suspension.
MaximumSuspensionPeriodduration0:1Maximum duration allowed for a suspension.
MaximumNumberOfSuspensionsPerTermnonNegativeInteger0:1Maximum duration allowed for a suspension. with the term of the fare product or subscription.

Usage Parameter: Eligibility – Attributes

GroupTicket – Element

The number and characteristics of persons entitled to travel in addition to the holder of an access right.

GroupTicket – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>GROUP TICKET hérite de USAGE PARAMETER.
« PK »idGroupTicketIdType1:1Identifiant du GROUP TICKET.
« FK »TypeOfConcessionRefTypeOfConcessionRefType of concession to which this group applies.
XGRPGroupTicketSizeGroupxmlGroup0:1Elements relating to size of group.
XGRPGroupTicketCalculationGroupxmlGroup0:1Elements relating to calculation of group discount.
« enum »JointCheckInGroupCheckInEnum0:1

Whether joint check in is required. See allowed values below.

  • none No group check in.

  • required Passengers shall check in together.

  • allowed Passengers may check in together.

« enum »TicketingGroupTicketingEnum0:1

Nature of tickets issued for group. See allowed values

  • allOnOneTicket A single ticket is issued for the whole group.

  • separateTickets Separate tickets are issued for each member of the group.

  • ticketWithCoupons There is a main ticket with coupons for each member.

  • other Other ticketing.

« enum »GroupBookingFacilityGroupBookingEnum0:1Type of Group Booking allowed. See NeTEx Part1.

GroupTicketSizeGroup – Group

The GroupTicketSizeGroup specifies the number and characteristics of persons entitled to travel in addition to the holder of an access right.

GroupTicketSizeGroup – Group
ClassificationNameTypeCardinalityDescription
MinimumNumberOfPersonsNumberOfPersons0:1Minimum number of persons overall allowed on GROUP TICKET.
MaximumNumberOfPersonsNumberOfPersons0:1Maximum number of persons overall allowed on GROUP TICKET.
MinimumNumberOfCardHoldersNumberOfPersons0:1Minimum number of card holders required to qualify for this GROUP TICKET.
« cntd »companionProfilesCompanionProfile0:*COMPANION OR GROUP allowed in each USER PROFILE category.

GroupTicketCalculationGroup – Group

The GroupTicketCalculationGroup specifies parameters affecting the calculation of the group discount.

GroupTicketCalculationGroup – Group
ClassificationNameTypeCardinalityDescription
« enum »PricingBasisPerBasisEnum0:1

Basis on which pricing is done - per whole group or per member. See allowed values below.

  • none No companion allowed.

  • free All members free.

  • discountForAll Discount for all members of group.

  • discountForFirstMemberOfGroup Discount for first member of group only.

  • discountForSecondAndSubsequentMembersOfGroup Discount for second and subsequent member of group.

  • stepDiscount Discount depends on number of people in group.

MaximumPersonsFreeNumberOfPassengers0:1Number of persons allowed free on ticket.
MaximumPersonsDiscountedNumberOfPassengers0:1Maximum number of persons for which a group discount is allowed.
DiscountOnlyForFirstPersonxsd:boolean0:1Whether there is only a discount for the first person in the group.
MinimumNumberOfCardHoldersNumberOfPassengers0:1Minimum number of persons in the group who shall hold a qualifying railcard for the discount to be granted.
OneForNPersonsNumberOfPassengers0:1Whether discount is on a one-for-n basis. Intermediate numbers are rounded down.
GroupSizeChangesGroupSizeChangesEnum0:1

Possibilities for changing the number of people in the group. See allowed values below.

  • noCharge Group size cannot be changed

  • free No charge to change group size.

  • charge Charge for changing group size.

  • discountForFirstMemberOfGroup Discount for first member of group only.

  • purchaseWindowSteppedCharge Group size can be changed, charges are according to a sliding scale according to the length of time before travel (as specified by several EXCHANGING parameters)

  • numberOfPassengersSteppedCharge Group size can be changed, charges are according to a sliding scale according to the number of passengers changed.

UserProfile – Element

The social profile of a passenger, based on age group, education, profession, social status, sex etc., often used for allowing discounts: 18-40 years old, graduates, drivers, unemployed, women etc.

UserProfile – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>USER PROFILE hérite de USAGE PARAMETER.
« PK »idUserProfileIdType1:1Identifiant du USER PROFILE.
« FK »BaseUserProfileRefUserProfileIdType0:1Base USER PROFILE which this profile refines.
« FK »TypeOfConcessionRefTypeOfConcessionRef0:1Classification by type of concession.
« enum »UserTypeUserTypeEnum0:1

Classification du user type.

  • anyone User is any type of person.

  • adult User is a human.

  • child User is a child.

  • infant User is an infant.

  • senior User is a senior.

  • schoolPupil User is school pupil.

  • student User is a student.

  • youngPerson User is a young person.

  • disabled User is a guide dog.

  • disabledCompanion User is a guide dog.

  • employee User is an employee of a company.

  • military User is a member of the armed forces.

  • jobSeeker User is unemployed.

  • guideDog User is a guide dog.

  • animal User is an animal.

XGRPUserProfileQualificationGroupxmlGroup0:1Elements describing eligibility conditions for user.
« enum »GenderLimitationGenderLimitationList0:1Gender required by USER PROFILE. Relevant for single sex accommodation products.
« enum »ProofRequiredProofOfIdentityEnum0:*

Proof required for type of user. See allowed values below.

  • noneRequired No proof required.

  • passport Proof is to show a passport.

  • drivingLicence Proof is to show a driving licence.

  • birthCertificate Proof is to show a birth certificate.

  • membershipCard Proof is to show an Identify document. such as a passport or driving licence.

  • studentCard Proof is to show a student card.

  • identityDocument Proof is to show an Identify document.

  • creditCard Proof is to show a credit card.

  • medicalDocument Proof is to show a medical document or letter from a medical authority.

  • letterWIthAddress Proof is to show a letter or bill from an organisation to the applicant’s address.

  • measurement Height or other physical measurement.

  • emailAccount Proof is to respond from a valid email account.

  • mobileDevice Proof is to respond from a mobile device associé au an account.

  • other Other proof.

« enum »DiscountBasisDiscountBasisEnum0:1Nature of discount for this type of user. See earlier for allowed values.
« cntd »companionProfilesCompanionProfile0:*COMPANION PROFILEs describing users who may travel with user.

UserProfileQualificationGroup – Group

The UserProfileQualificationGroup specifies attributes describing the eligibility of a user to belong to a USER PROFILE.

UserProfileQualificationGroup – Group
ClassificationNameTypeCardinalityDescription
MinimumAgexsd:integer0:1Minimum age for membership of USER PROFILE.
MaximumAgexsd:integer0:1Maximum age for membership of USER PROFILE.
MonthDayOnWhichAgeAppliesxsd:gmonthDay0:1Day / Month on which age applies. if any.
MinimumHeightLengthType0:1Minimum height for membership of USER PROFILE. For example, to restrict access for health and safety reasons.
MaximumHeightLengthType0:1Maximum weight for membership of USER PROFILE. This may be relevant for example for judging large dogs, or a limit on children.
LocalResidentxsd:boolean0:1Whether user shall be local resident. The default value is ‘true’.
« cntd »residesResidentialQualification0:*RESIDENTIAL QUALIFICATIONs for USER PROFILE – if more than one, these will be logically ORed together.

ResidentialQualification – Element

The RESIDENTIAL QUALIFICATION element describes a requirement to live in a certain area.

ResidentialQualification – Element
ClassificationNameTypeCardinalityDescription
::>::>VersionedChild::>RESIDENTIAL QUALIFICATION hérite de VERSIONED CHILD. See NeTEx Part1.
« PK »idResidentialQualificationIdType1:1Identifiant du RESIDENTIAL QUALIFICATION.
NameMultilingualString0:1Nom du RESIDENTIAL QUALIFICATION.
DescriptionMultilingualString0:1Description du RESIDENTIAL QUALIFICATION.
« FK »ParentRefUsageParameterRef+0:1Parent USER PROFILE for whom this specifies a RESIDENTIAL QUALIFICATION.
MustResidexsd:boolean0:1Whether the user shall or shall not reside in specified TOPOGRAPHIC PLACE.
« FK »TopographicalPlaceRefTopographicalPlaceRef0:1TOPOGRAPHIC PLACE for which residency rule applies. See NeTEx Part1.
« enum »ResidenceTypeResidenceTypeEnum0:1

Classification du type of residence required, e.g. live, work, study.

  • live Shall live in specified area.

  • work Shall work in specified area.

  • study Shall be in full time education in specified area.

  • exchange Shall be on qualifying exchange programme in specified area.

  • born Shall have been born in the specified area.

  • nonResident Shall not reside in the specified area.

MinimumDurationxsd:duration0:1Minimum period of residency needed to qualify.

CompanionProfile – Element

The COMPANION PROFILE specifies the number and characteristics of persons entitled to travel in addition to the holder of an access right, for example children, wheelchair carer, etc.

CompanionProfile – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>COMPANION PROFILE hérite de USAGE PARAMETER.
« PK »idGroupTicketUserIdType1:1Identifiant du COMPANION PROFILE.
ParentRefUsageParameterRef+0:1Parent USER PROFILE for whom this specifies an allowed companion type.
« FK »UserProfileRefUserProfileRef0:1Reference USER PROFILE defining a category of people eligible to be a companion.
« enum »CompanionRelationshipCompanionRelationshipEnum0:1

Required relationship of companion to eligible user. See allowed values below. .

  • anyone Anyone

  • parent Parent

  • grandparent Grandparent

  • child Childe

  • grandchild Grandchild

  • family Family

  • spouse Spouse

  • partner Partner

  • dependent Dependent

  • colleague Colleague

  • pupil Pupil

  • teacher Teacher

  • carer Carer

MinimumNumberOfPersonsxsd:integer0:1Minimum number of persons overall allowed of this type.
MaximumNumberOfPersonsxsd:integer0:1Maximum number of persons overall allowed of this type.
« enum »DiscountBasisDiscountBasisEnum0:1Nature of discount for this type of user. See allowed values earlier.

CommercialProfile – Element

A category of users depending on their commercial relations with the operator (frequency of use, amount of purchase etc.), often used for allowing discounts.

CommercialProfile – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>COMMERCIAL PROFILE hérite de USAGE PARAMETER.
« PK »idCommercialProfileIdType1:1Identifiant du COMMERCIAL PROFILE.
« FK »TypeOfConcessionRefTypeOfConcessionRef0:1Référence à un TYPE OF CONCESSION.
ConsumptionAmountxsd:anyType0:1Consumption amount associé au COMMERCIAL PROFILE.
ConsumptionUnitsxsd:anyType0:1Units for Consumption amount associé au COMMERCIAL PROFILE.
GeneralGroupOfEntitiesRefGeneralGroupOfEntitiesRef0:1GROUP OF ORGANISATIONs or other entities associé au the COMMERCIAL PROFILE.

TypeOfConcession – Element

A Classification du USER PROFILE by type of person eligible to use it

TypeOfConcession – Element
ClassificationNameTypeCardinalityDescription
::>::>TypeOfValue::>TYPE OF CONCESSION hérite de TYPE OF VALUE. See NeTEx Part1.
« PK »idTypeOfConcessionIdType1:1Identifiant du TYPE OF CONCESSION.
« cntd »alternativeNamesAlternativeName0:*Alternative names for VALUE.

EligibilityChangePolicy – Element

A Classification du USER PROFILE by type of person eligible to use it

EligibilityChangePolicy – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>ELIGIBILITY CHANGE POLICY hérite de USAGE PARAMETER.
« PK »idEligibilityChangePolicyIdType1:1Identifiant du ELIGIBILITY CHANGE POLICY.
« enum »OnBecomingEligiblePolicyOnBecomingEnumeration0:1

Policy to apply on product holder becoming eligible.

  • automatic Automatically enrol or upgrade the user. To reflect status change.

  • invite Invite the user to change products.

  • noAction Take no action.

  • other Other action.

« enum »OnCeasingToBeEligiblePolicyOnCeasingEnum0:1

Policy to apply on product holder ceasing to be eligible. See allowed values below.

  • onCeasingEligibility Allowed values for Ceasing to be eligible.

  • immediateTermination If user ceases to be eligible, automatically terminate validity of an eligibility dependent product.

  • useUntilExpiry If user ceases to be eligible, they may go on using the product until it expires.

  • terminateAfterGracePeriod If user ceases to be eligible, termination take place after the end of a grace period

  • automaticallySubstituteProduct If user ceases to be eligible, automatically substitute them with an appropriate replacement product.

  • noAction If user ceases to be eligible, take no action.

  • other Other action.

Usage Parameter: Entitlement – Attributes

EntitlementRequired – Element

Receiving of entitlement from another FARE PRODUCT.

EntitlementRequired – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>ENTITLEMENT REQUIRED hérite de USAGE PARAMETER.
« PK »idEntitlementRequiredIdType1:1Identifiant du ENTITLEMENT REQUIRED.
« FK »ServiceAccessRightRefServiceAccessRightRef0:1Entitlement comes from the referenced FARE PRODUCT.
MinimumQualificationPeriodxsd:duration0:1Minimum period that required product shall be held in order to be eligible.
EntitlementConstraintEntitlementConstraint0:1Constraints on related product or offer.

EntitlementGiven – Element

Granting of entitlement to another FARE PRODUCT.

EntitlementGiven – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>ENTITLEMENT GIVEN hérite de USAGE PARAMETER.
« PK »idEntitlementGivenIdType1:1Identifiant du ENTITLEMENT GIVEN.
« FK »ServiceAccessRightRefServiceAccessRightRef0:1Entitlement comes from the referenced FARE PRODUCT.
MinimumQualificationPeriodxsd:duration0:1Minimum period that product shall be held for entitlement to be granted.
EntitlementConstraintEntitlementConstraint0:1Constraints on related product or offer.
« enum »EntitlementTypeEntitlementTypeEnum0:1

Type of entitlement. See allowed values below.

  • use Entitlement is to use product.

  • purchase Entitlement is to purchase product.

  • none No entitlement.

EntitlementConstraint – Element

Constraints on choices for an dependent entitled product relative to the required choices for the prerequisite entitling product.

7.6.1.3.7.3 EntitlementConstraint – Element
ClassificationNameTypeCardinalityDescription
« enum »PeriodConstraintSamePeriodEnum0:1

Constraint on validity period of associated product, e.g. Same time, same day, same period. See allowed values below.

  • any No period constraint.

  • samePeriod Shall be for same period as related product.

  • withinSamePeriod Shall be within period of related product.

  • sameDay Shall be for same day as related product.

  • sameDayOfReturn Shall be for same day of return of related product.

  • sameFareDay Shall be for same FARE DAY as related product.

  • nextDay Shall be for next FARE DAY as that of related product.

  • equivalentDuration Shall be equivalent to period of related product.

different Shall be different from period of related product.

« enum »OriginConstraintSameStopEnum0:1

Constraint on origin SCHEDULED STOP POINT of associated product. E.g. same stop.

  • any No constraint.

  • same Shall be same as that of related product.

  • sameAsOrigin Shall be same as origin of related product.

  • sameAsDestination Shall be same as destination of related product.

  • sameAsOriginOrDestination Shall be for same origin or destination of related product.

  • anyStopOnRoute Shall be within one of the stops on the route of the related product.

  • anyStopInZone Shall be within zone of related product.

  • different Shall be different from that of related product.

« enum »DestinationConstraintSameStopEnum0:1Constraint on destination SCHEDULED STOP POINT of product. See allowed values above.
« enum »TariffZoneConstraintSameZoneEnum0:1

Constraint on TARIFF ZONE of associated product.

  • any No constraint.

  • same Shall be same as related product.

  • sameAsOrigin Shall be same as origin of related product.

  • sameAsDestination Shall be same as destination of related product.

  • sameAsOriginOrDestination Shall be for same origin or destination of related product.

  • within Shall be within zone of related product.

  • containing Shall contain zone of related product.

  • equivalent Shall be equivalent to access right ZONE of related product.

  • different Shall be different from that of related product.

« enum »DirectionConstraintSameRouteEnum0:1

Constraint on DIRECTION of use of associated product.

  • any No constraint.

  • same Shall be same as that of related product.

  • oppositeDirection Shall be opposite to that of related product.

  • different Shall be different from that of related product.

« enum »RouteConstraintSameRouteEnum0:1Constraint on ROUTE of associated product. See allowed values above.
« enum »OperatorConstraintSameOperatorEnum0:1

Constraint on OPERATOR of associated product. E.g. same operator.

  • any No constraint.

  • same Shall be same as that of related product.

  • participating Shall be participant in interoperating agreement with operator of related product.

  • different Shall be different from that of related product.

« enum »TypeOfProductCategoryConstraintSameTypeOfProductCategoryEnum0:1

Constraint on TYPE OF PRODUCT CATEGORY of associated product.

  • any No constraint.

  • same Shall be same as that of related product.

  • sameOrEquivalent Shall be equivalent to that of related product.

  • different Shall be different from that of related product.

« enum »ClassOfUseConstraintSameClassOfUseEnum0:1

Constraint SERVICE JOURNEY of associated product.

  • any No constraint.

  • same Shall be same as that of related product.

  • sameOrEquivalent Shall be equivalent to that of related product.

  • different Shall be different from that of related product.

« enum »TypeOfTravelDocumentConstraintSameTypeOfTravelDocumentEnum0:1

Constraint on TYPE OF TRAVEL DOCUMENT of associated product.

  • any No constraint.

  • same Shall be same as that of related product.

  • sameMedia Shall use same media as that of related product.

  • sameSmartCard Shall be on same smart card ad that of related product.

  • sameMobileApp Shall use same mobile app as that of related product.

  • different Shall be different from that of related product.

« enum »JourneyConstraintSameJourneyEnum0:1

Constraint on SERVICE JOURNEY of associated product.

  • any No constraint.

  • same Shall be same as that of related product.

  • similar Shall be similar to that of related product.

  • different Shall be different from that of related product.

« enum »UserConstraintSameUserEnum0:1

Constraint on CUSTOMER and USER PROFILEs of associated product.

  • anyone No constraint on eligibility.

  • samePerson Shall be same person as that of associated product.

  • differentPerson Shall be diferent person as that of associated product.

  • specific Shall be belomg to a given USER PROFILE.

« cntd »specificProfilesUserProfileRef0:*Specific user profiles to which USER PROFILEs to which entitlement applies.

Usage Parameter: Luggage – Attributes

LuggageAllowance – Element

The number and characteristics (weight, volume) of luggage that a holder of an access right is entitled to carry.

LuggageAllowance – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>LUGGAGE ALLOWANCE hérite de USAGE PARAMETER.
« PK »idLuggageAllowanceIdType1:1Identifiant du LUGGAGE ALLOWANCE.
« enum »BaggageUseTypeBaggageUseEnum0:1

Use of baggage covered by the allowance. See allowed values below.

  • carryOn Luggage is to carry on.

  • checkIn Luggage is to check in.

  • oversizeCheckIn Oversize bag check in.

« enum »BaggageTypeLuggageUseEnum0:1

Type of baggage covered by the allowance. See allowed values below.

  • handbag Hand bag.

  • handLuggage Hand luggage.

  • smallSuitcase Small suitcase.

  • suitcase Suitcase.

  • trunk Trunk.

  • oversizeItem Oversized item.

  • bicycle Bicycles.

  • sportingEquipment Sporting equipment.

  • skis Skis.

  • musicalInstrument Musical Instruments.

  • pushChair Push chair.

  • motorizedWheelchair Motorized Wheelchair.

  • largeMotorizedWheelchair Large on street Motorized Wheelchair.

  • wheelchair Wheelchair (non-motorized).

  • smallAnimal Small animal.

  • animal Animal.

  • game Dead Game animals.

  • motorcycle Motor cycle.

  • other Other baggage item.

« enum »LuggageAllowanceTypeLuggageAllowanceEnum0:1

Classification du allowance type. See allowed values below.

  • none Luggage is to carry on.

  • unlimited Unlimited baggage allowance.

  • single Single bag allowed.

  • limited Baggage limited by restriction.

MaximumNumberOfItemsxsd:nonNegativeInteger0:1Number of bags allowed.
MaximumBagHeightLengthType0:1Maximum bag height.
MaximumBagWidthLengthType0:1Maximum bag width.
MaximumBagDepthLengthType0:1Maximum bag depth.
MaximumBagWeightWeightType0:1Maximum bag weight.
TotalWeightWeightType0:1Total Weight limit of LUGGAGE ALLOWANCE.
« enum »LuggageChargingBasisLuggageChargingBasisEnum0:1

Basis on which luggage is charged. See allowed values below.

  • free Luggage is free.

  • chargedByItem Luggage is charged by item (subject to item size and weight restrictions).

  • chargedByWeight Luggage is charged by weight.

  • other Luggage is charge don a different basis

Usage Parameter: Booking – Attributes

PurchaseWindow – Element

Period in which the product shall be purchased.

PurchaseWindow – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>PURCHASE WINDOW hérite de USAGE PARAMETER.
« PK »idPurchaseWindowIdType1:1Identifiant du PURCHASE WINDOW.
« enum »PurchaseActionPurchaseActionEnum0:1

Action governed by Purchase Window. The default value is ‘purchase’. See allowed values below.

  • purchase Purchase

  • orderWithoutPayment Order without payment

  • reserve Reserve

  • payForPreviousOrder Pay for pervious order

  • subscribe Set up subscription.

  • payInstallment Pay subscription installment.

  • other Other

« enum »PurchaseWhenPurchaseWhenEnum0:1

When purchase may be made. See Part1 for allowed values.

  • advanceOnly Purchase may only be made in advance.

  • untilPreviousDay Purchase may only be made in advance up until the day previous to travel.

  • dayOfTravelOnly Purchase may only be made on day of travel.

  • advanceAndDayOfTravel Purchase may be made in advance or on day of travel.

  • timeOfTravelOnly Purchase may only be made at time of travel.

  • subscriptionChargeMoment Purchase may made at one of the agreed charging moments for a subscription. advance.

  • other Other limitation on who may make a booking.

LatestTimexsd:duration0:1Latest time on specified last day when ticket can be purchased.
MinimumPeriodBeforeDeparturexsd:duration0:1Minimum duration before departure that ticket may be purchased.
« FK »MinimumPeriodIntervalRefTimeIntervalRef0:1Minimum period before departure that purchase shall be made - as arbitrary interval.
MaximumPeriodBeforeDeparturexsd:duration0:1Maximum duration before departure that ticket may be purchased.
« FK »MaximumPeriodIntervalRefTimeIntervalRef0:1Maximum period before departure that purchase shall be made - as arbitrary interval.
« enum »PurchaseMomentPurchaseMomentEnum0:1Permitted moments of purchase. See Part1 for allowed values.

Reserving – Element

Indicating whether the access right requires reservation and any limitations on making and changing reservations.

Reserving – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>RESERVING hérite de USAGE PARAMETER.
« PK »idReservingIdType1:1Identifiant du RESERVING.
« enum »ReservingRequirementsServiceReservationFacilityEnum0:*Nature of reservations required. See NeTEx Part1 for allowed values.
MinimumNumberToReserveNumberOfPassengers0:1Minimum number of persons allowed on a reservation.
MaximumNumberToReserveNumberOfPassengers0:1Minimum number of persons allowed on a reservation.
MustReserveWholeCompartment.xsd:boolean0:1Whether a whole compartment shall be reserved.
« enum »ReservationChargeTypeReservationChargeTypeEnum0:1

Nature of reservation fee. See allowed values below.

  • noFee No reservation fee.

  • fee Reservation fee.

  • singleFeeForReturnTrip Single reservation fee for return trip.

  • feeForEachDirection Separate reservation fee is for each direction of travel.

  • feeForEachLeg Separate reservation fee is for each leg.

« enum »FeeBasisPerBasisEnum0:1

Basis on which refund is made. See allowed values below.

  • perOffer Refund is per offer.

  • perPerson Refund is per person.

HasFreeConnectingReservationsxsd:boolean0:1Whether connecting reservations are all free or not.
NumberOfFreeConnectingReservationsxsd:integer0:1Number of free connecting reservations allowed.
IsFeeRefundablexsd:boolean0:1Whether reservation fees is refundable.
« cntd »BookingArrangementsBookingArrangements0:1Booking arrangements. See Part1 Service Restrictions Model.
« enum »SeatAllocationMethodSeatAllocationMethodEnum0:1

Method for allocating seat.

  • autoAssignment A seat will be assigned automatically by an algorithm.

  • seatMap The passenger may choose a specific seat from the available seats.

  • openSeating It is not possible to reserve a specific seat

ReservationExpiryPeriodxsd:duration0:1Period after which reservation without payment will expire if not paid for.

Cancelling – Element

Requirements for cancelling a booking.

Cancelling – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>CANCELLING hérite de USAGE PARAMETER.
« PK »idCancellingIdType1:1Identifiant du CANCELLING element.
BookingArrangementsBookingArrangements0:1Arrangements for cancelling a booking. See Part1 Service restrictions Model

BookingArrangements – Group

Information about booking to make a cancellation or other change. See also Part1 for details.

BookingArrangements Group – Group
ClassificationNameTypeCardinalityDescription
BookingContactContact0:1Contact for Booking.
« enum »BookingMethodsBookingMethodEnum0:*Booking method for FLEXIBLE LINE.
« enum »BookingAccessBookingAccessEnum0:1Who can make a booking. See Part1.
« enum »BookWhenPurchaseWhenEnum0:1When Booking can be made. See Part1
« enum »BuyWhenPurchaseMomentEnum0:*When purchase can be made. See Part1.
LatestBookingTimexsd:time0:1Latest time in day that booking can be made.
MinimumBookingPeriodxsd:duration0:1Minimum interval in advance of departure day or time that service may be ordered.
BookingUrlxsd:anyURI0:1URL for booking.
BookingNoteMultilingualString0:1Note about booking the FLEXIBLE LINE.

Usage Parameter: After Sales – Attributes

Transferability – Element

The number and characteristics of persons entitled to use the public transport service instead of the original customer.

Transferability – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>TRANSFERABILITY hérite de USAGE PARAMETER.
« PK »idTransferabilityIdType1:1Identifiant du TRANSFERABILITY.
CanTransferxsd:boolean0:1Whether ticket can be transferred to someone else.
MaximumNumberOfNamedTransfereesNumberOfPassengers0:1Where a product can be used by a limited number of named users, maximum number of users allowed.
HasTransferFeexsd:boolean0:1Whether there is a charge for making a transfer.
« enum »SharedUsageSharedUsageEnum0:1

Indicates the nature of the permitted sharing, if any, of products that can be shared, e.g. Trips from a multi-trip carnet. See allowed values

  • singleUser Product can only be used by only one person at a time.

  • concurrent Users Product can be used by several persons at a time., e.g. carnet.

  • concurrentDesignatedUsers Product can be shared at the same time but only with designated types of companions, e.g. children.

Reselling – Element

Common resale conditions (i.e. for exchange or refund) attaching to the product.

Reselling – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>RESELLING hérite de USAGE PARAMETER.
« PK »idResellingIdType1:1Identifiant du RESELLING.
« enum »AllowedResellTypeEnum0:1

Whether exchange or refund is allowed. See allowed values below.

  • none Ticket can never be exchanged or refunded.

  • partial Partial refund or exchange allowed.

  • full Full refund allowed.

CanChangeClassxsd:boolean0:1Whether user can change class.
UnusedTicketsOnlyxsd:boolean0:1Whether it is possible to exchange partially used tickets.
OnlyAtCertainDistributionPointsxsd:boolean0:1Whether distribution is restricted to certain points.
XGRPResellingPeriodGroupxmlGroup0:1When Period may take place.
HasFeexsd:boolean0:1Whether these is a fee for a refund or exchange.
« enum »RefundBasisPerBasisEnum0:1Basis on which refund is made. See allowed values below.
« enum »PaymentMethodsPaymentMethodEnum0:*PAYMENT METHODs that may be used for transaction. See Part1 RC service Restriction model.
« ctd »TypeOfPaymentMethodTypeOfPaymentMethod0:*PAYMENT METHODs that may be used for transaction.

ResellingPeriod – Group

The ResellingPeriod group species when a refund or exchange may take place.

ClassificationNameTypeCardinalityDescription
« enum »ResellWhenResellWhenEnum0:1

Event marking when the is exchangeable status of the ticket changes. See allowed values below.

  • never No transaction allowed, i.e. Ticket can never be exchanged or refunded.

  • withinPurchaseGracePeriod Transaction allowed within purchase cool off period.

  • beforeStartOfValidityPeriod Transaction allowed before start of Validity period of ticket.

  • afterStartOfValidityPariod Transaction allowed after start of Validity period of ticket.

  • afterEndOfValidityPariod Transaction allowed after end of Validity period of ticket.

  • beforeFirstUse Transaction allowed before ticket first used.

  • afterFirstUse Transaction still allowed after ticket has been partially used.

  • beforeValidation Transaction allowed before ticket first validated.

  • afterValidation Transaction allowed after ticket first validated.

  • withinSpecifiedWindow Transaction allowed within specified window.

  • anyTime Transaction allowed at any time.

  • other Other condition.

CHOICEFrom when refund/exchange can be made
aExchangeableFromAnyTimeEmptyType0:1Can be exchanged or refunded from any point after purchase.
bExchangableFromDurationxsd:duration0:1Duration to start of period before (negative) or after (positive) the trigger point, (i.e. either Start Of Validity or First Use) after which ticket may be exchanged or refunded.
cExchangableFromPercentUsexsd:decimal0:1Can be exchanged once a certain percentage of duration or use has been achieved.
« FK »ExchangeableFromIntervalRefTimeIntervalRef0:1TimeInterval determining period from which exchange can be made relative to trigger point.
CHOICEUntil when refund/exchange can be made
aExchangeableUntilAnyTimeEmptyType0:1Can be exchanged or refunded up until any point after purchase.
ExchangableUntilDurationxsd:duration0:1Duration to end of period before (negative) or after (positive) the trigger point (i.e. either Start Of Validity or First Use ) after which ticket may be exchanged or refunded.
ExchangableUntilPercentUsexsd:decimal0:1Can be exchanged until a certain percentage of duration or use has been achieved.
« FK »ExchangeableUntilIntervalRefTimeIntervalRef0:1TimeInterval determining period up until which exchange can be made relative to trigger point.
« enum »EffectiveFromEffectiveFromEnum

Constraint on when change can be made

  • never Cannot be made at any time.

  • nextInterval Can take place at end of next product interval.

  • nextInstallment Can take place at end of next subscription instalment.

  • anyTime Can be made at any time.

  • other Other condition

NotificationPeriodxsd:duration0:1Notice period needed before action is effective.

Exchanging – Element

Whether and how access rights may be exchanged for other access rights.

Exchanging – Element
ClassificationNameTypeCardinalityDescription
::>::>Reselling::>EXCHANGING hérite de RESELLING.
« PK »idExchangingIdType1:1Identifiant du EXCHANGING.
NumberOfExchangesAllowedxsd:integer0:1Number of times a ticket may be exchanged.
« enum »ToFareClassFareClassEnum0:1Fare class to which can be exchanged. See NeTEx Part1. (From class would be expression as the Seat class on an ACCESS RIGHT PARAMETER ASSIGNMENT.)
« FK »ToClassOfUseRefClassOfUseRef0:1CLASS OF USE class to which can be exchanged.
« enum »ExchangableToExchangableToEnum0:1

Type of exchange allowed. The default is ‘anyProduct’, i.e. to any other fare. See allowed values below.

  • anyProduct Can exchange to any other fare.

  • sameProductSameDay Can exchange to fares of the same type for travel on the same date.

  • sameProductLongerJourney Can exchange to fares of the same type for longer journey.

  • sameProductShorterJourney Can exchange to fares of the same type for shorter journey.

  • sameProductAnyDay Can exchange to fares of the same type for travel on the any date.

  • upgradeToStandardFare Can exchange as upgrade to full standard fare.

  • upgradeToSpecifiedFare Can exchange as an upgrade to a specified fare.

  • downgradeToSpecifiedFare Can exchange as a downgrade to a specified fare.

  • equivalentProduct Can exchange for an equivalent product.

  • changeGroupSize Can change group size

  • other Other condition.

Refunding – Element

Whether and how the product may be refunded.

Refunding – Element
ClassificationNameTypeCardinalityDescription
::>::>Reselling::>REFUNDING hérite de RESELLING.
« PK »idRefundingIdType1:1Identifiant du REFUNDING.
« enum »RefundTypeRefundTypeEnum0:1

Classification du REFUNDING. See allowed values below.

  • unused Refund is because the product was unused.

  • delay Refund is because the passenger’s trip was delayed.

  • cancellation Refund is because the passenger‘s journey was cancelled.

  • partialJourney Refund is because the product was only party unused.

  • earlyTermination Refund is because the product was terminated early.

  • changeOfGroupSize Refund is because the group size was changed.

  • other Refund is because of some other reason.

« enum »RefundPolicyRefundPolicyEnum0:*

Reasons for giving refunds.

  • any Any reason

  • illness Death

  • death Refund of unused ticket.

  • maternity Maternity

  • redundancy Redundancy

  • changeOfEmployment Change of Employment.

  • changeOfResidence Change of Residence.

  • none No refunds given.

  • other Other reason.

« enum »PartialRefundBasisPartialRefundBasisEnum0:*

Basis on which partial refunds of period passes etc are calculated.

  • unusedDays Refund is for unused days.

  • unusedWeeks Refund is for unused whole weeks.

  • unusedMonths Refund is for unused whole months.

  • unusedSemesters Refund is for unused whole academic terms.

  • other Other refund.

« enum »PaymentMethodPaymentMethodEnum0:*DEPRECATED – Use PaymentMethods on RESELLING higher in hierarchy

Replacing – Element

Whether and how access rights may be replaced if lost or stolen.

Replacing – Element
ClassificationNameTypeCardinalityDescription
::>::>Reselling::>REPLACING hérite de RESELLING.
« PK »idReplacingIdType1:1Identifiant du REPLACING.

Usage Parameter: Charging – Attributes

ChargingPolicy – Element

Policy regarding different aspects of charging such as credit limits.

ChargingPolicy – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>CHARGING POLICY hérite de USAGE PARAMETER.
« PK »idChargingPolicyIdType1:1Identifiant du CHARGING POLICY.
« enum »CreditPolicyCreditPolicyEnumeration0:1

Policy for traveling on credit – See allowed values below.

  • allowTravel Can travel even if credit is negative.

  • blockPayAsYouGoTravel Block all pay as you go travel but allow prepaid travel.

  • blockAllTravel Block all travel, even using other products.

  • other Other policy.

ExpireAfterPeriodxsd:duration0:1Any expiry period on collecting a rebate or adjustment.
PaymentGracePeriodxsd:duration0:1Period after purchase by which time payment shall be settled.
« enum »BillingPolicyTravelBillingPolicyEnumeration0:1

Policy for billing frequency – See Allowed values below.

  • billAsYouGo Bill for use immediately on incurring travel.

  • billOnThreshold Only raise bill when threshold is reached.

  • billAtFareDayEnd Bill at end of every fare day.

  • billAtPeriodEnd Bill at end of a specified period.

PenaltyPolicy – Element

Policy regarding different aspects of penalty charges, for example repeated entry at the same station, no ticket etc.

PenaltyPolicy – Element
ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>PENALTY POLICY hérite de USAGE PARAMETER.
« PK »idPenaltyPolicyIdType1:1Identifiant du PENALTY POLICY.
« enum »PenaltyPolicyTypePenaltyPolicyEnum0:1

Classification du Penalty Policy. See below.

  • noTicket Penalty is for having no ticket.

  • noCheckIn Penalty is incurred if failed to check in

  • noCheckOut Penalty is incurred if checked in and failed to check out.

  • noValidation Penalty is incurred if have valid ticket but failed to validate it.

  • other Other type of penalty.

« enum »SameStationEntryPolicySameStationEntryPolicyEnum0:1

Policy for allowing re-entry at the same station within a certain time. See below.

  • blocked Re-entry not allowed.

  • newFare Re-entry allowed and new fare charged.

  • maximumFare Charge maximum fare to complete previous journey and start new journey.

  • allowed Can re-enter without penalty and resume journey.

MinimumTimeBeforeRentryxsd:duration0:1Minimum time before can re-enter at the same station before incurring penalty.
MaximumNumberOfFailToCheckOutEventsxsd:duration0:1Limit on the number of fail-to-checkout events allowed before suspension.

Subscribing – Element

Parameters governing subscription to a product allowing payment at regular intervals.

ClassificationNameTypeCardinalityDescription
::>::>UsageParameter::>SUBSCRIBING hérite de USAGE PARAMETER.
« PK »idSubscribingIdType1:1Identifiant du SUBSCRIBING.
« enum »SubscriptionTermTypeSubscriptionTermTypeEnum0:1

Types of subscription term allowed. See allowed values below.

  • fixed Subscription shall be for a fixed term.

  • variable Subscription can be for an arbitrary term.

  • openEnded Subscription can be open-ended.

MinimumSubscriptionPeriodduration0:1Minimum duration allowed for a subscription.
MaximumSubscriptionPeriodduration0:1Maximum duration allowed for a subscription.
« enum »SubscriptionRenewalPolicySubscriptionRenewalPolicyEnum0:1

Policy on renewing subscription. See allowed values below.

  • automatic Renew automatically at end of term.

  • manual Renew on request.

  • automaticOnConfirmation Confirm and renew automatically at end of subscription term

  • none No renewal allowed.

  • other Other.

« cntd »possibleInstallmentIntervalsTimeIntervalRef0:*Allowed billing Intervals for payment in installment.r
« enum »InstallmentPaymentMethodsPaymentMethodsEnum0:1Allowed means of payment of installations as standard value.
« cntd »installmentPaymentMethodsTypeOfPaymentMethod0:*Allowed means of payment of installations as TYPE OF PAYMENT METHOD.

Exemples

Inroduction

Tarif simple

<?xml version="1.0"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://www.netex.org.uk/netex ./xsd/NeTEx_publication.xsd" version="1.1">
  <!--- =============== ENTETE =========== -->
  <PublicationTimestamp>2019-06-12T09:30:47.0Z</PublicationTimestamp>
  <ParticipantRef>AURIGE001</ParticipantRef>
  <!-- ========== DONNEES =========== -->
  <dataObjects>
    <!-- =========================================== -->
    <!-- CompositeFrame.de type NETEX_FRANCE -->
    <CompositeFrame version="1" created="2019-06-12T09:30:47.0Z" id="FR-Tarif-Example:CompositeFrame:myFrame01:LOC">
      <frames>
        <!-- =========================================== -->
        <!-- Frame NETEX_TARIF -->
        <GeneralFrame version="001" id="FR-Tarif-Example:TypeOfFrame:NETEX_TARIF-Example1:LOC">
          <TypeOfFrameRef ref="FR:TypeOfFrame:NETEX_TARIF">version="1.01:FR-NETEX_TARIF1.0"</TypeOfFrameRef>
          <members modificationSet="all">
            <!-- ======================================================================= -->
            <!-- STRUCTURE TARIFAIRE ET DROITS DE BASE -->
            <TimeInterval id="FR-Tarif-Example:TimeInterval:001:LOC" version="any">
              <Description>1h30 de validit&#xE9;</Description>
              <Duration>PT90M</Duration>
            </TimeInterval>
            <ValidableElement id="FR-Tarif-Example:ValidableElement:001:LOC" version="any">
              <noticeAssignments>
                <NoticeAssignment id="FR-Tarif-Example:NoticeAssignment:001:LOC" version="any" order="1">
                  <NoticeRef ref="FR-Tarif-Example:Notice:001:LOC"/>
                </NoticeAssignment>
              </noticeAssignments>
              <fareStructureElements>
                <FareStructureElementRef ref="FR-Tarif-Example:FareStructureElement:001:LOC" version="any"/>
              </fareStructureElements>
            </ValidableElement>
            <FareStructureElement id="FR-Tarif-Example:FareStructureElement:001:LOC" version="any">
              <TimeIntervalRef ref="FR-Tarif-Example:TimeInterval:001:LOC" version="any"/>
            </FareStructureElement>
            <!-- ===================================================================== -->
            <!-- LE TITRE -->
            <PreassignedFareProduct id="FR-Tarif-Example:PreassignedFareProduct:T+001:LOC" version="any">
              <Name>Ticket 1h30</Name>
              <AuthorityRef ref="FR-Tarif-Example:Authority:IDFM:"/>
              <ConditionSummary>
                <TariffBasis>period</TariffBasis>
                <CanBreakJourney>false</CanBreakJourney>
                <IsRefundable>false</IsRefundable>
                <IsExchangable>false</IsExchangable>
              </ConditionSummary>
              <validableElements>
                <ValidableElementRef ref="FR-Tarif-Example:ValidableElement:001:LOC" version="any"/>
              </validableElements>
              <ProductType>singleTrip</ProductType>
            </PreassignedFareProduct>
            <!-- ======================================================== -->
            <!-- Offre à la vente -->
            <SalesOfferPackageElement id="FR-Tarif-Example:SalesOfferPackageElement:001:LOC" version="any" order="1">
              <RequiresValidation>true</RequiresValidation>
              <TypeOfTravelDocumentRef ref="FR-Tarif-Example:TypeOfTravelDocument:001:LOC"/>
              <PreassignedFareProductRef ref="FR-Tarif-Example:PreassignedFareProduct:T+001:LOC" version="any"/>
            </SalesOfferPackageElement>
            <TypeOfTravelDocument id="FR-Tarif-Example:TypeOfTravelDocument:001:LOC" version="any">
              <Name>Ticket T+ carton a bande magn&#xE9;tique</Name>
              <Url>http://www.navigo.fr/wp-content/uploads/2018/11/127099_Ticket-T_carnetde-10-300x136.png</Url>
              <MediaType>paperTicket</MediaType>
              <MachineReadable>magneticStrip</MachineReadable>
            </TypeOfTravelDocument>
            <SalesOfferPackage id="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any">
              <Name>Ticket &#xE0; l'unit&#xE9;</Name>
              <salesOfferPackageElements>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC" version="any"/>
              </salesOfferPackageElements>
            </SalesOfferPackage>
            <!-- ===================================================================== -->
            <!-- FARE TABLE avec affectation des prix -->
            <!-- Pour chaque cellule: Prix / UserProfile ou Entitlement / SalesOfferPackage
(le lien avec les FareProduct est fait par le SalesOfferPackage) -->
            <FareTable version="any" id="lFR-Tarif-Example:TickeT+FareTable:001:LOC">
              <Name> Bus Fare Prices - 18+Student </Name>
              <cells>
                <Cell version="any" id="FR-Tarif-Example:Cell:001:LOC" order="1">
                  <SalesOfferPackagePrice version="any" id="lFR-Tarif-Example:SalesOfferPackagePrice:001:LOC">
                    <Name>Ticket 1h30</Name>
                    <Amount>1.90</Amount>
                  </SalesOfferPackagePrice>
                  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
                  <NetworkRef ref="FR-Tarif-Example:Network:001:"/>
                  <!--Réseau concerné-->
                  <noticeAssignments>
                    <NoticeAssignmentView>
                      <Text>Ticket 1h30 - a l'unit&#xE9; plein tarif - aAller retour
interdit, gratuit pour le moins de 4 ans, ticket disponible en agence uniquement</Text>
                      <CanBeAdvertised>true</CanBeAdvertised>
                    </NoticeAssignmentView>
                  </noticeAssignments>
                </Cell>
                <!-- etc. -->
              </cells>
            </FareTable>
            <!-- ===================================================================== -->
          </members>
        </GeneralFrame>
      </frames>
    </CompositeFrame>
  </dataObjects>
</PublicationDelivery>

Tarif minimal (ultra simplifié)

<?xml version="1.0" encoding="UTF-8"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://www.netex.org.uk/netex ./xsd/NeTEx_publication.xsd" version="1.1">
  <!--- =============== ENTETE =========== -->
  <PublicationTimestamp>2019-06-12T09:30:47.0Z</PublicationTimestamp>
  <ParticipantRef>AURIGE001</ParticipantRef>
  <!-- ========== DONNEES =========== -->
  <dataObjects>
    <!-- =========================================== -->
    <!-- CompositeFrame.de type NETEX_FRANCE -->
    <CompositeFrame version="1" created="2019-06-12T09:30:47.0Z" id="FR-Tarif-Example:CompositeFrame:myFrame01:LOC">
      <frames>
        <!-- =========================================== -->
        <!-- Frame NETEX_TARIF -->
        <GeneralFrame version="001" id="FR-Tarif-Example:TypeOfFrame:NETEX_TARIF-Example1:LOC">
          <TypeOfFrameRef ref="FR:TypeOfFrame:NETEX_TARIF">version="1.01:FR-NETEX_TARIF1.0"</TypeOfFrameRef>
          <members modificationSet="all">
            <!-- ======================================================================== -->
            <!-- LE TITRE -->
            <PreassignedFareProduct id="FR-Tarif-Example:PreassignedFareProduct:T+001:LOC" version="any">
              <Name>Ticket 1h30</Name>
              <AuthorityRef ref="FR-Tarif-Example:Authority:IDFM:"/>
              <ConditionSummary>
                <TariffBasis>period</TariffBasis>
                <CanBreakJourney>false</CanBreakJourney>
                <IsRefundable>false</IsRefundable>
                <IsExchangable>false</IsExchangable>
              </ConditionSummary>
              <ProductType>singleTrip</ProductType>
            </PreassignedFareProduct>
            <!-- ======================================================================= -->
            <!-- FARE TABLE avec affectation des prix -->
            <!-- Version minimaliste sans SalesOfferPackage (le lien direct avec FareProduct)
-->
            <FareTable version="any" id="lFR-Tarif-Example:TickeT+FareTable:001:LOC">
              <Name> Bus Fare Prices - 18+Student </Name>
              <cells>
                <Cell version="any" id="FR-Tarif-Example:Cell:001:LOC" order="1">
                  <SalesOfferPackagePrice version="any" id="lFR-Tarif-Example:SalesOfferPackagePrice:001:LOC">
                    <Name>Ticket 1h30</Name>
                    <Amount>1.90</Amount>
                  </SalesOfferPackagePrice>
                  <PreassignedFareProductRef ref="FR-Tarif-Example:PreassignedFareProduct:T+001:LOC" version="any"/>
                  <NetworkRef ref="FR-Tarif-Example:Network:001:"/>
                  <!--Réseau concerné-->
                  <noticeAssignments>
                    <NoticeAssignmentView>
                      <Text>Ticket 1h30 - a l'unit&#xE9; plein tarif - aAller retour
interdit, gratuit pour le moins de 4 ans, ticket disponible en agence uniquement</Text>
                      <CanBeAdvertised>true</CanBeAdvertised>
                    </NoticeAssignmentView>
                  </noticeAssignments>
                </Cell>
                <!-- etc. -->
              </cells>
            </FareTable>
            <!-- ======================================================================== -->
          </members>
        </GeneralFrame>
      </frames>
    </CompositeFrame>
  </dataObjects>
</PublicationDelivery>

BUS Ile de France

<?xml version="1.0"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://www.netex.org.uk/netex ./NeTEx/xsd/NeTEx_publication-NoConstraint.xsd" version="1.1">
  <!--- =============== ENTETE =========== -->
  <PublicationTimestamp>2019-06-12T09:30:47.0Z</PublicationTimestamp>
  <ParticipantRef>AURIGE001</ParticipantRef>
  <!-- ========== DONNEES =========== -->
  <dataObjects>
    <!-- =========================================== -->
    <!-- CompositeFrame.de type NETEX_FRANCE -->
    <CompositeFrame version="1" created="2019-06-12T09:30:47.0Z" id="AURIGE:CompositeFrame:myFrame01:LOC">
      <frames>
        <!-- =========================================== -->
        <!-- Frame NETEX_TARIF -->
        <GeneralFrame version="001" id="AURIGE:TypeOfFrame:NETEX_TARIF-Example1:LOC">
          <TypeOfFrameRef ref="FR:TypeOfFrame:NETEX_TARIF">version="1.01:FR-NETEX_TARIF-1.0"</TypeOfFrameRef>
          <members modificationSet="all">
            <!-- =============================================================================== -->
            <!-- STRUCTURE TARIFAIRE ET DROITS DE BASE -->
            <TimeInterval id="FR-Tarif-Example:TimeInterval:001:LOC" version="any">
              <Description>1h30 de validit&#xE9; pour bus et TRam</Description>
              <Duration>PT90M</Duration>
              <timeStructureFactors>
                <TimeStructureFactor>
                  <Name>Entre premi&#xE8;re et derni&#xE8;re validation</Name>
                  <!--A présenter pour l'IV-->
                  <Description>Time Structure Factor pour "entre premi&#xE8;re et derni&#xE8;re validation"</Description>
                  <TypeOfFareStructureFactorRef ref="BetweenFirstAndLastValidation"/>
                </TimeStructureFactor>
              </timeStructureFactors>
            </TimeInterval>
            <ValidableElement id="FR-Tarif-Example:ValidableElement:001:LOC" version="any">
              <noticeAssignments>
                <NoticeAssignment>
                  <NoticeRef ref="FR-Tarif-Example:Notice:001:LOC"/>
                </NoticeAssignment>
              </noticeAssignments>
              <fareStructureElements>
                <FareStructureElementRef ref="FR-Tarif-Example:FareStructureElement:001:LOC"/>
              </fareStructureElements>
              <!-- Moved to Fare Product <validityParameterAssignments>
<GenericParameterAssignment>
<LimitationGroupingType>AND</LimitationGroupingType>
<limitations>
<RoundTripRef ref="FR-Tarif-Example:RoundTrip:001:LOC"/>
<ExchangingRef ref="FR-Tarif-Example:Exchanging:001:LOC"/>
<RefundingRef ref="FR-Tarif-Example:Refunding:001:LOC"/>
</limitations>
<validityParameters>
<VehicleModes>tram bus</VehicleModes>
</validityParameters>
<IncludesGroupingType>AND</IncludesGroupingType>
<includes>
<GenericParameterAssignment>
<Description>Voir http://www.navigo.fr/wp-content/uploads/2016/06/lignes_tarification_speciale_07-2014.pdf pour les lignes à tarification spéciale</Description>
<IsAllowed>false</IsAllowed>
<validityParameters>
<LineRef ref="FR-Tarif-Example:Line:Orlybus:LOC"/>
<LineRef ref="FR-Tarif-Example:Line:Tram11:LOC"/>
<LineRef ref="FR-Tarif-Example:Line:RAPT350:LOC"/>
<LineRef ref="FR-Tarif-Example:Line:RAPT351:LOC"/>
<GroupOfLinesRef ref="FR-Tarif-Example:GroupOfLines:Noctilien:LOC"/>
</validityParameters>
</GenericParameterAssignment>
</includes>
</GenericParameterAssignment>
</validityParameterAssignments>-->
            </ValidableElement>
            <FareStructureElement id="FR-Tarif-Example:FareStructureElement:001:LOC" version="any">
              <TimeIntervalRef ref="FR-Tarif-Example:TimeInterval:001:LOC"/>
              <!-- <GenericParameterAssignment> </GenericParameterAssignment> -->
            </FareStructureElement>
            <Notice id="FR-Tarif-Example:Notice:001:LOC" version="any">
              <Name>Ticket Validation Notice</Name>
              <Text>&#xC0; chaque entr&#xE9;e ou changement de bus ou de tramway, vous devez valider &#xE0; nouveau votre ticket T+</Text>
              <CanBeAdvertised>true</CanBeAdvertised>
            </Notice>
            <!-- =============================================================================== -->
            <!-- LE TITRE -->
            <PreassignedFareProduct id="FR-Tarif-Example:PreassignedFareProduct:T+BusTram-001:LOC" version="any">
              <Name>Ticket T+ Bus-Tram</Name>
              <AuthorityRef ref="FR-Tarif-Example:Authority:IDFM:"/>
              <ConditionSummary>
                <TariffBasis>period</TariffBasis>
                <CanBreakJourney>false</CanBreakJourney>
                <IsRefundable>false</IsRefundable>
                <IsExchangable>false</IsExchangable>
              </ConditionSummary>
              <validityParameterAssignments>
                <GenericParameterAssignment>
                  <LimitationGroupingType>AND</LimitationGroupingType>
                  <limitations>
                    <RoundTripRef ref="FR-Tarif-Example:RoundTrip:001:LOC"/>
                    <ExchangingRef ref="FR-Tarif-Example:Exchanging:001:LOC"/>
                    <RefundingRef ref="FR-Tarif-Example:Refunding:001:LOC"/>
                  </limitations>
                  <validityParameters>
                    <VehicleModes>tram bus</VehicleModes>
                  </validityParameters>
                  <IncludesGroupingType>AND</IncludesGroupingType>
                  <includes>
                    <GenericParameterAssignment>
                      <Description>Voir http://www.navigo.fr/wp-content/uploads/2016/06/lignes_tarification_speciale_07-2014.pdf pour les lignes &#xE0; tarification sp&#xE9;ciale</Description>
                      <IsAllowed>false</IsAllowed>
                      <validityParameters>
                        <LineRef ref="FR-Tarif-Example:Line:Orlybus:LOC"/>
                        <LineRef ref="FR-Tarif-Example:Line:Tram11:LOC"/>
                        <LineRef ref="FR-Tarif-Example:Line:RAPT350:LOC"/>
                        <LineRef ref="FR-Tarif-Example:Line:RAPT351:LOC"/>
                        <GroupOfLinesRef ref="FR-Tarif-Example:GroupOfLines:Noctilien:LOC"/>
                      </validityParameters>
                    </GenericParameterAssignment>
                  </includes>
                </GenericParameterAssignment>
              </validityParameterAssignments>
              <validableElements>
                <ValidableElementRef ref="FR-Tarif-Example:ValidableElement:001:LOC"/>
              </validableElements>
              <ProductType>singleTrip</ProductType>
            </PreassignedFareProduct>
            <RoundTrip id="FR-Tarif-Example:RoundTrip:001:LOC" version="any">
              <TripType>single</TripType>
            </RoundTrip>
            <Exchanging id="FR-Tarif-Example:Exchanging:001:LOC" version="any">
              <Description>Echang&#xE9; seulement si d&#xE9;fectueux</Description>
              <Allowed>none</Allowed>
            </Exchanging>
            <Refunding id="FR-Tarif-Example:Refunding:001:LOC" version="any">
              <Allowed>none</Allowed>
            </Refunding>
            <!-- ======================================================== -->
            <SalesOfferPackageElement id="FR-Tarif-Example:SalesOfferPackageElement:001:LOC" version="any">
              <RequiresValidation>true</RequiresValidation>
              <!-- <ConditionSummary> Deplacer vers le FARE PRODUCT (decision du 28/01)
<TariffBasis>period</TariffBasis>
<CanBreakJourney>false</CanBreakJourney>
<IsRefundable>false</IsRefundable>
<IsExchangable>false</IsExchangable>
</ConditionSummary>-->
              <TypeOfTravelDocumentRef ref="FR-Tarif-Example:TypeOfTravelDocument:001:LOC"/>
              <PreassignedFareProductRef ref="FR-Tarif-Example:PreassignedFareProduct:T+001:LOC"/>
            </SalesOfferPackageElement>
            <TypeOfTravelDocument id="FR-Tarif-Example:TypeOfTravelDocument:001:LOC" version="any">
              <Name>Ticket T+ carton a bande magn&#xE9;tique</Name>
              <Url>http://www.navigo.fr/wp-content/uploads/2018/11/127099_Ticket-T_carnet-de-10300x136.png</Url>
              <MediaType>paperTicket</MediaType>
              <MachineReadable>magneticStrip</MachineReadable>
            </TypeOfTravelDocument>
            <SalesOfferPackage id="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any">
              <Name>Ticket &#xE0; l'unit&#xE9;</Name>
              <prices>
                <SalesOfferPackagePrice>
                  <Amount>1.90</Amount>
                  <Currency>EUR</Currency>
                </SalesOfferPackagePrice>
              </prices>
              <salesOfferPackageElements>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
              </salesOfferPackageElements>
            </SalesOfferPackage>
            <SalesOfferPackage id="FR-Tarif-Example:SalesOfferPackage:002:LOC" version="any">
              <Name>Carnet de 10 Ticket</Name>
              <validityParameterAssignments>
                <GenericParameterAssignment>
                  <limitations>
                    <UsageValidityPeriod>
                      <ValidityPeriodType>carnet</ValidityPeriodType>
                    </UsageValidityPeriod>
                  </limitations>
                </GenericParameterAssignment>
              </validityParameterAssignments>
              <prices>
                <SalesOfferPackagePrice>
                  <Amount>14.90</Amount>
                  <Currency>EUR</Currency>
                </SalesOfferPackagePrice>
              </prices>
              <salesOfferPackageElements>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
              </salesOfferPackageElements>
            </SalesOfferPackage>
            <!-- =============================================================================== -->
            <!-- TARIF REDUIT -->
            <UserProfile id="FR-Tarif-Example:UserProfile:001:LOC" version="any">
              <!--Plein tarif classique-->
              <Name>Plein tarif</Name>
              <Description>Plein tarif adulte sans r&#xE9;duction</Description>
              <MinimumAge>10</MinimumAge>
            </UserProfile>
            <UserProfile id="FR-Tarif-Example:UserProfile:002:LOC" version="any">
              <!--Gratuit pour les enfants-->
              <Name>Moins de 4 ans</Name>
              <Description>Gratuit pour les enfants de moins de 4 ans</Description>
              <MaximumAge>4</MaximumAge>
              <DiscountBasis>free</DiscountBasis>
            </UserProfile>
            <UserProfile id="FR-Tarif-Example:UserProfile:003:LOC" version="any">
              <!--50% pour les enfants entre 4 et 10 ans -->
              <Name>Tarif Enfant</Name>
              <Description>50%de r&#xE9;duction pour les enfants entre 4 et 10 ans </Description>
              <prices>
                <UsageParameterPrice>
                  <LimitingRule>
                    <DiscountAsPercentage>0.50</DiscountAsPercentage>
                    <CanBeCumulative>false</CanBeCumulative>
                  </LimitingRule>
                </UsageParameterPrice>
              </prices>
              <MinimumAge>4</MinimumAge>
              <MaximumAge>10</MaximumAge>
              <DiscountBasis>discount</DiscountBasis>
            </UserProfile>
            <EntitlementRequired id="FR-Tarif-Example:EntitlementRequired:004:LOC" version="any">
              <!--50% carte famille nombreuse -->
              <Name>Carte Famille Nombreuse SNCF</Name>
              <Description>50% de r&#xE9;duction aus titulaires d&#x2019;une carte "Famille nombreuse" de couleur bleue d&#xE9;livr&#xE9;e par la SNCF (enfant de &#x2013; de 18 ans, contrairement &#xE0; la carte rouge &#x2026;) </Description>
              <!-- <prices> Déplacé vers le UserProfile correspondant (décision du 28/01/2020
<UsageParameterPrice>
<DiscountingRule>
<DiscountAsPercentage>0.5</DiscountAsPercentage>
</DiscountingRule>
</UsageParameterPrice>
</prices>-->
              <EntitlementProductRef ref="FR-Tarif-Example:EntitlementProduct:001:LOC"/>
            </EntitlementRequired>
            <EntitlementProduct id="FR-Tarif-Example:EntitlementProduct:001:LOC" version="any">
              <Name>carte famille nombreuse SNCF bleue </Name>
              <Description>carte "Famille nombreuse" de couleur bleue d&#xE9;livr&#xE9;e par la SNCF (enfant
de &#x2013; de 18 ans, contrairement &#xE0; la carte rouge &#x2026;)</Description>
              <InfoUrl>https://www.service-public.fr/particuliers/vosdroits/F15292</InfoUrl>
              <documentLinks>
                <InfoLink>https%3A%2F%2Fwww.legifrance.gouv.fr%2Ftelecharger_rtf.do%3FidTexte%3DLEGITEXT000006063361%26dateTexte%3D20190617</InfoLink>
              </documentLinks>
              <GeneralOrganisationRef ref="FR-Tarif-Example:OperatorRef:SNCF:"/>
            </EntitlementProduct>
            <UserProfile id="FR-Tarif-Example:UserProfile:004:LOC" version="any">
              <!-- User Profile pour les titulaire de carter Famille Nombreuse -->
              <Name>Titulaire de carte famille nombreuse SNCF bleue</Name>
              <Description>50%de r&#xE9;duction</Description>
              <TypeOfUsageParameterRef ref="FR-Tarif-Example:EntitlementRequired:004:LOC" version="any"/>
              <prices>
                <UsageParameterPrice>
                  <LimitingRule>
                    <DiscountAsPercentage>0.50</DiscountAsPercentage>
                    <CanBeCumulative>false</CanBeCumulative>
                  </LimitingRule>
                </UsageParameterPrice>
              </prices>
              <DiscountBasis>discount</DiscountBasis>
            </UserProfile>
            <!-- =============================================================================== -->
            <!-- POINTS DE VENTE -->
            <DistributionChannel id="FR-Tarif-Example:DistributionChannel:001:LOC" version="any">
              <Name>Points de vente RATP</Name>
              <Description>Vente de ticket dans tous les points de vente RATP</Description>
              <DistributionChannelType>agency</DistributionChannelType>
              <OrganisationRef ref="FR-Tarif-Example:Organisation:RATP:"/>
              <distributionPoints>
                <PointRef ref="etc."/>
                <PointRef ref="etc."/>
              </distributionPoints>
            </DistributionChannel>
            <GroupOfDistributionChannels id="FR-Tarif-Example:GroupOfDistributionChannels:001:LOC" version="any">
              <Name>Tous les points de vente du Ticket T+</Name>
              <members>
                <DistributionChannelRef ref="FR-Tarif-Example:DistributionChannel:001:LOC"/>
                <!--Etc.-->
              </members>
            </GroupOfDistributionChannels>
            <DistributionAssignment>
              <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC"/>
              <!--Ticket T+ plein tarif à l'unité-->
              <GroupOfDistributionChannelsRef ref="FR-Tarif-Example:GroupOfDistributionChannels:001:LOC"/>
            </DistributionAssignment>
            <!-- =============================================================================== -->
            <!-- FARE TABLE avec affectation des prix -->
            <!-- Pour chaque cellule: Prix / UserProfile ou Entitlement / SalesOfferPackage (le lien
avec les FareProduct est fait par le SalesOfferPackage) -->
            <FareTable version="any" id="lFR-Tarif-Example:TickeT+FareTable:001:LOC">
              <Name> Bus Fare Prices - 18+Student </Name>
              <cells>
                <Cell version="any" id="lFR-Tarif-Example:Cell:001:LOC">
                  <SalesOfferPackagePrice>
                    <Name>Ticket a l'unit&#xE9; plein tarif</Name>
                    <Amount>1.90</Amount>
                  </SalesOfferPackagePrice>
                  <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:001:LOC"/>
                  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
                </Cell>
                <Cell version="any" id="lFR-Tarif-Example:Cell:002:LOC">
                  <SalesOfferPackagePrice>
                    <Name>Gratuit pour les enfants</Name>
                    <Amount>0.00</Amount>
                  </SalesOfferPackagePrice>
                  <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:002:LOC"/>
                  <!--Gratuit pour les enfants-->
                  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
                </Cell>
                <Cell version="any" id="lFR-Tarif-Example:Cell:003:LOC">
                  <SalesOfferPackagePrice>
                    <Name>50% pour les enfants entre 4 et 10 ans</Name>
                    <Amount>0.80</Amount>
                  </SalesOfferPackagePrice>
                  <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:003:LOC"/>
                  <!--50% pour les enfants entre 4 et 10 ans -->
                  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
                </Cell>
                <Cell version="any" id="lFR-Tarif-Example:Cell:004:LOC">
                  <SalesOfferPackagePrice>
                    <Name>Carnet de 10 Tickets plein tarif</Name>
                    <Amount>14.90</Amount>
                  </SalesOfferPackagePrice>
                  <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:001:LOC"/>
                  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:002:LOC" version="any"/>
                </Cell>
                <Cell version="any" id="lFR-Tarif-Example:Cell:005:LOC">
                  <SalesOfferPackagePrice>
                    <Name>Carnet de 10 Tickets plein tarif famille nombreuse</Name>
                    <Amount>7.45</Amount>
                  </SalesOfferPackagePrice>
                  <EntitlementRequiredRef ref="FR-Tarif-Example:EntitlementRequired:004:LOC" version="any"/>
                  <!--EntitlementRequired au lieur de UserProfile -->
                  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:002:LOC" version="any"/>
                </Cell>
                <!-- etc. -->
              </cells>
            </FareTable>
            <!-- =============================================================================== -->
          </members>
        </GeneralFrame>
      </frames>
    </CompositeFrame>
  </dataObjects>
</PublicationDelivery>

TGV Paris-Lille

<?xml version="1.0"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://www.netex.org.uk/netex ./xsd/NeTEx_publication-NoConstraint.xsd" version="1.1">
  <!--- =============== ENTETE =========== -->
  <PublicationTimestamp>2019-06-12T09:30:47.0Z</PublicationTimestamp>
  <ParticipantRef>AURIGE001</ParticipantRef>
  <!-- ========== DONNEES =========== -->
  <dataObjects>
    <!-- =========================================== -->
    <!-- CompositeFrame.de type NETEX_FRANCE -->
    <CompositeFrame version="1" created="2019-06-12T09:30:47.0Z" id="AURIGE:CompositeFrame:myFrame01:LOC">
      <frames>
        <!-- =========================================== -->
        <!-- Frame NETEX_TARIF -->
        <GeneralFrame version="001" id="AURIGE:TypeOfFrame:NETEX_TARIF-Example1:LOC">
          <TypeOfFrameRef ref="FR:TypeOfFrame:NETEX_TARIF">version="1.01:FR-NETEX_TARIF-1.0"</TypeOfFrameRef>
          <members modificationSet="all">
            <!-- =============================================================================== -->
            <!-- STRUCTURE TARIFAIRE ET DROITS DE BASE -->
            <DistanceMatrixElement id="FR-Tarif-Example:DistanceMatrixElement:001:LOC" version="any">
              <IsDirect>true</IsDirect>
              <InverseAllowed>false</InverseAllowed>
              <StartStopPointRef versionRef="any" ref="SNCF:ScheduledStopPoint:ParisGareduNord87271007:LOC"/>
              <EndStopPointRef versionRef="any" ref="SNCF:ScheduledStopPoint:LilleFlandre-87 286 005:LOC"/>
              <!--Note On pourrait insérer ici une CONTRAINTE de SERIE si plusieurs itinéraires
étaient concernés-->
              <!-- <seriesConstraints>
<SeriesConstraint id="SNCF:SeriesConstraint:Paris-Lille" order="1" version="1.0">
<Itinerary>Paris * Lille</Itinerary>
<SeriesType>stationToStation</SeriesType>
<FirstClassDistance>19</FirstClassDistance> -->
              <!-- et on peut en profiter
pour ajouter une distance tarifaire -->
              <!--
<SecondClassDistance>20</SecondClassDistance>
<journeyPatterns>
<JourneyPatternRef ref="SNCF:JourneyPattern:0001:LOC"></JourneyPatternRef> -->
              <!--Peut passer par des JP, mais ausi par des points ... ou des correspondances-->
              <!--
<JourneyPatternRef ref="SNCF:JourneyPattern:0002:LOC"></JourneyPatternRef>
</journeyPatterns>
</SeriesConstraint>
</seriesConstraints>-->
            </DistanceMatrixElement>
            <FareStructureElement id="FR-Tarif-Example:FareStructureElement:002:LOC" version="any">
              <DistanceMatrixElementRef ref="FR-Tarif-Example:DistanceMatrixElement:001:LOC"/>
              <!-- <GenericParameterAssignment> </GenericParameterAssignment> -->
            </FareStructureElement>
            <ValidableElement id="FR-Tarif-Example:ValidableElement:002:LOC" version="any">
              <fareStructureElements>
                <FareStructureElementRef ref="FR-Tarif-Example:FareStructureElement:002:LOC"/>
              </fareStructureElements>
              <validityParameterAssignments>
                <GenericParameterAssignment>
                  <validityParameters>
                    <!-- <ServiceJourneyPatternRef ref="xxxxx" version="any"/> On peut préciser
la ServiceJourneyPattern en plus du numéro de Train -->
                    <!-- <TrainNumberRef ref="7057" version="any"/> -->
                    <!--Affectation du numéro
de train à l'OD-->
                    <!-- NON car ça limiterais à un horaire et calendrier associé -->
                  </validityParameters>
                </GenericParameterAssignment>
              </validityParameterAssignments>
            </ValidableElement>
            <!-- =============================================================================== -->
            <Notice id="FR-Tarif-Example:Notice:002:LOC" version="any">
              <!--POUR L'EXEMPLE-->
              <Name>Conditions de transport</Name>
              <Text>Les conditions g&#xE9;n&#xE9;rale de transport sont disponibles en ligne sur https://medias.sncf.com/sncfcom/pdf/tarif-voyageurs/Tarifs-voyageurs_CGV.pdf</Text>
              <CanBeAdvertised>true</CanBeAdvertised>
            </Notice>
            <!--SECONDE
Billet échangeable et remboursable avec retenue de 5 € à compter de 30 jours avant le départ, portée à 15
€ l'avant-veille jusqu'au jour du départ. À partir de 30 minutes avant départ du train, billet échangeable
2 fois maximum uniquement pour le même jour et le même trajet et non remboursable après échange. A la retenue s'ajoute l'éventuelle différence de prix entre l'ancien et le nouveau billet.
Billet non échangeable et non remboursable après le départ.-->
            <Exchanging id="FR-Tarif-Example:Exchanging:001:LOC" version="any">
              <Description>Billet &#xE9;changeable gratuitement jusqu'&#xE0; 30 jours avant le d&#xE9;part.
S'ajoute l'&#xE9;ventuelle diff&#xE9;rence de prix entre l'ancien et le nouveau billet</Description>
              <Allowed>full</Allowed>
              <ResellWhen>beforeStartOfValidity</ResellWhen>
              <ExchangableUntilDuration>-P30D</ExchangableUntilDuration>
              <HasFee>false</HasFee>
              <RefundBasis>perPerson</RefundBasis>
              <!--A vérifier-->
            </Exchanging>
            <Exchanging id="FR-Tarif-Example:Exchanging:002:LOC" version="any">
              <Description>Billet &#xE9;changeable avec retenue de 5 &#x20AC; &#xE0; compter de 30 jours avant le
d&#xE9;part. A la retenue s'ajoute l'&#xE9;ventuelle diff&#xE9;rence de prix entre l'ancien et le nouveau billet</Description>
              <prices>
                <UsageParameterPrice>
                  <Amount>5</Amount>
                  <Currency>EUR</Currency>
                </UsageParameterPrice>
              </prices>
              <Allowed>full</Allowed>
              <ResellWhen>beforeStartOfValidity</ResellWhen>
              <ExchangableFromDuration>-P30D</ExchangableFromDuration>
              <ExchangableUntilDuration>-P2D</ExchangableUntilDuration>
              <HasFee>true</HasFee>
              <RefundBasis>perPerson</RefundBasis>
              <!--A vérifier-->
            </Exchanging>
            <Exchanging id="FR-Tarif-Example:Exchanging:003:LOC" version="any">
              <Description>Billet &#xE9;changeable avec retenue de 15 &#x20AC; de l'avant-veille jusqu'au jour
du d&#xE9;part. A la retenue s'ajoute l'&#xE9;ventuelle diff&#xE9;rence de prix entre l'ancien et le nouveau billet</Description>
              <prices>
                <UsageParameterPrice>
                  <Amount>15</Amount>
                  <Currency>EUR</Currency>
                </UsageParameterPrice>
              </prices>
              <Allowed>full</Allowed>
              <ResellWhen>beforeStartOfValidity</ResellWhen>
              <ExchangableFromDuration>-P2D</ExchangableFromDuration>
              <ExchangableUntilDuration>-PT30M</ExchangableUntilDuration>
              <HasFee>true</HasFee>
              <RefundBasis>perPerson</RefundBasis>
              <!--A vérifier-->
            </Exchanging>
            <Exchanging id="FR-Tarif-Example:Exchanging:004:LOC" version="any">
              <Description>&#xC0; partir de 30 minutes avant d&#xE9;part du train, billet &#xE9;changeable 2 fois
maximum uniquement pour le m&#xEA;me jour et le m&#xEA;me trajet et non remboursable apr&#xE8;s &#xE9;change.A la retenue de
15&#x20AC; s'ajoute l'&#xE9;ventuelle diff&#xE9;rence de prix entre l'ancien et le nouveau billet</Description>
              <prices>
                <UsageParameterPrice>
                  <Amount>15</Amount>
                  <Currency>EUR</Currency>
                </UsageParameterPrice>
              </prices>
              <Allowed>full</Allowed>
              <ResellWhen>beforeStartOfValidity</ResellWhen>
              <ExchangableFromDuration>-PT30M</ExchangableFromDuration>
              <HasFee>true</HasFee>
              <RefundBasis>perPerson</RefundBasis>
              <!--A vérifier-->
              <NumberOfExchangesAllowed>2</NumberOfExchangesAllowed>
              <ExchangableTo>sameProductSameDay</ExchangableTo>
            </Exchanging>
            <!-- ========= Rembouresements -->
            <Refunding id="FR-Tarif-Example:Refunding:001:LOC" version="any">
              <Description>Billet Remboursable gratuitement jusqu'&#xE0; 30 jours avant le d&#xE9;part.</Description>
              <Allowed>full</Allowed>
              <ResellWhen>beforeStartOfValidity</ResellWhen>
              <ExchangableUntilDuration>-P30D</ExchangableUntilDuration>
              <HasFee>false</HasFee>
              <RefundBasis>perPerson</RefundBasis>
              <!--A vérifier-->
            </Refunding>
            <Refunding id="FR-Tarif-Example:Refunding:002:LOC" version="any">
              <Description>Billet Remboursable avec retenue de 5 &#x20AC; &#xE0; compter de 30 jours avant le
d&#xE9;part.</Description>
              <prices>
                <UsageParameterPrice>
                  <Amount>5</Amount>
                  <Currency>EUR</Currency>
                </UsageParameterPrice>
              </prices>
              <Allowed>full</Allowed>
              <ResellWhen>beforeStartOfValidity</ResellWhen>
              <ExchangableFromDuration>-P30D</ExchangableFromDuration>
              <ExchangableUntilDuration>-P2D</ExchangableUntilDuration>
              <HasFee>true</HasFee>
              <RefundBasis>perPerson</RefundBasis>
              <!--A vérifier-->
            </Refunding>
            <Refunding id="FR-Tarif-Example:Refunding:003:LOC" version="any">
              <Description>Billet Remboursable avec retenue de 15 &#x20AC; de l'avant-veille jusqu'au jour
du d&#xE9;part.</Description>
              <prices>
                <UsageParameterPrice>
                  <Amount>15</Amount>
                  <Currency>EUR</Currency>
                </UsageParameterPrice>
              </prices>
              <Allowed>full</Allowed>
              <ResellWhen>beforeStartOfValidity</ResellWhen>
              <ExchangableFromDuration>-P2D</ExchangableFromDuration>
              <ExchangableUntilDuration>-PT30M</ExchangableUntilDuration>
              <HasFee>true</HasFee>
              <RefundBasis>perPerson</RefundBasis>
              <!--A vérifier-->
            </Refunding>
            <Reserving id="FR-Tarif-Example:Reserving:001:LOC" version="any">
              <Description>R&#xE9;servation incluse avec le titre de transport. Possibilit&#xE9; de choix du
type de placement</Description>
              <ReservingRequirements>reservationsCompulsory</ReservingRequirements>
              <SeatAllocationMethod>autoAssigned</SeatAllocationMethod>
            </Reserving>
            <!-- =============================================================================== -->
            <!-- LE TITRE -->
            <PreassignedFareProduct id="FR-Tarif-Example:PreassignedFareProduct:Paris-Lille-001:LOC" version="any">
              <Name>Paris-Lille</Name>
              <!--NOTE : OU "billet OD TGV" SI ON FAIT DE LA MUTUALISATION-->
              <noticeAssignments>
                <NoticeAssignment>
                  <NoticeRef ref="FR-Tarif-Example:Notice:002:LOC"/>
                </NoticeAssignment>
              </noticeAssignments>
              <ChargingMomentType>beforeTravel</ChargingMomentType>
              <OperatorRef ref="FR-Tarif-Example:Authority:SNCF:"/>
              <ConditionSummary>
                <FareStructureType>pointToPointFare</FareStructureType>
                <!-- <IsPersonal>true</IsPersonal> déplacé sur le SalesOfferPackageElement =>
il faudra dire ce que l'on met sur le FP et ce qui va sur le Package-->
                <TrainRestrictions>specifiedTrainOnly</TrainRestrictions>
                <CanBreakJourney>false</CanBreakJourney>
                <IsRefundable>false</IsRefundable>
                <IsExchangable>false</IsExchangable>
                <HasExchangeFee>true</HasExchangeFee>
                <HasDynamicPricing>true</HasDynamicPricing>
                <!--YIELD MANANGED-->
                <RequiresReservation>true</RequiresReservation>
                <!--inclue dans le titre-->
                <HasReservationFee>false</HasReservationFee>
              </ConditionSummary>
              <validityParameterAssignments>
                <GenericParameterAssignment>
                  <LimitationGroupingType>AND</LimitationGroupingType>
                  <limitations>
                    <ReservingRef ref="FR-Tarif-Example:Reserving:001:LOC"/>
                    <ExchangingRef ref="FR-Tarif-Example:Exchanging:001:LOC"/>
                    <ExchangingRef ref="FR-Tarif-Example:Exchanging:002:LOC"/>
                    <ExchangingRef ref="FR-Tarif-Example:Exchanging:003:LOC"/>
                    <ExchangingRef ref="FR-Tarif-Example:Exchanging:004:LOC"/>
                    <RefundingRef ref="FR-Tarif-Example:Refunding:001:LOC"/>
                    <RefundingRef ref="FR-Tarif-Example:Refunding:002:LOC"/>
                    <RefundingRef ref="FR-Tarif-Example:Refunding:003:LOC"/>
                  </limitations>
                  <validityParameters>
                    <VehicleModes>rail</VehicleModes>
                  </validityParameters>
                </GenericParameterAssignment>
              </validityParameterAssignments>
              <validableElements>
                <ValidableElementRef ref="FR-Tarif-Example:ValidableElement:002:LOC"/>
                <!--etc. VOIR NOTE SUR ProductType -->
                <!--NOTE: On peut aussi définit le VE ici plutôt que de le référencer-->
              </validableElements>
              <!-- Possible option pour VE1 ou VE2 ... NON RETENU EN PREMIERE APPROCHE ... Voir choix
du ProductType -->
              <!-- <accessRightsInProduct>
<AccessRightInProduct>
<IsFirstInSequence>true</IsFirstInSequence>
<ValidableElementRef ref="FR-Tarif-Example:ValidableElement:002:LOC"/>
</AccessRightInProduct>
<AccessRightInProduct>
<IsFirstInSequence>true</IsFirstInSequence>
<ValidableElementRef ref="FR-Tarif-Example:ValidableElement:002:LOC"/>
</AccessRightInProduct>
-->
              <!--etc.-->
              <!--
</accessRightsInProduct>-->
              <ProductType>singleTrip</ProductType>
              <!--NOTE IMPORTANTE: si le produit est "single
trip" alors un seul de ValidableElement est utilisable, même s'il y a plusieurs VE: cela permet de gérer
les cas ou un produit donne accès à une droit A OU B OU C .... On pourra aussi utliser ce mécanisme pour
faire un unique produit O-D, contenant de très nombreuses O-D, mais avec une seule tarification comme dans
le cas du Yield Management ...-->
            </PreassignedFareProduct>
            <!--l'Indication "Espace Famille pourra se faire par un FamilyServices dans les FacilitySet associé à la course ou au Service Pattern-->
            <!-- =============================================================================== -->
            <!-- LE PACKAGE ... A FINALISER -->
            <SalesOfferPackageElement id="FR-Tarif-Example:SalesOfferPackageElement:001:LOC" version="any">
              <RequiresValidation>false</RequiresValidation>
              <ConditionSummary>
                <!--A ARTICULER AVEC LA PARTIE DANS LE FARE PRODUCT-->
                <IsPersonal>true</IsPersonal>
                <HasQuota>false</HasQuota>
                <!--le "HasQuota" peut être utilisé pour, par exemple
proposer un nombre de titre limité à tarif réduit ... pour être aussi restreint par une période d'achat-->
              </ConditionSummary>
              <TypeOfTravelDocumentRef ref="FR-Tarif-Example:TypeOfTravelDocument:001:LOC"/>
              <PreassignedFareProductRef ref="FR-Tarif-Example:PreassignedFareProduct:Paris-Lille001:LOC"/>
            </SalesOfferPackageElement>
            <TypeOfTravelDocument id="FR-Tarif-Example:TypeOfTravelDocument:001:LOC" version="any">
              <Name>E-Billet</Name>
              <Description>Billet &#xE9;lectronique &#xE0; Flashcode, imprim&#xE9; sur papier ou viualis&#xE9; sur terminal &#xE9;lectronique (smartphone)</Description>
              <Url>https://www.oui.sncf/aide/le-e-billet</Url>
              <MediaType>other</MediaType>
              <!--"Other" car il n'y a pas qu'un unique support physique ... on pourrait aussi ne pas faire figurer cet élément-->
              <MachineReadable>barCode</MachineReadable>
            </TypeOfTravelDocument>
            <SalesOfferPackage id="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any">
              <Name>Billet Origine-Destination (Paris-Lille) avec r&#xE9;servation</Name>
              <salesOfferPackageElements>
                <SalesOfferPackageElementRef ref="FR-Tarif-Example:SalesOfferPackageElement:001:LOC"/>
              </salesOfferPackageElements>
            </SalesOfferPackage>
            <!-- =============================================================================== -->
            <!-- POINTS DE VENTE
A FINALISER pour titre papier au guichet
-->
            <DistributionChannel id="FR-Tarif-Example:DistributionChannel:001:LOC" version="any">
              <Name>Points de vente SNCF</Name>
              <Description>Vente de ticket dans tous les points de vente SNCF</Description>
              <DistributionChannelType>agency</DistributionChannelType>
              <OrganisationRef ref="FR-Tarif-Example:Organisation:SNCF:"/>
              <distributionPoints>
                <PointRef ref="etc."/>
                <PointRef ref="etc."/>
              </distributionPoints>
            </DistributionChannel>
            <DistributionChannel id="FR-Tarif-Example:DistributionChannel:002:LOC" version="any">
              <Name>Oui SNCF</Name>
              <Description>Vente de ticket sur le site officiel SNCF</Description>
              <DistributionChannelType>online</DistributionChannelType>
              <ContactDetails>
                <Url>https://www.oui.sncf/</Url>
              </ContactDetails>
              <OrganisationRef ref="FR-Tarif-Example:Organisation:Oui-SNCF:"/>
            </DistributionChannel>
            <DistributionChannel id="FR-Tarif-Example:DistributionChannel:003:LOC" version="any">
              <Name>Trainline</Name>
              <Description>Vente de billets de 270 compagnies de train et de bus</Description>
              <DistributionChannelType>online</DistributionChannelType>
              <ContactDetails>
                <Url>https://www.trainline.fr/</Url>
              </ContactDetails>
              <OrganisationRef ref="FR-Tarif-Example:Organisation:TrainLine:"/>
            </DistributionChannel>
            <GroupOfDistributionChannels id="FR-Tarif-Example:GroupOfDistributionChannels:001:LOC" version="any">
              <Name>Tous les points de vente SNCF en ligne</Name>
              <members>
                <DistributionChannelRef ref="FR-Tarif-Example:DistributionChannel:002:LOC"/>
                <DistributionChannelRef ref="FR-Tarif-Example:DistributionChannel:003:LOC"/>
                <!--Etc.-->
              </members>
            </GroupOfDistributionChannels>
            <DistributionAssignment>
              <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC"/>
              <GroupOfDistributionChannelsRef ref="FR-Tarif-Example:GroupOfDistributionChannels:001:LOC"/>
            </DistributionAssignment>
            <!-- =============================================================================== -->
            <!-- TARIF REDUIT -->
            <UserProfile id="FR-Tarif-Example:UserProfile:001:LOC" version="any">
              <!--Plein tarif classique-->
              <Name>Plein tarif</Name>
              <Description>Plein tarif adulte sans r&#xE9;duction</Description>
              <MinimumAge>11</MinimumAge>
            </UserProfile>
            <UserProfile id="FR-Tarif-Example:UserProfile:002:LOC" version="any">
              <!--Gratuit pour les enfants-->
              <!-- Votre enfant de moins de 4 ans voyage gratuitement avec vous. Pour en bénéficier,
cochez la case « place gratuite sur les genoux » lors de votre réservation.-->
              <Name>Moins de 4 ans</Name>
              <Description>Gratuit pour les enfants de moins de 4 ans</Description>
              <MaximumAge>4</MaximumAge>
              <DiscountBasis>free</DiscountBasis>
              <companionProfiles>
                <CompanionProfile version="any" id="FR-Tarif-Example:CompanionProfile:002:LOC">
                  <Name>L'enfant doit avoir un adulte (payant) avec lui, et il n'a pas de si&#xE8;ge
attribu&#xE9; (sur les genoux)</Name>
                  <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:001:LOC"/>
                  <MinimumNumberOfPersons>1</MinimumNumberOfPersons>
                </CompanionProfile>
              </companionProfiles>
            </UserProfile>
            <UserProfile id="FR-Tarif-Example:UserProfile:002b:LOC" version="any">
              <!--Gratuit pour les enfants-->
              <!-- forfait bambin à 9€ : profitez-en pour vos voyages à bord de TGV INOUI, TER et Intercités. Ce tarif réduit vous est proposé par défaut lors de votre réservation -->
              <Name>Moins de 4 ans</Name>
              <Description>Gratuit pour les enfants de moins de 4 ans</Description>
              <MaximumAge>4</MaximumAge>
              <DiscountBasis>discount</DiscountBasis>
              <companionProfiles>
                <CompanionProfile version="any" id="FR-Tarif-Example:CompanionProfile:002b:LOC">
                  <Name>L'enfant doit avoir un adulte (payant) avec lui, et il dispose d'un
si&#xE8;ge</Name>
                  <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:001:LOC"/>
                  <MinimumNumberOfPersons>1</MinimumNumberOfPersons>
                </CompanionProfile>
              </companionProfiles>
            </UserProfile>
            <UserProfile id="FR-Tarif-Example:UserProfile:003:LOC" version="any">
              <!-- A FINALISER pour le compagnon -->
              <!-- -60% pour les enfants de 4 à 11 ans inclus (jusqu’à 3 maximum) pour un voyage aller-retour incluant
au moins un jour/une nuit de week-end sur place1
-30% pour un accompagnateur adulte pour un voyage aller-retour incluant au moins un jour/une nuit
de week-end sur place1 -->
              <Name>Tarif Enfant</Name>
              <Description>60%de r&#xE9;duction pour les enfants entre 4 et 10 ans </Description>
              <prices>
                <UsageParameterPrice>
                  <LimitingRule>
                    <DiscountAsPercentage>0.40</DiscountAsPercentage>
                    <CanBeCumulative>false</CanBeCumulative>
                  </LimitingRule>
                </UsageParameterPrice>
              </prices>
              <MinimumAge>4</MinimumAge>
              <MaximumAge>11</MaximumAge>
              <DiscountBasis>discount</DiscountBasis>
            </UserProfile>
            <EntitlementRequired id="FR-Tarif-Example:EntitlementRequired:004:LOC" version="any">
              <!--carte famille nombreuse
3 enfants=30 %
4 enfants=40 %
5 enfants=50 %
6 enfants ou plus= 75 %
A COMPLETER-->
              <Name>Carte Famille Nombreuse SNCF</Name>
              <Description>30% de r&#xE9;duction aus titulaires d&#x2019;une carte "Famille nombreuse"d&#xE9;livr&#xE9;e
par la SNCF (3 enfants) </Description>
              <EntitlementProductRef ref="FR-Tarif-Example:EntitlementProduct:001:LOC"/>
            </EntitlementRequired>
            <EntitlementProduct id="FR-Tarif-Example:EntitlementProduct:001:LOC" version="any">
              <Name>carte famille nombreuse SNCF 30% </Name>
              <Description>carte "Famille nombreuse" d&#xE9;livr&#xE9;e par la SNCF - 3 enfants </Description>
              <InfoUrl>https://www.service-public.fr/particuliers/vosdroits/F15292</InfoUrl>
              <documentLinks>
                <InfoLink>https%3A%2F%2Fwww.legifrance.gouv.fr%2Ftelecharger_rtf.do%3FidTexte%3DLEGITEXT000006063361%26dateTexte%3D20190617</InfoLink>
              </documentLinks>
              <GeneralOrganisationRef ref="FR-Tarif-Example:OperatorRef:SNCF:"/>
            </EntitlementProduct>
            <UserProfile id="FR-Tarif-Example:UserProfile:004:LOC" version="any">
              <!-- User Profile pour les titulaire de carter Famille Nombreuse -->
              <Name>Titulaire de carte famille nombreuse SNCF bleue</Name>
              <Description>30%de r&#xE9;duction</Description>
              <TypeOfUsageParameterRef ref="FR-Tarif-Example:EntitlementRequired:004:LOC" version="any"/>
              <prices>
                <UsageParameterPrice>
                  <LimitingRule>
                    <DiscountAsPercentage>0.70</DiscountAsPercentage>
                    <CanBeCumulative>false</CanBeCumulative>
                  </LimitingRule>
                </UsageParameterPrice>
              </prices>
              <DiscountBasis>discount</DiscountBasis>
            </UserProfile>
            <!-- =============================================================================== -->
            <!-- PRICING SERVICE -->
            <PricingService version="any" id="FR-Tarif-Example:PricingService:001:LOC">
              <Name>SNCF online pricing sercice</Name>
              <OrganisationRef ref="FR-Tarif-Example:Organisation:SNCF:"/>
              <Url>https://www.oui.sncf/tgv-inoui/tarifs</Url>
              <!--Voir quel lien mettre ...
existe-t-il une API ?-->
            </PricingService>
            <!-- =============================================================================== -->
            <!-- FARE TABLE avec tarif Yieldés ou fixes -->
            <!-- Pour chaque cellule: Prix / UserProfile ou Entitlement / SalesOfferPackage (le lien
avec les FareProduct est fait par le SalesOfferPackage) -->
            <FareTable version="any" id="FR-Tarif-Example:TickeT+FareTable:001:LOC">
              <Name> Tarif TGV Paris - Lille </Name>
              <cells>
                <Cell version="any" id="FR-Tarif-Example:Cell:001:LOC">
                  <SalesOfferPackagePrice>
                    <Name>Prix dynamique plein taif</Name>
                    <!--<Amount>00.00</Amount> Possibilité de prix de référence même s'il
y a un tarif "yieldé"-->
                    <PricingServiceRef ref="FR-Tarif-Example:PricingService:001:LOC"/>
                    <!-- <LimitingRule>
<MinimumPrice>0.1 </MinimumPrice>
<MaximumPrice>10000.00</MaximumPrice>
</LimitingRule>-->
                  </SalesOfferPackagePrice>
                  <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:001:LOC"/>
                  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
                </Cell>
                <Cell version="any" id="FR-Tarif-Example:Cell:002:LOC">
                  <SalesOfferPackagePrice>
                    <Name>Gratuit pour les enfants de moins de 4 ans</Name>
                    <Amount>0.0</Amount>
                    <!--GRATUIT POUR LES ENFANT DE MOINS DE 4 ANS "SUR LES
GENOUX"-->
                  </SalesOfferPackagePrice>
                  <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:002:LOC"/>
                  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
                </Cell>
                <Cell version="any" id="FR-Tarif-Example:Cell:002b:LOC">
                  <SalesOfferPackagePrice>
                    <Name>Tarif pour les enfants de moins de 4 ans sur un si&#xE8;ge</Name>
                    <Amount>9.0</Amount>
                    <!--9€ FIXE POUR LES ENFANT DE MOINS DE 4 ANS "SUR UN
SIEGE"-->
                  </SalesOfferPackagePrice>
                  <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:002b:LOC"/>
                  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
                </Cell>
                <Cell version="any" id="FR-Tarif-Example:Cell:003:LOC">
                  <SalesOfferPackagePrice>
                    <Name>Prix dynamique pour le 4-11 ans</Name>
                    <PricingServiceRef ref="FR-Tarif-Example:PricingService:001:LOC"/>
                    <DiscountingRule>
                      <DiscountAsPercentage>0.6</DiscountAsPercentage>
                    </DiscountingRule>
                  </SalesOfferPackagePrice>
                  <UserProfileRef version="any" ref="FR-Tarif-Example:UserProfile:003:LOC"/>
                  <!--
LES ENFANT DE DE 4 A 11 ANS => 60% de réduction-->
                  <SalesOfferPackageRef ref="FR-Tarif-Example:SalesOfferPackage:001:LOC" version="any"/>
                </Cell>
                <!-- etc. -->
                <!-- NOTE S'il n'y a pas re référence ou de min/max, il est peut intéressant de répéter cette ligne pour chaque OD possible .... On placera alors probablement toutes les OD dans une unique
PreassignedFareProduct, typé "singleTrip" -->
              </cells>
            </FareTable>
            <!-- =============================================================================== -->
          </members>
        </GeneralFrame>
      </frames>
    </CompositeFrame>
  </dataObjects>
</PublicationDelivery>

Leman Express

<?xml version="1.0"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://www.netex.org.uk/netex ./xsd/NeTEx_publication.xsd" version="1.1">
  <!--- =============== ENTETE =========== -->
  <PublicationTimestamp>2019-06-12T09:30:47.0Z</PublicationTimestamp>
  <ParticipantRef>AURIGE001</ParticipantRef>
  <!-- ========== DONNEES =========== -->
  <dataObjects>
    <!-- =========================================== -->
    <!-- CompositeFrame.de type NETEX_FRANCE -->
    <CompositeFrame version="1" created="2019-06-12T09:30:47.0Z" id="AURIGE:CompositeFrame:myFrame01:LOC">
      <frames>
        <!-- =========================================== -->
        <!-- Frame NETEX_TARIF -->
        <GeneralFrame version="001" id="AURIGE:TypeOfFrame:NETEX_TARIF-Example1:LOC">
          <TypeOfFrameRef ref="FR:TypeOfFrame:NETEX_TARIF">version="1.01:FR-NETEX_TARIF1.0"</TypeOfFrameRef>
          <members modificationSet="all">
            <!-- ============================================================================ -->
            <!-- STRUCTURE TARIFAIRE ET DROITS DE BASE -->
            <DistanceMatrixElement id="LEMAN-EXPRESS:DistanceMatrixElement:001:LOC" version="any">
              <!--Exemple d'OD Arrêt vers Zone -->
              <InverseAllowed>true</InverseAllowed>
              <StartStopPointRef versionRef="any" ref="LEMAN-EXPRESS:ScheduledStopPoint:Chamb&#xE9;si-87271007:LOC"/>
              <EndTariffZoneRef versionRef="any" ref="LEMAN-EXPRES:TariffZone:Zone250:LOC"/>
            </DistanceMatrixElement>
            <FareStructureElement id="LEMAN-EXPRESS:FareStructureElement:001:LOC" version="any">
              <DistanceMatrixElementRef ref="FR-Tarif-Example:DistanceMatrixElement:001:LOC"/>
              <GenericParameterAssignment id="LEMAN-EXPRESS:GenericParameterAssignment:001:LOC" version="any" order="1">
                <limitations>
                  <UsageValidityPeriod id="LEMAN-EXPRESS:UsageValidityPeriod:001:LOC" version="any">
                    <!--Peut être une référence pour mutualiser la définition-->
                    <UsageTrigger>purchase</UsageTrigger>
                    <!--On a aussi
l'option startOutboundRide, etc.-->
                    <StandardDuration>PT180M</StandardDuration>
                  </UsageValidityPeriod>
                </limitations>
              </GenericParameterAssignment>
            </FareStructureElement>
            <!-- ======================================================================== -->
            <!-- ETC. -->
          </members>
        </GeneralFrame>
      </frames>
    </CompositeFrame>
  </dataObjects>
</PublicationDelivery>

Tarif Kilométrique Ferré (TER)

<?xml version="1.0"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://www.netex.org.uk/netex ./NeTEx/xsd/NeTEx_publication-NoConstraint.xsd" version="1.1">
  <!--
Exemple de tarif Kilométrique TER sur la base des données de https://ressources.data.sncf.com/explore/dataset/bareme-de-prix-national-ter/table/?sort=-km
ATTENTION: cet exemple explique comment représenter ce tableau Kilométrique, mais ne définit pas les
produits tarifaire correspondant, ni les offres à la vente: ces éléments doivent être ajoutés et intégrés
à la Fare Table!
-->
  <!--- =============== ENTETE =========== -->
  <PublicationTimestamp>2019-06-12T09:30:47.0Z</PublicationTimestamp>
  <ParticipantRef>AURIGE001</ParticipantRef>
  <!-- ========== DONNEES =========== -->
  <dataObjects>
    <!-- =========================================== -->
    <!-- CompositeFrame.de type NETEX_FRANCE -->
    <CompositeFrame version="1" created="2019-06-12T09:30:47.0Z" id="AURIGE:CompositeFrame:myFrame01:LOC">
      <frames>
        <!-- =========================================== -->
        <!-- Frame NETEX_TARIF -->
        <GeneralFrame version="001" id="AURIGE:TypeOfFrame:NETEX_TARIF-Example1:LOC">
          <TypeOfFrameRef ref="FR:TypeOfFrame:NETEX_TARIF">version="1.01:FR-NETEX_TARIF1.0"</TypeOfFrameRef>
          <members modificationSet="all">
            <!-- ======================================================================= -->
            <!-- STRUCTURE TARIFAIRE ET DROITS DE BASE -->
            <!-- ======== Représentation des éléments du tableau lui même -->
            <GeographicalUnit version="any" id="SNCF:GeographicalUnit:TER-Unit&#xE9;-de-distance:LOC">
              <Name>Unit&#xE9; de distance arbitraire (peut-&#xEA;tre des kilom&#xE9;tre, ou une unit&#xE9; de
distance tarifaire)</Name>
            </GeographicalUnit>
            <GeographicalInterval version="001" id="SNCF:GeographicalInterval:TER-1km:LOC">
              <StartGeographicalValue>0.0</StartGeographicalValue>
              <EndGeographicalValue>1.0</EndGeographicalValue>
              <IntervalType>distance</IntervalType>
              <!-- <GeographicalUnitRef version="any" ref="SNCF:GeographicalUnit:TER-Unité-de-distance:LOC"/> Facultatif, aussi fourni via le GeographicalStructureFactor -->
            </GeographicalInterval>
            <!--etc...-->
            <GeographicalInterval version="001" id="SNCF:GeographicalInterval:TER-3km:LOC">
              <StartGeographicalValue>1.0</StartGeographicalValue>
              <EndGeographicalValue>2.0</EndGeographicalValue>
              <IntervalType>distance</IntervalType>
            </GeographicalInterval>
            <!--etc...-->
            <!--Association Interval - Unités-->
            <GeographicalStructureFactor version="001" id="SNCF:GeographicalStructureFactor:AtoB:LOC">
              <GeographicalIntervalRef version="001" ref="SNCF:GeographicalInterval:TER43km:LOC"/>
              <GeographicalUnitRef ref="SNCF:GeographicalUnit:TER-Unit&#xE9;-de-distance:LOC"/>
            </GeographicalStructureFactor>
            <!--etc...-->
            <!-- ========= Et les distances pour les origines / destination -->
            <DistanceMatrixElement id="FR-Tarif-Example:DistanceMatrixElement:AtoB:LOC" version="any">
              <Distance>43</Distance>
              <IsDirect>true</IsDirect>
              <InverseAllowed>true</InverseAllowed>
              <StartStopPointRef versionRef="any" ref="SNCF:ScheduledStopPoint:GareA:LOC"/>
              <EndStopPointRef versionRef="any" ref="SNCF:ScheduledStopPoint:GareB:LOC"/>
              <!--Note On pourrait insérer ici une CONTRAINTE de SERIE si plusieurs itinéraires étaient concernés si pluisieurs itinéraires sont possible -->
              <structureFactors>
                <GeographicalStructureFactorRef version="001" ref="SNCF:GeographicalInterval:TER-43km:LOC"/>
              </structureFactors>
            </DistanceMatrixElement>
            <!--etc...-->
            <!--LE FareStructureElement référence tous les DistanceMatrixElement ... Il sera
lui même référencé par les PreassignedFareProduct->ValidableElements-->
            <FareStructureElement id="FR-Tarif-Example:FareStructureElement:DM-001:LOC" version="any">
              <distanceMatrixElements>
                <!--... QUESTION RECURENTE DU TRAITEMENT EN "OU" OU
EN "ET" DE CES SEQUENCES (ici on cible OU) -->
                <DistanceMatrixElementRef ref="FR-Tarif-Example:DistanceMatrixElement:AtoB:LOC"/>
                <DistanceMatrixElementRef ref="FR-Tarif-Example:DistanceMatrixElement:AtoC:LOC"/>
                <DistanceMatrixElementRef ref="FR-Tarif-Example:DistanceMatrixElement:BtoC:LOC"/>
                <!--etc...-->
              </distanceMatrixElements>
            </FareStructureElement>
            <!-- ======== Tableau tarifaire simplifié, pour l'exemple (sans les FareProduct et SalesOfferPackage) -->
            <!-- Cette table est purement un exemple ... on peut s'interroger sur le fait de donner le prix des GeographicalIntervalRef, qui implique un calcul ou directement celui du DistanceMatrixElement -->
            <!--ces limites nous permettent de ne mettre que le prix de la 1ere colonne du
tableau (la limite s'appliquera opur les réductions)-->
            <LimitingRule version="001" id="SNCF:LimitingRule:001:LOC">
              <MinimumPrice>1.8</MinimumPrice>
            </LimitingRule>
            <LimitingRule version="001" id="SNCF:LimitingRule:002:LOC">
              <MinimumPrice>1.2</MinimumPrice>
            </LimitingRule>
            <FareTable id="SNCF:StandardFareTable:TER-1km:LOC" version="1.0">
              <Name>TER-Tarification kilom&#xE8;trique </Name>
              <pricesFor>
                <FareStructureElementRef ref="FR-Tarif-Example:FareStructureElement:DM001:LOC" version="any"/>
                <!--a remplace par FareProduct et SalesOfferPackage en final-->
              </pricesFor>
              <cells>
                <Cell>
                  <CellPrice>
                    <Amount>1.8</Amount>
                    <LimitingRuleRef ref="SNCF:LimitingRule:001:LOC"/>
                  </CellPrice>
                  <GeographicalIntervalRef ref="SNCF:GeographicalInterval:TER1km:LOC"/>
                  <FareClass>firstClass</FareClass>
                </Cell>
                <Cell>
                  <CellPrice>
                    <Amount>1.2</Amount>
                    <LimitingRuleRef ref="SNCF:LimitingRule:001:LOC"/>
                  </CellPrice>
                  <GeographicalIntervalRef ref="SNCF:GeographicalInterval:TER1km:LOC"/>
                  <FareClass>secondClass </FareClass>
                </Cell>
                <!--etc...-->
                <Cell>
                  <CellPrice>
                    <Amount>2.1</Amount>
                    <LimitingRuleRef ref="SNCF:LimitingRule:001:LOC"/>
                  </CellPrice>
                  <GeographicalIntervalRef ref="SNCF:GeographicalInterval:TER3km:LOC"/>
                  <FareClass>firstClass</FareClass>
                </Cell>
                <Cell>
                  <CellPrice>
                    <Amount>1.4</Amount>
                    <LimitingRuleRef ref="SNCF:LimitingRule:001:LOC"/>
                  </CellPrice>
                  <GeographicalIntervalRef ref="SNCF:GeographicalInterval:TER3km:LOC"/>
                  <FareClass>secondClass </FareClass>
                </Cell>
              </cells>
            </FareTable>
            <!-- ======================================================================= -->
          </members>
        </GeneralFrame>
      </frames>
    </CompositeFrame>
  </dataObjects>
</PublicationDelivery>

Bibliographie

EN 15531-1, Public transport - Service interface for real-time information relating to public transport operations - Part 1: Context and framework

EN 15531-2, Public transport - Service interface for real-time information relating to public transport operations - Part 2: Communications infrastructure3

EN 15531-3, Public transport - Service interface for real-time information relating to public transport operations - Part 3: Functional service interfaces4

CEN/TS 15531-4, Public transport - Service interface for real-time information relating to public transport operations - Part 4: Functional service interfaces: Facility Monitoring

CEN/TS 15531-5, Public transport - Service interface for real-time information relating to public transport operations - Part 5: Functional service interfaces - Situation Exchange