Saltar a contenido

Referencia de GTFS Schedule

Revisado el 8 de diciembre de 2022. Véase el historial de revisiones para más detalles.

Este documento define el formato y la estructura de los archivos que componen un conjunto de datos GTFS.

Tabla de contenidos

  1. Convenciones del documento
  2. Archivos de conjuntos de datos
  3. Requisitos de los archivos
  4. Definiciones de campo

Convenciones de los documentos

Las palabras clave "DEBE", "NO DEBE", "OBLIGATORIO", "DEBERÁ", "NO DEBERÁ", "DEBERÍA", "NO DEBERÍA", "RECOMENDADO", "PUEDE" y "OPCIONAL" en este documento serán interpretadas como se describe en RFC 2119.

Definiciones de los términos

En esta sección se definen los términos que se utilizan en este documento.

  • Conjunto de datos: conjunto completo de archivos definidos por la referencia de esta especificación. La modificación del conjunto de datos crea una nueva versión del mismo. Los conjuntos de datos deben publicarse en una URL pública y permanente, incluyendo el nombre del archivo comprimido. (por ejemplo, https://www.agency.org/gtfs/gtfs.zip).
  • Registro - Estructura de datos básica compuesta por una serie de valores de campo diferentes que describen una única entidad (por ejemplo, agencia de transporte, parada, ruta, etc.). Se representa, en una tabla, como una fila.
  • Campo - Propiedad de un objeto o entidad. Se representa, en una tabla, como una columna.
  • Valor de campo - Una entrada individual en un campo. Se representa, en una tabla, como una sola celda.
  • Día de servicio - Un día de servicio es un período de tiempo utilizado para indicar la programación de una ruta. La definición exacta de día de servicio varía de una agencia a otra, pero los días de servicio a menudo no se corresponden con los días naturales. Un día de servicio puede exceder las 24:00:00 si el servicio comienza en un día y termina en el siguiente. Por ejemplo, un servicio que va desde las 08:00:00 del viernes hasta las 02:00:00 del sábado, podría indicarse como que va desde las 08:00:00 hasta las 26:00:00 en un solo día de servicio.
  • Campo de texto - El campo debe contener la misma información que su campo padre (sobre el que recae si está vacío). El objetivo es que se lea como texto a voz, por lo que la abreviatura debe eliminarse ("St" debe leerse como "Street" o "Saint"; "Elizabeth I" debe ser "Elizabeth the first") o mantenerse para que se lea como tal ("JFK Airport" se dice abreviado).
  • Tramo - Viaje en el que un pasajero sube y baja entre un par de lugares posteriores a lo largo de un viaje.
  • Viaje - Viaje total desde el origen hasta el destino, incluyendo todos los tramos y transbordos entre ellos.
  • Subviaje - Dos o más tramos que comprenden un subconjunto de un viaje.
  • Producto tarifario - Productos tarifarios adquiribles que pueden utilizarse para pagar o validar el viaje.

Presencia

Condiciones de presencia aplicables a los campos y archivos:

  • Obligatorio: el campo o archivo debe estar incluido en el conjunto de datos y contener un valor válido para cada registro.
  • Opcional: el campo o el archivo puede omitirse en el conjunto de datos.
  • Condicionalmente obligatorio: el campo o el archivo debe incluirse en las condiciones indicadas en la descripción del campo o del archivo.
  • Condicionalmente Prohibido - El campo o archivo no debe incluirse bajo las condiciones indicadas en la descripción del campo o archivo.

Tipos de campo

  • Color - Un color codificado como un número hexadecimal de seis dígitos. Consulte https://htmlcolorcodes.com para generar un valor válido (no debe incluirse el "#" inicial).
    Ejemplo: FFFFFF para el blanco, 000000 para el negro o 0039A6 para las líneas A,C,E en NYMTA.
  • Código de moneda - Un código de moneda alfabético ISO 4217. Para ver la lista de monedas actuales, consulte https://en.wikipedia.org/wiki/ISO_4217#Active_codes.
    Ejemplo: CAD para dólares canadienses, EUR para euros o JPY para yenes japoneses.
  • Importe de la moneda - Un valor decimal que indica un importe de moneda. El número de decimales se especifica en la norma ISO 4217 para el código de moneda correspondiente. Todos los cálculos financieros deben procesarse como decimales, moneda u otro tipo equivalente adecuado para los cálculos financieros en función del language programación utilizado para consumir los datos. Se desaconseja procesar los importes en moneda como flotante debido a las ganancias o pérdidas de dinero durante los cálculos.
  • Fecha - Día de servicio en el formato AAAAMMDD. Dado que la hora dentro de un día de servicio puede ser superior a las 24:00:00, un día de servicio puede contener información para el día o los días siguientes.
    Ejemplo: 20180913 para el 13 de septiembre de 2018.
  • Correo electrónico - Una dirección de correo electrónico.
    Ejemplo: example@example.com
  • Enum - Una opción de un conjunto de constantes predefinidas definidas en la columna "Descripción".
    Ejemplo: El campo tipo de ruta contiene un 0 para el tranvía, un 1 para el metro...
  • ID - Un valor de campo ID es un ID interno, no destinado a ser mostrado a los pasajeros, y es una secuencia de cualquier carácter UTF-8. Se recomienda utilizar sólo caracteres ASCII imprimibles. Un ID se denomina "ID único" cuando debe ser único dentro de un archivo. Los IDs definidos en un archivo .txt son a menudo referenciados en otro archivo .txt. Los IDs que hacen referencia a un ID en otra tabla se etiquetan como "ID extranjero".
    Ejemplo: El campo stop_id en stops. stops.txt es un "ID único". El campo parent_station en stops.txt es un "ID foráneo que hace referencia a stops .stop_id".
  • código de language - Un código de language IETF BCP 47. Para una introducción al IETF BCP 47, consulte https://www.rfc-editor.org/rfc/bcp/bcp47.txt y https://www.w3.org/International/articles/language-tags/
    Ejemplo: en para el inglés, en-US para el inglés americano o de para el alemán.
  • Latitud - Latitud WGS84 en grados decimales. El valor debe ser mayor o igual a -90,0 y menor o igual a 90,0.
    Ejemplo: 41,890169 para el Coliseo de Roma.
  • Longitud - Longitud WGS84 en grados decimales. El valor debe ser mayor o igual a -180,0 y menor o igual a 180,0.
    Ejemplo: 12,492269 para el Coliseo de Roma.
  • Float - Un número en coma flotante.
  • Entero - Un número entero.
  • Número deteléfono - Un número de teléfono.
  • Hora - Hora en el formato HH:MM:SS (también se acepta H:MM:SS). La hora se mide a partir del "mediodía menos las 12h" del día de servicio (efectivamente la medianoche, excepto en los días en los que se produce el cambio de horario de verano). Para las horas que se produzcan después de medianoche, introduzca la hora como un valor superior a las 24:00:00 en HH:MM:SS hora local del día en el que comienza el Schedule viaje.
    Ejemplo: 14:30:00 para las 2:30PM o 25:35:00 para la 1:35AM del día siguiente.
  • Texto - Una cadena de caracteres UTF-8, cuyo objetivo es ser mostrada y que, por lo tanto, debe ser legible para las personas.
  • Zona horaria - Zona horaria TZ de la https://www.iana.org/time-zones. Los nombres de las zonas horarias nunca contienen el carácter de espacio, pero pueden contener un guión bajo. Consulte https://en.wikipedia.org/wiki/List_of_tz_zones para obtener una lista de valores válidos.
    Ejemplo: Asia/Tokio, América/Los_Ángeles o África/El Cairo.
  • URL - Una URL completa que incluye http:// o https://, y cualquier carácter especial en la URL debe ser escapado correctamente. Consulte la siguiente dirección https://www.w3.org/Addressing/URL/4_URI_Recommentations.html para obtener una descripción de cómo crear valores de URL totalmente cualificados.

Signos de campo

Signos aplicables a los tipos de campo Float o Integer:

  • No negativo - Mayor o igual que 0.
  • No cero - No es igual a 0.
  • Positivo - Mayor que 0.

Ejemplo: Float no negativo - Un número de coma flotante mayor o igual que 0.

Atributos del conjunto de datos

La clave primaria de un conjunto de datos es el campo o la combinación de campos que identifican de forma exclusiva una fila. La clave primaria (*) se utiliza cuando todos los campos proporcionados para un archivo se utilizan para identificar de forma exclusiva una fila. Clave primaria (ninguna) significa que el archivo sólo admite una fila.

Ejemplo: los campos trip_id y stop_sequence constituyen la clave primaria de stop_times.txt.

Archivos de conjuntos de datos

Esta especificación define los siguientes archivos:

Nombre del fichero Presencia Descripción
agency.txt Obligatorio Agencias de transporte con servicio representadas en este conjunto de datos.
stops.txt Exigida Paradas donde los vehículos recogen o dejan a los pasajeros. También define las estaciones y las entradas a las estaciones.
routes.txt Exigida Rutas de tránsito. Una ruta es un grupo de viajes que se muestra a los usuarios como un único servicio.
trips.txt Exigida Viajes de cada ruta. Un viaje es una secuencia de dos o más paradas que ocurren durante un período de tiempo específico.
stop_times.txt Exigida Las horas de llegada y salida de las paradas de un vehículo para cada viaje.
calendar.txt Requerido condicionalmente Fechas de servicio especificadas mediante un Schedule semanal con fechas de inicio y fin.

Condicionalmente requerido:
- Exigida a menos que todas las fechas de servicio estén definidas en calendar_dates.txt.
- Opcional en caso contrario.
calendar_dates.txt Condicionalmente obligatorio Las excepciones para los servicios definidos en el calendar.txt.

Condicionalmente Obligatorio:
- Exigida si calendar.txt se omite. En cuyo caso calendar_dates.txt debe contener todas las fechas de servicio.
- Opcional en caso contrario.
fare_attributes.txt Opcional Información sobre las tarifas de los itinerarios de una agencia de transporte.
fare_rules.txt Opcional Normas de aplicación de las tarifas para los itinerarios.
fare_media.txt Opcional Describir los medios tarifarios que pueden emplearse para utilizar productos tarifarios.

El archivo fare_media.txt describe conceptos que no están representados en fare_attributes.txt y fare_rules.txt. Como tal, el uso de [fare_media.txt](#fare_mediatxt es totalmente independiente de los archivos fare_attributes.txt y fare_rules.txt.
fare_products.txt Opcional Describir los diferentes tipos de billetes o tarifas que pueden ser adquiridos por los usuarios.

Archivo fare_products.txt describe los productos tarifarios que no están representados en fare_attributes.txt y fare_rules.txt. Como tal, el uso de fare_products.txt es totalmente independiente de los archivos fare_attributes.txt y fare_rules.txt.
fare_leg_rules.txt Opcional Normas tarifarias para tramos individuales de viaje.

Archivo fare_leg_rules.txt proporciona un método más detallado para modelar las estructuras tarifarias. Así, el uso de fare_leg_rules.txt es totalmente independiente de los archivos fare_attributes.txt y fare_rules.txt.
fare_transfer_rules.txt Opcional Reglas tarifarias para las transferencias entre tramos de viaje.

Junto con fare_leg_rules.txtarchivo fare_transfer_rules.txt proporciona un método más detallado para modelar las estructuras tarifarias. Como tal, el uso de fare_transfer_rules.txt es totalmente independiente de los archivos fare_attributes.txt y fare_rules.txt.
areas.txt Opcional Agrupación de localidades por áreas.
stop_areas.txt Opcional Reglas para asignar paradas a las áreas.
shapes.txt Opcional Reglas para asignar las trayectorias de viaje de los vehículos, a veces denominadas alineaciones de ruta.
frequencies.txt Opcional Headway (tiempo entre viajes) para el servicio basado en headway o una representación comprimida del servicio de horario fijo.
transfers.txt Opcional Reglas para hacer conexiones en puntos de transferencia entre rutas.
pathways.txt Opcional Rutas que conectan lugares dentro de las estaciones.
levels.txt Condicionalmente obligatorio Niveles dentro de las estaciones.

Condicionalmente exigida:
- Exigida Cuando se describen recorridos con ascensores (pathway_mode=5).
- Opcional en caso contrario.
translations.txt Opcional Traducciones de los valores del conjunto de datos orientados al cliente.
feed_info.txt Opcional Metadatos del conjunto de datos, incluida la información sobre el editor, la versión y la caducidad.
attributions.txt Opcional Atribuciones del conjunto de datos.

Requisitos del archivo

Los siguientes requisitos se aplican al formato y al contenido de los archivos del conjunto de datos:

  • Todos los archivos deben guardarse como texto delimitado por comas.
  • La primera línea de cada archivo debe contener los nombres de los campos. Cada subsección de la sección Definiciones de campo corresponde a uno de los archivos de un conjunto de datos GTFS y enumera los nombres de campo que pueden utilizarse en ese archivo.
  • Todos los nombres de archivos y campos distinguen entre mayúsculas y minúsculas.
  • Los valores de los campos no deben contener tabulaciones, retornos de carro ni líneas nuevas.
  • Los valores de campo que contienen comillas o comas deben ir entre comillas. Además, cada comilla en el valor de campo debe ir precedida de una comilla. Esto es coherente con la forma en que Microsoft Excel genera los archivos delimitados por comas (CSV). Para más información sobre el formato de los archivos CSV, consulte https://tools.ietf.org/html/rfc4180.
  • El siguiente ejemplo muestra cómo debe aparecer un valor de campo en un archivo delimitado por comas:
  • Valor original del campo: Contiene "comillas", comas y texto
  • Valor del campo en el archivo CSV: "Contiene ""comillas"", comas y texto"
  • Los valores de los campos no deben contener etiquetas HTML, comentarios o secuencias de escape.
  • Deben eliminarse los espacios adicionales entre los campos o los nombres de los campos. Muchos analizadores sintácticos consideran que los espacios forman parte del valor, lo que puede provocar errores.
  • Cada línea debe terminar con un carácter de salto de línea CRLF o LF.
  • Los archivos deben estar codificados en UTF-8 para admitir todos los caracteres Unicode. Se aceptan archivos que incluyan el carácter de marca de orden de bytes (BOM) de Unicode. Consulte https://unicode.org/faq/utf_bom.html#BOM para obtener más información sobre el carácter BOM y UTF-8.
  • Todos los archivos del conjunto de datos deben estar comprimidos.

Definiciones de los campos

agency.txt

Archivo: Obligatorio

Clave primaria (agency_id)

Nombre del campo Tipo Presencia Descripción
agency_id ID único Requerido condicionalmente Identifica una marca de tránsito que a menudo es sinónimo de una agencia de tránsito. Tenga en cuenta que en algunos casos, como cuando una sola agencia opera múltiples servicios separados, las agencias y las marcas son distintas. En este documento se utiliza el término "agencia" en lugar de "marca". Un conjunto de datos puede contener datos de varias agencias.

Condicionalmente requerido: Condicionalmente requerido: Condicionalmente requerido: Condicionalmente requerido
- Exigida cuando el conjunto de datos contiene datos de múltiples agencias de transporte.
- Facultativo en caso contrario.
agency_name Texto Exigida Nombre completo de la agencia de transporte.
agency_url URL Exigida URL de la agencia de transporte.
agency_timezone Zona horaria Exigida Zona horaria en la que se encuentra la agencia de transporte. Si se especifican varias agencias en el conjunto de datos, cada una debe tener el mismo agency_timezone.
agency_lang código delanguage Opcional language principal utilizado por esta agencia de transporte. Debe proporcionarse para ayudar a los consumidores GTFS a elegir las reglas de mayúsculas y otros ajustes language para el conjunto de datos.
agency_phone Número de teléfono Opcional Un número de teléfono de voz para la agencia especificada. Este campo es un valor de cadena que presenta el número de teléfono típico del área de servicio de la agencia. Puede contener signos de puntuación para agrupar los dígitos del número. Se permite un texto marcable (por ejemplo, "503-238-RIDE" de TriMet), pero el campo no debe contener ningún otro texto descriptivo.
agency_fare_url URL Opcional URL de una página web que permite a un usuario comprar billetes u otros instrumentos tarifarios para esa agencia en línea.
agency_email Correo electrónico Opcional Dirección de correo electrónico controlada activamente por el departamento de atención al cliente de la agencia. Esta dirección de correo electrónico debe ser un punto de contacto directo en el que los usuarios del transporte público puedan ponerse en contacto con un representante del servicio de atención al cliente de la agencia.

stops.txt

Archivo: Obligatorio

Clave primaria (stop_id)

Nombre del campo Tipo Presencia Descripción
stop_id ID único Exigida Identifica una ubicación: parada/plataforma, estación, entrada/salida, nodo genérico o zona de embarque (véase location_type).

Varias rutas pueden utilizar el mismo stop_id.
stop_code Texto Opcional Texto corto o un número que identifica la ubicación para los pasajeros. Estos códigos se utilizan a menudo en los sistemas de información de tránsito por teléfono o se imprimen en la señalización para facilitar a los usuarios la obtención de información sobre un lugar determinado. El stop_code puede ser el mismo que stop_id si es de cara al público. Este campo debe dejarse vacío en el caso de los lugares sin código que se presentan a los usuarios.
stop_name Texto Condicionalmente exigida Nombre de la ubicación. El stop_name debe coincidir con el nombre de la ubicación de la agencia de cara al usuario, tal y como está impreso en un horario, publicado en línea o representado en la señalización. Para las traducciones a otros idiomas, utilice translations.txt.

Si el lugar es una zona de embarque (location_type=4), el stop_name debe contener el nombre de la zona de embarque tal y como lo muestra la agencia. Puede ser una sola letra (como en algunas estaciones de ferrocarril interurbanas europeas), o un texto como "Zona de embarque para sillas de ruedas" (metro de Nueva York) o "Cabecera de trenes cortos" (RER de París).

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida para los lugares que son paradas (location_type=0), estaciones (location_type=1) o entradas/salidas (location_type=2).
- Opcional para ubicaciones que son nodos genéricos (location_type=3) o zonas de embarque (location_type=4).
tts_stop_name Texto Opcional Versión legible del stop_name. Véase "Campo de texto" en la sección Definiciones de términos para más.
stop_desc Texto Opcional Descripción del lugar que proporciona información útil y de calidad. No debe ser un duplicado de stop_name.
stop_lat Latitud Condicionalmente exigida Latitud del lugar.

Para paradas/plataformas (location_type=0) y zona de embarque (location_type=4), las coordenadas deben ser las del poste del autobús -si existe- y, en caso contrario, del lugar donde los viajeros suben al vehículo (en la acera o el andén, y no en la calzada o la vía donde se detiene el vehículo).

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida para los lugares que son paradas (location_type=0), estaciones (location_type=1) o entradas/salidas (location_type=2).
- Opcional para ubicaciones que son nodos genéricos (location_type=3) o zonas de embarque (location_type=4).
stop_lon Longitud Condicionalmente exigida Longitud de la ubicación.

Para las paradas/los andenes (location_type=0) y zona de embarque (location_type=4), las coordenadas deben ser las del poste del autobús -si existe- y, en caso contrario, las del lugar donde los viajeros suben al vehículo (en la acera o el andén, y no en la calzada o la vía donde se detiene el vehículo).

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida para los lugares que son paradas (location_type=0), estaciones (location_type=1) o entradas/salidas (location_type=2).
- Opcional para ubicaciones que son nodos genéricos (location_type=3) o zonas de embarque (location_type=4).
zone_id ID Condicionalmente exigida Identifica la zona tarifaria de una parada. Si este registro representa una estación o una entrada de estación, el zone_id se ignora.

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida si se proporciona información sobre las tarifas mediante fare_rules.txt
- Facultativo en caso contrario.
stop_url URL Opcional URL de una página web sobre la ubicación. Debe ser diferente de la agency.agency_url y los routes.route_url valores del campo.
location_type Enum Opcional Tipo de ubicación. Las opciones válidas son:

0 (o en blanco) - Parada (o Plataforma). Lugar donde los pasajeros suben o bajan de un vehículo de tránsito. Se denomina andén cuando se define dentro de una parent_station.
1 - Estación. Una estructura física o área que contiene uno o más andenes.
2 - Entrada/Salida. Lugar donde los pasajeros pueden entrar o salir de una estación desde la calle. Si una entrada/salida pertenece a varias estaciones, puede estar vinculada por vías a ambas, pero el proveedor de datos debe elegir una de ellas como padre.
3 - Nodo genérico. Una ubicación dentro de una estación, que no coincide con ninguna otra location_typeque puede utilizarse para enlazar vías definidas en pathways.txt.
4 - Zona de embarque. Lugar específico de un andén en el que los pasajeros pueden subir o bajar de los vehículos.
parent_station Referencia de ID extranjero stops.stop_id Condicionalmente exigida Define la jerarquía entre las diferentes ubicaciones definidas en stops.txt. Contiene el ID de la ubicación padre, como se indica a continuación:

- Parada/plataforma (location_type=0): el parent_station contiene el ID de una estación.
- Estación (location_type=1): este campo debe estar vacío.
- Entrada/salida (location_type=2) o nodo genérico (location_type=3): el parent_station el campo contiene el ID de una estación (location_type=1)
- Zona de embarque (location_type=4): el campo parent_station contiene el ID de un andén.

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida para las ubicaciones que son entradas (location_type=2), nodos genéricos (location_type=3) o zonas de embarque (location_type=4).
- Opcional para paradas/andenes (location_type=0).
- Prohibido para estaciones (location_type=1).
stop_timezone Zona horaria Opcional Zona horaria de la ubicación. Si la ubicación tiene una estación padre, hereda la zona horaria de la estación padre en lugar de aplicar la suya propia. Las estaciones y las paradas sin padre con stop_timezone heredan la zona horaria especificada por agency.agency_timezone. Si stop_timezone se proporcionan valores, las horas en stop_times.txt deben introducirse como la hora desde la medianoche en la zona horaria especificada por agency.agency_timezone. Esto asegura que los valores de tiempo en un viaje siempre se incrementan en el curso de un viaje, independientemente de las zonas horarias que el viaje cruza.
wheelchair_boarding Enum Opcional Indica si es posible el embarque en silla de ruedas desde la ubicación. Las opciones válidas son:

Para las paradas sin padres:
0 o vacía - No hay información de accesibilidad para la parada.
1 - En esta parada puede subir a algunos vehículos un usuario en silla de ruedas.
2 - En esta parada no se puede subir con silla de ruedas.

Para las paradas de niños:
0 o vacío - La parada heredará su wheelchair_boarding comportamiento de la estación padre, si se especifica en el padre.
1 - Existe algún camino accesible desde el exterior de la estación hasta la parada/plataforma específica.
2 - No existe ningún camino accesible desde el exterior de la estación hasta la parada/plataforma específica.

Para las entradas/salidas de la estación:
0 o vacío - La entrada de la estación heredará su wheelchair_boarding comportamiento de la estación principal, si se especifica para la principal.
1 - La entrada de la estación es accesible para sillas de ruedas.
2 - No hay camino accesible desde la entrada de la estación hasta las paradas/los andenes.
level_id Referencia de ID extranjero levels.level_id Opcional Nivel de la ubicación. El mismo nivel puede ser utilizado por varias estaciones no vinculadas.
platform_code Texto Opcional Identificador de andén para una parada de andén (una parada perteneciente a una estación). Debe ser sólo el identificador del andén (por ejemplo, "G" o "3"). No deben incluirse palabras como "andén" o "vía" (o su equivalente language del canal). Esto permite a los consumidores de feeds internacionalizar y localizar más fácilmente el identificador de la plataforma en otros idiomas.

routes.txt

Archivo: Obligatorio

Clave primaria (route_id)

Nombre del campo Tipo Presencia Descripción
route_id ID único Exigida Identifica una ruta.
agency_id Referencia de ID extranjero agency.agency_id Condicionalmente exigida Agencia para la ruta especificada.

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida si se definen varias agencias en agency.txt.
- Opcional en caso contrario.
route_short_name Texto Condicionalmente exigida Nombre corto de una ruta. Suele ser un identificador corto y abstracto (por ejemplo, "32", "100X", "Verde") que los usuarios utilizan para identificar una ruta. Ambos route_short_name y route_long_name puede definirse.

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida si routes.route_long_name está vacío.
- Opcional en caso contrario.
route_long_name Texto Condicionalmente exigida Nombre completo de una ruta. Este nombre suele ser más descriptivo que el route_short_name y suele incluir el destino o la parada de la ruta. Ambos route_short_name y route_long_name puede definirse.

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida si routes.route_short_name está vacío.
- Opcional en caso contrario.
route_desc Texto Opcional Descripción de una ruta que proporciona información útil y de calidad. No debe ser un duplicado de route_short_name o route_long_name.
Ejemplo: Los trenes "A" circulan entre Inwood-207 St, en Manhattan, y Far Rockaway-Mott Avenue, en Queens, en todo momento. Además, desde las 6 de la mañana hasta la medianoche, hay trenes "A" adicionales que circulan entre Inwood-207 St y Lefferts Boulevard (los trenes suelen alternar entre Lefferts Blvd y Far Rockaway).
route_type Enum Exigida Indica el tipo de transporte utilizado en una ruta. Las opciones válidas son:

0 - Tranvía, Tranvía, Tren ligero. Cualquier sistema de tren ligero o a nivel de calle dentro de un área metropolitana.
1 - Metro. Cualquier sistema ferroviario subterráneo dentro de un área metropolitana.
2 - Ferrocarril. Utilizado para viajes interurbanos o de larga distancia.
3 - Autobús. Utilizado para las rutas de autobús de corta y larga distancia.
4 - Ferry. Utilizado para el servicio de barcos de corta y larga distancia.
5 - Tranvía. Utilizado para los vagones a nivel de calle en los que el cable pasa por debajo del vehículo (por ejemplo, el teleférico de San Francisco).
6 - Ascensor aéreo, teleférico suspendido (por ejemplo, telecabina, tranvía aéreo). Transporte por cable en el que las cabinas, vagones, góndolas o sillas abiertas están suspendidas por medio de uno o varios cables.
7 - Funicular. Cualquier sistema ferroviario diseñado para pendientes pronunciadas.
11 - Trolebús. Autobuses eléctricos que se alimentan de cables aéreos mediante postes.
12 - Monorraíl. Ferrocarril en el que la vía está formada por un solo raíl o una viga.
route_url URL Opcional URL de una página web sobre la ruta en cuestión. Debe ser diferente del agency.agency_url valor.
route_color Color Opcional Designación del color de la ruta que coincide con el material de cara al público. Por defecto es blanco (FFFFFF) cuando se omite o se deja vacío. La diferencia de color entre route_color y route_text_color debería proporcionar suficiente contraste cuando se ve en una pantalla en blanco y negro.
route_text_color Color Opcional El color legible que debe utilizarse para el texto dibujado sobre un fondo de route_color. Por defecto es el negro (000000) cuando se omite o se deja vacío. La diferencia de color entre route_color y route_text_color debe proporcionar suficiente contraste cuando se ve en una pantalla en blanco y negro.
route_sort_order Número entero no negativo Opcional Ordena las rutas de forma ideal para su presentación a los clientes. Las rutas con valores route_sort_order deben mostrarse primero.
continuous_pickup Enum Opcional Indica que el usuario puede subir al vehículo de tránsito en cualquier punto del recorrido del vehículo, tal como se describe en shapes.txten cada viaje de la ruta. Las opciones válidas son:

0 - Recogida con parada continua.
1 o vacío - No hay recogida de parada continua.
2 - Debe llamar a la agencia para organizar la recogida con parada continua.
3 - Debe coordinarse con el conductor para organizar la recogida con paradas continuas.

Valores para routes.continuous_pickup pueden anularse definiendo los valores en stop_times.continuous_pickup para específicos stop_times a lo largo de la ruta.
continuous_drop_off Enum Opcional Indica que el viajero puede bajarse del vehículo de tránsito en cualquier punto del recorrido del vehículo, tal como se describe en shapes.txt, en cada viaje de la ruta. Las opciones válidas son:

0 - Bajada con parada continua.
1 o vacío - No hay bajada de parada continua.
2 - Debe llamar a la agencia para concertar la bajada con parada continua.
3 - Debe coordinarse con el conductor para organizar la bajada con parada continua.

Los valores para routes.continuous_drop_off pueden ser anulados definiendo los valores en stop_times.continuous_drop_off para específico stop_times a lo largo de la ruta.
network_id ID Opcional Identifica un grupo de rutas. Varias filas en routes.txt pueden tener la misma network_id.

trips.txt

Archivo: Obligatorio

Clave primaria (trip_id)

Nombre del campo Tipo Presencia Descripción
route_id Referencia de ID extranjero routes.route_id Exigida Identifica una ruta.
service_id Referencia de ID extranjero calendar.service_id o calendar_dates.service_id Exigida Identifica un conjunto de fechas en las que el servicio está disponible para una o más rutas.
trip_id ID único Exigida Identifica un viaje.
trip_headsign Texto Opcional Texto que aparece en la señalización que identifica el destino del viaje para los usuarios. Debe utilizarse para distinguir entre diferentes patrones de servicio en la misma ruta.

Si la señal de cabeza cambia durante un viaje, los valores de trip_headsign pueden anularse definiendo valores en stop_times.stop_headsign para específicos stop_times a lo largo del viaje.
trip_short_name Texto Opcional Texto de cara al público utilizado para identificar el viaje a los usuarios, por ejemplo, para identificar los números de los trenes de cercanías. Si los usuarios no suelen confiar en los nombres de los viajes, trip_short_name debería estar vacío. A trip_short_name si se proporciona, debe identificar de forma exclusiva un viaje dentro de un día de servicio; no debe utilizarse para nombres de destinos o designaciones limitadas/expresas.
direction_id Enum Opcional Indica la dirección del viaje. Este campo no debe utilizarse en el enrutamiento; proporciona una forma de separar los viajes por dirección al publicar las tablas de horarios. Las opciones válidas son:

0 - Viaje en una dirección (por ejemplo, viaje de ida).
1 - Viaje en la dirección opuesta (por ejemplo, viaje de entrada).
Ejemplo: El trip_headsign y direction_id Los campos pueden utilizarse juntos para asignar un nombre a los viajes en cada dirección para un conjunto de viajes. A trips.txt archivo podría contener estos registros para su uso en tablas horarias:
trip_id,...,trip_headsign,direction_id
1234,...,Airport,0
1505,...,Downtown,1
block_id ID Opcional Identifica el bloque al que pertenece el viaje. Un bloque consiste en un único viaje o en muchos viajes secuenciales realizados con el mismo vehículo, definidos por días de servicio compartidos y block_id. A block_id puede tener viajes con diferentes días de servicio, formando bloques distintos. Véase el ejemplo siguiente
shape_id Referencia al ID extranjero shapes.shape_id Condicionalmente exigida Identifica una forma geoespacial que describe la trayectoria del vehículo para un viaje.

Se requiere condicionalmente:
- Exigida si el viaje tiene un comportamiento continuo de recogida o entrega definido en routes.txt o en stop_times.txt.
- Opcional en caso contrario.
wheelchair_accessible Enum Opcional Indica la accesibilidad de la silla de ruedas. Las opciones válidas son

0 o vacío - No hay información de accesibilidad para el viaje.
1 - El vehículo que se utiliza en este viaje concreto puede acomodar al menos a un pasajero en silla de ruedas.
2 - No se puede acomodar a ningún pasajero en silla de ruedas en este viaje.
bikes_allowed Enum Opcional Indica si se permiten las bicicletas. Las opciones válidas son

0 o vacío - No hay información sobre bicicletas para el viaje.
1 - El vehículo que se está utilizando en este viaje en particular puede acomodar al menos una bicicleta.
2 - No se permiten bicicletas en este viaje.

Ejemplo: Bloques y día de servicio

El ejemplo siguiente es válido, con bloques distintos cada día de la semana.

route_id trip_id service_id block_id (hora de la primera parada) (hora de la última parada)
rojo trip_1 lunes-tues-miércoles-viernes-sábado-domingo red_loop 22:00:00 22:55:00
rojo viaje_2 viernes-sábado-domingo red_loop 23:00:00 23:55:00
rojo viaje_3 fray-sábado red_loop 24:00:00 24:55:00
rojo viaje_4 lun-vie-jueves red_loop 20:00:00 20:50:00
rojo viaje_5 lunes-miércoles-jueves red_loop 21:00:00 21:50:00

Notas sobre la tabla anterior:

  • El viernes hasta el sábado por la mañana, por ejemplo, un solo vehículo realiza el viaje_1, el viaje_2 y el viaje_3 (desde las 22:00 hasta las 12:55). Obsérvese que el último viaje se realiza el sábado, de 12:00 a 12:55, pero forma parte del "día de servicio" del viernes porque los horarios son de 24:00 a 24:55.
  • El lunes, martes, miércoles y jueves, un solo vehículo realiza el viaje_1, el viaje_4 y el viaje_5 en un bloque de 20:00 a 22:55.

stop_times.txt

Archivo: Obligatorio

Clave primaria (trip_id, stop_sequence)

Nombre del campo Tipo Presencia Descripción
trip_id Referencia al ID extranjero trips.trip_id Exigida Identifica un viaje.
arrival_time Hora Condicionalmente exigida Hora de llegada a la parada (definida por stop_times.stop_id) para un viaje específico (definido por stop_times.trip_id).

Si no hay horas separadas para la llegada y la salida en una parada, arrival_time y departure_time debe ser la misma.

Para las horas que se produzcan después de medianoche en el día de servicio, introduzca la hora como un valor mayor que 24:00:00 en HH:MM:SS hora local para el día en que comienza el Schedule del viaje.

Si las horas exactas de llegada y salida (timepoint=1 o vacío) no están disponibles, las horas de llegada y salida estimadas o interpoladas (timepoint=0).

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida para la primera y la última parada de un viaje (definidas por stop_times.stop_sequence).
- Exigida para timepoint=1.
- Opcional en caso contrario.
departure_time Hora Condicionalmente exigida Hora de salida de la parada (definida por stop_times.stop_id) para un viaje específico (definido por stop_times.trip_id).

Si no hay horas separadas para la llegada y la salida en una parada, arrival_time y departure_time debe ser la misma.

Para las horas que se produzcan después de la medianoche del día de servicio, introduzca la hora como un valor superior a las 24:00:00 en HH:MM:SS hora local para el día en que comienza el programa Schedule viaje.

Si las horas exactas de llegada y salida (timepoint=1 o vacías) no están disponibles, deben indicarse las horas de llegada y salida estimadas o interpoladas (timepoint=0).

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida para timepoint=1.
- Opcional en caso contrario.
stop_id Referencia al ID extranjero stops.stop_id Exigida Identifica la parada a la que se presta servicio. Todas las paradas atendidas durante un viaje deben tener un registro en stop_times.txt. Las ubicaciones referenciadas deben ser paradas/plataformas, es decir, su stops.location_type debe ser 0 o vacíos. Una parada puede ser atendida varias veces en el mismo viaje, y varios viajes y rutas pueden atender la misma parada.
stop_sequence Número entero no negativo Exigida Orden de las paradas para un viaje concreto. Los valores deben aumentar a lo largo del viaje, pero no es necesario que sean consecutivos.
Ejemplo: La primera ubicación del viaje podría tener un stop_sequence=1el segundo lugar del trayecto puede tener un stop_sequence=23, la tercera ubicación podría tener un stop_sequence=40y así sucesivamente.
stop_headsign Texto Opcional Texto que aparece en la señalización que identifica el destino del viaje para los pasajeros. Este campo sustituye al predeterminado trips.trip_headsign cuando la señal de cabeza cambia entre paradas. Si la señal de cabeza se muestra durante todo el viaje, trips.trip_headsign debe utilizarse en su lugar.

A stop_headsign valor especificado para una stop_time no se aplica a los siguientes stop_times en el mismo viaje. Si desea anular los valores de trip_headsign para múltiples stop_times en el mismo viaje, el valor stop_headsign valor debe repetirse en cada stop_time fila.
pickup_type Enum Opcional Indica el método de recogida. Las opciones válidas son:

0 o vacío - Recogida programada regularmente.
1 - No hay recogida disponible.
2 - Debe llamar a la agencia para organizar la recogida.
3 - Debe coordinarse con el conductor para organizar la recogida.
drop_off_type Enum Opcional Indica el método de entrega. Las opciones válidas son:

0 o vacío - Entrega programada regularmente.
1 - No hay entrega disponible.
2 - Debe llamar a la agencia para organizar la entrega.
3 - Debe coordinarse con el conductor para organizar la entrega.
continuous_pickup Enum Opcional Indica que el usuario puede subir al vehículo en cualquier punto del recorrido descrito por shapes.txtDesde este punto stop_time al siguiente stop_time en el viaje stop_sequence. Las opciones válidas son:

0 - Recogida con parada continua.
1 o vacío - No hay recogida con parada continua.
2 - Debe llamar a la agencia para organizar la recogida con parada continua.
3 - Debe coordinarse con el conductor para organizar la recogida con parada continua.

Si este campo se rellena, anula cualquier comportamiento de recogida continua definido en routes.txt. Si este campo está vacío, el stop_time hereda cualquier comportamiento de recogida continua definido en routes.txt.
continuous_drop_off Enum Opcional Indica que el pasajero puede bajarse del vehículo de tránsito en cualquier punto a lo largo de la ruta del vehículo como se describe en shapes.txtde este stop_time al siguiente stop_time en el viaje stop_sequence. Las opciones válidas son: :

0 - Bajada con parada continua.
1 o vacío - No hay bajada con parada continua.
2 - Debe llamar por teléfono a la agencia para organizar la bajada con parada continua.
3 - Debe coordinarse con el conductor para organizar la entrega con paradas continuas.

Si este campo está poblado, anula cualquier comportamiento de bajada continua definido en routes.txt. Si este campo está vacío, el stop_time hereda cualquier comportamiento de bajada continua definido en routes.txt.
shape_dist_traveled Flotador no negativo Opcional Distancia real recorrida a lo largo de la forma asociada, desde la primera parada hasta la parada especificada en este registro. Este campo especifica qué parte de la figura se dibuja entre dos paradas cualesquiera durante un viaje. Debe estar en las mismas unidades utilizadas en shapes.txt. Los valores utilizados para shape_dist_traveled deben aumentar junto con stop_sequence; no deben utilizarse para mostrar el recorrido inverso a lo largo de una ruta.
Ejemplo: Si un autobús recorre una distancia de 5,25 kilómetros desde el inicio de la forma hasta la parada,shape_dist_traveled=5.25.
timepoint Enum Opcional Indica si las horas de llegada y salida de una parada son estrictamente respetadas por el vehículo o si, por el contrario, son tiempos aproximados y/o interpolados. Este campo permite al productor de GTFS proporcionar tiempos de parada interpolados, indicando al mismo tiempo que los tiempos son aproximados. Las opciones válidas son:

0 - Los tiempos se consideran aproximados.
1 o vacía - Los tiempos se consideran exactos.

calendar.txt

Archivo: Condicionalmente requerido

Clave primaria (service_id)

Nombre del campo Tipo Presencia Descripción
service_id ID único Exigida Identifica un conjunto de fechas en las que el servicio está disponible para una o más rutas. Cada valor de service_id valor debe ser único en un calendar.txt archivo.
monday Enum Exigida Indica si el servicio funciona todos los lunes en el intervalo de fechas especificado por los campos start_date y end_date campos. Tenga en cuenta que las excepciones para fechas concretas pueden aparecer en calendar_dates.txt. Las opciones válidas son:

1 - El servicio está disponible para todos los lunes del intervalo de fechas.
0 - El servicio no está disponible para los lunes del intervalo de fechas.
tuesday Enum Exigida Funciona de la misma manera que monday excepto que se aplica a los martes
wednesday Enum Exigida Funciona de la misma manera que monday excepto se aplica a los miércoles
thursday Enum Exigida Funciona de la misma manera que monday excepto se aplica a los jueves
friday Enum Exigida Funciones de la misma manera que monday excepto se aplica a los viernes
saturday Enum Exigida Funciones de la misma manera que monday excepto se aplica a los sábados
sunday Enum Exigida Funciones de la misma manera que monday excepto se aplica a los domingos.
start_date Fecha Exigida Día de inicio del servicio para el intervalo de servicio.
end_date Fecha Exigida Día de fin de servicio para el intervalo de servicio. Este día de servicio se incluye en el intervalo.

calendar_dates.txt

Archivo: Condicionalmente requerido

Clave primaria (service_id, date)

La tabla calendar_dates.txt activa o desactiva explícitamente el servicio por fecha. Puede utilizarse de dos maneras.

  • Recomendado: Utilice calendar_dates.txt junto con calendar.txt para definir excepciones a los patrones de servicio por defecto definidos en calendar.txt. Si el servicio es generalmente regular, con algunos cambios en fechas explícitas (por ejemplo, para acomodar servicios de eventos especiales, o un Schedule escolar), este es un buen enfoque. En este caso calendar_dates.service_id es un ID externo que hace referencia a calendar.service_id.
  • Alternativa: Omitir calendar.txt, y especificar cada fecha de servicio en calendar_dates.txt. Esto permite una considerable variación del servicio y se adapta a los servicios sin horarios semanales normales. En este caso service_id es un ID.
Nombre del campo Tipo Presencia Descripción
service_id Referencia al ID extranjero calendar.service_id o ID Exigida Identifica un conjunto de fechas en las que se produce una excepción de servicio para una o varias rutas. Cada par (service_id, date) sólo puede aparecer una vez en calendar_dates.txt si se utiliza calendar.txt y calendar_dates.txt en conjunto. Si un service_id valor aparece en ambos calendar.txt y calendar_dates.txtla información en calendar_dates.txt modifica la información de servicio especificada en calendar.txt.
date Fecha Exigida Fecha en la que se produce la excepción del servicio.
exception_type Enum Exigida Indica si el servicio está disponible en la fecha especificada en el campo de fecha. Las opciones válidas son:

1 - Se ha añadido el servicio para la fecha especificada.
2 - Se ha eliminado el servicio para la fecha especificada.
Ejemplo: Supongamos que una ruta tiene un conjunto de viajes disponibles los días festivos y otro conjunto de viajes disponibles el resto de días. Un service_id podría corresponder al Schedule de servicio regular y otro service_id podría corresponder al horario Schedule vacaciones. Para un día festivo concreto, el calendar_dates.txt podría utilizarse para añadir el día festivo al horario de vacaciones service_id y para eliminar el día festivo del servicio regular service_id Schedule.

fare_attributes.txt

Fichero: Opcional

Clave primaria (fare_id)

Versiones
Hay dos opciones de modelización para describir las tarifas. GTFS V1 es la opción heredada para describir la información mínima de las tarifas. GTFS V2 es un método actualizado que permite una descripción más detallada de la estructura tarifaria de una agencia. Se permite la presencia de ambos métodos en un conjunto de datos, pero un consumidor de datos sólo debe utilizar uno de ellos para un determinado conjunto de datos. Se recomienda que GTFS-Fares V2 tenga prioridad sobre GTFS V1.

Los archivos asociados a GTFS V1 son
- fare_attributes.txt
- fare_rules.txt

Los archivos asociados a GTFS V2 son:
- fare_media.txt
-fare_products.txt
- fare_leg_rules.txt
- fare_transfer_rules.txt


Nombre del campo Tipo Presencia Descripción
fare_id ID único Exigida Identifica una clase de tarifa.
price Flotador no negativo Exigida Precio de la tarifa, en la unidad especificada por currency_type.
currency_type Código de moneda Exigida Moneda utilizada para pagar la tarifa.
payment_method Enum Exigida Indica cuándo debe pagarse la tarifa. Las opciones válidas son:

0 - La tarifa se paga a bordo.
1 - La tarifa debe pagarse antes del embarque.
transfers Enum Exigida Indica el número de transbordos permitidos en esta tarifa. Las opciones válidas son:

0 - No se permiten transbordos en esta tarifa.
1 - El pasajero puede hacer un transbordo.
2 - Los pasajeros pueden hacer dos transbordos.
Vacío - Se permiten transbordos ilimitados.
agency_id Referencia al ID extranjero agency.agency_id Condicionalmente exigida Identifica la agencia correspondiente a una tarifa.

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida si se definen varias agencias en agency.txt.
- Opcional en caso contrario.
transfer_duration Entero no negativo Opcional Duración del tiempo en segundos antes de que caduque un transbordo. En transfers=0 este campo puede utilizarse para indicar el tiempo de validez de un billete o puede dejarse vacío.

fare_rules.txt

Archivo: Opcional

Clave primaria (*)

La tabla fare_rules.txt especifica cómo se aplican las tarifas de fare_attributes.txt a un itinerario. La mayoría de las estructuras de tarifas utilizan alguna combinación de las siguientes reglas:

  • La tarifa depende de las estaciones de origen o destino.
  • La tarifa depende de las zonas por las que pasa el itinerario.
  • La tarifa depende de la ruta que utilice el itinerario.

Para ver ejemplos que demuestran cómo especificar una estructura de tarifas con fare_rules.txt y fare_attributes.txt, consulta FareExamples en la wiki del proyecto de código abierto GoogleTransitDataFeed.

Nombre del campo Tipo Presencia Descripción
fare_id Referencia al ID extranjero fare_attributes.fare_id Exigida Identifica una clase de tarifa.
route_id Referencia al ID extranjero routes.route_id Opcional Identifica un itinerario asociado a la clase de tarifa. Si existen varios itinerarios con los mismos atributos de tarifa, cree un registro en fare_rules.txt para cada ruta.
Ejemplo: Si la clase de tarifa "b" es válida en la ruta "TSW" y "TSE", la fare_rules.txt El archivo contendría estos registros para la clase de tarifa:
fare_id,route_id
b,TSW
b,TSE
origin_id Referencia al ID extranjero stops.zone_id Opcional Identifica una zona de origen. Si una clase de tarifa tiene varias zonas de origen, cree un registro en fare_rules.txt para cada origin_id.
Ejemplo: Si la clase de tarifa "b" es válida para todos los viajes con origen en la zona "2" o en la zona "8", los campos fare_rules.txt El archivo contendría estos registros para la clase de tarifa:
fare_id,...,origin_id
b,...,2
b,...,8
destination_id Referencia al ID extranjero stops.zone_id Opcional Identifica una zona de destino. Si una clase de tarifa tiene varias zonas de destino, cree un registro en fare_rules.txt para cada uno destination_id.
Ejemplo: El origin_id y destination_id podrían utilizarse juntos para especificar que la clase de tarifa "b" es válida para los viajes entre las zonas 3 y 4, y para los viajes entre las zonas 3 y 5, el campo fare_rules.txt El archivo contendría estos registros para la clase de tarifa:
fare_id,...,origin_id,destination_id
b,...,3,4
b,...,3,5
contains_id Referencia al ID extranjero stops.zone_id Opcional Identifica las zonas en las que entrará un pasajero cuando utilice una clase de tarifa determinada. Se utiliza en algunos sistemas para calcular la clase de tarifa correcta.
Ejemplo: Si la clase de tarifa "c" está asociada a todos los viajes de la ruta GRT que pasan por las zonas 5, 6 y 7, las fare_rules.txt contendría estos registros:
fare_id,route_id,...,contains_id
c,GRT,...,5
c,GRT,...,6
c,GRT,...,7
Porque todos contains_id zonas deben coincidir para que se aplique la tarifa, un itinerario que pase por las zonas 5 y 6 pero no por la zona 7 no tendría la clase de tarifa "c". Para más detalles, consulte https://code.google.com/p/googletransitdatafeed/wiki/FareExamples en la wiki del proyecto GoogleTransitDataFeed.

fare_media.txt

Archivo: Opcional

Clave primaria (fare_media_id)

Describir los diferentes soportes de tarifas que pueden emplearse para utilizar productos tarifarios. Los medios tarifarios son soportes físicos o virtuales utilizados para la representación y/o validación de un producto tarifario.

Nombre del campo Tipo Presencia Descripción
fare_media_id ID único Exigida Identifica un soporte tarifario.
fare_media_name Texto Opcional Name of the fare media.

For fare media which are transit cards (fare_media_type =2) or mobile apps (fare_media_type =4), the fare_media_name should be included and should match the rider-facing name used by the organizations delivering them.
fare_media_type Enum Exigida El tipo de medio de tarifa. Las opciones válidas son:

0 - Ninguno. Se utiliza cuando no hay ningún medio de pago implicado en la compra o validación de un producto tarifario, como el pago en efectivo a un conductor o revisor sin billete físico.
2 - Tarjeta de transporte física que ha almacenado billetes, pases o valor monetario.
3 - cEMV (Europay, Mastercard y Visa sin contacto) como contenedor de tokens de bucle abierto para la emisión de billetes basada en cuentas.
4 - Aplicación móvil que ha almacenado tarjetas de transporte virtuales, billetes, pases o valor monetario.




fare_products.txt

Archivo: Opcional

Clave primaria (fare_product_id, fare_media_id)

Describir los diferentes tipos de billetes o tarifas que pueden ser adquiridos por los usuarios.

Nombre del campo Tipo Presencia Descripción
fare_product_id ID Exigida Identifica un producto tarifario.
fare_product_name Texto Opcional El nombre del producto tarifario que se muestra a los pasajeros.
fare_media_id Referencia al ID extranjero fare_media.fare_media_id Opcional Identifica un medio de tarifa que puede emplearse para utilizar el producto de tarifa durante el viaje. Cuando fare_media_id es vacío, se considera que el medio de tarifa es desconocido.
amount Importe de la moneda Exigida El coste del producto tarifario. Puede ser negativo para representar los descuentos en los transbordos. Puede ser cero para representar un producto tarifario que es gratuito.
currency Código de moneda Exigida La moneda del coste del producto tarifario.

fare_leg_rules.txt

Archivo: Opcional

Clave primaria (network_id, from_area_id, to_area_id, fare_product_id)

Reglas tarifarias para tramos individuales de viaje.

Las tarifas en fare_leg_rules.txt deben consultarse filtrando todos los registros del archivo para encontrar las reglas que coincidan con el tramo que va a recorrer el pasajero.

Para procesar el coste de un tramo:

  1. El archivo fare_leg_rules.txt debe ser filtrado por los campos que definen las características del viaje, estos campos son:

    • fare_leg_rules.network_id
    • fare_leg_rules.from_area_id
    • fare_leg_rules.to_area_id
  2. Si el tramo coincide exactamente con un registro de fare_leg_rules.txt basado en las características del viaje, ese registro debe procesarse para determinar el coste del tramo.

  3. Si no se encuentran coincidencias exactas, se deben comprobar las entradas vacías en fare_leg_rules. network_id, fare_leg_rules.from_area_id y fare_leg_rules.to_area_id para procesar el coste del tramo:
  4. Una entrada vacía en fare_leg_rules. network_id corresponde a todas las redes definidas en routes.txt excluyendo las que aparecen en fare_leg_rules.network_id
  5. Una entrada vacía en fare_leg_rules. from_area_id corresponde a todas las áreas definidas en areas.area_id excluyendo las que aparecen en fare_leg_rules.from_area_id
  6. Una entrada vacía en fare_leg_rules. to_area_id corresponde a todas las áreas definidas en areas. area_id excluyendo las listadas en fare_leg_rules.to_area_id.

  7. Si el tramo no coincide con ninguna de las reglas descritas anteriormente, la tarifa es desconocida.

Nombre del campo Tipo Presencia Descripción
leg_group_id ID Opcional Identifica un grupo de entradas en fare_leg_rules.txt.

Se utiliza para describir las reglas de transferencia de tarifas entre fare_transfer_rules.from_leg_group_id y fare_transfer_rules.to_leg_group_id.

Varias entradas en fare_leg_rules.txt pueden pertenecer a la misma fare_leg_rules.leg_group_id.

La misma entrada en fare_leg_rules.txt (sin incluir fare_leg_rules.leg_group_id) no debe pertenecer a múltiples fare_leg_rules.leg_group_id.
network_id Referencia al ID extranjero routes.network_id Opcional Identifica una red de rutas que se aplica para la regla de tramo de tarifa.

Si no hay coincidencias fare_leg_rules.network_id valores a la network_id filtrado, vacío fare_leg_rules.network_id se ajustará por defecto.

Una entrada vacía en fare_leg_rules.network_id corresponde a todas las redes definidas en routes.txt excluyendo las enumeradas en fare_leg_rules.network_id
from_area_id Referencia al ID extranjero areas.area_id Opcional Identifica una zona de salida.

Si no hay coincidencias fare_leg_rules.from_area_id valores a la area_id filtrado, vacío fare_leg_rules.from_area_id se ajustará por defecto.

Una entrada vacía en fare_leg_rules.from_area_id corresponde a todas las áreas definidas en areas.area_id excluyendo las enumeradas en fare_leg_rules.from_area_id
to_area_id Referencia al ID extranjero areas.area_id Opcional Identifica un área de llegada.

Si no hay coincidencias fare_leg_rules.to_area_id valores a los area_id filtrado, vacío fare_leg_rules.to_area_id se ajustará por defecto.

Una entrada vacía en fare_leg_rules.to_area_id corresponde a todas las zonas definidas en areas.area_id excluyendo las enumeradas en fare_leg_rules.to_area_id
fare_product_id Referencia al ID extranjero fare_products.fare_product_id Exigida El producto de tarifa requerido para viajar en el tramo.

fare_transfer_rules.txt

Archivo: Opcional

Clave primaria (from_leg_group_id, to_leg_group_id, fare_product_id, transfer_count, duration_limit)

Las reglas tarifarias para los transbordos entre tramos de viaje se definen en fare_leg_rules.txt.

Para procesar el coste de un viaje de varios tramos:

  1. Los grupos de tramos de tarifa aplicables definidos en fare_leg_rules.txt deben determinarse para todos los tramos individuales de viaje basados en el viaje del ciclista.

  2. El archivo fare_transfer_rules.txt debe ser filtrado por los campos que definen las características del traslado, estos campos son

    • fare_transfer_rules.from_leg_group_id
    • fare_transfer_rules.to_leg_group_id
  3. Si la transferencia coincide exactamente con un registro en fare_transfer_rules.txt basado en las características de la transferencia, entonces ese registro debe ser procesado para determinar el coste de la transferencia.

  4. Si no se encuentran coincidencias exactas, se deben comprobar las entradas vacías en from_leg_group_id o en to_leg_group_id para procesar el coste de la transferencia:

    • Una entrada vacía en fare_transfer_rules.from_leg_group_id corresponde a todos los grupos de tramos definidos en fare_leg_rules.leg_group_id excluyendo los listados en fare_transfer_rules.from_leg_group_id
    • Una entrada vacía en fare_transfer_rules.to_leg_group_id corresponde a todos los grupos de tramos definidos en fare_leg_rules.leg_group_id excluyendo los enumerados en fare_transfer_rules.to_leg_group_id
  5. Si la transferencia no coincide con ninguna de las reglas descritas anteriormente, no hay acuerdo de transferencia y los tramos se consideran separados.

Nombre del campo Tipo Presencia Descripción
from_leg_group_id Referencia al ID extranjero fare_leg_rules.leg_group_id Opcional Identifica un grupo de reglas de tramos de tarifas anteriores a la transferencia.

Si no hay coincidencias fare_transfer_rules.from_leg_group_id valores a los leg_group_id filtrado, vacío fare_transfer_rules.from_leg_group_id se ajustará por defecto.

Una entrada vacía en fare_transfer_rules.from_leg_group_id corresponde a todos los grupos de tramos definidos en fare_leg_rules.leg_group_id excluyendo las enumeradas en fare_transfer_rules.from_leg_group_id
to_leg_group_id Referencia al ID extranjero fare_leg_rules.leg_group_id Opcional Identifica un grupo de reglas de tramos de tarifa post-transferencia.

Si no hay valores coincidentes fare_transfer_rules.to_leg_group_id valores a los leg_group_id filtrado, vacío fare_transfer_rules.to_leg_group_id se ajustará por defecto.

Una entrada vacía en fare_transfer_rules.to_leg_group_id corresponde a todos los grupos de tramos definidos en fare_leg_rules.leg_group_id excluyendo las enumeradas en fare_transfer_rules.to_leg_group_id
transfer_count Número entero no nulo Condicionalmente prohibido Define el número de transbordos consecutivos a los que se puede aplicar la regla de transferencia.

Las opciones válidas son:
-1 - No hay límite.
1 o más - Define cuántos transbordos puede abarcar la regla de transferencia.

Si un subviaje coincide con varios registros con diferentes transfer_counts, entonces la regla con el mínimo transfer_count que sea mayor o igual que el recuento de transferencias actual del subtrayecto se seleccionará.

Condicionalmente prohibido:
- Prohibido si fare_transfer_rules.from_leg_group_id no es igual a fare_transfer_rules.to_leg_group_id.
- Exigida si fare_transfer_rules.from_leg_group_id es igual a fare_transfer_rules.to_leg_group_id.
duration_limit Entero positivo Opcional Define el límite de duración de la transferencia.

Debe expresarse en incrementos enteros de segundos.

Si no hay límite de duración, fare_transfer_rules.duration_limit debe estar vacío.
duration_limit_type Enum Condicionalmente exigida Define el inicio y el final relativos de fare_transfer_rules.duration_limit.

Las opciones válidas son: :
0 - Entre la validación de la tarifa de salida del tramo actual y la validación de la tarifa de llegada del tramo siguiente.
1 - Entre la validación de la tarifa de salida del tramo actual y la validación de la tarifa de salida del tramo siguiente.
2 - Entre la validación de la tarifa de llegada del tramo actual y la validación de la tarifa de salida del tramo siguiente.
3 - Entre la validación de la tarifa de llegada del tramo actual y la validación de la tarifa de llegada del tramo siguiente.

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Exigida si fare_transfer_rules.duration_limit se define.
- Prohibido si fare_transfer_rules.duration_limit está vacío.
fare_transfer_type Enum Exigida Indica el método de procesamiento de costes de la transferencia entre tramos en un viaje:

Las opciones válidas son: :
0 - Desde el tramo fare_leg_rules.fare_product_id más fare_transfer_rules.fare_product_idA + AB
1 - Desde el tramo fare_leg_rules.fare_product_id más fare_transfer_rules.fare_product_id más a-leg fare_leg_rules.fare_product_id; A + AB + B.
2 - fare_transfer_rules.fare_product_id; AB.

Interacciones de procesamiento de costes entre múltiples transferencias en un viaje:

fare_transfer_typeProcesamiento A > BProcesamiento B > C
0A + ABS + BC
1A + AB +BS + BC + C
2ABS + BC
Donde S indica el coste total procesado del tramo(s) anterior(es) y del transbordo(s).
fare_product_id Referencia al ID extranjero fare_products.fare_product_id Opcional El producto de la tarifa requerida para transferir entre dos tramos de tarifa. Si está vacío, el coste de la regla de transferencia es 0.

areas.txt

Archivo: Opcional

Clave primaria (area_id)

Define los identificadores de área.

Nombre del campo Tipo Presencia Descripción
area_id ID único Exigida Identifica un área. Debe ser único en areas.txt.
area_name Texto Opcional El nombre del área tal y como se muestra al piloto.

stop_areas.txt

Fichero: Opcional

Clave primaria (*)

Asigna las paradas de stops.txt txt a las zonas.

Nombre del campo Tipo Presencia Descripción
area_id Referencia al ID extranjero areas.area_id Exigida Identifica un área a la que pertenecen uno o varios stop_ids pertenecen. La misma stop_id puede definirse en muchos area_ids.
stop_id Referencia al ID extranjero stops.stop_id Exigida Identifica una parada. Si una estación (es decir, una parada con stops.location_type=1) se define en este campo, se supone que todos sus andenes (es decir, todas las paradas con stops.location_type=0 que tienen esta estación definida como stops.parent_station) forman parte de la misma zona. Este comportamiento puede anularse asignando andenes a otras áreas.

shapes.txt

Fichero: Opcional

Clave primaria (shape_id, shape_pt_sequence)

Las formas describen el camino que recorre un vehículo a lo largo de una alineación de ruta, y se definen en el archivo shapes.txt. Los Shapes están asociados a los Viajes, y consisten en una secuencia de puntos por los que el vehículo pasa en orden. No es necesario que las formas intercepten exactamente la ubicación de las paradas, pero todas las paradas de un viaje deben estar a una distancia pequeña de la forma para ese viaje, es decir, cerca de los segmentos de línea recta que conectan los puntos de la forma.

Nombre del campo Tipo Presencia Descripción
shape_id ID Exigida Identifica una forma.
shape_pt_lat Latitud Exigida Latitud de un punto de la forma. Cada registro en shapes.txt representa un punto shape utilizado para definir la forma.
shape_pt_lon Longitud Exigida Longitud de un punto shape.
shape_pt_sequence Entero no negativo Exigida Secuencia en la que los puntos shape se conectan para formar la forma. Los valores deben aumentar a lo largo del recorrido pero no es necesario que sean consecutivos.
Ejemplo: Si la forma "A_shp" tiene tres puntos en su definición, el archivo shapes.txt El archivo puede contener estos registros para definir la forma:
shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence
A_shp,37.61956,-122.48161,0
A_shp,37.64430,-122.41070,6
A_shp,37.65863,-122.30839,11
shape_dist_traveled Float no negativo Opcional Distancia real recorrida a lo largo de la forma desde el primer punto shape hasta el punto especificado en este registro. Utilizado por los planificadores de viajes para mostrar la parte correcta de la forma en un mapa. Los valores deben aumentar junto con shape_pt_sequenceLos valores deben aumentar con el tiempo; no deben utilizarse para mostrar el recorrido inverso a lo largo de una ruta. Las unidades de distancia deben ser coherentes con las utilizadas en stop_times.txt.
Ejemplo: Si un autobús recorre los tres puntos definidos anteriormente para A_shp, los valores adicionales shape_dist_traveled (mostrados aquí en kilómetros) tendrían el siguiente aspecto:
shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
A_shp,37.61956,-122.48161,0,0
A_shp,37.64430,-122.41070,6,6.8310
A_shp,37.65863,-122.30839,11,15.8765

frequencies.txt

Fichero: Opcional

Clave primaria (trip_id, start_time)

frequencies.txt representa los viajes que funcionan con intervalos regulares (tiempo entre viajes). Este archivo puede utilizarse para representar dos tipos de servicio diferentes.

  • Servicio basado en la frecuencia(exact_times=0) en el que el servicio no sigue un Schedule fijo a lo largo del día. En su lugar, los operadores intentan mantener estrictamente los intervalos predeterminados para los viajes.
  • Una representación comprimida del servicio Schedule en el horario (exact_times=1) que tiene exactamente el mismo recorrido para los viajes durante un período de tiempo específico. En el servicio Schedule en horarios, los operadores tratan de cumplir estrictamente con un Schedule.
Nombre del campo Tipo Presencia Descripción
trip_id Referencia al ID extranjero trips.trip_id Exigida Identifica un viaje al que se aplica el intervalo de servicio especificado.
start_time Hora Exigida Hora a la que el primer vehículo sale de la primera parada del viaje con la frecuencia especificada.
end_time Hora Exigida Hora a la que el servicio cambia a una vía diferente (o cesa) en la primera parada del viaje.
headway_secs Entero positivo Exigida Tiempo, en segundos, entre las salidas de la misma parada (paso por la cabecera) del trayecto, durante el intervalo de tiempo especificado por start_time y end_time. Pueden definirse múltiples intervalos para el mismo viaje, pero no deben superponerse. Los nuevos intervalos pueden comenzar en el momento exacto en que finaliza el intervalo anterior.
exact_times Enum Opcional Indica el tipo de servicio de un viaje. Consulte la descripción del archivo para obtener más información. Las opciones válidas son

0 o vacío - Viajes basados en la frecuencia.
1 - Viajes Schedule en el horario con la misma frecuencia durante todo el día. En este caso el end_time valor debe ser mayor que el último viaje deseado start_time pero menor que el último viaje deseado start_time + headway_secs.

transfers.txt

Fichero: Opcional

Clave primaria (from_stop_id, to_stop_id, from_trip_id, to_trip_id, from_route_id, to_route_id)

Al calcular un itinerario, las aplicaciones GTFS interpolan los transbordos basándose en el tiempo permitido y la proximidad de las paradas. transfers.txt especifica reglas adicionales y anulaciones para los transbordos seleccionados.

Los campos from_trip_id, to_trip_id, from_route_id y to_route_id permiten un mayor grado de especificidad para las reglas de transferencia. Junto con from_stop_id y to_stop_id, el orden de especificidad es el siguiente:

  1. Ambos trip_iddefinidos: from_trip_id y to_trip_id.
  2. Un conjunto de trip_id y route_id definido:from_trip_id y to_route_id) ofrom_route_id y to_trip_id).
  3. Un trip_id definido: from_trip_id o to_trip_id.
  4. Ambos route_iddefinidos: from_route_id y to_route_id.
  5. Un route_id definido: from_route_id o to_route_id.
  6. Sólo se definen from_stop_id y to_stop_id: no se establecen campos relacionados con la ruta o el viaje.

