← Itinerary

Wind Surf · Source evidence

Official sources first; otherwise a strict majority of distinct aggregators, then completeness and configured source order. Positive tender evidence from any source is retained. General port guidance does not confirm an individual itinerary call.

{
  "ship": "Wind Surf",
  "source": "cruisemapper",
  "start_date": "2026-10-15",
  "nights": 23,
  "title": "23 nights, one-way from Venice to Lisbon",
  "end_date": "2026-11-07",
  "embark_port": "Venice",
  "disembark_port": "Lisbon, Portugal",
  "ship_imo": "8700785",
  "calls": [
    {
      "date": "2026-10-15",
      "port": "Venice, Marghera-Fusina, Italy",
      "arrival": "07:00",
      "departure": "18:00",
      "country": "Italy",
      "locode": null,
      "port_source_id": "79",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "15 Oct 18:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-92b8911c4e0807",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-16",
      "port": "Rovinj, Croatia",
      "arrival": "08:00",
      "departure": "16:00",
      "country": "Croatia",
      "locode": null,
      "port_source_id": "236",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "16 Oct 08:00 - 16:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-1a3fae9600ec0a",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-17",
      "port": "Split, Croatia",
      "arrival": "08:00",
      "departure": "17:00",
      "country": "Croatia",
      "locode": null,
      "port_source_id": "74",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "17 Oct 08:00 - 17:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-c21345530a43bd",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-18",
      "port": "Dubrovnik, Croatia, Port Gruz",
      "arrival": "08:00",
      "departure": "22:00",
      "country": "Croatia",
      "locode": null,
      "port_source_id": "137",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": "2026-10-19",
      "raw_time": "18 Oct 08:00 - 19 Oct 22:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          },
          "departure": {
            "source": "cruisedig",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-b642fdf37d06bf",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-19",
      "port": "Dubrovnik",
      "arrival": "00:00",
      "departure": "22:00",
      "country": "Croatia",
      "locode": null,
      "port_source_id": null,
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": null,
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "completeness_then_source_order"
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "completeness_then_source_order"
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-b642fdf37d06bf",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-20",
      "port": "Kotor, Montenegro",
      "arrival": "08:00",
      "departure": "17:00",
      "country": "Montenegro",
      "locode": null,
      "port_source_id": "682",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "20 Oct 08:00 - 17:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-7b11e79aaf7c50",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-21",
      "port": "At sea",
      "arrival": null,
      "departure": null,
      "country": null,
      "locode": null,
      "port_source_id": null,
      "tender": null,
      "tender_evidence": [],
      "sea_day": true,
      "departure_date": null,
      "raw_time": null,
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": "At Sea",
      "timing_selection": null
    },
    {
      "date": "2026-10-22",
      "port": "Giardini Naxos-Taormina, Sicily Italy",
      "arrival": "08:00",
      "departure": "14:00",
      "country": "Italy",
      "locode": null,
      "port_source_id": "148",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "22 Oct 08:00 - 14:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "portId": "p-1b47ebe6c208f5",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-23",
      "port": "Sorrento, Italy",
      "arrival": "08:00",
      "departure": "15:00",
      "country": "Italy",
      "locode": null,
      "port_source_id": "1460",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": "2026-10-24",
      "raw_time": "23 Oct 08:00 - 24 Oct 15:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          },
          "departure": {
            "source": "cruisedig",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-20e0c4a4e6af33",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-24",
      "port": "Sorrento",
      "arrival": "00:00",
      "departure": "15:00",
      "country": "Italy",
      "locode": null,
      "port_source_id": "EUSR",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": null,
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "completeness_then_source_order"
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "completeness_then_source_order"
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-20e0c4a4e6af33",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-25",
      "port": "Civitavecchia-Rome, Italy",
      "arrival": "07:00",
      "departure": "16:00",
      "country": "Italy",
      "locode": null,
      "port_source_id": "81",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "25 Oct 07:00 - 16:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "portId": "p-e0fda1a678d58e",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-26",
      "port": "Portofino, Italy Riviera",
      "arrival": "10:30",
      "departure": "22:00",
      "country": "Italy",
      "locode": null,
      "port_source_id": "254",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "26 Oct 10:30 - 22:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-5f7adf80ce4a5f",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-27",
      "port": "Monte Carlo, Monaco City",
      "arrival": "08:00",
      "departure": "21:00",
      "country": "Monaco",
      "locode": null,
      "port_source_id": "681",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "27 Oct 08:00 - 21:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-6d1a8912beda93",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-28",
      "port": "Sanary-sur-Mer, France Riviera",
      "arrival": "08:30",
      "departure": "18:00",
      "country": "France",
      "locode": null,
      "port_source_id": "759",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "28 Oct 08:30 - 18:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-5b2a184219865e",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-29",
      "port": "Palamos, Spain Costa Brava",
      "arrival": "09:00",
      "departure": "18:00",
      "country": "Spain",
      "locode": null,
      "port_source_id": "226",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "29 Oct 09:00 - 18:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-28a6cb01ade057",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-30",
      "port": "Barcelona, Spain",
      "arrival": "07:00",
      "departure": "23:59",
      "country": "Spain",
      "locode": null,
      "port_source_id": "82",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "30 Oct 07:00 - 17:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-c587ffcbe49da1",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-31",
      "port": "Palma de Mallorca, Majorca Island Balearic Spain",
      "arrival": "08:00",
      "departure": "16:00",
      "country": "Spain",
      "locode": null,
      "port_source_id": "77",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "31 Oct 08:00 - 16:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-b6e5dc1fd33dc3",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-01",
      "port": "Cartagena",
      "arrival": "13:00",
      "departure": "19:00",
      "country": "Spain",
      "locode": null,
      "port_source_id": "EUCT",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": null,
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-6b81e0be0aae42",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-01",
      "port": "Cartagena Spain, Murcia",
      "arrival": "13:00",
      "departure": "19:00",
      "country": "Spain",
      "locode": null,
      "port_source_id": "338",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "01 Nov 13:00 - 19:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "portId": "p-6b81e0be0aae42",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-02",
      "port": "Almeria, Spain Andalusia",
      "arrival": "08:00",
      "departure": "22:00",
      "country": "Spain",
      "locode": null,
      "port_source_id": "1019",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "02 Nov 08:00 - 22:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-06b922c7e73c20",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-03",
      "port": "Malaga, Spain Granada",
      "arrival": "09:00",
      "departure": "23:59",
      "country": "Spain",
      "locode": null,
      "port_source_id": "75",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "03 Nov 09:00 - 23:59",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-0ab5a8830c1022",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-04",
      "port": "Gibraltar",
      "arrival": "09:00",
      "departure": "18:00",
      "country": "United Kingdom",
      "locode": null,
      "port_source_id": "4030",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "04 Nov 09:00 - 18:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-77465af41c5733",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-05",
      "port": "Cadiz, Spain, Sevilla",
      "arrival": "07:00",
      "departure": "23:59",
      "country": "Spain",
      "locode": null,
      "port_source_id": "627",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "05 Nov 07:00 - 23:59",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 2,
            "total_sources": 3
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "shoreexcursions",
              "cruisedig"
            ],
            "votes": 2,
            "total_sources": 3
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-0b6d75551cc434",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-06",
      "port": "Lisbon",
      "arrival": null,
      "departure": null,
      "country": "Portugal",
      "locode": null,
      "port_source_id": null,
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": null,
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {},
        "primary_source": null
      },
      "portId": "p-60466ddeab4a12",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-06",
      "port": "At sea",
      "arrival": null,
      "departure": null,
      "country": null,
      "locode": null,
      "port_source_id": null,
      "tender": null,
      "tender_evidence": [],
      "sea_day": true,
      "departure_date": null,
      "raw_time": null,
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": "At Sea",
      "timing_selection": null
    },
    {
      "date": "2026-11-07",
      "port": "Lisbon, Portugal",
      "arrival": "07:00",
      "departure": "23:59",
      "country": "Portugal",
      "locode": null,
      "port_source_id": "65",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "07 Nov 07:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "shoreexcursions",
            "method": "completeness_then_source_order"
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "completeness_then_source_order"
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-60466ddeab4a12",
      "tender_reported": false,
      "tender_possible": false
    }
  ],
  "source_id": "5285544",
  "url": "https://www.cruisemapper.com/ships/Wind-Surf-714?tab=itinerary",
  "sources": [
    "cruisemapper",
    "shoreexcursions",
    "cruisedig",
    "cruisetimetables"
  ],
  "field_sources": {
    "title": "cruisemapper",
    "nights": "cruisemapper",
    "end_date": "cruisemapper",
    "embark_port": "cruisemapper",
    "disembark_port": "cruisemapper",
    "ship_imo": "cruisemapper",
    "url": "cruisemapper",
    "source_id": "cruisemapper"
  },
  "shipId": "s-112feb1c3aa174",
  "id": "v-8dd3822ddca1d0",
  "path": "/v/windstar-cruises/wind-surf/20261015-20261107",
  "pathAliases": []
}