Cette page définit le sous-ensemble de la spécification GTFS-Ticketing, qui est à l'état de proposition au moment de la rédaction de ce document. Cette page inclut également plusieurs restrictions Google supplémentaires.
Conditions requises
Le champ departure_time
dans stop_times.txt
est obligatoire.
Types de champs supplémentaires
Cette section décrit les types de champs supplémentaires, ainsi que ceux associés aux extensions de Google.
- URI : Uniform Resource Identifier (URI ou identifiant de ressource uniforme) complet incluant le schéma. Tous les caractères spéciaux de l'URI doivent utiliser les caractères d'échappement appropriés. Pour savoir comment créer des valeurs d'URI complets, consultez RFC 3986 Uniform Resource Identifier (URI): Generic Syntax.
Ajouts ou extensions de fichiers
Nom de fichier | État | Définit |
---|---|---|
agency.txt |
Extension | Ajoute agency.ticketing_deep_link_id |
routes.txt |
Extension | Ajoute routes.ticketing_deep_link_id |
trips.txt |
Extension | Ajoute trips.trip_ticketing_id et trips.ticketing_type |
stop_times.txt |
Extension | Ajoute stop_times.ticketing_type |
ticketing_identifiers.txt |
Ajout | |
ticketing_deep_links.txt |
Ajout |
Définitions des tables
agency.txt
(fichier étendu)
Nom du champ | Présence | Détails |
---|---|---|
ticketing_deep_link_id |
Facultative | (ID de ticketing_deep_links.txt ) Définit le lien profond à utiliser pour cette agence. Peut être remplacé dans routes.txt . |
routes.txt
(fichier étendu)
Nom du champ | Présence | Détails |
---|---|---|
ticketing_deep_link_id |
Facultative | (ID issu de ticketing_deep_links.txt ) Définit le lien profond à utiliser pour cet itinéraire. Si ce champ est présent, il remplace celui de agency.txt . |
trips.txt
(fichier étendu)
Nom du champ | Présence | Détails |
---|---|---|
ticketing_trip_id |
Facultative |
(ID) Identifiant à transmettre via le lien profond. N'a pas besoin d'être unique. Utilise le |
ticketing_type |
Facultative |
(Enum) Définissez si la billetterie via un lien profond est disponible pour ce trajet :
|
stop_times.txt
(fichier étendu)
Nom du champ | Présence | Détails |
---|---|---|
ticketing_type |
Facultative |
(Enum) Définissez si la billetterie via un lien profond est disponible pour ce trajet. Si ce champ est défini, remplace la valeur définie dans
|
ticketing_identifiers.txt
(fichier ajouté)
Dans la plupart des cas de billetterie, chaque arrêt présente un identifiant pour la facturation. Différentes agences peuvent utiliser le même identifiant pour un arrêt donné. Lorsque plusieurs agences desservent le même arrêt, répétez ce mappage pour chacune d'elles.
Nom du champ | Présence | Détails |
---|---|---|
ticketing_stop_id |
Obligatoire | (ID) Définit un ID de billetterie par défaut pour cet arrêt et cette agence. |
stop_id |
Obligatoire | (ID issu de stops.txt ) Arrêt pour lequel le ticketing_stop_id par défaut est défini. |
agency_id |
Obligatoire | (ID issu de agency.txt ) Agence de l'arrêt pour lequel le ticketing_stop_id par défaut est défini. |
ticketing_deep_links.txt
(fichier ajouté)
Nom du champ | Présence | Détails |
---|---|---|
ticketing_deep_link_id |
Obligatoire | (ID) Définit un ID pour le lien profond. |
web_url |
Facultative |
(URL) URL de destination pour les liens profonds. Les traductions peuvent être fournies via |
android_intent_uri |
Facultative |
(URI) URI à transmettre à une application Android native avec un intent android.intent.action.VIEW. Si ce champ est vide, cela signifie qu'il n'existe aucun lien profond vers une application Android native. Pour en savoir plus sur les liens profonds sur Android, consultez Créer des liens profonds vers le contenu d'une application. Ce champ ne peut pas être traduit via |
ios_universal_link_url |
Facultative |
(URL) URL du lien universel à appeler sur iOS. Si ce champ est vide, les liens profonds ne s'afficheront pas sur iOS. Pour en savoir plus, consultez Liens universels sur iOS. Ce champ ne peut pas être traduit via |
Espaces réservés des champs dans l'appel d'API
Google appelle les URL précédentes avec les paramètres suivants :
Nom du champ | Présence | Détails |
---|---|---|
service_date |
Obligatoire |
(Date, reproductible) Jour de service du trajet. Ce champ est formaté comme un tableau JSON. |
ticketing_trip_id |
Obligatoire |
(ID issu de Ce champ est formaté comme un tableau JSON. |
from_ticketing_stop_time_id |
Obligatoire |
(Reproductible) Identifiant du Pour un horaire d'arrêt donné, la valeur est :
Ce champ est formaté comme un tableau JSON. |
|
Obligatoire |
(Reproductible) Identifiant du Pour en savoir plus sur la dérivation de la valeur, consultez Ce champ est formaté comme un tableau JSON. |
boarding_time |
Obligatoire |
(ISO 8601, reproductible) Horaire de départ ( La valeur de l'horaire de ce champ est conforme à la norme ISO 8601, avec la chaîne de format suivante :
Tous les horaires ci-dessous sont identiques, même s'ils utilisent différents fuseaux :
Ce champ est formaté comme un tableau JSON. |
Exemples
Si les étapes sont les suivantes :
- Date du service : 20190716 ; ID de billetterie ti1 pour le trajet entre l'ID 11 (horaire à l'arrêt de départ) et l'ID 12 (horaire à l'arrêt d'arrivée) ; embarquement à 14h UTC
- Date du service : 20190716 ; ID de billetterie ti2 pour le trajet entre l'ID 21 (horaire à l'arrêt de départ) et l'ID 22 (horaire à l'arrêt d'arrivée) ; embarquement à 15h UTC
Et la web_url
est : http://myawesomebookingwebsite.com
Les valeurs des paramètres sont les suivantes :
Nom du champ | Détails |
---|---|
service_date |
["20190716" , "20190716"] |
ticketing_trip_id |
["ti1" , "ti2"] |
from_ticketing_stop_time_id |
["11" , "21"] |
to_ticketing_stop_time_id |
["12" , "22"] |
boarding_time |
["2019-07-16T14:00:00+00:00" , "2019-07-16T15:00:00+00:00"] |
L'URI final (après l'encodage) est le suivant :
http://myawesomebookingwebsite.com?service_date=%5B%2220190716%22,%22%2019071622%5D
&ticketing_trip_id=%5B%22ti1%22,%22ti2%22%5D&from_ticketing_stop_time_id=%5B%2211%22,%2221%22%5D
&to_ticketing_stop_time_id=%5B%2212%22,%2222%22%5D&boarding_time=%5B%222019-07-16T14:00:00%2B00:00
%22,%222019-07-16T15:00:00%2B00:00%22%5D
Exemples de différentes valeurs ticketing_stop_id
Les arrêts peuvent avoir des ID différents pour la billetterie avec le champ ticketing_identifiers.txt
. Les valeurs en gras se trouvent dans l'appel Web décrit après les fichiers.
stop.txt |
---|
|
routes.txt |
---|
|
trips.txt |
---|
ti1,everyday,ri1,"TGV INOUI 6603",FR_SNCF_6603 ti2,everyday,ri1,"TGV INOUI 6681",FR_SNCF_6681 ti3,everyday,ri1,"TGV INOUI 6607",FR_SNCF_6607 |
stop_times.txt |
---|
ti1,1,si1,06:59:00,06:59:00 ti1,2,si2,08:56:00,08:56:00 ti2,1,si1,07:53:00,07:53:00 ti2,2,si2,10:00:00,10:00:00 ti3,1,si1,08:59:00,08:59:00 ti3,2,si2,10:56:00,10:56:00 |
ticketing_identifiers.txt |
---|
si1,agency1,4924 si2,agency1,4676 |
ticketing_deep_links.txt |
---|
ticketing_deep_link_id , web_url , android_intent_url ,
ios_universal_url tdl1, https://www.thetrainline.com/api/gtfs/web,
https://www.thetrainline.com/api/gtfs/android, https://www.thetrainline.com/api/gtfs/ios |
Si la demande est effectuée le 19 juillet 2019 et que les horaires GTFS utilisent le fuseau UTC+1, l'appel Web sera le suivant :
http://www.thetrainline.com/api/gtfs/web?service_date=%5B%2220190719%22%5D&ticketing_trip_id=
%5B%22FR_SNCF_6603%22%5D&from_ticketing_stop_time_id=%5B%224924%22%5D&to_ticketing_stop_time_id=
%5B%224676%22%5D&boarding_time=%5B%222019-07-19T07:59:00%2B00:00%22%5D