← Itinerary

ms Westerdam · 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": "ms Westerdam",
  "source": "cruisemapper",
  "start_date": "2026-10-24",
  "nights": 29,
  "title": "29 nights, one-way from Tokyo to Hong Kong",
  "end_date": "2026-11-22",
  "embark_port": "Tokyo",
  "disembark_port": "Hong Kong, China",
  "ship_imo": "9226891",
  "calls": [
    {
      "date": "2026-10-24",
      "port": "Tokyo, Japan",
      "arrival": "08:00",
      "departure": "22:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "9017",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "24 Oct 19:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-f520c8f79ed1a7",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-25",
      "port": "Shimizu, Japan Shizuoka",
      "arrival": "08:00",
      "departure": "17:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "538",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "25 Oct 08:00 - 17:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-50b92fb090ec91",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-26",
      "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",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": "At Sea",
      "timing_selection": null
    },
    {
      "date": "2026-10-27",
      "port": "Kagoshima City, Japan Kagoshima",
      "arrival": "08:00",
      "departure": "17:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "631",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "27 Oct 08:00 - 17:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-110e827dc32f34",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-28",
      "port": "Nagasaki City, Japan Nagasaki",
      "arrival": "08:00",
      "departure": "20:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "537",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "28 Oct 08:00 - 20:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-b5ff2270da40c4",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-29",
      "port": "Yeosu, Korea",
      "arrival": "08:00",
      "departure": "17:00",
      "country": "Korea",
      "locode": null,
      "port_source_id": "10715",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "29 Oct 08:00 - 17:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-6715339227bf9c",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-10-30",
      "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",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": "At Sea",
      "timing_selection": null
    },
    {
      "date": "2026-10-31",
      "port": "Incheon, Seoul, Korea",
      "arrival": "08:00",
      "departure": "16:00",
      "country": "Korea",
      "locode": null,
      "port_source_id": "2402",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": "2026-11-01",
      "raw_time": "31 Oct 08:00 - 01 Nov 16:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-536481d968f613",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-01",
      "port": "Incheon",
      "arrival": "00:00",
      "departure": "16:00",
      "country": "South Korea",
      "locode": null,
      "port_source_id": "ASIN",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": null,
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "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-536481d968f613",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-02",
      "port": "Jeju Island, Seogwipo-Jeju City, Korea",
      "arrival": "12:00",
      "departure": "18:00",
      "country": "Korea",
      "locode": null,
      "port_source_id": "476",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "02 Nov 12:00 - 18:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-f69b4395216d97",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-03",
      "port": "Busan, Korea",
      "arrival": "08:00",
      "departure": "17:00",
      "country": "Korea",
      "locode": null,
      "port_source_id": "225",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "03 Nov 08:00 - 17:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-62983ae06b1661",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-04",
      "port": "Hakata-Fukuoka City, Japan Fukuoka",
      "arrival": "08:00",
      "departure": "18:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "1486",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "04 Nov 08:00 - 18:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-3dac0092656707",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-05",
      "port": "Kanmon Straits",
      "arrival": "00:00",
      "departure": "23:59",
      "country": "Japan",
      "locode": null,
      "port_source_id": null,
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": null,
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "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-35e42c788d7eee",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-06",
      "port": "Kobe-Osaka, Kyoto, Japan",
      "arrival": "06:30",
      "departure": "23:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "11",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "06 Nov 06:30 - 23:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-f4c80fabf69759",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-07",
      "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",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": "At Sea",
      "timing_selection": null
    },
    {
      "date": "2026-11-08",
      "port": "Tokyo, Japan",
      "arrival": "08:00",
      "departure": "19:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "9017",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "08 Nov 08:00 - 19:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-f520c8f79ed1a7",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-09",
      "port": "Shimizu, Japan Shizuoka",
      "arrival": "07:00",
      "departure": "15:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "538",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "09 Nov 07:00 - 15:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-50b92fb090ec91",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-10",
      "port": "Kobe-Osaka, Kyoto, Japan",
      "arrival": "08:00",
      "departure": "20:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "11",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "10 Nov 08:00 - 20:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-f4c80fabf69759",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-11",
      "port": "Kochi City, Japan Kochi",
      "arrival": "08:00",
      "departure": "17:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "581",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "11 Nov 08:00 - 17:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-61eee292d35065",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-12",
      "port": "Hiroshima City, Japan Hiroshima",
      "arrival": "08:00",
      "departure": "23:59",
      "country": "Japan",
      "locode": null,
      "port_source_id": "475",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "12 Nov 08:00 - 23:59",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-4ed5473e3d7080",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-13",
      "port": "Kanmon Straits",
      "arrival": "00:00",
      "departure": "23:59",
      "country": "Japan",
      "locode": null,
      "port_source_id": null,
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": null,
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "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-35e42c788d7eee",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-14",
      "port": "Hakata-Fukuoka City, Japan Fukuoka",
      "arrival": "07:00",
      "departure": "18:00",
      "country": "Japan",
      "locode": null,
      "port_source_id": "1486",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "14 Nov 07:00 - 18:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-3dac0092656707",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-15",
      "port": "Busan, Korea",
      "arrival": "08:00",
      "departure": "17:00",
      "country": "Korea",
      "locode": null,
      "port_source_id": "225",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "15 Nov 08:00 - 17:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-62983ae06b1661",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-16",
      "port": "Jeju Island, Seogwipo-Jeju City, Korea",
      "arrival": "08:00",
      "departure": "17:00",
      "country": "Korea",
      "locode": null,
      "port_source_id": "476",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "16 Nov 08:00 - 17:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-f69b4395216d97",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-17",
      "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",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": "At Sea",
      "timing_selection": null
    },
    {
      "date": "2026-11-18",
      "port": "Shanghai, China",
      "arrival": "08:00",
      "departure": "23:00",
      "country": "China",
      "locode": null,
      "port_source_id": "12",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": "2026-11-19",
      "raw_time": "18 Nov 08:00 - 19 Nov 23:00",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": null,
      "timing_selection": {
        "policy": "official-first; strict majority of distinct aggregators; completeness; configured source order",
        "fields": {
          "arrival": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "shoreexcursions",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "cruisemapper",
            "method": "aggregator_majority",
            "agreeing_sources": [
              "cruisemapper",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 3,
            "total_sources": 4
          }
        },
        "primary_source": "cruisemapper"
      },
      "portId": "p-4153ee0f91d111",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-19",
      "port": "Shanghai",
      "arrival": "00:00",
      "departure": "23:00",
      "country": "China",
      "locode": null,
      "port_source_id": "ASSH",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": null,
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "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-4153ee0f91d111",
      "tender_reported": false,
      "tender_possible": false
    },
    {
      "date": "2026-11-20",
      "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",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": "At Sea",
      "timing_selection": null
    },
    {
      "date": "2026-11-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",
        "cruiseglobe"
      ],
      "scenic_cruising": false,
      "original_port": "At Sea",
      "timing_selection": null
    },
    {
      "date": "2026-11-22",
      "port": "Hong Kong, China",
      "arrival": "06:30",
      "departure": "17:00",
      "country": "China",
      "locode": null,
      "port_source_id": "13",
      "tender": null,
      "tender_evidence": [],
      "sea_day": false,
      "departure_date": null,
      "raw_time": "22 Nov 06:30",
      "sources": [
        "cruisemapper",
        "shoreexcursions",
        "cruisedig",
        "cruisetimetables",
        "cruiseglobe"
      ],
      "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",
              "cruisemapper",
              "cruisedig",
              "cruisetimetables"
            ],
            "votes": 4,
            "total_sources": 4
          },
          "departure": {
            "source": "shoreexcursions",
            "method": "completeness_then_source_order"
          }
        },
        "primary_source": "shoreexcursions"
      },
      "portId": "p-a59aa34dbb3e5b",
      "tender_reported": false,
      "tender_possible": false
    }
  ],
  "source_id": "5285242",
  "url": "https://www.cruisemapper.com/ships/ms-Westerdam-710?tab=itinerary",
  "sources": [
    "cruisemapper",
    "shoreexcursions",
    "cruisedig",
    "cruisetimetables",
    "cruiseglobe"
  ],
  "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-6bddf5eea21f89",
  "id": "v-a21287325c08de",
  "path": "/v/holland-america-line/ms-westerdam/20261024-20261122",
  "pathAliases": []
}