Para un par ordenado de viaje de llegada y viaje de salida, se elige el traslado con la mayor especificidad que se aplica entre estos dos viajes. Para cualquier par de viajes, no debe haber dos transbordos con igual especificidad máxima que puedan aplicarse.

Nombre del campo Tipo Presencia Descripción
from_stop_id Referencia al ID extranjero stops.stop_id Exigida Identifica una parada o estación donde comienza una conexión entre rutas. Si este campo se refiere a una estación, la regla de transbordo se aplica a todas sus paradas secundarias.
to_stop_id Referencia al ID extranjero stops.stop_id Exigida Identifica una parada o estación donde termina una conexión entre rutas. Si este campo se refiere a una estación, la regla de transferencia se aplica a todas las paradas hijas.
from_route_id Referencia al ID extranjero routes.route_id Opcional Identifica una ruta donde comienza una conexión.

Si from_route_id Si se define la regla de transferencia, ésta se aplicará al viaje que llegue a la ruta para la que se ha definido la regla de transferencia. from_stop_id.

Si ambos from_trip_id y from_route_id están definidos, el trip_id debe pertenecer al route_idy from_trip_id tendrá prioridad.
to_route_id Referencia al ID extranjero routes.route_id Opcional Identifica una ruta donde termina una conexión.

