{
  "$schema": "https://datapackage.org/profiles/2.0/datapackage.json",
  "name": "orlero-ferry-crossings",
  "id": "https://orlero.com/data/ferry-crossings",
  "title": "Scheduled ferry crossings with operator-published fares",
  "description": "2,709 scheduled ferry departures observed across 895 of 2,190 directed port pairs in 65 countries, each with the operator, the vessel and the fares that operator was publishing on the date it was read. Every row carries its source and how it was evidenced.",
  "version": "1.0.0",
  "created": "2026-09-12T19:20:53.982Z",
  "homepage": "https://orlero.com/en-gb/data/ferry-crossings",
  "keywords": [
    "ferry",
    "maritime transport",
    "timetable",
    "fares",
    "passenger shipping",
    "islands",
    "Mediterranean",
    "open transport data",
    "UN/LOCODE"
  ],
  "licenses": [
    {
      "name": "CC-BY-4.0",
      "title": "Creative Commons Attribution 4.0 International",
      "path": "https://creativecommons.org/licenses/by/4.0/"
    }
  ],
  "contributors": [
    {
      "title": "Orlero",
      "roles": [
        "author",
        "publisher"
      ],
      "path": "https://orlero.com"
    }
  ],
  "sources": [
    {
      "title": "Ferryhopper MCP search_trips_v2",
      "path": "https://mcp.ferryhopper.com/mcp"
    },
    {
      "title": "Ferryhopper MCP get_direct_connections_for_ports",
      "path": "https://mcp.ferryhopper.com/mcp"
    },
    {
      "title": "Ferryhopper MCP get_ports",
      "path": "https://mcp.ferryhopper.com/mcp"
    }
  ],
  "resources": [
    {
      "name": "crossings",
      "path": "data/crossings.csv",
      "profile": "tabular-data-resource",
      "title": "Crossings",
      "description": "One row per directed port pair the connections graph holds, with what was observed on it.",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 815643,
      "hash": "sha256:01fcb5104a0aadaf9b7e46b033906a9871dd13c435a82e368547a5426c09de3c",
      "dialect": {
        "csvddfVersion": 1.2,
        "delimiter": ",",
        "lineTerminator": "\n",
        "quoteChar": "\"",
        "doubleQuote": true,
        "header": true
      },
      "schema": "metadata/schema/crossings.schema.json",
      "rowCount": 2190
    },
    {
      "name": "sailings",
      "path": "data/sailings.csv",
      "profile": "tabular-data-resource",
      "title": "Sailings",
      "description": "One row per observed departure, with the operator, the vessel and every quoted fare.",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 1277535,
      "hash": "sha256:6a94303ef626b529a3f9a424affd08e235bf2af883765d80412a91ea56a8519e",
      "dialect": {
        "csvddfVersion": 1.2,
        "delimiter": ",",
        "lineTerminator": "\n",
        "quoteChar": "\"",
        "doubleQuote": true,
        "header": true
      },
      "schema": "metadata/schema/sailings.schema.json",
      "rowCount": 2948
    },
    {
      "name": "operators",
      "path": "data/operators.csv",
      "profile": "tabular-data-resource",
      "title": "Operators",
      "description": "One row per company whose ships were observed, with what was observed of it.",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 30259,
      "hash": "sha256:13433a3c272d3546ac8889e629d4a28f9e3fffc25e5b8f17a0e7abe6c72867b1",
      "dialect": {
        "csvddfVersion": 1.2,
        "delimiter": ",",
        "lineTerminator": "\n",
        "quoteChar": "\"",
        "doubleQuote": true,
        "header": true
      },
      "schema": "metadata/schema/operators.schema.json",
      "rowCount": 120
    },
    {
      "name": "ports",
      "path": "data/ports.csv",
      "profile": "tabular-data-resource",
      "title": "Ports",
      "description": "The port register the crossings are built on, with the settlement each port was matched to.",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 339722,
      "hash": "sha256:c65482c9c4d1cb9e039d43e656724343082b016a6741b06c86e0a97ebe5e242d",
      "dialect": {
        "csvddfVersion": 1.2,
        "delimiter": ",",
        "lineTerminator": "\n",
        "quoteChar": "\"",
        "doubleQuote": true,
        "header": true
      },
      "schema": "metadata/schema/ports.schema.json",
      "rowCount": 1440
    }
  ]
}
