> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voyantcloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Product Itinerary

> Fetch itinerary days for a product and manage day-level accommodation assignments.

## Endpoints

| Method | Path                                                   | Description                                                              |
| ------ | ------------------------------------------------------ | ------------------------------------------------------------------------ |
| GET    | `/v1/products/:id/itinerary`                           | Retrieve itinerary days (optionally with segments and activity options). |
| GET    | `/v1/products/:id/itinerary/days/:dayId/accommodation` | Get the accommodation assignment for a specific day.                     |
| PATCH  | `/v1/products/:id/itinerary/days/:dayId/accommodation` | Assign or update the accommodation option for a day.                     |
| DELETE | `/v1/products/:id/itinerary/days/:dayId/accommodation` | Remove the accommodation assignment for a day.                           |

<Info>
  Read operations require the `products:read` scope. Assigning or deleting accommodation requires `products:write`.
</Info>

## Key concepts

* The itinerary is versioned. Fetching `/itinerary` returns the current version ID along with day data. If a product has no itinerary yet, the API initializes a default draft version automatically.
* Use the `locale` query parameter to override day titles/descriptions with localized translations when available.
* Supply `include=segments` to embed daily segments, and `include=options` to further embed activity option groups within each segment.
* Accommodation assignments reference entries from `product_accommodation_options`; assigning the same day again upserts the record.
* Removing an assignment returns `{ ok: true }` without error when no assignment existed.
