El motor de cálculo
Hemos digitalizado las tarifas oficiales de taxi de 20 ciudades: cada precio, franja horaria, zona, tarifa fija y suplemento, tomados de los propios documentos de las autoridades y escritos como reglas que un ordenador puede seguir. Un solo motor lee esas reglas y hace correr el taxímetro a lo largo de tu ruta, así obtienes el precio oficial sin leer el PDF de la autoridad.
Por qué digitalizar una tarifa
La tarifa de taxi de una ciudad es un texto legal: una orden, un aviso o un cuadro de tarifas, a menudo un PDF escaneado en el idioma local. Fija cómo funciona el taxímetro, no lo que cuesta un viaje, así que para saber el precio tienes que aplicar tú cada regla: qué tarifa rige a esa hora, cuándo el taxímetro cuenta la distancia y cuándo el tiempo, dónde empieza la tarifa fija del aeropuerto y qué suplementos admite.
La mayoría de las calculadoras se saltan ese trabajo y estiman a partir de un precio medio por kilómetro. Nosotros lo hicimos una vez, ciudad por ciudad, para que cada página de TaxiFare aplique exactamente las reglas de la autoridad, en un solo sitio y en cuatro idiomas.
Del documento de la autoridad al conjunto de reglas
La tarifa de cada ciudad se convierte en un conjunto de reglas: un archivo estructurado con cada precio, horario, zona, tarifa fija y suplemento, y para cada valor el documento oficial del que procede. Cuando importa la redacción de la autoridad, el archivo la cita. Esta es una parte del conjunto de reglas real de Dublín, tomada del archivo al generar esta página:
si-479-2024:
title: Taxi Regulation (Maximum Fares) Order 2024 (S.I. No. 479 of 2024)
publisher: National Transport Authority, Irish Statute Book
url: https://www.irishstatutebook.ie/pdf/2024/en.si.2024.0479.pdf
kind: official
retrieved: 2026-10-31
checked: opened
archive: null
standard-a:
name: Standard rate, Tariff A
flag: { amount: 4.40, covers: { distance: 500 m, time: 84.9 s } }
distance: { amount: 0.20, every: 151.5 m }
time: { amount: 0.20, every: 25.7 s }
drop: { amount: 0.20, rounding: up }
# "Graduates to Tariff B when running total switches from €23.60 to €23.80"
after: { fare: 23.60, tariff: standard-b }
source: si-479-2024
standard-b:
name: Standard rate, Tariff B (over €23.60)
flag: 0
distance: { amount: 0.20, every: 116.3 m }
time: { amount: 0.20, every: 19.7 s }
drop: { amount: 0.20, rounding: up }
source: si-479-2024
Antes de que un conjunto de reglas pueda publicarse, un validador lo comprueba:
- cada valor indica su fuente, y un valor sin fuente no pasa;
- el horario no deja ninguna hora de la semana sin cubrir, y existe cada zona, tarifa y suplemento al que remite;
- ninguna combinación de precios puede hacer que un viaje más lento salga más barato que uno más rápido;
- lo que la autoridad no indica se anota como supuesto, nunca se rellena en silencio.
Después, el editor comprueba cada valor con el documento oficial, línea a línea, y aprueba la tarifa. Hasta entonces, la página de la ciudad indica que es un borrador. Cada documento aparece en la página de fuentes oficiales.
Lo que entiende el motor
No hay dos ciudades que fijen sus precios igual. Estas son las reglas que el motor aplica hoy, cada una exigida por una tarifa real:
Hora, fines de semana y festivos
Cada tarifa tiene sus días, horas y festivos, comparados con la hora local. Las reglas se revisan en orden y gana la primera que encaja, así que una tarifa de festivo puede sustituir a la de diario.
Distancia o tiempo, como cuenta el taxímetro
Por encima de una velocidad fijada, el taxímetro cobra por distancia; por debajo, por tiempo. Algunas ciudades cobran las dos cosas a la vez. El motor sigue la velocidad a lo largo de la ruta y cobra cada tramo como lo haría el taxímetro.
En: París, New York City, Viena, Ámsterdam
Saltos del taxímetro
Muchos taxímetros avanzan en saltos de un importe fijo, y un salto empezado cuenta entero. La bajada de bandera cubre el primer tramo de distancia o de tiempo.
En: Londres, Dublín, Hong Kong, Ciudad de México
Una tarifa que cambia durante el viaje
Algunas tarifas pasan a un precio más alto tras una distancia fijada o cuando el precio llega a un importe. En otras, la tarifa cambia a una hora fijada, incluso a mitad del viaje.
Zonas y tarifas fijas
Los contornos de las zonas deciden si corre el taxímetro o se aplica una tarifa fija, por ejemplo entre un aeropuerto y un barrio, y qué suplementos puede llevar una tarifa fija.
En: París, New York City, Madrid, Roma
Límites y porcentajes
Pasado un límite, el taxímetro puede cobrar un múltiplo de su tarifa, y un suplemento puede ser una parte del precio en lugar de un importe fijo.
Precios mínimos y máximos
Un mínimo sube el precio de un viaje corto y un tope limita el de uno largo. En ambos casos, las líneas del cálculo siguen sumando el total.
Peajes, reservas y pasajeros
Peajes de túneles y puentes cuando la tarifa los repercute, cargos por reserva y suplementos por pasajeros adicionales, cada uno según la regla que lo fija.
En: Hong Kong, New York City, Dublín, París
La tarifa vigente ese día
Una tarifa nueva se convierte en una nueva versión con su fecha de inicio, y un cálculo usa la versión vigente el día del viaje. Cada cambio está en la página de cambios de tarifas.
El taxímetro a lo largo de la ruta
Un viaje se traza por carreteras reales con datos de OpenStreetMap. Después, el motor comprueba en qué zonas empieza, termina y por cuáles pasa la ruta, elige la tarifa vigente al subir y hace correr el taxímetro a lo largo de la ruta. Un taxímetro cobra el tiempo en el tráfico lento, así que cada cálculo se da con tráfico ligero, normal y denso, con tiempos de viaje ajustados a cada ciudad.
Cada página de viaje muestra su ruta en un mapa con las zonas que deciden el precio. Dos ejemplos de la web:
Cada importe de un cálculo aparece con la regla que lo respalda y un enlace al documento oficial:
Capturas de pantalla del 5 de noviembre de 2026. Las páginas siempre muestran la tarifa vigente.
Cómo lo probamos
Un código que coincide consigo mismo no demuestra nada, así que cada tarifa se prueba con precios obtenidos sin el motor:
- Calculado a mano. Para cada ciudad tomamos viajes típicos (un trayecto corto, un viaje al aeropuerto, un viaje de noche o de fin de semana, un viaje que cruza un límite) y calculamos el precio a mano solo a partir de la tarifa, con las cuentas escritas encima de cada uno. El motor debe quedar a menos de un 2 %.
- Los ejemplos de la propia autoridad. Cuando una autoridad publica precios de ejemplo, como los precios típicos de Transport for London, el motor debe quedar dentro del rango publicado.
- Por la carretera real. Cada precio de referencia se vuelve a calcular también a lo largo de su ruta por carretera, para comprobar los tiempos de viaje.
- Reglas que siempre deben cumplirse. Las pruebas automáticas comprueban, por ejemplo, que un viaje más largo o más lento nunca cuesta menos, que las líneas de un cálculo siempre suman su total y que cada precio del texto de una página coincide con el conjunto de reglas.
El motor calculó cada precio de referencia al generar esta página. Estos son los resultados:
| Ciudad | Precios de referencia | Calculados a mano | Ejemplos de la autoridad | Coinciden |
|---|---|---|---|---|
| Abu Dabi | 6 | 6 | 0 | 6/6 |
| Barcelona | 10 | 10 | 0 | 10/10 |
| Berlín | 6 | 6 | 0 | 6/6 |
| Boston | 6 | 6 | 0 | 6/6 |
| Ciudad de México | 9 | 9 | 0 | 9/9 |
| Dublín | 8 | 8 | 0 | 8/8 |
| Edimburgo | 10 | 10 | 0 | 10/10 |
| Hong Kong | 7 | 7 | 0 | 7/7 |
| Londres | 15 | 2 | 13 | 15/15 |
| Madrid | 11 | 11 | 0 | 11/11 |
| Múnich | 9 | 9 | 0 | 9/9 |
| New York City | 7 | 7 | 0 | 7/7 |
| París | 6 | 3 | 3 | 6/6 |
| Roma | 10 | 10 | 0 | 10/10 |
| San Francisco | 9 | 9 | 0 | 9/9 |
| São Paulo | 6 | 6 | 0 | 6/6 |
| Tokio | 14 | 14 | 0 | 14/14 |
| Viena | 6 | 6 | 0 | 6/6 |
| Washington DC | 7 | 7 | 0 | 7/7 |
| Ámsterdam | 5 | 4 | 1 | 5/5 |
| Todas las ciudades | 167 | 150 | 17 | 167/167 |
Un viaje, calculado dos veces
Dublin Airport to O'Connell Street, Tuesday 12:00 (standard, A then B). Primero, el precio de referencia tal como está en nuestro archivo de pruebas, calculado a mano a partir de la orden:
# Airport to O'Connell Street, 15,480 m in 30 min: 1,030.6 s moving
# (12,900.5 m) + 769.4 s slow. Whole trip at Tariff A: 12,900.5/151.5 × 0.20
# + 769.4/25.7 × 0.20 = 23.0175; A takes (19.20 + 0.6601) / 23.0175 = 0.8628
# of it (19.20). The rest at Tariff B: 0.1372 × (12,900.5/116.3 × 0.20
# + 769.4/19.7 × 0.20) = 4.1148. 116.57 steps → 117 × 0.20 = 23.40; + 4.40 = 27.80.
- { id: airport-city, label: "Dublin Airport to O'Connell Street, Tuesday 12:00 (standard, A then B)", kind: hand, source: si-479-2024,
trip: { from: [53.4264, -6.2499], to: [53.3498, -6.2603], at: "2026-11-03 12:00", distance: 15.48 km, duration: 30 min },
expect: { mode: meter, fare: 27.80 } }
Después, la respuesta del motor para el mismo viaje, calculada al generar esta página:
| Línea | Regla | Importe |
|---|---|---|
| Bajada de bandera, Tarifa estándar, tarifa A, incluye los primeros 500 m o 84.9 sTaxi Regulation (Maximum Fares) Order 2024 (S.I. No. 479 of 2024) | tariffs.standard-a | 4,40 € |
| Tarifa estándar, tarifa A: 11,13 km, 11,1 min con tráfico lentoTaxi Regulation (Maximum Fares) Order 2024 (S.I. No. 479 of 2024) | tariffs.standard-a | 19,86 € |
| Tarifa estándar, tarifa B (más de 23,60 €): 1,77 km, 1,8 min con tráfico lentoTaxi Regulation (Maximum Fares) Order 2024 (S.I. No. 479 of 2024) | tariffs.standard-b | 4,11 € |
| Incluido en la bajada de banderaTaxi Regulation (Maximum Fares) Order 2024 (S.I. No. 479 of 2024) | tariffs.standard-a | −0,66 € |
| Saltos del taxímetro de 0,20 (un salto empezado cuenta)Taxi Regulation (Maximum Fares) Order 2024 (S.I. No. 479 of 2024) | tariffs.standard-a | 0,09 € |
| Motor · calculado a mano: 27,80 € | 27,80 € | |
Los dos coinciden. La misma traza está en la API de precios, así que cualquiera puede comprobar un precio línea a línea:
{
"mode": "meter",
"typical": 27.8,
"lines": [
{
"label": "Bajada de bandera, Tarifa estándar, tarifa A, incluye los primeros 500 m o 84.9 s",
"amount": 4.4,
"rule": "tariffs.standard-a",
"source": "si-479-2024"
},
{
"label": "Tarifa estándar, tarifa A: 11,13 km, 11,1 min con tráfico lento",
"amount": 19.86,
"rule": "tariffs.standard-a",
"source": "si-479-2024"
}
],
"events": [
{
"at_m": 13356.4,
"label": "Empieza Tarifa estándar, tarifa B (más de 23,60 €)",
"rule": "tariffs.standard-b"
}
]
}
Lo que el motor no puede saber
- El tráfico de ese día. Damos un rango para tráfico ligero, normal y denso; el taxímetro cobra el tráfico que te encuentres de verdad.
- La ruta del conductor. Calculamos la ruta más rápida por carretera; un desvío, una calle cortada o una vía de peaje que la tarifa no cubre cambia el precio.
- Los suplementos que nadie puede prever, como un cargo por limpieza. Cuando la tarifa lo permite, el cálculo lo indica como algo que puede añadirse.
- Las propinas y los precios de VTC como Uber o Bolt: no están regulados, así que no hay tarifa oficial que digitalizar.
Si un precio que pagaste difiere del nuestro, dínoslo. Los avisos confirmados se convierten en nuevos precios de referencia.
Usa el motor
El mismo motor responde a la API de precios y al servidor MCP en /mcp, con la traza completa: cada línea con su regla y su fuente, la ruta y los eventos a lo largo de ella. Cómo elegimos las fuentes y comprobamos las tarifas está en la metodología.