Si to_route_id se define, la transferencia se aplicará al viaje de salida en la ruta para el to_stop_id.

Si ambos to_trip_id y to_route_id están definidos, los trip_id debe pertenecer al route_id, y to_trip_id tendrá prioridad.
from_trip_id Referencia al ID extranjero trips.trip_id Opcional Identifica un viaje donde comienza una conexión entre rutas.

Si from_trip_id Si se define una conexión, la transferencia se aplicará al viaje de llegada para la ruta en cuestión. from_stop_id.

Si ambos from_trip_id y from_route_id están definidos, los trip_id debe pertenecer al route_id, y from_trip_id tendrá prioridad.
to_trip_id Referencia al ID extranjero trips.trip_id Opcional Identifica un viaje en el que termina una conexión entre rutas.

Si to_trip_id Si se define, la transferencia se aplicará al viaje de salida para la ruta en cuestión. to_stop_id.

Si ambos to_trip_id y to_route_id están definidos, el trip_id debe pertenecer al route_idy to_trip_id tendrá prioridad.
transfer_type Enum Exigida Indica el tipo de conexión para el par (from_stop_id, to_stop_id) especificado. Las opciones válidas son:

0 o vacío - Punto de transferencia recomendado entre rutas.
1 - Punto de transferencia temporizado entre dos rutas. Se espera que el vehículo que sale espere al que llega y que deje tiempo suficiente para que el ciclista haga el transbordo entre rutas.
2 - El transbordo requiere un tiempo mínimo entre la llegada y la salida para garantizar la conexión. El tiempo necesario para el transbordo se especifica en min_transfer_time.
3 - No es posible realizar transbordos entre rutas en el lugar.
min_transfer_time Entero no negativo Opcional Cantidad de tiempo, en segundos, que debe estar disponible para permitir un transbordo entre rutas en las paradas especificadas. El min_transfer_time debe ser suficiente para permitir que un ciclista típico se mueva entre las dos paradas, incluyendo el tiempo de amortiguación para permitir la variación de Schedule en cada ruta.

