Travesías regulares en ferry con las tarifas publicadas por las navieras
Cada salida regular que pudimos observar en 2190 pares de puertos dirigidos, con el buque que la cubre y el precio que su naviera pedía el día de la consulta.
Qué contiene
Contado a partir de la misma instantánea con la que se construyen los archivos, de modo que esta tabla y los CSV no pueden separarse.
- 2190Pares de puertos dirigidos
- 895Pares con una salida observada
- 1295Pares consultados sin ninguna salida
- 2948Filas de salida
- 2709Identificadores de trayecto distintos
- 5997Tarifas individuales registradas
- 120Navieras
- 357Buques con nombre
- 65Países
- 600Puertos presentes en una travesía
- 299De ellos, con UN/LOCODE
- 1440Puertos en el registro
Las salidas se buscaron el 17 de septiembre de 2026, 21 de septiembre de 2026, 25 de septiembre de 2026, 29 de septiembre de 2026. Un par sin salidas significa que ningún buque respondió en esos cuatro días.
Filas de salida por el país de los puertos de ambos extremos. El inventario es mediterráneo y de Europa occidental.
- Italia1175
- Grecia910
- España274
- Croacia184
- Indonesia149
- Singapur126
- Reino Unido105
- Turquía77
Los 8 países con más filas de salida. Las barras son relativas a la mayor.
Cómo se construyó
- Preguntar al grafo adónde van los buquesA cada puerto del registro se le pregunta, por su nombre exacto, con qué puertos tiene conexión directa. Preguntar por código devuelve el puerto equivocado: el propio código de Barcelona responde con un puerto de Croacia. El puerto por el que responde el servicio se comprueba contra el puerto consultado, y una sustitución se descarta.
- Pedir a cada par sus salidas realesA cada par nombrado por el grafo se le piden trayectos en cuatro fechas repartidas por la ventana de reserva. El inventario de ferry se abre unas dos o tres semanas antes, y cada par conserva la primera fecha que respondió.
- Anotar lo que volvióSalida, llegada, naviera, buque y cada precio de acomodación citado se anotan tal como llegaron, en unidades monetarias menores enteras. Nada se normaliza a un vocabulario propio, nada se promedia y nada se rellena. Los nombres de las empresas se conservan tal como se publicaron, incluso donde dos grafías son claramente la misma compañía.
- Unir, calcular y marcar lo calculadoLos puertos se emparejan con localidades para obtener coordenadas, las distancias se calculan y los recuentos se cuentan. Cada una de esas operaciones se marca a nivel de columna, para que quien lea vea exactamente qué cifras vienen de una naviera y cuáles de nosotros.
Cómo se evidencia cada fila
Cada fila de cada archivo lleva source, source_url, fetched_at y evidence.
- measured
- Leído de una respuesta publicada por la naviera sobre un servicio concreto: un buque con nombre, una hora de salida, un precio que la naviera cobra. 3963 filas.
- filed
- Leído de un registro publicado o de un grafo de conexiones, tal como lo declara el operador o el agregador. 2735 filas.
- derived
- Calculado por el script de construcción a partir de los dos anteriores. Ninguna fila se evidencia así: los valores calculados viven en columnas, y cada recurso las nombra.
Una fila medida puede llevar igualmente una columna calculada, así que cada archivo tiene derived_columns: una distancia, una duración, un identificador normalizado, un recuento y la etiqueta de moneda. Los importes de las tarifas no están ahí.
El campo de precio de la fuente no lleva código de moneda. Ferryhopper cotiza en euros y estos archivos registran EUR, así que fare_currency figura como calculada: las tres letras son nuestras, los importes son de la naviera.
Filas reales
Ocho salidas de sailings.csv, una por naviera, en el orden en que el archivo las guarda. Abra el archivo y las encontrará.
| Travesía | Salida | Naviera | Buque | Duración | Tarifa más baja |
|---|---|---|---|---|---|
| AG.MARINA (AEGINA)PIRAEUS | 17 sept 2026, 11:20 | HELLENIC SEAWAYS | AERO HIGHSPEED | 0h 30m | 19,50 EUR |
| AG.MARINA (AEGINA)PIRAEUS | 17 sept 2026, 18:35 | MAGIC SEA FERRIES | MAGIC 2 | 0h 30m | 19,50 EUR |
| AGAETESANTA CRUZ DE TENERIFE | 17 sept 2026, 6:00 | FRED OLSEN | BAÑADEROS EXPRESS | 1h 20m | 50,60 EUR |
| AGROPOLIPALINURO | 17 sept 2026, 9:05 | TRAVELMAR | TRAVELMAR | 2h 55m | 15,50 EUR |
| AJACCIOMARSEILLE | 17 sept 2026, 18:00 | LA MERIDIONALE | PIANA | 13h 00m | 39,00 EUR |
| AJACCIOPORTO TORRES | 17 sept 2026, 7:15 | CORSICA FERRIES | CORSICA FERRIES | 4h 15m | 26,00 EUR |
| ALCUDIABARCELONA | 17 sept 2026, 9:45 | BALEARIA | MARGARITA SALAS | 3h 30m | 111,50 EUR |
| ALGECIRASCEUTA | 17 sept 2026, 7:30 | DFDS IBERIA | CEUTA JET | 1h 00m | 38,50 EUR |
Las horas son las que publicó la naviera, recogidas tal cual. Las tarifas son la clase de acomodación más barata ofrecida en esa salida.
Descargar
Un Frictionless Data Package: un descriptor, un Table Schema por recurso, CSV conforme a RFC 4180 y un SHA-256 para cada archivo. Nada de esto exige una cuenta ni una clave.
| Archivo | Filas | Tamaño | SHA-256 |
|---|---|---|---|
| crossings.csv | 2190 | 797 KiB | 01fcb5104a0aadaf9b7e46b033906a9871dd13c435a82e368547a5426c09de3c |
| sailings.csv | 2948 | 1.2 MiB | 6a94303ef626b529a3f9a424affd08e235bf2af883765d80412a91ea56a8519e |
| operators.csv | 120 | 30 KiB | 13433a3c272d3546ac8889e629d4a28f9e3fffc25e5b8f17a0e7abe6c72867b1 |
| ports.csv | 1440 | 332 KiB | c65482c9c4d1cb9e039d43e656724343082b016a6741b06c86e0a97ebe5e242d |
| datapackage.json | 4 KiB | a05cfbe9dab053fee119842b4cfee0e56b386214709c3ddb37ae6bb623534170 | |
| checksums.txt | 17 | 1 KiB | 6f207fcf03f6dc98d880861429ad60f619e36342dfc20fce7a335a467d0ad814 |
| README.md | 14 KiB | e6546a7f951e16a2228e45e76fc016911e23c91886c417a073a597870ac5b199 |
El paquete completo también está en el repositorio en data-packages/ferry-crossings, y node tools/data/ferry-package.mjs lo reconstruye a partir de la instantánea versionada. Es determinista, así que una diferencia es un cambio de datos y nada más.
Cómo citarlo
La atribución es la condición de la licencia y lo único que pedimos. Cualquiera de las dos formas de abajo sirve.
Con formato
Orlero (2026). Scheduled ferry crossings with operator-published fares (Version 1.0.0) [Data set]. https://orlero.com/data/ferry-crossings
BibTeX
@dataset{orlero_ferry_crossings_1_0_0,
author = {{Orlero}},
title = {{Scheduled ferry crossings with operator-published fares}},
year = {2026},
version = {1.0.0},
publisher = {Orlero},
url = {https://orlero.com/data/ferry-crossings},
note = {CC BY 4.0}
}Identificador
Todavía no hay DOI. Cite la URL y la versión de arriba.
Licencia
CC BY 4.0. Compártalo, adáptelo, venda algo construido sobre él y cite la fuente. La versión 4.0 cubre el derecho sui generis de bases de datos de la Unión en los mismos términos. Los nombres de buques, empresas y puertos son marcas de sus titulares y se reproducen como hechos sobre quién opera qué.
Lo que no le dice
- Una instantánea, no un flujo. Una tarifa es lo que la naviera publicaba en el momento de la consulta.
- Una travesía vacía no prueba que no haya servicio: cuatro fechas de sondeo pueden pasar por alto una salida semanal.
- Las coordenadas son centros de localidad, no atraques. Atenas se resuelve en El Pireo y Roma en Civitavecchia, así que una distancia calculada une poblaciones y es una cota inferior del trayecto navegado.
- Los UN/LOCODE se asignan por forma, no se consultan en un registro. Un código cuenta como tal cuando tiene cinco caracteres y su prefijo de país coincide con el registro. Si necesita códigos certificados, haga la unión por el código bruto de la naviera.
- GTFS y Parquet quedan para una versión posterior, porque cuatro fechas sondeadas no sostienen un calendario de servicio.
- Las marcas de tiempo son horas locales selladas como UTC, recogidas exactamente tal como se publicaron, y el archivo de puertos lleva una zona IANA con la que resolverlas. Afecta a las 390 salidas cuyos dos puertos están en zonas distintas.
- 0 salidas no tienen duración: su llegada publicada no es posterior a su salida publicada, así que ambas marcas de tiempo quedan tal como se publicaron y la columna calculada queda vacía.