O parceiro precisa fornecer um Feed GTFS que atenda a todas as especificações padrão, além das listadas abaixo. Esse feed precisa cobrir todos os itinerários que o parceiro quer mostrar. Isso permite que as informações de horários e trajetos sejam exibidas no Google. Se quiser, o parceiro pode mostrar outras informações de preço e disponibilidade para alguns ou todos os itinerários no feed fornecido.
Requisitos padrão
Referência da GTFS estática: todos os requisitos padrão são aplicados.
Práticas recomendadas para a GTFS: siga as práticas recomendadas como se fossem obrigatórias.
Como fazer upload de Feeds GTFS: siga este processo para enviar o feed.
Atualizações: após o upload dos feeds, eles podem ser atualizados seguindo o processo descrito aqui. Em geral, essas atualizações de feed podem levar de dois a três dias para serem totalmente propagadas.
Outros requisitos
Escopo
- Um único Feed GTFS precisa cobrir um único país ou uma parte de um país.
As viagens que ultrapassam as fronteiras dos países precisam ser fornecidas em feeds separados para todo o continente. Se um Feed GTFS abrange algo além de um país, entre em contato com a equipe de transporte público.
- Os arquivos no ZIP da GTFS precisam ter menos de 4 GB. Arquivos maiores que isso geralmente são
sinal de práticas não recomendadas, como ignorar as opções de
compactação oferecidas pelo
frequencies.txt
ou recursos semelhantes. Isso pode causar problemas durante o processamento. Se você acha que precisa de arquivos com mais de 4 GB, entre em contato com a equipe de transporte de viagens pelo e-mail transporte-help@google.com. - Os dados de todo o período futuro de operação dos serviços em um Feed GTFS precisam ser fornecidos com cada atualização dos dados da GTFS. A segmentação de serviços por períodos diferentes não é aceitável.
- Os arquivos no ZIP da GTFS precisam ter menos de 4 GB. Arquivos maiores que isso geralmente são
sinal de práticas não recomendadas, como ignorar as opções de
compactação oferecidas pelo
- Todas as datas de um determinado operador precisam estar em um único feed.
Traduções
- As traduções podem ser fornecidas pelo
translations.txt
e serão exigidas nos países em que:- As informações aos usuários podem ser fornecidas em diferentes scripts ou em outros scripts que não
- As informações podem ser fornecidas em vários idiomas ou quando as entidades podem usar nomes diferentes nesses idiomas (por exemplo, Bruxelas/Bruxelas/Bruxelles).
- Entidades a serem traduzidas
- nomes de agências/paradas/trajetos
- letreiros de viagem/parada
Nomes de trajetos, nomes curtos de viagens e letreiros
- Os letreiros precisam ser fornecidos para todas as viagens em
trips.txt
(se o letreiro permanecer consistente durante toda a viagem) ou emstop_times.txt
(se ele mudar durante diferentes etapas). - Os letreiros devem corresponder às informações que os usuários podem encontrar no chão. Por exemplo, letreiros exibidos no veículo ou em placas.
- Quando um trajeto tem um nome, ele precisa ser fornecido como o long_name em
routes.txt
. - Quando um trajeto tem um número específico ou um identificador alfanumérico que se aplica a todas as viagens nesse trajeto e em ambas as direções, ele precisa ser fornecido como o short_name em
routes.txt
. - Quando as viagens no trajeto têm identificadores individuais (por exemplo, números de trem), esses identificadores precisam ser fornecidos como nomes curtos de viagens.
- Para serviços de longa distância que não têm números ou nomes de trajeto, escolher um nome de trajeto se torna um problema. A diretriz geral nessas situações é que uma combinação do nome do trajeto e do letreiro ajuda o usuário a identificar o veículo sem ambiguidade. Por exemplo, o nome da empresa que opera pode ser usado como o nome do trajeto, enquanto o destino da viagem (se exibido no veículo) deve ser usado como o letreiro de itinerário.
Exemplos
- Indian Railways Kamayani Express Train 11071 de Mumbai a Varanasi. Observação: o número 11071 identifica uma viagem de trem específica de Mumbai a Varanasi, não o trajeto em si.
- routes.txt:
- nome_curto: <vazio>
- long_name: Kamayani Express
- trips.txt:
- trip_short_name: 11071
- letreiro: Varanasi
- routes.txt:
- Ônibus de Buenos Aires para Córdoba operado pela Chevallier Bus. Observação: o ônibus que operava esse serviço não mostra um nome de trajeto específico. Em vez disso,
exibe o nome da agência de operação e o
destino dela. Essa viagem específica não tem um número/identificador individual que a diferencie de outras viagens operadas pela mesma empresa ou que veiculam o mesmo trajeto. Nesse caso, é aceitável usar "Chevallier" como nome da agência (em
agencies.txt
) e long_name do trajeto (emroutes.txt
). O destino precisa ser usado no letreiro. O "trip_short_name" precisa permanecer vazio.- routes.txt:
- nome_curto: <vazio>
- long_name: Chevallier
- trips.txt:
- trip_short_name: <empty>
- letreiro: Córdoba
- routes.txt:
Horários de parada
O valor de arrival_time e Controlado_de_partida precisa ser informado em stop_times.txt
.
Estrutura da viagem
- Viagens de longa distância que atendem várias cidades/áreas precisam ser fornecidas de ponta a ponta sem segmentação (por exemplo,A->B->C e não [A->B,A->C,B->C]), em que A, B e C são áreas urbanas. Por exemplo, um ônibus de longa distância que vai de Buenos Aires a Córdoba, com uma parada em Rosário, precisa ser representado como uma viagem com paradas nessas três cidades, não como três viagens: "Buenos Aires - Rosário", "Buenos Aires - Córdoba" e "Rosario - Córdoba".
- Quando o provedor não conseguir as informações sobre a estrutura de viagem correta, as viagens segmentadas de cidade a cidade podem ser fornecidas caso a caso. Se essas viagens tiverem vários pontos de embarque ou desembarque dentro de uma mesma cidade, a segmentação de parada a parada não será permitida. Todos os pontos de partida e desembarque precisam ser listados em uma única viagem.
Estruturas de estações
Para estações grandes que têm várias plataformas/baias, as relações entre estação e plataforma precisam ser especificadas no feed, e as baías/plataformas específicas precisam ser identificadas pelo campo platform_code em stops.txt
. Veículos que saem ou chegam de forma consistente em uma baía ou plataforma específica precisam ser vinculados a eles no Feed GTFS. Se a plataforma de partida/chegada ou a baía mudarem em diferentes dias/horários de partida, essa informação poderá ser fornecida na GTFS em tempo real.
Locais de estações/paradas
- Em estações grandes que têm várias plataformas ou baías, o local da estação precisa ser definido como o local da entrada de pedestres mais proeminente (se a estação tiver uma construção ou estrutura) ou o local da área de espera de passageiros (para estações ao ar livre).
- Para paradas menores na lateral da estrada, o local de uma parada deve ser definido como o local do ponto de ônibus quando for identificado. Quando um ponto de ônibus específico não pode ser identificado, o local precisa ser posicionado no lado correto da via e dentro das proximidades do local real ao longo da via (de preferência, dentro de 10 m) onde o veículo para.
Extensões adicionais da GTFS
Necessário apenas para parceiros que querem exibir informações de preço/disponibilidade implementando as APIs de parceiros.
Extensão da venda de passagens do Google Transit
- Os parceiros precisam implementar a especificação de extensão de venda de passagens do Google Transit, que é um subconjunto da extensão de venda de passagens da GTFS.
- Aplicamos os seguintes requisitos aos IDs de venda de ingressos:
- Os códigos de venda de ingressos precisam ser estáveis, ou seja, não podem ser alterados com frequência, por um bom motivo. Quando os IDs de passagens mudarem, será necessária a compatibilidade com versões anteriores (pelo período mínimo de uma semana).
- Para determinar os parâmetros da SegmentKey em solicitações da API,
ticketing_trip_id
(emtrips.txt
) eticketing_stop_id
(emticketing_identifiers.txt
) são obrigatórios. O substituto emstop_sequence
não tem suporte porque não é estável.
GTFS-Fares v1
A referência da GTFS estática especifica os arquivos opcionais fare_attributes.txt
e fare_rules.txt
. Se um parceiro se integrar às APIs do parceiro, esses
arquivos não poderão ser fornecidos.