Publication
- 1 Introduction
- 1.1 Types de publications
- 1.2 Règles et restrictions
- 1.3 Delivery et Frames
- 1.3.1 Cadres de version ou frames
- 1.3.2 PublicationDelivery
- 1.4 Entités abstraites et héritage
- 1.5 Règles de syntaxe des références
- 1.6 Organisation des publications
- 1.7 Contenu des publications
- 1.8 Modélisation des données métier échangées
- 2 Données NeTEx publiées
- 2.1 Données d’offre
- 2.1.1 Fichier commun.xml
- 2.1.2 Fichier calendriers.xml
- 2.1.3 Fichier offre_[ID Ligne C]_[Nom Ligne C].xml
- 2.2 Fichier ligne(s).xml
- 2.3 Fichier arrets.xml
- 2.1 Données d’offre
- 3 Annexes
Introduction
Ce document a pour but de faciliter l’usage du Back-Office SIM. Ce dernier est la chaîne de collecte et de distribution des données Information Voyageur en Île-de-France.
Le Back-Office Offre Théorique s’appuie 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 de publication (récupération en sortie des systèmes Île-de-France Mobilités) des données d’offre de transport en commun. Afin de proposer des exports relativement autoporteurs, certains formats proposés reprennent en propre des données issues du Référentiel Lignes et du Référentiel Arrêts.
Types de publications
La publication des fichiers depuis le BO s’effectuera par API (protocole RESTful). Les mécanismes sont détaillés dans le chapitre Interface de publication.
La publication des données permet de disposer au choix des données suivantes :
Export Offre IDF : Cet export contient l’offre théorique sur l’ensemble de la région Ile de France (toutes les lignes), mais pour une période de temps réduite.
Cette période sera fixée par Île-de-France Mobilités. Elle correspondra à la garantie d'exhaustivité et de qualité fixée dans les contrats (actuellement 3/4 semaines).
Une production quotidienne est prévue pour ce fichier. Cette période sera donc glissante et commencera le jour de la production de cet export par le BO Offre Théorique.
L'export contient aussi des fichiers reprenant les données des Référentiels..
Export par Ligne : Cet export contient l’offre théorique pour une ligne sur la plus grande période fournie par le transporteur responsable de celle-ci.
Cette période reste limitée à une année maximum. Les périodes "passées" (antérieures à la date du jour) sont retirées lors de la production de chaque export, c'est-à-dire lors des mises à jour de l’offre de la ligne par le transporteur.
Contrairement à l'Export Offre IDF, cet Export ne contient qu'un fichier reprenant les données du Référentiel Lignes.
Règles et restrictions
Tableaux d’attributs
Les tableaux d’attributs dans les chapitres suivants précisent pour chaque objet NeTEx publié, la description et le traitement attaché à chacun des attributs de l’objet. Les tableaux sont constitués de 4 colonnes :
Donnée | Type | Cardinalité | Description et traitement |
▼ | ▼ | ▼ | ▼ |
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 possibles (* pour indiquer aucune limite). Si cette cardinalité est différente de celle de NeTEx, les deux sont indiquées. Ex : 0 :* (NeTEx) 1 :1 (BO IDFM) | Rappelle pour les données exploitées leur définition issue du Profil IDFM et précise, si nécessaire, comment elles sont produites par le BO IDFM.
|
Pour les attributs ayant une cardinalité commençant par "0:" (attribut non obligatoire), la balise ne sera présente en publication que si la valeur est renseignée.
Règle d’exploitation des informations NeTEx
Les couleurs utilisées dans les tableaux permettent de mettre en valeur les objets et attributs renseignés ou non lors de la publication par le BO Offre Théorique.
Deux cas de figure sont possibles :
Information (donnée ou objet) non publiée : l’information est citée et si nécessaire, une interprétation de son absence est proposée.
Donnée ou objet publié : l’information est publiée ; toutefois, si elle est optionnelle, elle n’est présente que si elle est valorisée. Sauf mention contraire, les valeurs par défaut proposées par NeTEx ou le Profil seront toujours renseignées.
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 présents dépend de l’attribut ‘TypeOfFrameRef’ du cadre et est définie par le Profil IDF
CompositeFrame : Contient uniquement d’autres cadres de versions, la liste des cadres de version présents 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 ‘PublicationDelivery’.
PublicationDelivery
Données caractérisant l’objet PublicationDelivery :
Donnée | Type | Cardinalité | Description |
version | xsd:NMTOKEN | 1:1 | Version du profil : 1.04:FR1-NETEX-x.y-z Avec : x.y : version du profil NETEX z : version du Back Office Île-de-France Mobilités |
PublicationTimestamp | xsd:dateTime | 1:1 | Date/heure de production du fichier format : AAAA-MM-JJThh:mm:ssZ |
ParticipantRef | ParticipantCodeType | 1:1 | Référence du BO IDFM : FR1-OFFRE |
dataObjects | dataObjectsRel Structure | 1:1 | CompositeFrame de type :
ou GeneralFrame de type :
|
Entités abstraites et héritage
NeTEx définit une hiérarchie d’objets et certains attributs des objets publiés sont issus de ces héritages. Afin de simplifier la lecture des attributs relatifs à chaque objet intervenant dans la publication, les attributs issus d’un héritage ne sont rappelés seulement s’ils sont présents dans la publication de l’objet considéré.
Dans le cas de l’utilisation d’un attribut hérité dans un objet publié, 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
Entity (E)
Donnée | Type | Cardinalité | Description et traitement |
id | ObjectIdType | 1:1 | Identifiant unique (et pérenne autant que possible) de l'objet. Les actions du système Île-de-France Mobilités au cours du traitement des données dans le BO Offre ne permettent pas de garantir une traçabilité entre leur import/saisie dans ceux-ci et leur publication (cf Différences entre les données importées/saisies dans le BO Offre et celles exportées) Pour les entités versionnées, le couple (id/version) est unique dans un fichier. 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] : Indication sur le fournisseur de la donnée. Il prend la valeur du code organisation qui a produit (import ou saisie) la donnée. Dans le Back Office Offre, les objets résultant d'une fusion entre deux objets provenant d'organisations différentes (action automatique lors de l'agrégation) prennent un code propre au BO.
Note : Les frames indiquent comme CODESPACE le code du BO qui les a produites.
[type d'objet] : Classe de l'objet sous la forme du nom du tag XML qui le porte
[identifiant technique] : Identifiant unique composé de caractères numériques, alphabétiques majuscules et minuscules sans accentuation, de ‘tiret’(-) et de ‘souligné’ (_). Pour les données importées dans le BO Offre, l'identifiant technique indiqué dans le fichier est préfixé par l'identifiant de la ligne issu du Référentiel Lignes (sauf pour les objets calendriers). En cas de fusion, l'identifiant de l'objet résultant correspond à celui de l'objet le plus récent (cf Différences entre les données importées/saisies dans le BO Offre et celles exportées).
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 du Référentiel Arrêts ou du Référentiel Lignes).
EntityInVersion (EIV) hérite de Entity :
Donnée | Type | Cardinalité | Description et traitement |
dataSourceRef | DataSourceIdType | 0:1 | Identifiant de la source des données.
Attention, contrairement au CODESPACE, si la donnée a été saisie ou modifiée manuellement dans le BO, le dataSourceRef est renseigné avec un code propre au BO (FR1-OFFRE_EDITION)
|
version | VersionIdType | 1:1 | Version fixé à any |
Si l'attribut hérité n'est pas obligatoire, il n'est pas rappelé dans les tableaux suivants.
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 le Référentiel Arrêts).
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="any" />Référence externe (objet dans un fichier différent du même jeu de données)
<ObjetRef ref="[ID de l'objet]"> version="any"</ObjetRef >Avec :
[ID de l'objet] : l’attribut respecte la syntaxe des identifiants (voir Entités abstraites et héritages)
Exemple :
Référence au sein d'un fichier offre_[ID Ligne C]_[Nom Ligne C].xml :
<RouteRef ref="TRANDEV:Route:1234:LOC" version="any"/>
Référence d'un fichier offre_[ID Ligne C]_[Nom Ligne C].xml à calendriers.xml :
<DayTypeRef ref="TRANDEV:DayType:64:LOC"> version="any"</DayTypeRef>
Syntaxe pour les références à un objet stocké dans le Référentiel Lignes (ou ligne(s).xml) ou dans le Référentiel Arrêts (ou arrets.xml) :
<LineRef ref="FR1:Line:[ID LIGNE C]:">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 LIGNE C] : 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
Organisation des publications
FICHIERS OFFRE : Les exports Offre sont au format NETEX et se présentent sous la forme d’un ensemble de fichiers réunis au sein d’une archive ZIP.
Export Offre IDF :
Où :
[AAAAMMJJ_AAAAMMJJ] : dates de début et de fin de la période de publication (dates inclues)
[ID Transporteur]_[Nom Transporteur] : identifiant et nom du transporteur principal de la ligne, indiqué dans le Référentiel Lignes.
[ID Ligne C]_[Nom Ligne C] : identifiant et nom court de la ligne commerciale, issu du Référentiel Lignes.
Le regroupement par transporteur principal et non par organisation, permet, si l'offre est transmise dans le Back Office Offre par deux organisations différentes, d'obtenir les deux offres agrégées dans un même fichier en publication.
Note : Ce cas de deux fournisseurs doit rester exceptionnel. En effet, pour les lignes en pool par exemple, un seul fournisseur pour l'offre théorique sera désigné (principe identique au fonctionnement actuel).
Ce système permettra notamment de gérer les changements d'exploitant pour une ligne à une date t.
Export Offre Ligne :
Où :
[AAAAMMJJThhmmsZs] : date de production du fichier d'export (=date et heure UTC de dernière mise à jour de l'offre pour la ligne)
[ID Ligne C]_[Nom Ligne C] : identifiant et nom court de la ligne commercial, issu du Référentiel Lignes.
Note : Pour les deux types d'export, les noms extraits du Référentiel Lignes sont transformés si nécessaire pour ne contenir que des caractères valides comme nom de fichier et de dossier, les caractères autres que :
les lettres alphabétiques latines majuscules et minuscules non diacritiques,
les chiffres,
le ‘tiret’ et le ‘souligné’
sont remplacés par des ‘souligné’.
Contenu des publications
Chaque fichier xml contient des données relatives à un ou plusieurs cadres de version :
commun.xml : Contient les objets du cadre de version NETEX_COMMUN. Ce fichier est optionnel ; il n’est présent que si la ligne ou au moins une ligne du transporteur contient des notes sur ses courses (NOTICE au sens NeTEx).
calendriers.xml : Contient les objets du cadre de version NETEX_CALENDRIER. Il définit la validité de l'export (ValidBetween) et le calendrier d'application des courses (stockées dans le fichier offre_[ID Ligne C]_[Nom Ligne C].xml)
offre_[ID Ligne C]_[Nom Ligne C].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.
ligne(s).xml : Contient la définition des lignes, des réseaux et transporteurs selon le format de publication du Référentiel Lignes. Pour l'export complet, l’ensemble des objets du Référentiel Lignes actifs, ou connus du BO Offre, est publié. Pour l'export par ligne, seule la ligne concernée est décrite.
arrets.xml : Contient la définition des "arrêts" selon le format de publication du Référentiel Arrêts. L’ensemble des objets du Référentiel Arrêts déclarés actifs ou encore référencés par une offre est publié.
Ce fichier est publié uniquement dans l'Export Offre IDF.
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. Les schémas suivant présentent les objets publiés par 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:)
Pour les données Référentiel Ligne et Référentiel Arrêts, seuls les cadres de versions sont indiqués dans la suite de ce document. Leur contenu sera similaire aux sorties des web-services des Référentiels. Cela concerne les cadres suivants :
NETEX_ARRET_IDF (raccourci de FR1:TypeOfFrame:NETEX_ARRET_IDF:)
NETEX_IDF (raccourci de FR1:TypeOfFrame:NETEX_IDF:)
Données NeTEx publiées
Les données caractérisant les cadres de version de chaque fichier (illustrés en vert et en orange dans les schémas Contenu des publications) sont précisées dans les chapitres suivants.
Données d’offre
Les frames suivantes sont publiées aussi bien pour l’offre complète que pour une offre par ligne.
Fichier commun.xml
Organisation et hiérarchie du cadre de version
Dans celui-ci ne seront traités que des objets de type ‘NOTICE’, ‘ORGANISATIONAL_UNIT’, ‘BOOKING ARRANGEMENT' et 'FLEXIBLE STOP PLACE’.
Seules les notes portant sur les courses sont inclues dans le fichier commun.xml (notes produites dans le BO Offre Théorique). Les notes portant sur une ligne entière (produites depuis les IHM du Référentiel Ligne) sont dans le cadre NETEX_COMMUN du fichier ligne(s).xml
Description de la General Frame : NETEX_COMMUN
Donnée | Type | Cardinalité | Description |
(E) id | ObjectIdType | 1:1 | [CODESPACE BO]:GeneralFrame: NETEX_COMMUN-AAAAMMJJThhmmssZ:LOC |
(EIV) version | VersionIdType | 1:1 | Version de la NT60 |
dataSourceRef | DataSourceIdType | 0:1 | FR1-OFFRE_AUTO |
TypeOfFrameRef | TypeOfFrameRef | 0:1 | FR1:TypeOfFrame:NETEX_COMMUN: |
members | EntityInFrame | 0 :* | Contient la liste des objets publiés dans la Frame (voir ci-après) |
Objet : NOTICE (Note) : Un texte à vocation informationnelle, en général concernant des exceptions d'utilisation, et rattaché dans le cadre du fichier commun.xml à SERVICE JOURNEY (Courses)
Donnée | Type | Cardinalité | Description |
(E) id | ObjectIdType | 1:1 | [CODESPACE]:Notice:[Id technique]:LOC |
(EIV) version | VersionIdType | 1:1 | Version fixé à any |
Text | MultilingualString | 0:1 1:1 | Texte de la NOTICE (note) |
PublicCode | xsd:normalizedString | 1:1 | Code publique de la NOTICE (note) |
TypeOfNoticeRef | TypeOfNoticeRef | 1:1 | Type de Notice : Seule les notices de type ‘ServiceJourneyNotice’ sont publiées ici. Les notices de type 'LineNotice' sont publiées dans le fichier ligne(s).xml (informations issues du Référentiel Lignes) |
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 le(s) fichier(s) offre_[ID Ligne C]_[Nom Ligne C].xml publiés dans le même dossier.
Objet : ORGANISATIONAL_UNIT (Unité organisationnelle) : Entité productrice de données, son identifiant correspond aux références DatasourceRef des objets publiés
Donnée | Type | Cardinalité | Description |
(E) id | ObjectIdType | 1:1 | FR1:OrganisationalUnit:[Id technique]: |
(EIV) version | VersionIdType | 1:1 | Version fixé à any |
Name | MultilingualString | 0:1 | Nom de l’organisation |
TypeOfOrganisationPartRef | TypeOfOrganisationPartRef | 0:1 1:1 | FR1_Organisation |
Objet : BOOKING ARRANGEMENT (Conditions de réservation) : L’ensemble des conditions de réservation d’une offre de transport à la demande.
EN ATTENTE DE CONFIRMATION
Donnée | Type | Cardinalité | Description |
(E) id | ObjectIdType | 1:1 | Identifiant de la note Préconisation : [CODESPACE]:BookingArrangement:[id interne]:LOC |
(EIV) version | VersionIdType | 1:1 | Version unique ou ’any’ |
(E) Name | MultilingualString | 1:1 | Nom des Conditions de réservation (BOOKING ARRANGEMENT) |
BookingContact | ContactDetails | 0:1 | Informations générales de contact du service de réservation (contient un numéro de téléphone, généralement le Service client, et un lien vers le site web du service). |
BookingMethods | BookingMethodEnum | 1:* | Méthode de réservation à utiliser (plusieurs valeurs possibles):
Il faut au moins une valeur, a priori online si |
BookingAccess | BookingAccessEnum | 0:1 | Précise qui peut faire la réservation:
|
BookWhen | PurchaseWhenEnumeration | 1:1 | Précise quand la reservation peut-être faite |
Ce document est la propriété d'enRoute et ne peut être reproduit sans son accord écrit