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.

20Tarifas oficiales digitalizadas
44Documentos oficiales detrás
96Contornos de zonas en el mapa
150Precios de referencia calculados a mano
167/167Precios de referencia que el motor acierta hoy

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
rules/rulesets/ie-dublin.yaml: la fuente y las dos tarifas diurnas que usa un viaje desde el aeropuerto. La tarifa A da paso a la tarifa B cuando el precio llega al importe que fija la orden.

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.

En: Dublín, París, Madrid

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.

En: Londres, Dublín, Roma, Tokio

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.

En: New York City, San Francisco, Ciudad de México

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.

En: París, Londres, Roma

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:

Mapa de una ruta en taxi del aeropuerto París-Charles de Gaulle a Saint-Germain, a través de la zona de taxis de París hasta la zona de tarifa fija de la orilla izquierda
París: la ruta desde el aeropuerto Charles de Gaulle termina dentro de la zona de la orilla izquierda (el contorno punteado), así que se aplica la tarifa fija oficial en lugar del taxímetro. París fija una tarifa fija para cada orilla del Sena.
Mapa de una ruta en taxi del aeropuerto de Heathrow a Paddington, con un marcador donde el taxímetro de Londres pasa a la tarifa de larga distancia
Londres: el marcador verde muestra dónde el taxímetro pasa a la tarifa de larga distancia, que Transport for London fija para la parte final de un viaje largo.

Cada importe de un cálculo aparece con la regla que lo respalda y un enlace al documento oficial:

Un precio de taxi del aeropuerto de Dublín a O'Connell Street, desglosado línea a línea, cada línea enlazada a la Taxi Regulation (Maximum Fares) Order 2024
Dublín: el precio del aeropuerto a O'Connell Street, línea a línea. Cada línea enlaza a la orden de la que procede.

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:

CiudadPrecios de referenciaCalculados a manoEjemplos de la autoridadCoinciden
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 ciudades16715017167/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 } }
rules/golden/ie-dublin.yaml: las cuentas en el comentario y, debajo, el viaje y el precio esperado.

Después, la respuesta del motor para el mismo viaje, calculada al generar esta página:

LíneaReglaImporte
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-a4,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-a19,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-b4,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-a0,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"
    }
  ]
}
Parte de la traza del motor para este viaje: cada línea indica su regla y su fuente, y los eventos dicen en qué punto de la ruta cambió la tarifa.

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.