Estimativas de Chegada
Estimativas de chegada (ETA - Estimated Time of Arrival) para todas as viagens/paragens em operação.
As estimativas são calculadas a partir de uma análise histórica e de condições calculadas em tempo real.
Estrutura de uma estimativa de chegada
O tipo HubV1ApiTripStopEta representa cada estimativa. No Hub, o ETA é representado por um objeto JSON com as seguintes propriedades:
| Propriedade | Tipo | Descrição |
|---|---|---|
eta_at | UnixMilliseconds (Integer) | Timestamp do ETA em milissegundos. |
eta_seconds | Integer | Tempo de espera em segundos. |
stop_id | String | ID da paragem. |
stop_name | String | Nome da paragem. |
stop_sequence | NonNegativeInteger (Integer) | Índice de sequência da paragem. |
trip_id | String | ID da viagem. |
vehicle_id | String | ID do veículo. |
export const HubV1ApiTripStopEtaSchema = z.object({
eta_at: UnixMillisecondsSchema,
eta_seconds: z.number().int(),
stop_id: z.string(),
stop_name: z.string(),
stop_sequence: NonNegativeIntegerSchema,
trip_id: z.string(),
vehicle_id: z.string(),
});Feed GTFS-RT
HubV1ApiEtaGtfsFeed tem a estrutura header + entity: o cabeçalho contém gtfs_realtime_version (String), feed_version (String ou null), incrementality (FULL_DATASET) e timestamp (UnixSeconds). Cada entidade tem id e trip_update com os dados GTFS-RT da viagem. O endpoint .pb devolve a mesma estrutura em Protobuf.
export const HubV1ApiEtaGtfsFeedSchema = GtfsRtFeedMessageSchema;Endpoints disponíveis
| Método | Path | Tipo de resposta | Descrição |
|---|---|---|---|
| GET | /v1/:organizationId/eta | HubV1ApiTripStopEta[] em data | Estimativas disponíveis para a organização, em JSON simplificado. |
| GET | /v1/:organizationId/eta/by-trip/:tripId | HubV1ApiTripStopEta[] em data | Estimativas de uma viagem. |
| GET | /v1/:organizationId/eta/by-stop/:stopId | HubV1ApiTripStopEta[] em data | Estimativas de uma paragem. |
| GET | /v1/:organizationId/eta/gtfs | HubV1ApiEtaGtfsFeed em data | Feed GTFS-RT TripUpdates em JSON. |
| GET | /v1/:organizationId/eta/gtfs.pb | Protobuf | Feed GTFS-RT TripUpdates binário. |
Obtém :organizationId na lista de organizações. :tripId e :stopId identificam a viagem e a paragem, respetivamente. Os IDs devem ser codificados para utilização num segmento de URL.
As respostas de sucesso usam HTTP 200 e cache pública de 3 segundos. As respostas JSON usam o formato comum do Hub; o Protobuf é devolvido diretamente com Content-Type: application/octet-stream.
Sem estimativas publicadas, os endpoints de JSON simplificado devolvem data: [], incluindo as consultas por viagem ou paragem. Uma organização inexistente ou sem dados abertos devolve HTTP 404. Os feeds GTFS-RT seguem as regras de combinação por organização.