VIVA Ruby · 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": "VIVA Ruby",
"source": "cruisemapper",
"start_date": "2026-12-02",
"nights": 7,
"title": "7 nights, round-trip from Dusseldorf, Germany",
"end_date": "2026-12-09",
"embark_port": "Dusseldorf",
"disembark_port": "Dusseldorf, Germany North Rhine-Westphalia",
"ship_imo": null,
"calls": [
{
"date": "2026-12-02",
"port": "Dusseldorf, Germany North Rhine-Westphalia",
"arrival": null,
"departure": "17:00",
"country": "Germany",
"locode": null,
"port_source_id": "2327",
"tender": null,
"tender_evidence": [],
"sea_day": false,
"departure_date": null,
"raw_time": "02 Dec 17:00",
"sources": [
"cruisemapper"
],
"scenic_cruising": false,
"original_port": null,
"portId": "p-d2fc48b3b6b168",
"tender_reported": false,
"tender_possible": false
},
{
"date": "2026-12-03",
"port": "Koblenz, Germany Rhineland-Palatinate",
"arrival": "07:30",
"departure": "18:30",
"country": "Germany",
"locode": null,
"port_source_id": "3984",
"tender": null,
"tender_evidence": [],
"sea_day": false,
"departure_date": null,
"raw_time": "03 Dec 07:30 - 18:30",
"sources": [
"cruisemapper"
],
"scenic_cruising": false,
"original_port": null,
"portId": "p-c688b286876816",
"tender_reported": false,
"tender_possible": false
},
{
"date": "2026-12-04",
"port": "Bernkastel-Kues, Germany Rhineland-Palatinate",
"arrival": "12:00",
"departure": "21:00",
"country": "Germany",
"locode": null,
"port_source_id": "274",
"tender": null,
"tender_evidence": [],
"sea_day": false,
"departure_date": null,
"raw_time": "04 Dec 12:00 - 21:00",
"sources": [
"cruisemapper"
],
"scenic_cruising": false,
"original_port": null,
"portId": "p-97282a144a4448",
"tender_reported": false,
"tender_possible": false
},
{
"date": "2026-12-05",
"port": "Traben-Trarbach, Germany Rhineland-Palatinate",
"arrival": "00:30",
"departure": "14:30",
"country": "Germany",
"locode": null,
"port_source_id": "336",
"tender": null,
"tender_evidence": [],
"sea_day": false,
"departure_date": null,
"raw_time": "05 Dec 00:30 - 14:30",
"sources": [
"cruisemapper"
],
"scenic_cruising": false,
"original_port": null,
"portId": "p-a6c9fb6de4121d",
"tender_reported": false,
"tender_possible": false
},
{
"date": "2026-12-05",
"port": "Cochem, Germany Rhineland-Palatinate",
"arrival": "21:30",
"departure": "14:30",
"country": "Germany",
"locode": null,
"port_source_id": "3974",
"tender": null,
"tender_evidence": [],
"sea_day": false,
"departure_date": "2026-12-06",
"raw_time": "05 Dec 21:30 - 06 Dec 14:30",
"sources": [
"cruisemapper"
],
"scenic_cruising": false,
"original_port": null,
"portId": "p-dfc1319563a85d",
"tender_reported": false,
"tender_possible": false
},
{
"date": "2026-12-07",
"port": "Rudesheim am Rhein, Germany Hesse",
"arrival": "05:00",
"departure": "13:00",
"country": "Germany",
"locode": null,
"port_source_id": "1193",
"tender": null,
"tender_evidence": [],
"sea_day": false,
"departure_date": null,
"raw_time": "07 Dec 05:00 - 13:00",
"sources": [
"cruisemapper"
],
"scenic_cruising": false,
"original_port": null,
"portId": "p-a358cf0837b157",
"tender_reported": false,
"tender_possible": false
},
{
"date": "2026-12-07",
"port": "Konigswinter, Germany North Rhine-Westphalia",
"arrival": "19:30",
"departure": "07:30",
"country": "Germany",
"locode": null,
"port_source_id": "3344",
"tender": null,
"tender_evidence": [],
"sea_day": false,
"departure_date": "2026-12-08",
"raw_time": "07 Dec 19:30 - 08 Dec 07:30",
"sources": [
"cruisemapper"
],
"scenic_cruising": false,
"original_port": null,
"portId": "p-5212525beb1063",
"tender_reported": false,
"tender_possible": false
},
{
"date": "2026-12-08",
"port": "Dusseldorf, Germany North Rhine-Westphalia",
"arrival": null,
"departure": null,
"country": "Germany",
"locode": null,
"port_source_id": "2327",
"tender": null,
"tender_evidence": [],
"sea_day": false,
"departure_date": null,
"raw_time": "08 Dec 17:00 - 17:00",
"sources": [
"cruisemapper"
],
"scenic_cruising": false,
"original_port": null,
"portId": "p-d2fc48b3b6b168",
"tender_reported": false,
"tender_possible": false
},
{
"date": "2026-12-08",
"port": "Bonn, Germany North Rhine-Westphalia",
"arrival": "08:00",
"departure": "13:00",
"country": "Germany",
"locode": null,
"port_source_id": "3971",
"tender": null,
"tender_evidence": [],
"sea_day": false,
"departure_date": null,
"raw_time": "08 Dec 08:00 - 13:00",
"sources": [
"cruisemapper"
],
"scenic_cruising": false,
"original_port": null,
"portId": "p-f35ea789a17d6b",
"tender_reported": false,
"tender_possible": false
},
{
"date": "2026-12-09",
"port": "Dusseldorf, Germany North Rhine-Westphalia",
"arrival": null,
"departure": "17:00",
"country": "Germany",
"locode": null,
"port_source_id": "2327",
"tender": null,
"tender_evidence": [],
"sea_day": false,
"departure_date": null,
"raw_time": "09 Dec",
"sources": [
"cruisemapper"
],
"scenic_cruising": false,
"original_port": null,
"portId": "p-d2fc48b3b6b168",
"tender_reported": false,
"tender_possible": false
}
],
"source_id": "5228011",
"url": "https://www.cruisemapper.com/ships/VIVA-Ruby-1245?tab=itinerary",
"sources": [
"cruisemapper"
],
"field_sources": {
"title": "cruisemapper",
"nights": "cruisemapper",
"end_date": "cruisemapper",
"embark_port": "cruisemapper",
"disembark_port": "cruisemapper",
"url": "cruisemapper",
"source_id": "cruisemapper"
},
"shipId": "s-32f7fdc5b35e14",
"id": "v-b9eef2872ed92e",
"path": "/v/viva-cruises/viva-ruby/20261202-20261209",
"pathAliases": []
}