> ## 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.

# Assign Day Accommodation

> Assign or update the accommodation option for an itinerary day.

## Method

`PATCH` `/v1/products/:id/itinerary/days/:dayId/accommodation`

## Path Parameters

<ParamField path="id" type="uuid" required>Product ID.</ParamField>
<ParamField path="dayId" type="uuid" required>Itinerary day ID.</ParamField>

## Body Parameters

<ParamField name="optionId" type="uuid" required>Accommodation option ID from the product’s accommodation set.</ParamField>
<ParamField name="nights" type="integer">Number of nights to assign (defaults to `1`).</ParamField>

## Headers

<ParamField header="Authorization" type="string">Bearer token (requires `products:write`).</ParamField>
<ParamField header="content-type" type="string">`application/json`</ParamField>

## Request Example

<RequestExample>
  ```bash cURL theme={null}
  curl -X PATCH "https://api.voyantcloud.com/v1/products/prod_123/itinerary/days/day_001/accommodation" \
    -H "Authorization: Bearer $VOYANT_API_KEY" \
    -H "content-type: application/json" \
    -d '{
      "optionId": "accom_opt_123",
      "nights": 3
    }'
  ```

  ```javascript Node.js theme={null}
  await fetch("https://api.voyantcloud.com/v1/products/prod_123/itinerary/days/day_001/accommodation", {
    method: "PATCH",
    headers: {
      Authorization: `Bearer ${process.env.VOYANT_API_KEY}`,
      "content-type": "application/json",
    },
    body: JSON.stringify({ optionId: "accom_opt_123" }),
  })
  ```

  ```python Python theme={null}
  import os, requests

  payload = {"optionId": "accom_opt_123", "nights": 2}

  requests.patch(
    "https://api.voyantcloud.com/v1/products/prod_123/itinerary/days/day_001/accommodation",
    headers={
      "Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}",
      "content-type": "application/json",
    },
    json=payload,
  )
  ```
</RequestExample>

## Response

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "assignment": {
      "id": "dayacc_001",
      "option_id": "accom_opt_123",
      "nights": 3
    }
  }
  ```
</ResponseExample>

<Warning>
  `optionId` must belong to the same product. If the day does not exist or is not linked to the product, the API returns `400` or `404` accordingly.
</Warning>
