Import

Introduction

Ce document s’inscrit dans le programme de modernisation du Back-Office SIM. Celui-ci vise à mettre en œuvre une nouvelle chaîne de collecte et de distribution des données des données Information Voyageur en Île De France.

Dans le cadre de la phase 1 de ce programme, Île-de-France Mobilités assure un portage iso-fonctionnel des objets actuellement transmis par les Transporteurs vers la base DUALE. Contrairement à la base DUALE actuelle, qui concentre l’ensemble des données IV fournies par le Transporteur dans une unique base de données, le futur Back-Office Offre Théorique modernisé prévoit de s’appuyer sur les référentiels Arrêts et Lignes pour isoler les concepts relatifs aux arrêts et correspondances d’une part, et aux lignes commerciales d’autre part.

Ce document présente le format et les interfaces d’import des données d’offre de transport en commun dans le sous-système BO Offre Théorique Ces systèmes seront mis à disposition des transporteurs sous contrat avec Île-de-France Mobilités.

Pour rappel, le BO Offre Théorique permettra également de saisir directement son offre dans l'interface web du système,  via IHM. Le système est basé sur le logiciel Chouette.

 

Organisation des imports

Deux mécanismes sont proposés pour l'intégration des fichiers dans le BO : 

  • via upload depuis l'IHM du  BO Offre Théorique 

  • via API (protocole RESTful)

Ces mécanismes sont détaillés dans le chapitre : Interface d’import

 

Règles et restrictions

 

Tableaux d’attributs

Les tableaux d’attributs dans les chapitres suivants précisent pour chaque objet NeTEx exploité, le traitement attaché à chacun des attributs de l’objet. Les tableaux sont constitués de 4 colonnes : 

Donnée

Type

Cardinalité BO Offre Théorique

Description et traitement BO OT

Donnée

Type

Cardinalité BO Offre Théorique

Description et traitement BO OT

Nom NeTEx de la donnée (attribut ou élément de structure)

Type XML de la donnée

Précise le caractère obligatoire ou optionnel et dans le cas d’une occurrence multiple, les valeurs minimales et maximales autorisées (* pour indiquer aucune limite). Si cette cardinalité est différente de celle du Profil IDF, les deux sont indiquées. Ex : 0 :* (IDF) 1 :1 (BO IV)

Rappelle pour les données exploitées leur définition issue du Profil IDF et précise, si nécessaire, comment elles sont interprétées par le BO IV. 

Dans le cas où aucun traitement n’est précisé, la donnée est importée dans le BO IV sans transformation.

Pour les attributs ayant une cardinalité commençant par "0:" (attribut non obligatoire), il est possible de ne pas indiquer la balise dans le fichier d’import. En fonction du type de valeur, il peut aussi être accepté d'indiquer la balise avec une valeur vide. Pour les types comme enum, integer, time ou datetime par exemple, une balise "vide" provoquera une erreur XSD.  Afin d'éviter les erreurs, si une information n'est pas du tout gérée par le transporteur, Île-de-France Mobilités préconise de ne pas indiquer cette balise.

 

Règle d’exploitation des informations NeTEx

Les couleurs utilisées dans les tableaux permettent de mettre en valeur les objets et attributs exploités ou non lors de l’import dans le BO IV. Trois cas de figure sont possibles :

  • Information (donnée ou objet) non exploitée : l’information fait uniquement l’objet de contrôles de conformité au format XML et aux règles définies par NeTEx. En dehors de ces contrôles, l’information est totalement ignorée dans le processus d’import. Si cette information est optionnelle, il est fortement conseillé de ne pas la fournir afin de réduire les volumes et les temps de traitements lors de l’import dans le BO IV.

  • Information (donnée ou objet) exclue : l’information est rejetée car le BO IV ne peut pas l’importer. La présence de l’information rend alors invalide la ligne contenant cette information ou si l’information est commune au jeu de donnée, celui-ci est globalement invalide. L’exclusion est traduite par un point de contrôle obligatoire spécifique à l’import et la présence d’une information exclue sera restituée en erreur dans le rapport d’import produit par le BO IV. 

  • Donnée ou objet exploité : l’information a une utilité à l’import, toutefois, celle-ci n’est pas obligatoirement restituée à l’identique dans l’offre obtenue à l’issu de l’import dans le BO IV ; pour ces données, la définition issue du profil est rappelée afin de faciliter la lecture et si nécessaire, le traitement réalisé à l’import BO IV; par défaut, l’information est importée dans un attribut de l’objet BO IV correspondant. Pour les données optionnelles, sauf mention contraire dans les tableaux, la donnée est laissée vide dans le BO IV si elle n’est pas renseignée à l’import. 

Delivery et Frames

 

Cadres de version ou frames

Les cadres de version sont de 2 types :

  • GeneralFrame : Contient uniquement des objets métiers. La liste des objets autorisés dépend de l’attribut ‘TypeOfFrameRef’ du cadre et est définie par le Profil  

  • CompositeFrame : Contient uniquement d’autres cadres de versions, la liste des cadres de version autorisés dépend de l’attribut ‘TypeOfFrameRef’ du cadre et est définie par le Profil IDF.

Chaque fichier XML respecte les règles de format du Profil IDF ; ils sont donc tous composés d’un objet racine de type ‘PublicationDelivery’. Cet objet contient ensuite les cadres de versions qui sont structurés comme indiqué dans le chapitre Delivery et Frames.

 

PublicationDelivery

Données caractérisant l’objet PublicationDelivery :

Donnée

Type

Cardinalité BO OT

Version

Donnée

Type

Cardinalité BO OT

Version

version

xsd:NMTOKEN

1:1

Identifiant de la version de NeTEx utilisée.

Exploité : doit contenir la version du profil.

Le format attendu est : 1.04: FR1-NETEX-2.0-z

où : 

  • 1.04 : version xsd NETEX

  • 2.0 : version du profil Ile de France NETEX (général) utilisé pour l'ouverture du Back Office IV

  • z : version du système fournisseur du transporteur (optionnel et ignoré à l’import). Constitués de chiffres et de "." uniquement.

PublicationTimestamp

xsd:dateTime

1:1

Non exploité, toutefois comme il est obligatoire, il doit contenir une horodate conforme à la syntaxe W3C.

Préconisation de format (heure universelle) : 

AAAA-MM-JJThh:mm:ssZ

ParticipantRef

ParticipantCodeType

1:1

Non exploité, toutefois, comme il est obligatoire, il doit contenir une valeur qui sera ignorée à l’import.

Préconisation : Renseigner ici le code de l’organisation de l’utilisateur qui réalise l’import

Les valeurs autorisées sont les lettres, chiffres, “.”, “:”, “-”

dataObjects

dataObjects_

RelStructure

0:1

1:1

CompositeFrame de type : 

  • FR1:TypeOfFrame:NETEX_OFFRE_LIGNE:

ou GeneralFrame de type :

  • FR1:TypeOfFrame:NETEX_COMMUN:

  • FR1:TypeOfFrame:NETEX_CALENDRIER:

  • FR1:TypeOfFrame:NETEX_STRUCTURE:

  • FR1:TypeOfFrame:NETEX_HORAIRE:

Entités abstraites et héritage

NeTEx définit une hiérarchie d’objets et certains attributs des objets importés sont issus de ces héritages. Afin de simplifier la lecture des attributs relatifs à chaque objet intervenant dans l’import, les attributs issus d’un héritage ne sont rappelés seulement s’ils sont requis pour l’import de l’objet considéré.

Dans le cas de l’utilisation  d’un attribut hérité dans un objet à importer, une nomenclature  est utilisée dans les tableaux d’attributs pour les repérer : le nom de l’attribut en question est précédé d’une abréviation entre parenthèses. Cette abréviation correspond au nom de l’objet qui fournit l’attribut en héritage. :

  • (E) pour l’objet ENTITY

  • (EIV) pour l’objet EntityInVersion 