pathways.txt

Fichero: Opcional

Clave primaria (pathway_id)

Los archivos pathways.txt y levels.txt utilizan una representación gráfica para describir las estaciones de metro o tren, con nodos que representan ubicaciones y aristas que representan recorridos.

Para desplazarse desde la entrada/salida de la estación (un nodo representado como una ubicación con location_type=2) hasta un andén (un nodo representado como una ubicación con location_type=0 o vacía), el viajero se moverá a través de pasillos, puertas de acceso, escaleras y otros bordes representados como caminos. Los nodos genéricos (nodos representados con location_type=3) pueden utilizarse para conectar vías en toda la estación.

Los recorridos deben definirse exhaustivamente en una estación. Si se definen caminos, se asume que todos los caminos de la estación están representados. Por lo tanto, se aplican las siguientes directrices:

  • No hay ubicaciones colgantes: Si cualquier ubicación dentro de una estación tiene una vía de acceso, entonces todas las ubicaciones dentro de esa estación deben tener vías de acceso, excepto los andenes que tienen zonas de embarque(location_type=4, véase la directriz más abajo).
  • No hay vías de acceso para un andén con zonas de embarque: Un andén(location_type=0 o vacío) que tiene zonas de embarque (location_type=4) se trata como un objeto padre, no como un punto. En estos casos, el andén no debe tener asignadas vías de acceso. Todas las vías deben ser asignadas para cada una de las zonas de embarque del andén.
  • No hay andenes bloqueados: Cada andén(location_type=0 o vacío) o zona de embarque(location_type=4) debe estar conectado con al menos una entrada/salida(location_type=2) a través de alguna cadena de vías. Son raras las estaciones que no permiten una vía de acceso al exterior de la estación desde un andén determinado.
