Price feed contains pricing information for all cruise itineraries. It includes
the cheapest cabin price for a cruise for each type of currency. You can upload
price feeds in CSV format.

The following currencies are available with Google:

- `USD`
- `CAD`
- `AUD`
- `GBP`

USD is the only available currency for integration with Google. You can provide
other supported currencies but only USD currency is displayed. Additional
currencies from the list will be supported in the future. Refer to the list of
other [supported currencies](https://support.google.com/merchants/answer/160637#countrytable)
and corresponding three-letter currency code.

## Key components

The price 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.
- **`currency_code`** : A unique [three-letter currency code](https://support.google.com/merchants/answer/160637#countrytable)
  for the specific currency.

  > [!IMPORTANT]
  > **Key Point:** `sail_id` and `currency_code` are concatenated to form a composite primary key and must be unique.

- **`cruise_line`**: The name of the cruise line.

- **`starting_price`**: The total price of the cruise itinerary including taxes.

- **`sail_url`**: The URL of the landing page that shows the price information.

## Fields

| 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 `currency_code` are concatenated to form a composite primary key and must be unique. |
| currency_code | Required | currency | The [three-letter currency code](https://support.google.com/merchants/answer/160637#countrytable) for the price. For example, `currency_code` can be `USD`. **Note:** `sail_id` and `currency_code` are concatenated to form a composite primary key and must be unique. |
| cruise_line | Required | string | The name of the cruise line. `cruise_line` is required for aggregators who are selling on behalf of other companies. For example, `Norwegian Cruise Line`. |
| starting_price | Required | decimal | The total price of the cruise itinerary including taxes. The total price, including taxes and cruise fare. This should be the same value displayed on the partner website; when opening the offer URL. For example `1000.00`. |
| sail_url | Required | URL | The URL of the landing page that shows the price information. For example, `https://partner.com/path.html&id=XYZ12345` |
| offer_desc | Optional | string | A description of the offer associated to the price or cabin name. For example, `Inside Cabin`. |
| image_url | Optional | URL | The URL of an image that represents the itinerary. The image should be related to the cruise interiors such as an image of the cabin, ship deck and other facilities provided in the ship. The image doesn't have to be of the exact cabin that is listed. You can use a different cabin image. Example of an `image_url` is `https://partner.com/images/XXXXX.jpg` |
| brand_name | Optional | string | Secondary key to allow multiple `sail_url`'s for the same `sail_id` and `currency_code`. For example, `Fancy Crusies`. |
| 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](https://www.ietf.org/rfc/rfc8601.txt) format. For example the `updated_at` is `2025-01-22T00:00:00+00:00`. |

## Examples

The following is a basic example of a price 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`, `currency_code`
fields are concatenated to form the composite primary key and must be unique for
each row.

> [!IMPORTANT]
> **Key Point:** Don't use `JSON` format; it is for informational purposes only. All feeds must be in `CSV` format.

### CSV

### Required fields

The following is an example for the required fields in Price feed:

    sail_id, currency_code, cruise_line, starting_price, sail_url
    12345, USD, Happy Cruises Company, 2198, https://partner.com/path.html&id=XYZ12345
    54321, GBP, Happy Cruises Company, 449, https://partner.com/path.html&id=ABC12345
    54321, USD, Happy Cruises Company, 430, https://partner.com/path.html&id=ABC12345

### All available fields

The following example is an example for all the available fields in Price
feed:

    sail_id, currency_code, cruise_line, starting_price, sail_url, offer_desc, image_url, brand_name, updated_at
    12345, USD, Happy Cruises Company, 2198, https://partner.com/path.html&id=XYZ12345, Inside Cabin,https://partner.com/images/XXXXX.jpg, Fancy Cruises, 2025-06-20T00:00:00+00:00
    54321, GBP, Happy Cruises Company, 449, https://partner.com/path.html&id=ABC12345, Inside Cabin,https://partner.com/images/XXXXX.jpg, Caribbean Crusies, 2025-06-20T00:00:00+00:00
    54321, USD, Happy Cruises Company, 430, https://partner.com/path.html&id=ABC12345, Inside Cabin,https://partner.com/images/XXXXX.jpg, Caribbean Crusies, 2025-06-20T00:00:00+00:00

### JSON (for informational purposes)

### Required fields

The following is an example for the required fields in Price feed:

    [
      {
        "sail_id": "12345",
        "currency_code": "USD",
        "cruise_line": "Happy Cruises Company",
        "starting_price": 2198,
        "sail_url": "https://partner.com/path.html&id=XYZ12345"
      },
      {
        "sail_id": "54321",
        "currency_code": "GBP",
        "cruise_line": "Happy Cruises Company",
        "starting_price": 449,
        "sail_url": "https://partner.com/path.html&id=XYZ12345"
      },
      {
        "sail_id": "54321",
        "currency_code": "USD",
        "cruise_line": "Happy Cruises Company",
        "starting_price": 430,
        "sail_url": "https://partner.com/path.html&id=XYZ12345"
      }
    ]

> [!NOTE]
> **Note:** All feeds should be in CSV format. Don't use JSON format.

### All available fields

The following example is an example for all the available fields in Price
feed:

    [
      {
        "sail_id": "12345",
        "currency_code": "USD",
        "cruise_line": "Happy Cruises Company",
        "starting_price": 2198,
        "sail_url": "https://partner.com/path.html&id=XYZ12345",
        "offer_desc": "Inside Cabin",
        "image_url": "https://partner.com/images/XXXXX.jpg",
        "brand_name": "Fancy Crusies",
        "updated_at": "2025-06-20T00:00:00+00:00"
      },
      {
        "sail_id": "54321",
        "currency_code": "GBP",
        "cruise_line": "Happy Cruises Company",
        "starting_price": 449,
        "sail_url": "https://partner.com/path.html&id=XYZ12345",
        "offer_desc": "Inside Cabin",
        "image_url": "https://partner.com/images/XXXXX.jpg",
        "brand_name": "Caribbean Crusies",
        "updated_at": "2025-06-20T00:00:00+00:00"
      },
      {
        "sail_id": "54321",
        "currency_code": "USD",
        "cruise_line": "Happy Cruises Company",
        "starting_price": 430,
        "sail_url": "https://partner.com/path.html&id=XYZ12345",
        "offer_desc": "Inside Cabin",
        "image_url": "https://partner.com/images/XXXXX.jpg",
        "brand_name": "Caribbean Crusies",
        "updated_at": "2025-06-20T00:00:00+00:00"
      }
    ]

> [!NOTE]
> **Note:** All feeds should be in CSV format. Don't use JSON format.