Itinerary feed

  • Itinerary feeds contain comprehensive cruise sailing information, including trip details such as ports, arrival/departure times, sail duration, and descriptions.

  • Feeds must be uploaded in CSV format, with JSON examples provided solely for informational purposes.

  • Each itinerary trip is uniquely identified by a composite primary key formed by concatenating sail_id and stop_index.

  • The feed comprises both mandatory and optional fields, with optional data enhancing overall data quality.

Itinerary feed contains cruise sailing information. Each itinerary has a set of trips. Each trip contains details of the trip such as ports, arrival and departure times and dates, sail duration of each phase of the journey and description of each trip. You can upload itinerary feeds in CSV format.

Key components

The itinerary feed has required fields that are case insensitive. Some fields are optional and may be left blank. Sending optional data improves data quality.

It has the following mandatory fields:

  • sail_id : A unique sailing identifier for a specific trip.
  • stop_index : A unique stop identifier for each departure port.

  • port_of_call: The port of call or the location where the cruise stops.

  • itinerary_desc: Description of the itinerary.

  • arrival_dt: Arrival date and time in the port's Coordinated Universal time(UTC).

  • departure_dt: Departure date and time in the port's Coordinated Universal time (UTC).

  • ship_name: The name of the ship.

  • sail_duration: The duration or number of sailing days.

Fields

The following table describes all the available fields in the itinerary feed:

Field name Required? Type Description
sail_id Required string Unique sailing identifier for a particular trip in the itinerary with start and end date.

For example, for an itinerary of 5 nights which has 3 stops, the sail_id is unique and remains the same for all 3 stops. An example of sail_id is ABC12345.

Note: sail_id and stop_index are concatenated to form a composite primary key and must be unique.

stop_index Required integer Unique index identifier for each stop in the cruise itinerary. It starts with index zero for the first stop. Zero represents the first departure port. For example, the stop_index is represented as 0.

Note: sail_id and stop_index are concatenated to form a composite primary key and must be unique.

port_of_call Required string Location with the city name and country where the cruise stops. For example, the port_of_call can be represented as Venice,Italy.