Nombre del campo Tipo Presencia Descripción
pathway_id ID único Exigida Identifica una vía de acceso. Utilizado por los sistemas como identificador interno del registro. Debe ser único en el conjunto de datos.

Diferentes vías pueden tener los mismos valores para from_stop_id y to_stop_id.
Ejemplo: Cuando dos escaleras mecánicas están una al lado de la otra en direcciones opuestas, o cuando un conjunto de escaleras y un ascensor van del mismo lugar al mismo lugar, diferentes pathway_id pueden tener la misma from_stop_id y to_stop_id valores.
from_stop_id Referencia al ID extranjero stops.stop_id Exigida Lugar en el que comienza el recorrido.

Debe contener un stop_id que identifique una plataforma (location_type=0 o vacío), entrada/salida (location_type=2), nodo genérico (location_type=3) o zona de embarque (location_type=4).

Valores para stop_id que identifican las estaciones (location_type=1) están prohibidos.
to_stop_id Referenciación del ID extranjero stops.stop_id Exigida Ubicación en la que termina el trayecto.

Debe contener un stop_id que identifique un andén (location_type=0 o vacío), entrada/salida (location_type=2), nodo genérico (location_type=3) o zona de embarque (location_type=4).

Valores para stop_id que identifican estaciones (location_type=1) están prohibidos.
pathway_mode Enum Exigida Tipo de vía entre el par especificado (from_stop_id, to_stop_id) especificado. Las opciones válidas son:

