Questa pagina definisce un sottoinsieme della specifica GTFS-Ticketing, che è in fase di proposta durante la creazione di questo documento. Questa pagina include anche diverse limitazioni aggiuntive di Google.
Requisiti
Il campo departure_time
in stop_times.txt
è necessario.
Tipi di campi aggiuntivi
Questa sezione illustra i tipi di campi aggiuntivi e quelli con estensioni di Google. Alcuni campi richiedono valori sotto forma di URI.
- URI: un URI (Uniform Resource Identifier) completamente qualificato che include lo schema. I caratteri speciali dell'URI devono utilizzare i caratteri di escape corretti. Per una descrizione di come creare valori URI completi, consulta RFC 3986 Uniform Resource Identifier (URI): Generic Syntax.
Estensioni o aggiunte di file
I file di testo con lo stato Extension sono file esistenti che devi estendere. Devi aggiungere i nuovi campi che definiamo nella tabella seguente.
I file di testo con lo stato Addition sono nuovi file introdotti dalle estensioni per l'acquisto di biglietti di Google Transit. Devi creare questi file in conformità alle definizioni dei campi riportate dopo la tabella seguente. Assicurati di includere questi file nel feed.
Nome file | Stato | Definisce |
---|---|---|
agency.txt |
Estensione | Aggiunge agency.ticketing_deep_link_id . |
routes.txt |
Estensione | Aggiunge routes.ticketing_deep_link_id . |
trips.txt |
Estensione | Aggiunge trips.ticketing_trip_id e trips.ticketing_type . |
stop_times.txt |
Estensione | Aggiunge stop_times.ticketing_type . |
ticketing_identifiers.txt |
Aggiunta | Nuovo file. Per maggiori dettagli, consulta Definizioni dei campi. |
ticketing_deep_links.txt |
Aggiunta | Nuovo file. Per maggiori dettagli, consulta Definizioni dei campi. |
Definizioni dei campi
agency.txt
(file esteso)
Nome campo | Presenza | Dettagli |
---|---|---|
ticketing_deep_link_id |
Facoltativo |
(ID da |
routes.txt
(file esteso)
Nome campo | Presenza | Dettagli |
---|---|---|
ticketing_deep_link_id |
Facoltativo | (ID da ticketing_deep_links.txt ) Definisce il link diretto da utilizzare per questo
percorso. Se presente, sovrascrive il campo in agency.txt . |
trips.txt
(file esteso)
Nome campo | Presenza | Dettagli |
---|---|---|
ticketing_trip_id |
Facoltativo |
(ID) Identificatore da passare nel link diretto. Non deve essere univoco. Se |
ticketing_type |
Facoltativo |
(Enum) Definisce se la vendita di biglietti tramite un link diretto è disponibile per questa corsa:
|
stop_times.txt
(file esteso)
Nome campo | Presenza | Dettagli |
---|---|---|
ticketing_type |
Facoltativo |
(Enum) Definisce se la vendita di biglietti tramite un link diretto è disponibile per questo orario di fermata. Se
definisci
|
ticketing_identifiers.txt
(file aggiunto)
Il caso più comune per i biglietti è che ogni fermata abbia un identificatore per elaborare la fatturazione. Aziende diverse potrebbero utilizzare lo stesso identificatore per una determinata fermata. Quando più aziende operano nella stessa fermata, ripeti questa mappatura per ogni azienda.
Nome campo | Presenza | Dettagli |
---|---|---|
ticketing_stop_id |
Obbligatorio | (ID) Definisce un ID biglietti predefinito per questa fermata per questa azienda. |
stop_id |
Obbligatorio | (ID da stops.txt ) La fermata per cui è definito il valore predefinito
ticketing_stop_id . |
agency_id |
Obbligatorio | (ID da agency.txt ) L'azienda della fermata per cui è definito il valore predefinito
ticketing_stop_id . |
ticketing_deep_links.txt
(file aggiunto)
Nome campo | Presenza | Dettagli |
---|---|---|
ticketing_deep_link_id |
Obbligatorio | (ID) Definisce un ID per il link diretto. |
web_url |
Facoltativo |
(URL) L'URL da visitare per il link diretto. Questo campo non è traducibile tramite |
android_intent_uri |
Facoltativo |
(URI) L'URI da passare a un'app Android nativa con un intent Se è vuoto, significa che non puoi creare un link diretto a un'app Android nativa. Per saperne di più sui link diretti su Android, consulta Creare link diretti ai contenuti dell'app. Questo campo non è traducibile tramite |
ios_universal_link_url |
Facoltativo |
(URL) L'URL del link universale da richiamare su iOS. Se è vuoto, i link diretti non vengono visualizzati su iOS. Per ulteriori informazioni, consulta Link universali su iOS. Questo campo non è traducibile tramite |
Segnaposto dei campi nella chiamata API
Google chiama gli URL definiti in ticketing_deep_links.txt
con i seguenti parametri:
Nome campo | Dettagli |
---|---|
service_date |
(Data, ripetibile) Giorno del servizio del viaggio. Utilizza questo campo per la data di partenza del viaggio dalla prima fermata. Questo campo viene formattato come array JSON. |
ticketing_trip_id |
(ID da Questo campo viene formattato come array JSON. |
from_ticketing_stop_time_id |
(Ripetitivo) Identificatore del Per una determinata ora di interruzione, il valore è il seguente:
Questo campo viene formattato come array JSON. |
|
(Ripetitivo) Identificatore della Per una spiegazione della derivazione del valore, consulta
Questo campo viene formattato come array JSON. |
boarding_time |
(ISO 8601, ripetibile) Ora di partenza, Utilizza questo campo per la data e l'ora effettive in cui il passeggero sale sul veicolo. Il valore dell'ora di questo campo è conforme allo standard ISO 8601 con il seguente formato di stringa:
Tutte le ore riportate di seguito sono uguali, ma in fusi orari diversi:
Questo campo viene formattato come array JSON. |
arrival_time |
(ISO 8601, ripetibile) Ora di arrivo, arrival_time all'ora stop_time in cui termina la tratta. Il valore dell'ora di questo campo è conforme a ISO 8601 con il seguente formato di stringa:
Tutte le ore riportate di seguito sono uguali, ma in fusi orari diversi:
Questo campo viene formattato come array JSON. |
Esempi
In questo esempio, le tratte del viaggio di un passeggero sono le seguenti:
- Nella data di servizio
20190716
, l'ID biglietto della corsati1
inizia dall'ID biglietto con orario di fermata11
all'ID biglietto con orario di fermata12
. Il passeggero embarque alle 14:00 UTC e arriva alle 14:50 UTC. - Nella data di servizio
20190716
, l'ID biglietto della corsati2
inizia dall'ID biglietto con orario di fermata21
all'ID biglietto con orario di fermata22
. Il passeggero embarque alle 15:00 UTC e arriva alle 15:50 UTC.
Per questo esempio, web_url
è https://examplepetstore.com
.
Date tutte queste informazioni, utilizza i seguenti valori per i parametri del feed per questo viaggio:
Nome campo | Dettagli |
---|---|
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"] |
arrival_time |
["2019-07-16T14:50:00+00:00" , "2019-07-16T15:50:00+00:00"] |
Di seguito è riportato l'URI finale dopo la codifica:
https://examplepetstore.com?service_date=%5B%2220190716%22,%2220190716%22%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&arrival_time=%5B%222019-07-16T14:50:00%2B00:00 %22,%222019-07-16T15:50:00%2B00:00%22%5D
Esempi di valori ticketing_stop_id
diversi
Le fermate possono avere ID diversi ai fini della vendita di biglietti con il
ticketing_identifiers.txt
campo. I valori in grassetto sono quelli trovati nella chiamata web
descritta dopo i file.
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 |
---|
tdl1, https://examplepetstore.com/api/gtfs/web, https://examplepetstore.com/api/gtfs/android, https://examplepetstore.com/api/gtfs/ios |
Se la richiesta viene effettuata il 19/07/2019 e gli orari GTFS sono nel fuso orario UTC+1, la chiamata per il web è la seguente:
https://examplepetstore.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-19T05:59:00%2B00:00%22%5&arrival_time=%5B%222019-07-19T07:56:00%2B00:00%22%5D
Pratiche consigliate
Segui questi consigli per implementare le estensioni per l'acquisto di biglietti di Google Transit:
Linee guida | |
---|---|
Condividi link diretti tra aziende o percorsi, se possibile. |
Nel feed statico, quando più aziende o percorsi hanno gli stessi URL dei link diretti, devono condividere un unico valore per il campo |
Imposta valori coerenti per ticketing_type . |
Il valore |
Mappa ticketing_stop_id sia per le fermate principali che per quelle secondarie. |
Esegui la mappatura di tutte le fermate principali e secondarie che richiedono l'acquisto di biglietti. Nel
file ticketing_identifiers.txt , i valori ticketing_stop_id non si propaggono tra una fermata principale e le sue secondarie. |
Mappa ticketing_stop_id per ogni azienda che utilizza la stessa fermata nel
feed. |
Nel feed statico, se più aziende che consentono l'acquisto di biglietti condividono la stessa fermata, la mappatura deve essere presente per ciascuna azienda. Per ulteriori dettagli, consulta la sezione Definizioni dei campi per |
Utilizza Android App Links quando è necessario un link diretto a un'app per Android. |
Se il partner vuole aprire un'app per Android da un link diretto, configura il link diretto come un link a un'app per Android. |
Utilizza i link universali per iOS quando è necessario un link diretto a un'app per iOS. | Se il partner vuole aprire un'app per iOS da un link diretto, configura il link diretto come link universale per iOS. |