Ces deux objets parents sont décrits ci-dessous :   
Entity (E)

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

id

ObjectIdType

1:1

Identifiant unique (et pérenne autant que possible) de l'objet.

L'identifiant doit être unique pour un type d'objet dans un fichier. Île-de-France Mobilités préconise qu'il soit aussi unique dans un jeu de données entier (ex : pas d'utilisation du même identifiant pour décrire les itinéraires de deux lignes différentes (chacune dans un fichier))

Usage précisé au cas par cas. 

Limité à 255 caractères

Règle de syntaxe des identifiants : Les identifiants des objets, autres que les arrêts, respectent la codification suivante : 

[CODESPACE]:[type d'objet]:[identifiant Technique]:LOC

Avec :

[CODESPACE] : identifiant de fournisseur qui prendra comme valeur  soit le nom du groupe de transport qui fournit la donnée (c'est à dire KEOLIS, OPTILE, RATP, SNCF, ou TRANSDEV) soit le nom de l'organisation (par exemple LACROIX).

[type d'objet]: classe de l'objet sous la forme du nom du tag XML qui le porte

[identifiant Technique] : identifiant interne unique composé de caractères ‘0-9’, ‘A-Z’, ‘a-z’, ‘-‘ et ‘_’. Les caractères accentués (‘é’, ‘ô’, …) et les autres caractères spéciaux (‘ç’, …) sont à remplacer systématiquement par ‘_’.

Note : Île-de-France Mobilités préconise de privilégier l'utilisation de caractères numériques ou simples (par exemple : "-")

LOC: permet de préciser que l'identifiant a été défini de façon locale entre les parties engagées dans l'échange, et qu'il ne fait donc pas partie du référentiel partagé (régional, national, etc.) L'utilisation de ce qualificatif est obligatoire quand l'identifiant est local (hors identifiants Référentiel Arrêts ou Référentiel Lignes).

EntityInVersion (EIV) hérite de Entity :

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

changed

xsd:dateTime

0:1

Date et heure de la dernière modification de l'entité (= de l’objet).

Exploité s’il est renseigné sur un objet dont l’ID est conservé dans le BO IV, non exploité sinon. 

Préconisation : AAAA-MM-JJThh:mm:ssZ (heure universelle)

version

VersionIdType

1:1

Identifiant de version (généralement un numéro)

Une seule version d’un objet (même id) est acceptée dans un jeu de données. La valeur ‘any’ est acceptée.

Note : Le BO Offre IV impose ses propres règles de versionnement indépendamment des versions fournies à l’import. Cet attribut n'est donc pas repris tel quel en publication.

ValidBetween

ValidBetween

Structure

0:*

Périodes de validité de l’objet.
Exploité uniquement dans le cadre de l'import Offre Théorique, au niveau de la GeneralFrame NETEX_CALENDRIER.

Si l'attribut hérité n'est pas obligatoire, il n'est pas rappelé dans les tableaux du chapitre Import Offre Théorique.

Règles de syntaxe des références

Pour certains attributs, il est attendu des références à des objets dits ‘internes’ (l’objet référencé doit être défini dans le même fichier XML)  ou à des objets ‘externes’ (l’objet référencé est présent dans un autre fichier du jeu de données ou dans une autre source de données comme par exemple dans les Référentiels Arrêts ou Lignes).

Ces références comportent 2 champs obligatoires : l’identifiant de l’objet référencé et sa version.

Syntaxe pour les références à un objet du jeu de données:

  • Référence interne (objet dans le même fichier) : 

<ObjetRef ref="[ID de l'objet]" version="[VERSION de l'objet]" />
  • Référence externe (objet dans un fichier différent du même jeu de données)

<ObjetRef ref="[ID de l'objet]"> version="[VERSION de l'objet]"</ObjetRef >

Avec : 

  • [ID de l'objet] : l’attribut respecte la syntaxe des identifiants (voir Entités abstraites et héritage

  • [VERSION de l'objet] : l’attribut correspond au même numéro de version que celui indiqué pour l'objet dans le jeu de données.

Exemple :

Référence au sein d'un fichier offre_[ID REF LIGNE]_[Nom ligne].xml :

<RouteRef  ref="TRANDEV:Route:1234:LOC" version="any"/>

Référence d'un fichier offre_[ID REF LIGNE]_[Nom ligne].xml à calendriers.xml :

Syntaxe pour les références à un objet stocké dans le Référentiel Lignes (Ligne commerciale ou Transporteur) ou dans le Référentiel Arrêts (ZDEP) : 

Avec : 

  • [ID REF LIGNE] : Identifiant de la ligne commerciale dans le Référentiel Lignes

  • [ID TRANSPORTEUR] : Identifiant du transporteur dans le Référentiel Lignes

  • [ID ZDEP] : Identifiant de la Zone d'Embarquement Particulière dans le Référentiel Arrêts 

Import Offre Théorique


Organisation des imports

Que ce soit via upload depuis l'IHM ou via API, la fonction d’import du BO Offre Théorique s’attend à recevoir les données d’une offre de transport dans un ensemble de fichiers organisés comme suit :

 

Le lot de fichiers est rassemblé dans un fichier archive au format ZIP (avec l’option deflate standard et non deflate64).

Il contient un dossier correspondant à un jeu de données.

Fichiers et cadres de version : 


Chaque fichier xml du dossier contient des données relatives à un ou plusieurs cadres de version et sera contrôlé par l’application :

  • commun.xml : Contient les objets du cadre de version NETEX_COMMUN. Ce fichier est optionnel : il est inutile de le fournir s’il ne contient aucun objet utile à l’import.

  • calendriers.xml : Contient les objets du cadre de version NETEX_CALENDRIER.

  • offre_[ID REF LIGNE]_[nom ligne].xml : Chaque fichier contient les données d’offre pour une ligne réparties dans les cadres de version NETEX_STRUCTURE et NETEX_HORAIRE. Ceux-ci sont regroupés au sein d’un cadre de version de type NETEX_OFFRE_LIGNE.

Dans un fichier XML donné, il ne doit y avoir qu’une seule valeur du CODESPACE.

Règles de nommage : 

Le nom des fichiers XML est imposé et contrôlé. Pour offre_[ID REF LIGNE]_[nom ligne].xml :

  • [ID REF LIGNE] : code de la ligne commerciale issu du Référentiel Lignes est contrôlé. Il doit respecter strictement son format d’origine avec un C majuscule et des chiffres après comme par exemple C01456.

  • [nom ligne] : nom court de la ligne commerciale est non contrôlé mais préconisé.

Seuls les caractères ‘0-9’, ‘A-Z’, ‘a-z’, ‘-‘ et ‘_’ sont autorisés. Les caractères accentués (‘é’, ‘ô’, …) et les autres caractères spéciaux (‘ç’, …) sont à remplacer systématiquement par ‘_’.

Les noms des dossiers et de l'archive ne sont pas contrôlés, mais Île-de-France Mobilités impose les règles de nommage suivantes :

  • Préfixe : "OFFRE_[ID ORGA]_", avec [ID ORGA] correspondant à l'identifiant de l'organisation gérée dans le Portail Transporteur par Île-de-France Mobilités (notion correspondant à la notion actuelle de "site de saisie")

  • Le reste du nom doit permettre d'identifier clairement le jeu de données pour le producteur. Il peut s'agir d'un numéro de version, si des versions sont gérées dans son système, ou plus simplement la date de production du fichier (préconisation de format : AAAAMMJJhhmmssZ - heure universelle)

  • Dans le cas d'une archive ne contenant qu'un seul jeu de données, le nom de l'archive est le même que celui du dossier qu'elle contient. Dans le cas d'une archive contenant plusieurs dossiers (envoi multi-jeux), le nom de l'archive est similaire à ceux des dossiers (voir exemple précédent).


Périmètre du jeu de données 

Chaque jeu rassemble un ensemble de données d’offre valide :

  • sur une même période calendaire : celle-ci est précisée dans le fichier calendriers.xml. La période peut être discontinue.

  • pour une liste de lignes : L'utilisateur qui réalise l'import dans l'IHM ou le flux API doit posséder des droits en modification sur ces lignes commerciales. Ses droits sont définis par rapport à son Organisation d'appartenance. Ces droits sont définis dans le Portail Transporteur par Île-de-France Mobilités.

Dans une "action d’import", deux jeux de données distincts dont les périodes de validité se chevauchent ne doivent pas décrire de l’offre sur une même ligne

De même, si l'on souhaite décrire l'offre d'une ligne dans différents jeux de données (ex : un jeu de données pour l'offre d'été et un autre pour l'offre d'hiver) dans une même archive, les périodes de validité des jeux de données ne doivent pas se chevaucher.

Exemple :

Cette règle de gestion de non chevauchement des périodes de validité pour une ligne est également applicable dans l’espace de travail de l’outil : l'espace de travail d'un utilisateur (IHM du BO Offre Théorique où l'utilisateur peut consulter les données qu'il a importé) ne peut contenir plusieurs jeux de données "en cours", ayant des périodes qui se recouvrent pour une même ligne commerciale.

Le statut "En cours" signifie que le jeu de données a été importé dans le BO mais n'a pas encore été poussé en production (transmis à Ile-de-France Mobilités pour agrégation).

Si le jeu de données a déjà été poussé en production (action manuelle ou automatisable dans le BO Offre Théorique) ou si le jeu de données a été supprimé volontairement par le transporteur (action d'archive manuelle), il est possible alors d'importer un nouveau jeu de données "chevauchant".

Si ce nouveau jeu est poussé en production, alors, pour les lignes concernées :

  • pour les données ayant les mêmes intervalles de validité (chevauchement) :

    • celles du nouveau jeu écraseront celles de l’ancien jeu,

  • pour les données n’ayant pas les mêmes intervalles de validité :

    • celles de l’ancien jeu resteront valides,

    • celles du nouveau jeu s’ajouteront à celles de l’ancien jeu.

Modélisation des données métier échangées

Les données sont échangées selon la norme NeTEx et s'appuient sur le Profil d’échange IDF défini par Île-de-France Mobilités. Le schéma suivant présente tous les objets requis lors d’un l’import dans le BO Offre Théorique :

Les objets représentés sont regroupés dans des cadres de version (ou ‘Frames’) qui servent de conteneurs pour transporter les objets. 

Chaque cadre de version est identifié par une couleur distincte : 

  • NETEX_LIGNE (raccourci de FR1:TypeOfFrame:NETEX_OFFRE_LIGNE:)

  • NETEX_STRUCTURE (raccourci de FR1:TypeOfFrame:NETEX_STRUCTURE:)

  • NETEX_HORAIRE (raccourci de FR1:TypeOfFrame:NETEX_HORAIRE:)

  • NETEX_CALENDRIER (raccourci de FR1:TypeOfFrame:NETEX_CALENDRIER:)

  • NETEX_COMMUN (raccourci de FR1:TypeOfFrame:NETEX_COMMUN:) 

Les objets présentés en jaune et vert ne font pas partie des données à fournir à l’import, seule une référence externe (au sens NeTEx) est nécessaire.

Delivery et Frames

Les cadres de version attendus à l’import sont structurés de la manière suivante :

 

commun.xml

calendriers.xml

offre_[ID REF LIGNE]_[Nom ligne].xml

Les données caractérisant chaque cadre de version (illustrés ci-dessus en vert) sont précisées dans les chapitres suivants.

Chaque fichier XML respecte les règles de format du Profil IDF ; ils sont donc composés d'abord d’un objet racine de type ‘PublicationDelivery’ (voir PublicationDelivery).

Cadre de version ‘NETEX_COMMUN’ 

Organisation et hiérarchie du cadre de version :

Dans celui-ci ne seront traités que des objets de type ‘NOTICE’.

Les autres types autorisés dans ce cadre de version par le Profil IDF sont ignorés (voir ci après).

Description de la General Frame NETEX_COMMUN

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Non exploité, mais obligatoire
Préconisation : [CODESPACE]: GeneralFrame:NETEX_COMMUN-AAAAMMJJhhmmssZ:LOC , avec AAAAMMJJhhmmssZ : heure de génération fichier (heure universelle)

(EIV) version

VersionIdType

1:1

Non exploité, mais obligatoire

Préconisation : 'any'

TypeOfFrameRef

TypeOfFrameRef

0:1

1:1

Référence au TYPE OF VERSION FRAME utilisé.

Doit être NETEX_COMMUN

Préconisation : 

<TypeOfFrameRef  ref="FR1:TypeOfFrame:NETEX_COMMUN:">version="1.04:FR1-NETEX_COMMUN-2.1"</TypeOfFrameRef>

members

EntityInFrame

0:*

Contient la liste des objets contenus dans la Frame (Voir ci-après)

Objets pris en compte par le BO Offre Théorique

NOTICE (Note) : Un texte à vocation informationnelle, en général concernant des exceptions d'utilisation, et rattaché dans le cadre du BO Offre Théorique à des SERVICE JOURNEY (Courses)

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant de la note

Préconisation : [CODESPACE]:Notice:[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

Text

MultilingualString

0:1

1:1

Texte de la NOTICE(Note)

Exploité : Ce champ doit être explicitement renseigné car il a pour but d'être diffusé en information voyageur.

Limité à 255 caractères

PublicCode

xsd:normalizedString

1:1

Code publique de la NOTICE(Note)

Exploité : Ce code doit être unique pour les notes d’une ligne de transport.

Correspond au numéro du renvoi, diffusé en information voyageur.

TypeOfNoticeRef

TypeOfNoticeRef

1:1

Seules les notes de type ‘ServiceJourneyNotice’ sont exploitées*

*Le typage des notes indique sur quel type d'objet la note porte. Des notes de type "LineNotice" (portant sur une ligne entière) peuvent également être renseignées, mais celles-ci doivent être saisies dans le Référentiel Lignes (ex : indication de l'obligation de réservation pour une ligne TAD).

Exemple de restitution de l’objet "NOTICE" au niveau d’un média IV (fiche horaire) :

La référence à la note ("NoticeAssignement") se trouve au niveau de l'objet SERVICE JOURNEY (Course), présent dans les fichiers offre_[ID REF LIGNE].xml livrés dans le même jeu de données. Ces références doivent correspondre à des objets Notice indiqués dans le fichier Commun.xml, sinon aucune note ne sera affectée à la course.

Les notes peuvent être "partagées" par toutes les lignes d'une offre du jeu de données. Toutefois, dans le BO Offre théorique, ces notes seront dupliquées pour être attribuées à chacune des lignes concernées. 

Objets ignorés dans le cadre de version 

 (La présence d’un objet de l’un de ces types ne perturbe pas l’import si la grammaire XML et XSD NeTEx est respectée ; toute erreur XML ou XSD provoque l’interruption de l’import et le rejet total du jeu de données) :

  • ALTERNATIVE NAME

  • NOTICE ASSIGNMENT

  • ORGANISATION

  • RESPONSIBILITY ROLE ASSIGNMENT

  • TYPE OF FRAME

  • TYPE OF VALUE

  • VALIDITY CONDITION

Cadre de version ‘NETEX_CALENDRIER’

Organisation et hiérarchie du cadre de version : 

Dans celui-ci ne seront exploités que des objets de type ‘DAY TYPE’, ‘OPERATING PERIOD’ et ‘DAY TYPE ASSIGNMENT’.

L'exclusion du type ‘OPERATING DAY’ signifie que seuls les jours calendaires (de 0h à 23h59) sont gérés par le BO Offre Théorique. Pour une course, l'attribution du calendrier se fait par rapport au jour calendaire du premier horaire de la course. Une course démarrant à 23h58 et une autre démarrant 10min après ne peuvent pas être indiquées sur le même calendrier.

Note : Cette contrainte existe déjà dans les formats d'échanges actuels.

La relation entre les objets est la suivante : 

Les courses référencent un ou plusieurs DAY TYPE (Type de Jour), cet objet est donc la référence pour modéliser un calendrier.  Dans le BO Offre Théorique, chaque objet DAY TYPE avec ses dépendances est transformé en un objet BO Offre Théorique nommé ‘Calendrier’.

Description de la General Frame NETEX_CALENDRIER

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Non exploité, mais obligatoire
Préconisation : [CODESPACE]: GeneralFrame:NETEX_CALENDRIER-AAAAMMJJhhmmssZ:LOC , avec AAAAMMJJhhmmssZ = heure de génération fichier (heure universelle)

(EIV) version

VersionIdType

1:1

Non exploité, mais obligatoire.

Préconisation :’any’

ValidBetween

ValidBetween

Structure

0:*

1 :*

Définit la ou les périodes de validité du jeu de données
Les périodes ne doivent pas se chevaucher*

Format (exemple) :

<ValidBetween>

<From Date>2017-06-25T00:00:00</FromDate><ToDate>2017-12-31T00:00:00</ToDate>

</ValidBetween>

TypeOfFrameRef

TypeOfFrameRef

0:1

1:1

Référence au TYPE OF VERSION FRAME utilisé.

Doit être NETEX_CALENDRIER

Préconisation : 

<TypeOfFrameRef  ref="FR1:TypeOfFrame:NETEX_CALENDRIE

R:">version="1.04:FR1-NETEX_CALENDRIER-2.1"</TypeOfFrameRef>

members

EntityInFrame

0:*

Contient la liste des objets contenus dans la Frame (Voir ci-dessous)

*La Frame NETEX_CALENDRIER indique la Période de Validité (ValidBetween) du jeu de données entier. Elle peut se composer

d'un ou de plusieurs intervalles de temps (date de début / date de fin) qui ne doivent pas se chevaucher

Ce fonctionnement est une nouveauté par rapport au Back Office actuel, qui suite à un import écrasait les données sur toute la période gérée dans la base communautaire (1 an 1/2, glissant tous les ans). Il permettra notamment de gérer plus facilement les périodes de transition lors d'une restructuration.

Objets pris en compte par le BO Offre Théorique

DAY TYPE (Type de Jour) : Objet servant de base à la construction du calendrier. Il est référencé par les SERVICE JOURNEY (Courses).

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant du DAY TYPE

Préconisation : [CODESPACE]:DayType:

[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

Name

MultilingualString

0:1

Nom du DAY TYPE (Type de Jour)

Si absent, alors un nom de calendrier sera généré automatiquement à l’import ; ce nom est affiché dans l’IHM du BO Offre Théorique pour la sélection des calendriers.

properties

PropertyOfDay

0:*

Liste de type de jours de validité du calendrier d'application. 

Seuls les types DaysOfWeek (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday et Sunday) sont exploités

Si les DayTypeAssignment référencent uniquement des ’Date’, la liste doit être vide.

En présence d’au moins une référence à une période, la liste doit être renseignée avec au moins un des types DaysOfWeek. Ces restrictions ne s'appliquent que sur les périodes, pas sur les dates.

DAY TYPE ASSIGNMENT : Objet permettant d' "assigner" (ajouter ou retrancher en fonction du critère IsAvailable) des dates ou des OPERATING PERIOD (Périodes d'Exploitation) à un DAY TYPE.

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant du DAY TYPE - ASSIGNMENT

Préconisation : [CODESPACE]:DayTypeAssignment:

[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

order

xsd:integer

1:1

Ordre : non exploité, mettre la valeur 0

OperatingPeriodRef

OperatingPeriod

Ref

0:1

Référence interne à une OPERATING PERIOD

Date

xsd:Date

0:1

Date calendaire.

Format :

<Date>2017-08-28</Date>

DayTypeRef

DayTypeRef

1:1

Référence le DAY TYPE (Type de jour) concerné (référence interne).

isAvailable

boolean

0:1

La valeur "False" permet d'exprimer des exceptions (ex : sauf le 1er avril).

Si l'attribut n'est pas renseigné, le BO Offre Théorique l’interprète à ‘vrai’
L’emploi de ce booléen est autorisé uniquement pour les assignements sur des dates et non sur périodes.

Note : Un DAY TYPE doit obligatoirement être référencé dans un DAY TYPE ASSIGNMENT, sinon il ne sera pas pris en compte. 

OPERATING PERIOD : Intervalle de temps continu, défini par une date de début et de fin. Rattaché à un ou plusieurs DAY TYPE (Type de Jour) via l'objet DAY TYPE ASSIGNEMENT.

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant du DAY TYPE - ASSIGNMENT

Préconisation : [CODESPACE]:DayTypeAssignment:

[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

FromDate

xsd:date

1:1

Date calendaire de début*

ToDate

xsd:date

1:1

Date calendaire de fin*

La date de fin doit être strictement supérieure à la date de début

*Format pour les dates de type : <FromDate>2017-06-01T00:00:00</From Date>

En combinant ces 3 objets, il est possible de modéliser ses calendriers de différentes façons.

Exemple n°1 :

Courses circulant du 1er au 31 juillet, tous les jours sauf les dimanches et sauf le 14 juillet

Exemple n°2 :

Courses circulant le 14 juillet

Un DAY TYPE peut aussi contenir des dates d'exception de circulation (isAvailable=false). C’est le cas de l’exemple n°1 option 2.

La combinaison de ce DAY TYPE avec un autre au niveau du SERVICE JOURNEY permettra de "soustraire" des jours à ce 2ème DAY TYPE. Ce principe peut permettre de plus facilement gérer la modélisation des exclusions de service les jours fériés.

Ce DAY TYPE "négatif" n'est pas conservé tel quel dans le BO Offre Théorique. Le résultat de la soustraction de ce DAY TYPE à un second DAY TYPE génère un seul calendrier dans le BO.

Règles d'import / Cohérence entre les fichiers

  • A l’issu de l’import, les calendriers qui ne couvrent aucun jour de la période de validité du jeu de donnée ne sont pas présents,

  • Les courses qui n’étaient associées qu’à ces calendriers ne sont pas importées,

  • Par effet cascade, les missions commerciales se retrouvant sans courses ne sont pas importées, ainsi que les itinéraires.

Cette règle étant associée à un point de contrôle d’import, les données ignorées seront tracées dans le rapport d’import.

Les calendriers qui définissent des dates en doublon seront simplifiés, comme par exemple :

  • Date calendaire déjà présente dans une période

  • Périodes se chevauchant

Objets ignorés dans le cadre de version 

La présence d’un objet de l’un de ces types ne perturbe pas l’import si la grammaire XML et XSD NeTEx est respectée ; toute erreur XML ou XSD provoque l’interruption de l’import et le rejet total du jeu de données :

  • OPERATING DAY

  • SERVICE CALENDAR

Toute relation entre ces objets et ceux exploités lors d’import sera aussi ignorée

Cadres de version constituant l’offre d’une ligne (NETEX_OFFRE_LIGNE)

Organisation et hiérarchie du cadre de version : 

Chaque fichier offre_[ID REF LIGNE]_[Nom ligne].xml contient les informations permettant de décrire l' "offre" pour une ligne commerciale (un fichier .xml par ligne).

Il contient une Frame Composite "NETEX_OFFRE_LIGNE", qui doit indiquer dans son identifiant le code de la ligne commercial issu du Référentiel Lignes. 

Cette information est importante car elle indique le périmètre qui sera "écrasé" dans le Back Office Offre par cette mise à jour (critère cumulé avec la période de validité indiquée dans la frame NETEX_CALENDRIER du fichier Calendrier.xml du jeu de données). 

Ainsi, contrairement aux formats actuellement utilisés par SNCF et OPTILE, il ne sera plus obligatoire de fournir toutes ses lignes dans un jeu de données, sous peine d'effacer l'offre d'une ligne qui aurait été "oubliée".

NETEX_OFFRE_LIGNE est une Composite Frame ; elle contient elle-même deux Frames : NETEX_STRUCTURE (description de la structure de la ligne) et NETEX_HORAIRE (description des courses et horaires).



Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Non exploité. 

Préconisation : [CODESPACE]: CompositeFrame:NETEX_OFFRE_LIGNE-[ID REF Ligne Commerciale]:LOC

(EIV) version

VersionIdType

1:1

Non exploité. Préconisation : ’any’

TypeOfFrameRef

TypeOfFrameRef

0:1

1:1

Référence au TYPE OF VERSION FRAME utilisé.

Doit être NETEX_OFFRE_LIGNE

Préconisation : 

<TypeOfFrameRef  ref="FR1:TypeOfFrame:NETEX_OFFRE_LIGNE:">version="1.04:FR1-NETEX_OFFRE_LIGNE-2.1"</TypeOfFrameRef>

frames

Frame

0:*

Liste des frames de la frame composite

Exploité : contient dans l’ordre les 2 GeneralFrames : 

  • NETEX_STRUCTURE

  • NETEX_HORAIRE

Fichier offre_[ID REF LIGNE]_[Nom ligne].xml "vide" :

Si l'attribut modification dans la Frame NETEX_OFFRE_LIGNE est "delete", et que celle-ci ne contient aucune frame NETEX_STRUCTURE ni NETEX_HORAIRE, alors il est considéré que la ligne ne circule pas sur la période de validité du jeu de données (période définie dans la frame NETEX_CALENDRIER). Si une offre sur cette période a déjà été importée précédemment à Ile-de-France Mobilités, elle sera donc "écrasée".

Cadre de version ‘NETEX_STRUCTURE’

Organisation et hiérarchie du cadre de version

NETEX_STRUCTURE ne contient que des objets relatifs à l’aspect topologie d'une ligne. 

Les deux objets centraux sont : 

  • La ROUTE (Itinéraire) : Premier niveau de subdivision de la ligne commerciale. Il correspond à une suite ordonnée de points définissant un seul chemin à travers le réseau routier (ou ferré). Il est orienté : la suite de ces mêmes points ordonnée dans le sens contraire constitue un autre itinéraire.

  • Le SERVICE JOURNEY PATTERN (Mission Commerciale) : il décrit la façon dont "circulent" les véhicules : tous les points d'une mission (STOP POINT IN JOURNEY PATTERN) sont desservis. Une mission est associée à un unique itinéraire.

Dans le format défini pour le BO Offre Théorique, les points sur mission ne peuvent être associés qu'à des points de montée ou de descente des passagers dans le véhicule, c'est à dire qu'à des SCHEDULED STOP POINT (Points d'arrêts planifiés) et non à des points de passage, de régulation, etc.

L'affectation de ces points d'arrêts planifiés à une description physique se fait au travers de l'objet PASSENGER STOP ASSIGNMENT. L’import NeTEx IDFM supporte deux syntaxes pour associer un PassengerStopAssignmentà un arrêt:

L’une avec la balise QuayRef:

<PassengerStopAssignment id="enRoute:PassengerStopAssignment:1-2:LOC" version="any" order="0">

  <ScheduledStopPointRef ref="enRoute:ScheduledStopPoint:1-2:LOC" version="any"/>

  <QuayRef ref="FR::Quay:50111663:FR1">version="any"</QuayRef>

</PassengerStopAssignment>

L’autre avec StopPlaceRef:

<PassengerStopAssignment id="enRoute:PassengerStopAssignment:1-1:LOC" version="any" order="0">

  <ScheduledStopPointRef ref="enRoute:ScheduledStopPoint:1-1:LOC" version="any"/>

  <StopPlaceRef ref="FR::monomodalStopPlace:44096:FR1">version="any"</StopPlaceRef>

</PassengerStopAssignment>

Dans les deux cas, la mission et son itinéraire sont associés à l’arrêt désigné par la référence.

La balise QuayRef est réservée à une référence à un arrêt de type ZDE / Arrêt. La balise StopPlaceRef à une référence à un arrêt de type ZDL / Zone d'Arrêts. L’import ajoute un message de warning si la balise et le type d’arrêt ne correspondent pas.

Enfin, la Frame peut aussi contenir l'objet ROUTING CONSTRAINT ZONE (Zone de contrainte), qui peut permettre de décrire des Interdictions de Trafic Local.

Important : 

Afin de simplifier les échanges, la description des points d'itinéraire (POINT ON ROUTE) n'a pas été retenue dans le cadre de ce format. Lors de l'import dans le BO Offre Théorique, la structuration de l'itinéraire est déduit de l'ordre indiqué sur les points de chacune des missions rattachées à celui-ci. 

Dans cet exemple, si l'ordre n'est pas renseigné, le système ne peut savoir si le point D est avant ou après le point C.



Pour une mission, les numéros d'ordre indiqués sur les STOP POINT IN JOURNEY PATTERN peuvent donc être discontinus car ils doivent correspondre à l'ordre sur l'itinéraire global.

 

Note : si dans un jeu de données, un arrêt n’est présent dans aucune des missions importées, alors l’itinéraire résultant ne sera pas le même que pour un jeu de données où une mission dessert cet arrêt.



Les relations entre tous ces objets sont décrites de façon générale dans le schéma suivant. 

Il représente l'organisation générale dans la Frame pour un itinéraire ayant deux missions : une complète et une partielle, et comportant un ITL sur deux arrêts : 

*Interdiction de trafic local au sein de CERGY

Description de la Generale Frame NETEX_STRUCTURE

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Non exploité

Préconisation : [CODESPACE]: NETEX_STRUCTURE-AAAAMMJJhhmmssZ:LOC , avec AAAAMMJJhhmmssZ = heure de génération fichier (heure universelle)

(EIV) version

VersionIdType

1:1

Non exploité

Préconisation :’any’

TypeOfFrameRef

TypeOfFrameRef

0:1

1:1

Référence au TYPE OF VERSION FRAME utilisé.

Doit être NETEX_STRUCTURE

Préconisation : 

<TypeOfFrameRef  ref="FR1:TypeOfFrame:NETEX_STRUCTURE:">version="1.04:FR1-NETEX_STRUCTURE-2.1"</TypeOfFrameRef>

members

EntityInFrame

0:*

Contient la liste des objets de la Frame


Objets liés à la définition d'une ROUTE (itinéraire)

ROUTE (Itinéraire) : Liste ordonnée de POINTs définissant un seul chemin à travers le réseau routier (ou ferré). Un Itinéraire peut passer deux fois par un même POINT.

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant de l’itinéraire



Préconisation : [CODESPACE]:Route: [id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

Name

MultilingualString

0:1

Nom de l’itinéraire

Nom "technique". Sera présent en publication en sortie du BO Offre Théorique, mais non utilisé pour l'information voyageur Ile-de-France Mobilités.

Si non renseigné, la valeur à l’import sera forcée à la concaténation des chaînes DirectionType et le nom du dernier arrêt de l’itinéraire.

LineRef

LineRef

0:1

1:1

Référence externe à la ligne

Cette référence doit être connue du Référentiel Lignes.

DirectionType

TypeOfDirectionEnum

0:1

Type de direction de l'itinéraire

Seuls les types outbound ou inbound sont acceptés dans le cadre de l'import dans le BO Offre Théorique.

Si non renseigné, la valeur à l’import sera forcée à ‘outbound’ (aller)

Les DirectionType de 2 itinéraires inverses doivent être différents. Il peut y avoir plusieurs itinéraires aller et/ou retour pour une même ligne.

DirectionRef

DirectionRef

0:1

Référence la DIRECTION de l'itinéraire

Voir tableau suivant

Si l'itinéraire ne référence pas de direction, un nom de direction sera calculé automatiquement à partir du dernier point d'itinéraire, et sera proposé par le BO Offre Théorique en publication.

pointsInSequence

PointOnRoute

0:1

 

Liste des points de l'ITINÉRAIRE.

InverseRouteRef

RouteRef

0:1

Référence l'éventuel ITINÉRAIRE en sens opposé

Référence interne, l’itinéraire opposé doit être présent dans les données importées.

 

Le regroupement d'itinéraire que constituait la sous-ligne n'existe pas dans NETEX. Toutefois, les itinéraires aller et retour peuvent être couplés deux à deux en indiquant la référence à l'itinéraire inverse dans l'attribut " InverseRouteRef".

Si un itinéraire (A) référence un itinéraire (B) comme son inverse, l'itinéraire B ne peut pas référencer un 3ème itinéraire (C) comme son propre inverse. De plus, les deux itinéraires opposés doivent se référencer mutuellement, sinon l'association sera invalidée à l'import et une alerte sera communiquée.

POINT ON ROUTE (Point sur itinéraire) - inclus dans ROUTE : Point de passage de l'itinéraire

Donnée

Type

Cardinalité

Description 

(E) id

ObjectIdType

1:1

[CODESPACE]:PointOnRoute:

[Id technique]:LOC

(EIV) version

VersionIdType

1:1

Version fixé à “any“

order

xsd:positiveInteger

1:1

les PointOnRoute sont inclus dans l’objet Route, leur ordre est implicitement celui de la séquence

RoutePointRef

RoutePointRef

1:1

Référence au POINT D'ITINÉRAIRE correspondant

Cette référence permet d’établir le lien entre le tracé RouteLink et l’itinéraire (Route)

ROUTE POINT (Point d'itinéraire) : Point d’itinéraire

Donnée

Type

Cardinalité

Description 

(E) id

ObjectIdType

1:1

[CODESPACE]:RoutePoint:

[Id technique]:LOC

(EIV) version

VersionIdType

1:1

Version fixé à “any“

projections

PointProjection > ProjectToPointRef

1:1

Référence au ScheduledStopPoint desservi par l’itinéraire

 

DIRECTION (Direction) : Direction de la ROUTE (Itinéraire). 

Donnée

Type

Cardinalité BO OT

Description et

traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant de la direction

Préconisation : [CODESPACE]: Direction:[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

Name

MultilingualString

0:1

1:1

Désignation de la direction

Ne pas indiquer les mentions de type "Vers..". 

Le nom de la direction est souvent indiqué sur la fiche horaire en haut des tableaux horaires.

Il correspond souvent au nom du dernier arrêt de l'itinéraire ou au dernier arrêt de la mission la plus fréquente de l'itinéraire. Dans ce cas, Ile-de-France Mobilités préconise de structurer le nom ainsi : 

Nom de l'arrêt (Nom de la Commune)

La direction peut aussi correspondre à une zone plus large, comme par exemple le nom d'un quartier, ou encore juste un nom de commune, si cette information suffit à la compréhension de l'usager.

Exemple : 

Objets liés à la définition d'un SERVICE JOURNEY PATTERN (Mission commerciale)

Un même itinéraire peut être utilisé par de nombreuses missions commerciales (soit qu'elle l'utilise complètement ("omnibus"),  partiellement (ex : mission "express"), soit qu'elle fasse varier la liste des arrêts effectivement desservis. 

Note : Pour rappel, une ligne peut contenir plusieurs itinéraires aller et retour.

SERVICE JOURNEY PATTERN (Mission Commerciale) : Liste ordonnée de Points d'Arrêts Planifiés sur un unique Itinéraire, décrivant le plan de déplacement pour les véhicules de transport public. Une Mission peut passer par le même Point plus d'une fois. Le premier Point d'une Mission est l'origine. Le dernier Point est la destination.

Donnée

Type

Cardinalité BO OT

Description et

traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant de la Mission Commerciale

Préconisation : [CODESPACE]: ServiceJourneyPattern:[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

Name

MultilingualString

0:1

Nom de la Mission Commerciale

Nom "technique". Sera présent en publication en sortie du BO Offre Théorique, mais non utilisé pour l'information voyageur Ile-de-France Mobilités (utilisation de Destination Display)

Si non renseigné, la valeur à l’import sera forcée au nom du dernier arrêt de la mission.

RouteRef

RouteRef

0:1

1:1

Itinéraire utilisé par la Mission Commerciale. Référence interne à ROUTE

DestinationDisplay

Ref

DestinationDisplay

Ref

0:1

Affichage de la destination associé à la Mission Commerciale.

Obligatoire pour les lignes Train (code mission indiqué dans Destination Display)

Si la mission ne référence pas de destination, un "FrontText" sera calculé automatiquement à partir du dernier point de la mission, et sera proposé par le BO Offre Théorique en publication.

Voir tableau suivant

pointsInSequence

StopPointInJourney

Pattern

0:*

2:*

Liste ordonnée des points sur la Mission Commerciale

Ne sont acceptés ici que des STOP POINT IN JOURNEY PATTERN (Points d'Arrêt sur Mission)

Voir tableau ci-après

ServiceJourneyPatternType

ServiceJourneyPattern

TypeEnumeration

0:1

1:1

Type de Mission Commerciale

Seul le type « passenger » est exploité dans l’import. Les autres types de missions seront ignorées après contrôle XSD

Seuls les parcours commerciaux correspondants à du transport de voyageurs ont vocation à être stockés dans le BO OFFRE

 

DESTINATION DISPLAY : Une destination d'une mission particulière, affichée au public en général sur une girouette ou sur tout autre afficheur embarqué. 

Donnée

Type

Cardinalité BO OT

Description et

traitement BO Offre Théorique

(E) idDonnée

ObjectIdType

1:1

Identifiant de la destination

Non conservé par le BO Offre Théorique qui fusionne les attributs de la destination avec ceux de la mission

Préconisation : [CODESPACE]: DestinationDisplay:[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

FrontText

MultilingualString

1:1

Texte frontal (affiché sur le devant du véhicule) de l'AFFICHAGE DE DESTINATION

Ce texte n’est pas forcément le nom du dernier arrêt de la mission, il peut par exemple inclure les via ou l’information ‘service partiel’*

PublicCode

xsd:normalizedString

0:1

Code associé à l'AFFICHAGE DE DESTINATION.
Dans un certain nombre de cas l'AFFICHAGE DE DESTINATION n'est pas un texte mais un code (par exemple pour les RER et avec des codes comme PADO, DEFI ou encore PORO).

Le nom de la destination (FrontText) correspond souvent au nom du dernier arrêt de la mission. Dans ce cas, Ile-de-France Mobilités préconise de structurer le nom ainsi : 

Nom de l'arrêt (Nom de la Commune).

Si une information sur le via est indiquée, Ile-de-France Mobilités préconise la structuration suivante :

Nom de l'arrêt (Nom de la Commune) VIA Nom du via

Les indications diverses, par exemple "Service partiel", sont mis à la fin.

Comme pour la direction de l'itinéraire, le nom de la destination (FrontText) peut aussi correspondre à une zone plus large, comme par exemple le nom d'un quartier, ou encore juste un nom de commune, si cette information suffit à la compréhension de l'usager.

STOP POINT IN JOURNEY PATTERN (Point sur Mission) - inclus dans SERVICE JOURNEY PATTERN : Un SCHEDULED STOP POINT (Point d'Arrêt Planifié) dans un SERVICE JOURNEY PATTERN (Mission Commerciale) indiquant son rang dans cette Mission.

Donnée

Type

Cardinalité BO OT

Description et

traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant du point d’arrêt sur mission

Préconisation : [CODESPACE]: StopPointInJourneyPattern:[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

order

xsd:positiveInteger

1:1



Ordre du point d'arrêt dans l'itinéraire.

Les "order" des Stop Point In Journey Pattern peuvent être discontinus mais ils sont toujours croissants, car les Stop Point In Journey Pattern doivent être ordonnés dans le Service Journey Pattern.

ScheduledStopPoint

Ref

ScheduledStopPoint

Ref

1:1

Référence au SCHEDULED STOP POINT (Point d'Arrêt Planifié). Référence interne.

ForAlighting

xsd:boolean

0:1

Indique que l'on peut descendre du véhicule à ce point (vrai par défaut)*

ForBoarding

xsd:boolean

0:1

Indique que l'on peut embarquer dans le véhicule à ce point (vrai par défaut)*

Interdictions de montée/descente : Les informations ForAlighting (Descendre) et ForBoarding (Monter) relatives à la description d’un ITL non zonal seront communes à l’itinéraire. En conséquence, celles-ci ne seront interprétées que si toutes les missions d’un même itinéraire fournissent la même valeur pour l’ensemble de ces attributs. Dans le cas contraire, ces informations sont neutralisées avec un signalement lors de l’import. 

Objets permettant le lien vers les arrêts du Référentiel Arrêts

SCHEDULED STOP POINT (Point d'Arrêt Planifié) : Un POINT où les passagers peuvent monter à bord ou descendre des véhicules. Cet objet est partagé entre les différents SERVICE JOURNEY PATTERN (Missions) d’une même ROUTE (Itinéraire).

Donnée

Type

Cardinalité BO OT

Description et

traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant du point d’arrêt planifié

Préconisation : [CODESPACE]: ScheduledStopPoint:[id interne]: LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

PASSENGER STOP ASSIGNMENT : Permet d'associer un point "horaire" : SCHEDULED STOP POINT (Point d'Arrêt Planifié), à un point "physique" : dans le cas de l'import dans le BO Offre Théorique seule l'association à un ZDEP connu du Référentiel Arrêts est acceptée.

Donnée

Type

Cardinalité BO OT

Description et

traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant de l’affectation d’arrêt

Préconisation : [CODESPACE]: PassengerStopAssignment:[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

order

xsdinteger

1:1

Ordre : non exploité, mettre la valeur 0

ScheduledStopPoint

Ref

ScheduledStopPointRef

0:1

1:1

Référence interne au SCHEDULED STOP POINT (Point d'Arrêt Planifié)

StopPlaceRef

StopPlaceRef

0:1

Référence externe à la Zone de lieu (ZDL) du Référentiel Arrêts

QuayRef

QuayRef

0:1

Référence externe à la Zone d'Embarquement (ZDEP) du Référentiel Arrêts

Afin de simplifier la construction du fichier et de faciliter la lecture, si le producteur de la donnée ne dispose pas de ces différents concepts dans son SI source, il est possible de générer le même ID Interne pour les objets suivants : SCHEDULED STOP POINT et PASSENGER STOP ASSIGNMENT. 

Objets liés à la définition des ITL

ROUTING CONSTRAINT ZONE : ZONE au sein de laquelle une contrainte d'acheminement s'applique. La ZONE est définie par la liste des SCHEDULED STOP POINT (Points d'Arrêt Planifiés) qu'elle contient.

Donnée

Type

Cardinalité BO OT

Description et

traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant de la contrainte de zone

Préconisation : [CODESPACE]: RoutingConstraintZone:[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

Name

MultilingualString

0:1

Nom de la contrainte de zone

Ce nom a usage technique n’a pas à être diffusé aux voyageurs..

(members)

Spécifié dans RoutingConstraintZone

0:1

1:1

Liste des arrêts planifiés: Contient les ScheduledStopPointRef concernés par l’ITL

ZoneUse

ZoneUseTypeEnum

0:1

Contrainte appliquée à la ZONE

Seule la valeur cannotBoardAndAlightInSameZone est acceptée


Note :Dans le BO Offre théorique, les ITL sont reliées aux itinéraires ; dans le cas où une RoutingConstraintZone contient des références à des ScheduledStopPoint utilisés par plusieurs itinéraires, celle-ci génèrera autant d’ITL que d’itinéraires concernés par au moins 2 ScheduledStopPoint de la RoutingConstraintZone tout en excluant les itinéraires entièrement couverts par celle-ci.

Objets ignorés dans le cadre de version 

La présence d’un objet de l’un de ces types ne perturbe pas l’import si la grammaire XML et XSD NeTEx est respectée ; toute erreur XML ou XSD provoque l’interruption de l’import de la ligne et son rejet :

  • CONNECTION

  • DEFAULT CONNECTION

  • FLEXIBLE LINE 

  • FLEXIBLE LINK PROPERTIES

  • FLEXIBLE POINT PROPERTIES

  • FLEXIBLE ROUTE

  • GROUPE OF ENTITIES  

  • GROUP OF LINE 

  • LINE 

  • NETWORK

  • ROUTE LINK

  • SCHEMATIC MAP

  • SITE CONNECTION

  • TARIF ZONE

  • TIMING POINT

  • TRANSFER RESTRICTION

Cadre de version ‘NETEX_HORAIRE’

Organisation  et hiérarchie du cadre de version :

Dans celui-ci ne seront traités que des objets relatifs à l’aspect horaires des objets d’un jeu de données.

L'objet principal est le SERVICE JOURNEY (Course) qui liste des horaires: TIMETABLED PASSING TIME. L'objet NOTICE ASSIGNMENT permet également d'affecter des notes contenues dans le fichier commun.xml à des Courses. 

Dans le cas ou au moins un PASSENGER STOP ASSIGNMENT pointent des StopPlace (ZDL) l’import peut utiliser l’objet VEHICLE JOURNEY STOP ASSIGNMENT. Celui-ci peut modifier le passage de la course associée pour définir si besoin des arrêts spécifiques de type ZDEP référencés par la balise QuayRef.

<GeneralFrame id="enRoute:GeneralFrame:NETEX_HORAIRE-20170214090012:LOC" version="any">

  <TypeOfFrameRef ref="FR1:TypeOfFrame:NETEX_HORAIRE:"/>

  <members>

    <ServiceJourney id="enRoute:ServiceJourney:1-1:LOC" version="any">

      <Name>VehicleJourneyStopAssignment example</Name>

      <!-- ... -->

    </ServiceJourney>

  <!-- For this given ServiceJourney, ScheduledStopPoint is associated to a Quay --> 

    <VehicleJourneyStopAssignment id="enRoute:VehicleJourneyStopAssignment:1-1-1:LOC" version="any">

      <ScheduledStopPointRef ref="enRoute:ScheduledStopPoint:1-1:LOC" version="any"/>

      <QuayRef ref="FR::Quay:5001111:FR1">version="any"</QuayRef>

      <VehicleJourneyRef ref="enRoute:ServiceJourney:1-1:LOC" version="any"/>

    </VehicleJourneyStopAssignment>

  </members>

</GeneralFrame>

Si la course référencée par la balise VehicleJourneyRef n’est pas trouvée dans l’offre importée, une erreur est ajoutée à l’import.

Si l’arrêt référencé par la balise QuayRef n’est pas trouvé dans le référentiel d’arrêts, un warning est ajouté à l’import.

Il reprend l'exemple présenté dans le chapitre précédent et indique une façon de représenter deux SERVICE JOURNEY (courses) avec des calendriers différents, associées à un même SERVICE JOURNEY PATTERN (mission).

*Interdiction de trafic local au sein de CERGY

1 : Ne circule pas le 14 juillet
Description de la Frame NETEX_HORAIRE

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Non exploité

Préconisation : 

[CODESPACE]:NETEX_HORAIRE-AAAAMMJJhhmmssZ:LOC , avec AAAAMMJJhhmmssZ = heure de génération fichier (heure universelle)

(EIV) version

VersionIdType

1:1

Non exploité. Préconisation : 'any'

TypeOfFrameRef

TypeOfFrameRef

0:1

1:1

Référence au TYPE OF VERSION FRAME utilisé.

Doit être NETEX_HORAIRE

Préconisation : 

<TypeOfFrameRef  ref="FR1:TypeOfFrame:NETEX_HORAIRE:">version="1.04:FR1-NETEX_HORAIRE-2.1"</TypeOfFrameRef>

members

EntityInFrame

0:*

Contient la liste des objets de la frame


Objets pris en compte par le BO Offre Théorique :
SERVICE JOURNEY (Course) : le mouvement planifié d'un véhicule de transport public effectué un DAY TYPE (Type de Jour) donné, depuis un point début à un point fin d'un SERVICE JOURNEY PATTERN (Mission) sur une ROUTE (Itinéraire). Le SERVICE JOURNEY (Course) est donc l'instanciation d'un SERVICE JOURNEY PATTERN (Mission) donné, auquel on va attribuer des heures de passage aux arrêts et des jours d'application.

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant de la course

Préconisation : [CODESPACE]: ServiceJourney:[ID interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

Name

MultilingualString

0:1

Nom de la course

Ce nom à usage technique n’a pas à être diffusé aux voyageurs

noticeAssignments

noticeAssignments

0:*

NOTEs associées à la COURSE

Voir tableau ci-dessous

DayTypeRef

DayTypeRef

1:*

TYPE DE JOUR correspondant aux jours d'application de la course.

Référence externe définie dans le fichier ‘Calendriers.xml’

JourneyPatternRef

JourneyPatternRef

0:1

1:1

Référence interne à la mission (celle-ci doit être déclarée dans la frame NETEX_STRUCTURE du même fichier)

OperatorRef

OperatorRef

0:1

Référence l'EXPLOITANT opérant cette course. Référence externe (l’opérateur est défini dans le Référentiel Lignes et doit être l’un des opérateurs de la ligne)

Renseigné uniquement si différent de l’exploitant principal de la ligne. 

trainNumbers

trainNumbers

0:*

0:1

Référence au numéro de train associé.

Comme l’objet référencé n’existe pas dans le fichier, cette référence doit être formatée en mode référence externe. Préconisation (exemple) :

<TrainNumberRef ref="SNCF:TrainNumber:630002:LOC"/>

passingTimes

TimetabledPassingTime

0:*

2:*

Heures de passages planifiées aux arrêts. Voir tableau ci-après


NOTICE ASSIGNMENT - inclus dans SERVICE JOURNEY : affectation d'une NOTE à un objet (ici pour signaler une exception sur un SERVICE JOURNEY (Course)). 

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(E) id

ObjectIdType

1:1

Identifiant du NOTICE - ASSIGNMENT

Préconisation : [CODESPACE]:Notice:

[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

order

xsd:integer

1:1

Ordre : non exploité, mettre la valeur 0

NoticeRef

NoticeRef

1:1

Référence externe à une notice définie dans le cadre de version NETEX_COMMUN (fichier commun.xml)

TIMETABLED PASSING TIME - inclus dans SERVICE JOURNEY: Donnée temporelle théorique relative au passage d'un véhicule de transport public à un POINT IN SERVICE JOURNEY PATTERN (Point sur Mission) donné sur un SERVICE JOURNEY (Course) et pour un DAY TYPE (Type de Jour)

Donnée

Type

Cardinalité BO OT

Description et traitement BO Offre Théorique

(EIV) version

VersionIdType

1:1

Non exploité. Préconisation : ‘any’

ArrivalDayOffset

xsd:integer

0:1

Non exploité, seul le DepartureDayOffset sera exploité.

ArrivalTime

xsd:time

0:1

Heure d'arrivée. Format : hh:mm:00.000 (heure locale*)

Note : Même si le format NETEX impose d'indiquer des secondes, celles-ci ne sont pas prises en compte par l'import dans le BO Offre Théorique.

Forcé à l’heure du DepartureTime si l’attribut est vide ou absent

DepartureTime

xsd:time

0:1

1:1

Heure de départ. Format : hh:mm:00.000 (heure locale*)

Note : Même si le format NETEX impose d'indiquer des secondes, celles-ci ne sont pas prises en compte par l'import dans le BO Offre Théorique.

DepartureDayOffset

xsd:integer

0:1

Nombre de jour de décalage par rapport au jour de début de course (permet de gérer les courser à cheval sur plusieurs jours)

Forcé à 0 si absent.

Le premier horaire doit avoir un DepartureDayOffset à 0 ou absent. Si les heures d’arrivée et de départ sont sur des jours différents, le DepartureDayOffset s’applique au départ., l’heure d’arrivée peut dans ce cas être supérieure à celle de départ.

*Dans le cas du changement d'heure, si des courses débutent à l'ancienne heure et s'achèvent après le changement d'heure, tous les ArrivalTime et DepartureTime doivent être sur le système du premier horaire de la course (système pré-changement d'heure).

VEHICLE JOURNEY STOP ASSIGNMENT : Il permet de définir si besoin des arrêts spécifiques de type ZDEP référencés par la balise QuayRef pour une course.

Donnée

Type

Cardinalité BO OT

Description et

traitement BO Offre Théorique

(EIV) version

VersionIdType

1:1

Non exploité. Préconisation : ‘any’

ScheduledStopPointRef

ScheduledStopPointRef

1:1

Référence interne au SCHEDULED STOP POINT (Point d'Arrêt Planifié)

QuayRef

QuayRef

1:1

Référence externe à la Zone d'Embarquement (ZDEP) du Référentiel Arrêts

VehicleJourneyRef

VehicleJourneyRef

1:n

Référence interne à la course (celle-ci doit être déclarée dans la frame NETEX_HORAIRE du même fichier)

 

Objets ignorés dans le cadre de version 

La présence d’un objet de l’un de ces types ne perturbe pas l’import si la grammaire XML et XSD NeTEx est respectée ; toute erreur XML ou XSD provoque l’interruption de l’import de la ligne et son rejet. :

  • FLEXIBLE SERVICE PROPERTIES

  • HEADWAY JOURNEY GROUP

  • JOURNEY PART

  • RHYTHMICAL JOURNEY GROUP

  • SERVICE JOURNEY INTERCHANGE

  • TEMPLATE SERVICE JOURNEY

  • TRAIN

  • VEHICLE TYPE

Ce document est la propriété d'enRoute et ne peut être reproduit sans son accord écrit