1 - Pasillo.
2 - Escalera.
3 - Acera móvil/viajero.
4 - Escalera mecánica.
5 - Ascensor.
6 - Puerta de acceso (o puerta de pago): Camino que cruza a una zona de la estación en la que se requiere una prueba de pago para cruzar. Las puertas tarifarias pueden separar las zonas de pago de la estación de las que no lo son, o separar entre sí diferentes zonas de pago dentro de la misma estación. Esta información puede utilizarse para evitar dirigir a los pasajeros a través de las estaciones utilizando atajos que requerirían que los pasajeros hicieran pagos innecesarios, como por ejemplo dirigir a un pasajero para que camine a través de una plataforma de metro para llegar a una vía de autobús.
7- Puerta de salida: Una vía que sale de una zona de pago hacia una zona de no pago en la que no se requiere una prueba de pago para cruzar.
is_bidirectional Enum Exigida Indica la dirección en la que se puede tomar la vía:

0 - Vía unidireccional que sólo puede utilizarse desde from_stop_id a to_stop_id.
1 - Vía bidireccional que puede utilizarse en ambas direcciones.

Las puertas de salida (pathway_mode=7) no deben ser bidireccionales.
length Float no negativo Opcional Longitud horizontal en metros del recorrido desde la ubicación de origen (definida en from_stop_id) a la ubicación de destino (definida en to_stop_id).