Quotes (") are explicitly not required.

itinerary_desc Required string Description of the itinerary. It starts with "X-night" where X is the number of nights in the itinerary. It is not case sensitive. For example, the itinerary_desc can be 7-night greek isles & eastern med.
arrival_dt Required datetime Arrival date and time in the port's Coordinated Universal time(UTC). The arrival_dt for the first port must be empty and the stop_index must be zero. For example the arrival_dt is represented as 2025-01-22T06:00:00+01:00.
departure_dt Required datetime Departure date and time in the port's Coordinated Universal time(UTC). The departure_dt for the last port must be empty. The stop_index must be the last night of the itinerary. For example the departure_dt is represented as 2025-01-23T18:00:00+01:00.
ship_name Required string The name of the ship. It is not case sensitive. For example, the ship_name can be represented as NORWEGIAN Escape.
sail_duration Required integer The duration of the voyage or the number of sailing nights. For example, for 5 sailing nights the sail_duration is represented as 5.
itinerary_id Required string Identifies the itinerary. The itinerary_id distinguishes itineraries from each other. All trips that visit the same ports of call share the same itinerary_id, allowing for the grouping and organization of trips.

For example, If the port of call is through San Francisco for two different itineraries then the itinerary ID is same for both the itineraries. It is represented as XYZ12345.

latitude Optional decimal The latitude of this port of call. It should be specified in WGS84 notation. This information is useful for precisely locating the port of call entity. For example, the latitude coordinates for Trieste, Italy is 45.64665541364354. The following are unsupported:
  • TOKYO
  • GCJ-02
longitude Optional decimal The longitude of this port of call. It should be specified in the WGS84 notation. This information is useful for precisely locating the port of call entity. For example, the longitude coordinates for Trieste, Italy is 13.76188003458354. The following are unsupported:
  • TOKYO
  • GCJ-02
image_url Optional URL The URL of an image representing the port of call. For example, https://partner.com/images/XXXXX.jpg
updated_at Optional datetime The date and time at which this entry was last updated in the Coordinated Universal time(UTC). This information is useful for identifying stale data. It should follow ISO 8601 format. For example the updated_at is 2025-01-22T00:00:00+00:00.

Examples

The following is a basic example of an itinerary feed for two sails where one sail is a one-way trip and the other is a round-trip.

The examples show both CSV and JSON formats. The sail_id, stop_index fields are concatenated to form the composite primary key and must be unique for each row.

CSV

One-way trip (Required)

The first sail or itinerary is a one-way from San Francisco to Canada for 4 nights. The following example illustrates only the mandatory fields:

sail_id; stop_index; port_of_call; itinerary_desc; arrival_dt; departure_dt;ship_name;sail_duration;itinerary_id
54321; 0; Seattle, Washington; 4 Night Alaska Cruise Trip; NULL;2025-05-23 15:00:00; Floating Home; 04; 888888
54321; 1; Ketchikan, Alaska; 4 Night Alaska Cruise Trip;2025-05-25 18:00:00; 2025-05-25 7:00:00; Floating Home; 04; 888888
54321; 2; Vancouver (Canada Place), British Columbia;4 Night Alaska Cruise Trip; 2025-05-27 7:30:00; NULL; Floating Home; 04; 888888

One-way trip (All)

The following example illustrates all the available fields for a one-way trip:

sail_id; stop_index; port_of_call; itinerary_desc; arrival_dt; departure_dt; ship_name;sail_duration; itinerary_id; latitude; longitude; image_url; updated_at
54321; 0; Seattle, Washington; 4 Night Alaska Cruise Trip; NULL; 2025-05-23 15:00:00; Floating Home;04; 888888; 47.608013; -122.335167; https://partner.com/images/XXXXX.jpg; 2025-05-23T00:00:00+00:00
54321; 1; Ketchikan, Alaska; 4 Night Alaska Cruise Trip; 2025-05-25 18:00:00; 2025-05-25 7:00:00;Floating Home; 04; 888888; 55.341808; -131.647507; https://partner.com/images/XXXXX.jpg; 2025-05-25T00:00:00+00:00
54321; 2; Vancouver (Canada Place), British Columbia; 4 Night Alaska Cruise Trip; 2025-05-27 7:30:00; NULL; Floating Home; 04; 888888; 49.246292; -123.116226; https://partner.com/images/XXXXX.jpg; 2025-05-27T00:00:00+00:00

Round trip (Required)

The second sail is a round-trip from San Francisco covering Alaska and Canada for 14 nights. The following example illustrates only the mandatory fields:

sail_id; stop_index; port_of_call; itinerary_desc; arrival_dt; departure_dt; ship_name;sail_duration; itinerary_id
12345; 0; San Francisco, California; 14 Night Alaska Cruise with Glacier Bay National Park; NULL;2025-06-06 16:00:00; Beautiful Ship; 14; 888888
12345; 1; Ketchikan, Alaska; 14 Night Alaska Cruise with Glacier Bay National Park; 2025-06-09 21:00:00; 2025-06-10 5:00:00; Beautiful Ship; 14; 888888
12345; 2; Vancouver (Canada Place), British Columbia; 14 Night Alaska Cruise with Glacier Bay   National Park; 2025-06-13 14:00:00; 2025-06-14 20:00:00; Beautiful Ship; 14; 888888
12345; 3; Victoria, British Columbia; 14 Night Alaska Cruise with Glacier Bay National Park 2025-06-15 21:00:00; 2025-06-16 6:00:00; Beautiful Ship; 14; 888888
12345; 4; San Francisco, California; 14 Night Alaska Cruise with Glacier Bay National Park 2025-06-20 7:00:00; NULL; Beautiful Ship; 14; 888888

Round trip (All)

The following example illustrates all the available fields for round trip:

sail_id; stop_index; port_of_call; itinerary_desc; arrival_dt; departure_dt; ship_name; sail_duration; itinerary_id; latitude; longitude; image_url; updated_at
12345; 0; San Francisco, California; 14 Night Alaska Cruise with Glacier Bay National Park; NULL; 2025-06-06 16:00:00; Beautiful Ship; 14; 888888; 37.773972; -122.431297; https://partner.com/images/XXXXX.jpg; 2025-06-06T00:00:00+00:00
12345; 1; Ketchikan, Alaska; 14 Night Alaska Cruise with Glacier Bay National Park; 2025-06-09 21:00:00; 2025-06-10 5:00:00; Beautiful Ship; 14; 888888; 55.341808; -131.647507; https://partner.com/images/XXXXX.jpg;  2025-06-09T00:00:00+00:00
12345; 2; Vancouver (Canada Place), British Columbia; 14 Night Alaska Cruise with Glacier Bay National Park; 2025-06-13 14:00:00; 2025-06-14 20:00:00; Beautiful Ship; 14; 888888; 49.246292; -123.116226; https://partner.com/images/XXXXX.jpg; 2025-06-13T00:00:00+00:00
12345; 3; Victoria, British Columbia; 14 Night Alaska Cruise with Glacier Bay National Park; 2025-06-15 21:00:00; 2025-06-16 6:00:00; Beautiful Ship; 14; 888888; 48.407326; -123.329773; https://partner.com/images/XXXXX.jpg; 2025-06-15T00:00:00+00:00
12345; 4; San Francisco, California; 14 Night Alaska Cruise with Glacier Bay National Park;2025-06-20 7:00:00; NULL; Beautiful Ship; 14; 888888; 37.773972; -122.431297; https://partner.com/images/XXXXX.jpg; 2025-06-20T00:00:00+00:00

JSON (for informational purposes)

One-way trip (Required)

The first sail or itinerary is a one-way from San Francisco to Canada for 4 nights. The following example illustrates only the mandatory fields:

[
  {
    "sail_id": "54321",
    "stop_index": "0",
    "port_of_call": "Seattle, Washington",
    "itinerary_desc": "4 Night Alaska Cruise Trip",
    "arrival_dt": null,
    "departure_dt": "2025-05-23 15:00:00",
    "ship_name": "Floating Home",
    "sail_duration": 4,
    "itinerary_id": "888888"
  },
  ---
  {
    "sail_id": "54321",
    "stop_index": "2",
    "port_of_call": "Vancouver (Canada Place), British Columbia",
    "itinerary_desc": "4 Night Alaska Cruise Trip",
    "arrival_dt": "2025-05-27 7:30:00",
    "departure_dt": null,
    "ship_name": "Floating Home",
    "sail_duration": 4,
    "itinerary_id": "888888"
  }
]

One-way trip (All)

The following example illustrates all the available fields for one-way trip:

[
  {
    "sail_id": "54321",
    "stop_index": "0",
    "port_of_call": "Seattle, Washington",
    "itinerary_desc": "4 Night Alaska Cruise Trip",
    "arrival_dt": "2025-05-23 15:00:00",
    "departure_dt": null,
    "ship_name": "Floating Home",
    "sail_duration": 4,
    "itinerary_id": "888888",
    "latitude": "47.608013",
    "longitude": "-122.335167",
    "image_url": "https://partner.com/images/XXXXX.jpg",
    "updated_at": "2025-05-23T00:00:00+00:00"
  },
  ---
  {
    "sail_id": "54321",
    "stop_index": "2",
    "port_of_call": "Vancouver (Canada Place), British Columbia",
    "itinerary_desc": "4 Night Alaska Cruise Trip",
    "arrival_dt": null,
    "departure_dt": "2025-05-27 7:30:00",
    "ship_name": "Floating Home",
    "sail_duration": 4,
    "itinerary_id": "888888",
    "latitude": "49.246292",
    "longitude": "-123.116226",
    "image_url": "https://partner.com/images/XXXXX.jpg",
    "updated_at": "2025-05-27T00:00:00+00:00"
  }
]

Round trip (Required)

The second sail is a round-trip from San Francisco covering Alaska and Canada for 14 nights. The following example illustrates only the mandatory fields:

[
  {
    "sail_id": "12345",
    "stop_index": "0",
    "port_of_call": "San Francisco, California",
    "itinerary_desc": "14 Night Alaska Cruise with Glacier Bay National Park",
    "arrival_dt": null,
    "departure_dt": "2025-06-06 16:00:00",
    "ship_name": "Beautiful Ship",
    "sail_duration": 14,
    "itinerary_id": "888888"
  },
  {
    "sail_id": "12345",
    "stop_index": "1",
    "port_of_call": "Ketchikan, Alaska",
    "itinerary_desc": "14 Night Alaska Cruise with Glacier Bay National Park",
    "arrival_dt": "2025-06-09 21:00:00",
    "departure_dt": "2025-06-10 5:00:00",
    "ship_name": "Beautiful Ship",
    "sail_duration": 14,
    "itinerary_id": "888888"
  },
  ---
  {
    "sail_id": "12345",
    "stop_index": "4",
    "port_of_call": "San Francisco, California",
    "itinerary_desc": "14 Night Alaska Cruise with Glacier Bay National Park",
    "arrival_dt": "2025-06-20 7:00:00",
    "departure_dt": null,
    "ship_name": "Beautiful Ship",
    "sail_duration": 14,
    "itinerary_id": "888888"
  }
]

Round trip (All)

The following example illustrates all the available fields for round trip:

[
  {
    "sail_id": "12345",
    "stop_index": "0",
    "port_of_call": "San Francisco, California",
    "itinerary_desc": "14 Night Alaska Cruise with Glacier Bay National Park",
    "arrival_dt": null,
    "departure_dt": "2025-06-06 16:00:00",
    "ship_name": "Beautiful Ship",
    "sail_duration": 14,
    "itinerary_id": "888888",
    "latitude": "37.773972",
    "longitude": "-122.335167",
    "image_url": "https://partner.com/images/XXXXX.jpg",
    "updated_at": "2025-06-06T00:00:00+00:00"
  },
  {
    "sail_id": "12345",
    "stop_index": "1",
    "port_of_call": "Ketchikan, Alaska",
    "itinerary_desc": "14 Night Alaska Cruise with Glacier Bay National Park",
    "arrival_dt": "2025-06-09 21:00:00",
    "departure_dt": "2025-06-10 5:00:00",
    "ship_name": "Beautiful Ship",
    "sail_duration": 14,
    "itinerary_id": "888888",
    "latitude": "55.341808",
    "longitude": "-131.647507",
    "image_url": "https://partner.com/images/XXXXX.jpg",
    "updated_at": "2025-06-09T00:00:00+00:00"
  },
  ---
  {
    "sail_id": "12345",
    "stop_index": "4",
    "port_of_call": "San Francisco, California",
    "itinerary_desc": "14 Night Alaska Cruise with Glacier Bay National Park",
    "arrival_dt": "2025-06-20 7:00:00",
    "departure_dt": null,
    "ship_name": "Beautiful Ship",
    "sail_duration": 14,
    "itinerary_id": "888888",
    "latitude": "37.773972",
    "longitude": "-122.431297",
    "image_url": "https://partner.com/images/XXXXX.jpg",
    "updated_at": "2025-06-20T00:00:00+00:00"
  }
]