Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

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.

...

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 : 

...

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

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 :

...

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

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é.

...

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 : 

...

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) : 

Code Block
<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)

Code Block
<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 :

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

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

Code Block
<DayTypeRef  ref="TRANDEV:DayType:64:LOC"> version="any"</DayTypeRef>

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) : 

Code Block
<LineRef ref="FR1:Line:[ID REF LIGNE]:">version="any"</LineRef>

...


<OperatorRef ref="FR1:Operator:[ID TRANSPORTEUR]:LOC ">version="any" </OperatorRef>

...


<QuayRef ref="FR::Quay:[ID ZDEP]:FR1">version="any"</QuayRef>

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 ou plusieurs dossiers correspondants chacun dossier correspondant à un jeu de données. L'envoi d'une archive contenant plusieurs jeux de données est uniquement accepté pour les transferts via API.

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 :

...

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 :

...

  • 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 :

...

  • 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 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

Image Modified

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).

...

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’.

...

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

...

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

Dans le cas où

Si les DayTypeAssignment référencent uniquement des

’Date’

’Date’, la liste

peut être vide ; elle peut aussi être renseignée avec d'autres types non exploités par le BO OFFRE (par exemple 'NationalHoliday' =jour férié)

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

alors

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>

...

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.

...

  • 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 :

...

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).

...

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

...

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.

...

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.

Info

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.

...

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

ServiceJourney

PatternType

ServiceJourneyPatternType

ServiceJourneyPattern

TypeEnumeration

0:1

1:1

Type de Mission Commerciale

Seul le type «

 Passenger

 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 : 

...

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. 

...

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. 

...

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.

...

  • 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 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.

...

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 

...