Extensões de passagens de transporte público do Google

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Nesta página, definimos o subconjunto da especificação da GTFS-Ticketing, que está na fase proposta durante a criação deste documento. Esta página também inclui várias restrições adicionais do Google.

Requisitos

O campo departure_time em stop_times.txt é obrigatório.

Outros tipos de campo

Esta seção descreve os tipos de campo adicionais e os com extensões do Google.

Adições ou extensões de arquivo

Nome do arquivo Estado Define
agency.txt Extensão Adicionar marcações +1
routes.txt Extensão Adicionar marcações +1
trips.txt Extensão Adicionar marcações +1
stop_times.txt Extensão Adicionar marcações +1
ticketing_identifiers.txt Adição
ticketing_deep_links.txt Adição

Definições de tabelas

agency.txt (arquivo estendido)

Nome do campo Presença Detalhes
ticketing_deep_link_id Opcional (ID de ticketing_deep_links.txt) Define o link direto a ser usado para esta agência. Pode ser substituído em routes.txt.

routes.txt (arquivo estendido)

Nome do campo Presença Detalhes
ticketing_deep_link_id Opcional (ID de ticketing_deep_links.txt) Define o link direto a ser usado para esta rota. Quando presente, substitui o de agency.txt.

trips.txt (arquivo estendido)

Nome do campo Presença Detalhes
ticketing_trip_id Opcional

(ID) Identificador para transmitir no link direto. Não precisa ser única.

Substitutos no trip_id.

ticketing_type Opcional

(Enum) Defina se a passagem por meio de link direto está disponível para a viagem:

  • 0 ou empty: presume-se que:
    • Disponível se um ticket_deep_link_id for definido no trajeto ou na empresa.
    • Caso contrário, ficará indisponível.
  • indisponível

stop_times.txt (arquivo estendido)

Nome do campo Presença Detalhes
ticketing_type Opcional

(Enum) Defina se a passagem por link direto está disponível para essa viagem. Se definido, substitui o valor definido em trip.ticketing_type.

  • Vazio: conforme definido por trip.ticketing_type.
  • 0: presume-se que:
    • Disponível se um ticketing_deep_link_id for definido no trajeto ou na empresa.
    • Caso contrário, ficará indisponível.

Arquivo ticketing_identifiers.txt: adicionado.

O caso mais comum de venda de ingressos é que cada parada tem um identificador para processar o faturamento. Agências diferentes podem usar o mesmo identificador para qualquer parada. Quando várias agências atendem à mesma parada, repita esse mapeamento para cada uma delas.

Nome do campo Presença Detalhes
ticketing_stop_id Obrigatório (ID) Defina um ID de tíquete padrão para essa parada para essa empresa.
stop_id Obrigatório (ID de stops.txt) A parada em que o ticketing_stop_id padrão é definido.
agency_id Obrigatório (ID de agency.txt) A empresa da parada para a qual o ticketing_stop_id padrão é definido.

Arquivo ticketing_deep_links.txt: adicionado.

Nome do campo Presença Detalhes>
ticketing_deep_link_id Obrigatório (ID) Defina um ID para o link direto.
web_url Opcional

(URL) O URL a ser acessado para links diretos.

As traduções podem ser fornecidas pelo translations.txt para enviar os passageiros a URLs específicos à localidade.

android_intent_uri Opcional

(URI) O URI a ser transmitido para um app Android nativo com uma intent android.intent.action.VIEW.

Se estiver vazio, isso significa que não há links diretos para um app Android nativo.

Para saber mais sobre os links diretos no Android, consulte Criar links diretos para conteúdo de app.

Este campo não pode ser traduzido por translations.txt.

ios_universal_link_url Opcional

(URL) O URL universal do link a ser invocado no iOS.

Se estiver vazio, o link direto não será exibido no iOS.

Para mais informações, consulte links universais no iOS.

Este campo não pode ser traduzido por translations.txt.

Marcadores de campo na chamada de API

O Gogle chama os URLs anteriores com os seguintes parâmetros:

Nome do campo Presença Detalhes
service_date Obrigatório

(Data, reproduzível) Dia do serviço da viagem.

Este campo formata como uma matriz JSON.

ticketing_trip_id Obrigatório

(ID de trips.txt, reproduzível) Identificador da viagem.

Este campo formata como uma matriz JSON.

from_ticketing_stop_time_id Obrigatório

(Repetível) Identificador do stop_time em que o trecho começa.

Para um horário de parada específico, o valor é:

  • O ticketing_stop_id definido em ticketing_identifiers.txt para agency_id e stop_id do stop_time.
  • Caso contrário, ele volta no stop_sequence.

Este campo formata como uma matriz JSON.

to_ticketing_stop_time_id Obrigatório

(Repetível) Identificador do stop_time no qual o trecho termina.

Consulte from_ticketing_stop_time_id para ver uma explicação sobre a derivação do valor.

Este campo formata como uma matriz JSON.

boarding_time Obrigatório

(ISO 8601, horário repetível) horário de partida (departure_time) do stop_time em que o trecho começa.

O valor de hora desse campo está em conformidade com a ISO 8601, com a seguinte string de formato:

YYYY-MM-DDThh:mm:ss±hh:mm

Todos os horários abaixo são iguais, em fusos horários diferentes:

  • Em Londres, Reino Unido: 2019-07-29T18:26:00+01:00
  • Em Nova York, EUA: 2019-07-29T13:26:00-04:00:
  • Em Tóquio, Japão: 2019-07-30T02:26:00+09:00

Este campo formata como uma matriz JSON.

Exemplos

Se os trechos estiverem:

  • Na data de serviço 20190716, ID da passagem de viagem ti1 da hora de parada ID da passagem 11 para a hora de parada código da passagem 12, embarque às 14h UTC
  • Na data de serviço 20190716, ID da passagem de viagem ti2 da hora de parada ID 21 para a hora de término ID da passagem 22, embarque às 15h UTC

E o web_url é: http://myawesomebookingwebsite.com

Os valores dos parâmetros são:

Nome do campo Detalhes
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"]

O URI final (após a codificação) é:

http://myawesomebookingwebsite.com?service_date=%5B%2220190716%22,%22%2019071622%5D &ticketing_trip_id=%5B%22ti1%22,%22ti2%22%5D&from_ticketing_stop_%2id=%5B 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 -16T15:00:00%2B00:00%22%5D

Exemplos de valores ticketing_stop_id diferentes

As paradas podem ter IDs diferentes para os ingressos do campo ticketing_identifiers.txt. Os valores em negrito são aqueles encontrados na chamada da Web descrita após os arquivos.

stop.txt

stop_id, stop_name

si1,"Paris Gare-de-Lyon"

si2,"Lyon Part-Dieu"

routes.txt

route_id,route_long_name,ticketing_deep_link_id

ri1,"TGV em Oui Paris-Lyon",tdl1

trips.txt

trip_id,service_id,route_id,trip_short_name, ticketing_trip_id

ti1,todos os dias,ri1,"TGV INOUI 6603",FR_SNCF_6603

ti2,todos os dias,ri1,"TGV INOUI 6681",FR_SNCF_6681

ti3,todos os dias,ri1,"TGV INOUI 6607",FR_SNCF_6607

stop_times.txt

trip_id,stop_sequence,stop_id,arrival_time, departure_time

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

stop_id,agency_id,ticketing_stop_id

si1,agência1,4924

si2,agência1,4676

ticketing_deep_links.txt
ticketing_deep_link_id, web_url, android_intent_url, ios_universal_urltdl1, https://www.thetrainline.com/api/gtfs/web, https://www.thetrainline.com/api/gtfs/android, https://www.thetrainline.com/api/gtfs/ios

Se a solicitação for feita na Web de 19/07/2019 e os horários da GTFS estiverem no fuso horário UTC+1, a chamada será:

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% } %5B%224676%22%5D&boarding_time=%5B%222019-07-19T07:59:00%2B00:00%22%5D