Questa pagina definisce un sottoinsieme della specifica GTFS per la vendita di biglietti, che si trova nella 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
è obbligatorio.
Tipi di campi aggiuntivi
In questa sezione vengono descritti 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) completo che include lo schema. Tutti i caratteri speciali nell'URI devono utilizzare i caratteri di escape corretti. Per una descrizione di come creare valori URI completi, consulta URI (Uniform Resource Identifier) RFC 3986: sintassi generica.
Estensioni o aggiunte di file
I file di testo con lo stato Estensione sono file già esistenti e che devono essere estesi. Devi aggiungere i nuovi campi da noi definiti nella seguente tabella.
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 fornite dopo la seguente tabella. 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.trip_ticketing_id e trips.ticketing_type . |
stop_times.txt |
Estensione | Aggiunge stop_times.ticketing_type . |
ticketing_identifiers.txt |
Aggiunta | Nuovo file. Per ulteriori dettagli, consulta Definizioni dei campi. |
ticketing_deep_links.txt |
Aggiunta | Nuovo file. Per ulteriori 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 questa
route. 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) Definisci 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 momento della fermata. Se
definisci
|
ticketing_identifiers.txt
(file aggiunto)
Il caso più comune per la vendita di biglietti è che ogni fermata ha un identificatore per elaborare la fatturazione. Aziende diverse possono utilizzare lo stesso identificatore per una determinata fermata. Quando più aziende gestiscono la stessa fermata, ripeti la mappatura per ogni azienda.
Nome campo | Presenza | Dettagli |
---|---|---|
ticketing_stop_id |
Obbligatorio | (ID) Definisce un ID per l'acquisto di biglietti predefinito per questa fermata per questa azienda. |
stop_id |
Obbligatorio | (ID da stops.txt ) La fermata per la quale è definito il valore predefinito di
ticketing_stop_id . |
agency_id |
Obbligatorio | (ID da agency.txt ) L'agenzia della fermata per la quale è definito il valore
predefinito di 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 i link diretti. Questo campo non è traducibile in |
android_intent_uri |
Facoltativo |
(URI) L'URI da passare a un'app Android nativa con un intent Se il campo è vuoto, significa che non puoi creare un link diretto a un'app Android nativa. Per maggiori informazioni sui link diretti su Android, consulta la sezione Creare link diretti ai contenuti delle app. Questo campo non è traducibile in |
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 la sezione Link universali su iOS. Questo campo non è traducibile in |
Segnaposto di campo 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 della corsa. Utilizza questo campo per la data di partenza della corsa 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 |
(Ripetibile) Identificatore del Per un determinato orario di fine, il valore è il seguente:
Questo campo viene formattato come array JSON. |
|
(Ripetibile) Identificatore del Per una spiegazione sulla 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 a bordo del veicolo. Il valore temporale di questo campo è conforme alla norma ISO 8601 con il seguente formato di stringa:
Gli orari riportati di seguito sono gli stessi, in fusi orari diversi:
Questo campo viene formattato come array JSON. |
arrival_time |
(ISO 8601, ripetibile) Ora di arrivo, arrive_time allo stop_time in cui termina la tappa. Il valore temporale di questo campo è conforme alla normativa ISO 8601 con il seguente formato di stringa:
Gli orari riportati di seguito sono gli stessi, in fusi orari diversi:
Questo campo viene formattato come array JSON. |
Esempi
In questo esempio, le tappe del viaggio di un passeggero sono le seguenti:
- Il giorno del servizio
20190716
, l'ID per la vendita di biglietti a tempo determinatoti1
inizia dall'ID11
della vendita di biglietti a tempo di fermata all'ID12
. Il passeggero sale a bordo alle 14:00 UTC e arriva alle 14:50 UTC. - Il giorno del servizio
20190716
, l'ID per la vendita di biglietti a tempo determinatoti2
inizia dall'ID21
della vendita di biglietti a tempo di fermata all'ID22
. Il passeggero sale a bordo 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 questa corsa:
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 campo ticketing_identifiers.txt
. I valori in grassetto sono quelli presenti nella chiamata web descritta dopo i file.
stop.txt |
---|
|
routes.txt |
---|
|
trips.txt |
---|
ti1,ogni giorno,ri1,"TGV INOUI 6603",FR_SNCF_6603 ti2,ogni giorno,ri1,"TGV INOUI 6681",FR_SNCF_6681 ti3,ogni giorno,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 del GTFS sono nel fuso orario UTC+1, allora seguente è la chiamata per il web:
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
Per implementare le estensioni per l'acquisto di biglietti di Google Transit, segui questi consigli:
Linee guida | |
---|---|
Se possibile, condividi link diretti tra aziende di trasporto pubblico o percorsi. |
Nel feed statico, ogni volta che più agenzie o route hanno gli stessi URL link diretti,
devono condividere un singolo valore per il campo |
Imposta valori coerenti per ticketing_type . |
Il valore |
Mappa ticketing_stop_id per le fermate principali e 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 propagano tra un'interruzione principale e le relative interruzioni. |
Mappa ticketing_stop_id per ogni azienda che utilizza la stessa fermata nel
feed. |
Nel feed statico, se più aziende che attivano la vendita di biglietti condividono la stessa fermata, la mappatura deve essere presente per ciascuna azienda. Per maggiori dettagli, consulta la sezione Definizioni dei campi
per |
Utilizza i link per app Android 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 link per app 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. |