Este campo se recomienda para las pasarelas (pathway_mode=1), puertas de acceso (pathway_mode=6) y puertas de salida (pathway_mode=7).
traversal_time Entero positivo Opcional Tiempo medio en segundos necesario para recorrer el camino desde la ubicación de origen (definida en from_stop_id) a la ubicación de destino (definida en to_stop_id).

Este campo se recomienda para las aceras móviles (pathway_mode=3), escaleras mecánicas (pathway_mode=4) y ascensores (pathway_mode=5).
stair_count Entero no nulo Opcional Número de escaleras del recorrido.

Un valor positivo stair_count implica que el viajero sube desde from_stop_id a to_stop_id. Y un negativo stair_count implica que el ciclista baja desde from_stop_id a to_stop_id.

Este campo se recomienda para las escaleras (pathway_mode=2).

Si sólo se puede proporcionar un recuento estimado de escaleras, se recomienda aproximar 15 escaleras para 1 piso.
max_slope Float Opcional Relación máxima de la pendiente del camino. Las opciones válidas son

0 o vacío - Sin pendiente.
Float - Proporción de la pendiente del camino, positiva para el ascenso y negativa para el descenso.

Este campo sólo debe utilizarse con las pasarelas (pathway_mode=1) y aceras móviles (pathway_mode=3).
Ejemplo: En EE.UU., 0,083 (también escrito 8,3%) es la relación de pendiente máxima para las sillas de ruedas de propulsión manual, lo que significa un aumento de 0,083m (es decir, 8,3cm) por cada 1m.
min_width Flotador positivo Opcional Anchura mínima del camino en metros.

Este campo se recomienda si la anchura mínima es inferior a 1 metro.
signposted_as Texto Opcional Texto de cara al público de la señalización física que es visible para los ciclistas.

Puede utilizarse para proporcionar indicaciones textuales a los ciclistas, como "siga las señales hasta '. El texto en singposted_as debe aparecer exactamente como está impreso en las señales.

Si la señalización física es multilingüe, este campo puede rellenarse y traducirse siguiendo el ejemplo de stops.stop_name en la definición del campo de feed_info.feed_lang.
reversed_signposted_as Texto Opcional Igual que signposted_aspero cuando se utiliza la vía del to_stop_id al from_stop_id.

levels.txt

Fichero: Condicionalmente obligatorio

Clave primaria (level_id)

Describe los niveles de una estación. Es útil junto con pathways.txt, y es necesario para navegar por las vías con ascensores(pathway_mode=5).

Nombre del campo Tipo Presencia Descripción
level_id ID único Exigida Identifica un nivel en una estación.
level_index Float Exigida Índice numérico del nivel que indica su posición relativa.

El nivel del suelo debe tener el índice 0, indicándose los niveles por encima del suelo con índices positivos y los niveles por debajo del suelo con índices negativos.
level_name Texto Opcional Nombre del nivel tal y como lo ve el conductor dentro del edificio o la estación.
Ejemplo: Tome el ascensor hasta "Mezzanine" o "Platform" o "-1".

