Código abierto · MIT · 9 ciudades · 5 continentes · 7 idiomas
Planeación de viajes multimodal, para cualquier ciudad.
opentransit convierte los datos abiertos de transporte de una ciudad en apps que la gente quiere usar: bus, metro, tren, ferry, cable, bici, taxi y carro + bus en un mismo itinerario, con vehículos en vivo, avisos de cuándo salir y tarifas estimadas. Hoy corre en Bogotá, Toronto, Boston, Santiago, Roma, Lisboa, Casablanca, Kuala Lumpur y Brisbane. Sin llaves de API, sin lock-in.
Así se ve, con datos reales de Bogotá






Qué obtienes
Planeador multimodal
OpenTripPlanner 2 combina bus, metro, tren, ferry, cable, bici propia, bici compartida, taxi y carro + bus en un solo itinerario, con hora de salida o llegada y opción accesible.
Buses en vivo
GTFS-Realtime servido una sola vez por la API y repartido por SSE con deltas; marcadores interpolados y coloreados por ETA.
Tablero y "Ubica tu bus"
Próximas llegadas agrupadas por ruta y el flujo estación → ruta → próximos buses, siempre diciendo qué es en vivo y qué es programado.
Bicis compartidas (GBFS)
Cualquier sistema con GBFS entra por configuración: tramos de alquiler con disponibilidad, precio por viaje o por minuto y estaciones en el mapa. N redes por ciudad.
Taxi y apps de transporte
Tarifa oficial de taxi calculada por tramo y enlaces a las apps de la ciudad, como viaje directo o como primer y último tramo (kiss & ride) de un viaje en transporte público.
Carro + bus (CDS)
Zonas de parqueo pago con cupos en vivo desde un feed CDS (Curb Data Specification): la app propone dejar el carro junto a la estación y seguir en bus, con el precio del parqueo en la tarifa.
Viajes programados
Casa → Trabajo cada día o una cita puntual: aviso la noche anterior, replanificación en vivo veinte minutos antes y «es hora de salir» que abre el seguimiento. Todo vive en el teléfono.
Iniciar viaje
Seguimiento del viaje con próximas paradas, «bájate aquí», Live Activities y Dynamic Island en iOS, Live Updates en Android, Apple Watch con complicación y ETA compartida por enlace.
Geocodificador de la ciudad
Paradas, lugares (OpenStreetMap) y, cuando la ciudad lo tiene, su geocodificador oficial de direcciones y sus barrios: en Bogotá, Catastro resuelve «Cra 7 # 72-41» y «Calle 127 con Carrera 7».
Asistente conversacional
Un modelo de lenguaje que solo responde con las herramientas de la API —planear, próximos buses, alertas— y devuelve tarjetas que abren la pantalla real. Proveedor y llave por ciudad.
Alertas y frescura
Alertas del feed con severidad, carrusel en el inicio, y etiquetas honestas cuando el tiempo real falla.
Tarifa estimada
Cuando el GTFS no trae tarifas, una tarifa plana configurable por ciudad, siempre marcada como estimada.
Favoritos y recientes
Casa, Trabajo, paradas y rutas con contexto en vivo. Locales al dispositivo, sin cuenta.
Panel de administración
Tarifas, banderas, enlaces, servicios, marca, movilidad, geocodificador, asistente y landing editables en caliente, con historial y cuentas con roles.
Analítica sin vigilancia
Métricas de uso agregadas con umbral k ≥ 5, identificadores rotatorios y celdas geohash: sabes cómo se usa la app sin saber quién la usa.
Landing por ciudad
Una página pública "white-label" generada desde la configuración de cada ciudad, en el idioma de la ciudad.
Siete idiomas
Español, inglés, portugués, francés, italiano, malayo y árabe (de derecha a izquierda) en la web, la app móvil y el panel; el teléfono elige y el usuario puede cambiarlo. Añadir un idioma es un archivo por app.
PWA + iOS + Android
App web instalable y app Flutter con enlaces universales, modo "Iniciar viaje" y actualización forzada remota.
Arquitectura
Tres repositorios independientes, un enrutador por ciudad y datos abiertos como única entrada. Una instancia de la API sirve varias ciudades (hoy nueve); cada ciudad es un archivo YAML.
Construido sobre datos abiertos
GTFS
rutas, paradas, horarios
GTFS-Realtime
posiciones, trip updates, alertas
GBFS
bicis y patinetas compartidas
CDS / MDS
zonas de parqueo con cupos, políticas y geografías (Open Mobility Foundation)
OpenStreetMap
calles, ciclorrutas, servicios; mapa base de OpenFreeMap
Datos de la ciudad
geocodificador oficial, barrios y localidades cuando la ciudad los publica
Ciudades
Nueve ciudades en cinco continentes, cada una con su propio grafo, su marca y el tiempo real que su agencia publica. Donde no existe GTFS-Realtime abierto, la app muestra horarios y lo dice.
Bogotá, Colombia
TransMilenio, SITP y TransMiCable (GTFS + GTFS-Realtime, ~6.000 buses), bicicletas públicas (GBFS, 252 estaciones), 819 zonas de parqueo pago con cupos en vivo (CDS) y el geocodificador de Catastro.
bogota.opentransit.techToronto, Canada
Metro, tranvías y buses de la TTC (GTFS + GTFS-Realtime, ~1.000 vehículos en vivo) y Bike Share Toronto (GBFS, más de mil estaciones). Las llegadas se emparejan por parada porque el feed no comparte identificadores con el horario.
toronto.opentransit.techBrisbane, Australia
Trenes, buses, CityCats y el G:link de TransLink en todo South East Queensland (GTFS + GTFS-Realtime: vehículos, llegadas y alertas).
brisbane.opentransit.techRoma, Italia
Metro, tranvías y autobuses de ATAC con los datos de Roma Mobilità (GTFS + GTFS-Realtime: posiciones, llegadas y avisos).
roma.opentransit.techLisboa, Portugal
Las 941 carreiras de Carris Metropolitana en los 18 municipios del área metropolitana (GTFS + posiciones y avisos en tiempo real).
lisboa.opentransit.techKuala Lumpur, Malasia
LRT, MRT, monorriel y buses Rapid KL con los tres GTFS de data.gov.my fusionados en uno, y posiciones de buses en vivo.
kualalumpur.opentransit.techCasablanca, Marruecos
Tramway y busway de Casa Tramway a partir de un GTFS comunitario; horarios programados mientras Marruecos no publique tiempo real.
casablanca.opentransit.techBoston, Estados Unidos
Metro, buses, commuter rail y ferries de la MBTA (GTFS + GTFS-Realtime) y Bluebikes (GBFS, 600+ estaciones).
boston.opentransit.techSantiago, Chile
Metro, buses Red y trenes EFE con el GTFS del DTPM, y Bike Santiago (GBFS). Horarios programados: Chile aún no publica GTFS-Realtime abierto.
santiago.opentransit.techAñade tu ciudad
Un YAML, un feed GTFS y un extracto de OpenStreetMap. Te acompañamos en el proceso.
Cómo añadir una ciudadRepositorios
- opentransit-api
Backend multi-tenant: GTFS, GTFS-RT, GBFS, CDS/MDS, OpenTripPlanner, geocodificación, asistente, pushes anónimos, configuración editable.
Python · FastAPI · PostGIS
- opentransit-web
App web (PWA), panel de administración y landing por ciudad.
Next.js · MapLibre
- opentransit-mobile
App iOS y Android, Apple Watch y Live Activities.
Flutter · Swift · MapLibre
Por qué
Datos abiertos
Solo consume feeds públicos con licencia abierta. Si tu ciudad publica GTFS, ya puede usarlo.
Sin lock-in
Nada propietario en el camino: OpenTripPlanner, MapLibre, OpenFreeMap, Photon. Cada pieza es reemplazable por configuración.
Las ciudades son dueñas
Cada ciudad despliega su propia instancia, con su marca, su panel y sus datos.
Honesto con el usuario
Lo estimado se muestra como estimado; lo no verificado, como no verificado.
¿Te unes?
Ciudades, agencias, desarrolladores y diseñadores. Abre un issue, propón una ciudad o envía un pull request.