translations.txt

Fichero: Opcional

Clave primaria (table_name, field_name, language, record_id, record_sub_id, field_value)

En las regiones que tienen varias lenguas oficiales, las agencias/operadores de transporte suelen tener nombres y páginas web language. Para prestar un mejor servicio a los usuarios de esas regiones, es útil que el conjunto de datos incluya estos valores language idioma.

Nombre del campo Tipo Presencia Descripción
table_name Enum Exigida Define la tabla que contiene el campo a traducir. Los valores permitidos son:

- agency
- stops
- routes
- trips
- stop_times
- pathways
- levels
- feed_info
- attributions

Cualquier archivo añadido a GTFS tendrá un table_name valor equivalente al nombre del archivo, tal y como se ha indicado anteriormente (es decir, sin incluir la .txt extensión del archivo).
field_name Texto Exigida Nombre del campo a traducir. Los campos de tipo Text pueden ser traducidos, los campos con tipo URL, Email y Phone number también pueden ser "traducidos" para proporcionar recursos en el language correcto. Los campos con otros tipos no deben ser traducidos.
language código delanguage Exigida language de la traducción.

Si el language es el mismo que en feed_info.feed_langel valor original del campo se asumirá como el valor por defecto a utilizar en los idiomas sin traducciones específicas (si default_lang no especifica lo contrario).
Ejemplo: En Suiza, una ciudad de un cantón oficialmente bilingüe se llama oficialmente "Biel/Bienne", pero se llamaría simplemente "Bienne" en francés y "Biel" en alemán.
translation Texto o URL o correo electrónico o número de teléfono Exigida Valor traducido.
record_id ID extranjero Condicionalmente exigida Define el registro que corresponde al campo a traducir. El valor en record_id debe ser el primer o único campo de la clave primaria de una tabla, tal y como se define en el atributo de clave primaria de cada tabla y a continuación:

- agency_id para agency.txt
- stop_id para stops.txt;
- route_id para routes.txt;
- trip_id para trips.txt;
- trip_id para stop_times.txt;
- pathway_id para pathways.txt;
- level_id para levels.txt;
- attribution_id para attribution.txt.

Los campos de las tablas no definidas anteriormente no deben traducirse. Sin embargo, los productores a veces añaden campos adicionales que están fuera de la especificación oficial y estos campos no oficiales pueden ser traducidos. A continuación se recomienda utilizar record_id para esas tablas:

- service_id para calendar.txt;
- service_id para calendar_dates.txt;
- fare_id para fare_attributes.txt;
- fare_id para fare_rules.txt;
- shape_id para shapes.txt;
- trip_id para frequencies.txt;
- from_stop_id para transfers.txt.

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Prohibido si table_name es feed_info.
- Prohibido si field_value está definido.
- Exigida si field_value está vacío.
record_sub_id ID extranjero Condicionalmente exigida Ayuda al registro que contiene el campo a traducir cuando la tabla no tiene un ID único. Por lo tanto, el valor en record_sub_id es el ID secundario de la tabla, como se define en la tabla siguiente:

- Ninguno para agency.txt;
- Ninguno para stops.txt;
- Ninguno para routes.txt;
- Ninguno para trips.txt;
- stop_sequence para stop_times.txt;
- Ninguno para pathways.txt;
- Ninguno para levels.txt;
- Ninguno para attributions.txt.

Los campos de las tablas no definidas anteriormente no deben traducirse. Sin embargo, los productores a veces añaden campos adicionales que están fuera de la especificación oficial y estos campos no oficiales pueden ser traducidos. A continuación se recomienda el uso de record_sub_id para esas tablas:

- Ninguno para calendar.txt;
- date para calendar_dates.txt;
- Ninguno para fare_attributes.txt;
- route_id para fare_rules.txt;
- Ninguno para shapes.txt;
- start_time para frequencies.txt;
- to_stop_id para transfers.txt.

Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido: Condicionalmente exigido
- Prohibido si table_name es feed_info.
- Prohibido si field_value está definido.
- Exigida si table_name=stop_times y record_id está definido.
field_value Texto o URL o correo electrónico o número de teléfono Condicionalmente obligatorio En lugar de definir qué registro debe traducirse mediante record_id y record_sub_ideste campo puede utilizarse para definir el valor que debe traducirse. Cuando se utiliza, la traducción se aplicará cuando los campos identificados por table_name y field_name contenga exactamente el mismo valor definido en field_value.

El campo debe tener exactamente el valor definido en field_value. Si sólo un subconjunto del valor coincide con field_valuela traducción no se aplicará.

Si dos reglas de traducción coinciden con el mismo registro (una con field_valuey la otra con record_id), la regla con record_id tiene prioridad.

Condicionalmente Exigida:
- Prohibido si table_name es feed_info.
- Prohibido si record_id se define.
- Exigida si record_id está vacío.

feed_info.txt

Archivo: Opcional(Obligatorio si se proporciona translations.txt )

Clave primaria (ninguna)

El archivo contiene información sobre el propio conjunto de datos, más que sobre los servicios que describe el conjunto de datos. En algunos casos, el editor del conjunto de datos es una entidad diferente a cualquiera de las agencias.

Si se utilizan ambos métodos de referenciaciónrecord_idrecord_id, record_sub_id) y field_value para traducir el mismo valor en 2 filas diferentes, la traducción proporcionada conrecord_id, record_sub_id) tiene preferencia.

Nombre del campo Tipo Presencia Descripción
feed_publisher_name Texto Exigida Nombre completo de la organización que publica el conjunto de datos. Puede ser el mismo que una de las agency.agency_name valores.
feed_publisher_url URL Exigida URL del sitio web de la organización que publica el conjunto de datos. Puede ser el mismo que uno de los agency.agency_url valores.
feed_lang código delanguage Exigida language por defecto utilizado para el texto de este conjunto de datos. Este ajuste ayuda a los consumidores de GTFS a elegir las reglas de mayúsculas y otros ajustes language para el conjunto de datos. El archivo translations.txt puede utilizarse si el texto necesita ser traducido a otros idiomas distintos del predeterminado.

El language por defecto puede ser multilingüe para conjuntos de datos con el texto original en varios idiomas. En estos casos, el campo feed_lang debe contener el código de language mul definido por la norma ISO 639-2, y debe proporcionarse una traducción para cada language utilizado en el conjunto de datos en translations.txt. Si todo el texto original del conjunto de datos está en la misma language, entonces mul no debe utilizarse.
Ejemplo: Considere un conjunto de datos de un país multilingüe como Suiza, con el campo original stops.stop_name con nombres de paradas en diferentes idiomas. Cada nombre de parada se escribe según la language dominante en la ubicación geográfica de esa parada, por ejemplo Genève para la ciudad francófona de Ginebra, Zürich para la ciudad germanófona de Zúrich, y Biel/Bienne para la ciudad bilingüe de Biel/Bienne. El conjunto de datos feed_lang debe ser mul y las traducciones se proporcionarían en translations.txten alemán Genf, Zürich y Biel; en francés: Genève, Zurich y Bienne; en italiano: Ginevra, Zurigo y Bienna; y en inglés: Geneva, Zurich y Biel/Bienne.
default_lang código delanguage Opcional Define el language que debe utilizarse cuando el consumidor de datos no conoce el language del piloto. A menudo será en (inglés).
feed_start_date Fecha Opcional El conjunto de datos proporciona información completa y fiable sobre Schedule horario del servicio en el periodo comprendido entre el inicio del feed_start_date día hasta el final del feed_end_date día. Ambos días pueden dejarse vacíos si no están disponibles. El feed_end_date no debe preceder a la fecha feed_start_date fecha si se indican ambas. Se recomienda que los proveedores de conjuntos de datos den los datos Schedule fuera de este periodo para avisar de un posible servicio futuro, pero los consumidores de los conjuntos de datos deben tratarlos teniendo en cuenta su condición de no autorizados. Si feed_start_date o feed_end_date se extiende más allá de las fechas del calendario activo definidas en calendar.txt y calendar_dates.txtel conjunto de datos afirma explícitamente que no hay servicio para las fechas dentro del rango feed_start_date o feed_end_date pero que no están incluidas en las fechas del calendario activo.
feed_end_date Fecha Opcional (véase más arriba)
feed_version Texto Opcional Cadena que indica la versión actual de su conjunto de datos GTFS. Las aplicaciones GTFS GTFS pueden mostrar este valor para ayudar a los editores de conjuntos de datos a determinar si se ha incorporado el último conjunto de datos.
feed_contact_email Correo electrónico Opcional Dirección de correo electrónico para la comunicación relativa al conjunto de datos GTFS y a las prácticas de publicación de datos. feed_contact_email es un contacto técnico para las aplicaciones GTFS consumen GTFS. Proporciona información de contacto del servicio de atención al cliente a través de agency.txt.
feed_contact_url URL Opcional URL para la información de contacto, un formulario web, un servicio de asistencia u otras herramientas para la comunicación en relación con el conjunto de datos GTFS y las prácticas de publicación de datos. feed_contact_url es un contacto técnico para las aplicaciones GTFS consumen GTFS. Proporciona información de contacto del servicio de atención al cliente a través de agency.txt.

attributions.txt

Fichero: Opcional

Clave primaria (attribution_id)

Define las atribuciones aplicadas al conjunto de datos.

Nombre del campo Tipo Presencia Descripción
attribution_id ID único Opcional Identifica una atribución para el conjunto de datos o un subconjunto del mismo. Esto es útil sobre todo para las traducciones.
agency_id Referenciación del ID extranjero agency.agency_id Opcional Organismo al que se aplica la atribución.

Si se define una agency_id, route_id, o trip_id atribución, las demás deben estar vacías. Si no se especifica ninguna, la atribución se aplicará a todo el conjunto de datos.
route_id Referenciación del ID extranjero routes.route_id Opcional Funciones de la misma manera que agency_id salvo que la atribución se aplique a una ruta. Se pueden aplicar varias atribuciones a la misma ruta.
trip_id Referencia de ID extranjero trips.trip_id Opcional Funciones de la misma manera que agency_id excepto que la atribución se aplique a un viaje. Se pueden aplicar varias atribuciones al mismo viaje.
organization_name Texto Exigida Nombre de la organización a la que se atribuye el conjunto de datos.
is_producer Enum Opcional El papel de la organización es productor. Las opciones válidas son:

0 o vacía - La organización no tiene este rol.
1 - La organización sí tiene este rol.

Al menos uno de los campos is_producer, is_operatoro is_authority debe estar establecido en 1.
is_operator Enum Opcional Funciones de la misma manera que is_producer salvo que el rol de la organización sea de operador.
is_authority Enum Opcional Funciones de la misma manera que is_producer salvo que el rol de la organización sea de autoridad.
attribution_url URL Opcional URL de la organización.
attribution_email Correo electrónico Opcional Correo electrónico de la organización.
attribution_phone Número de teléfono Opcional Número de teléfono de la organización.