> For the complete documentation index, see [llms.txt](https://docs.guibo.travel/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.guibo.travel/publishing/tour-guide-app/personalized-accommodation.md).

# Personalized Accommodation

A **guidebook** holds the content shared by every booking of a product. **Accommodations** are the part that changes from booking to booking — the dates, often a comment, and sometimes the hotel itself when the usual one is unavailable. This is why accommodations are managed **per booking, on the release** — not in the guidebook.

## What travelers see

{% columns %}
{% column %}

#### Accommodation List

Personalized accommodation list easily accessible from the trip's home screen.

<div align="center"><figure><img src="/files/YsfIJvrYkXHMiIkZd95y" alt="" width="375"><figcaption><p>Accommodation List in the Tour Guide App</p></figcaption></figure></div>
{% endcolumn %}

{% column %}

#### Check-in/out Events (optional)

Check-in and check-out accommodation within each day-by-day stage&#x20;

<figure><img src="/files/YSuqntIsddhEWJVrURp5" alt=""><figcaption><p>Check-in &#x26; check-out accommodations per day</p></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

### Choose your layout

How hotels appear in the app depends on **how your stages are structured**. Find your case below:

<table><thead><tr><th width="360">Your stages are…</th><th>Hotels shown on each stage?</th></tr></thead><tbody><tr><td><strong>Travel days</strong> — a different hotel each night (classic point-to-point tour)</td><td><strong>Yes</strong> — each day shows its check-in and check-out hotel</td></tr><tr><td><strong>Travel days</strong> — the same hotel every night (a "star" trip from one base)</td><td><strong>Yes</strong> — each day shows the hotel, so travelers have everything for that day in one place</td></tr><tr><td><strong>Curated collections</strong>, not days — restaurants, routes, experiences</td><td><strong>No</strong> — hotels appear only under the <strong>Accommodation</strong> list in the app</td></tr></tbody></table>

When your stages are travel days, GUIBO places the right hotel on each day automatically, using **destination points** in the guidebook (set these up below). When they are curated collections, you simply switch the per-stage display off — travelers still get every hotel in the app's accommodation overview.

### Accommodation Details

Each release shows booking-specific accommodation details in the Tour Guide App:

| Field                                                | Description                                                  |
| ---------------------------------------------------- | ------------------------------------------------------------ |
| **Arrival date**<mark style="color:red;">\*</mark>   | Check-in date for this accommodation                         |
| **Departure date**<mark style="color:red;">\*</mark> | Check-out date for this accommodation                        |
| **Comment**                                          | Booking-specific notes (e.g. "Breakfast included, 3 adults") |

{% hint style="warning" %} <mark style="color:red;">\*</mark> Arrival and departure dates are mandatory for the trip overall **and** for each individual accommodation.
{% endhint %}

***

## Prepare your account and guidebooks

Choose if you want to **show hotels in stage timeline.** A toggle decides whether hotels show on each stage:

* **On** — your stages are **travel days** (whether the hotel changes nightly or stays the same for a "star" trip).
* **Off** — your stages are **curated collections**, not days. Travelers still see every hotel under the **Accommodation** link in the app.

Set it at three levels — the **most specific level applies**:

<table><thead><tr><th width="140">Level</th><th>Where to set it</th><th>Scope</th></tr></thead><tbody><tr><td><strong>Account</strong></td><td><code>App</code> → <strong>App Settings</strong></td><td>Default for all guidebooks and releases</td></tr><tr><td><strong>Guidebook</strong></td><td><code>Channels</code> → <strong>Smartphone App</strong> (gear icon)</td><td>Overrides the account default for one guidebook</td></tr><tr><td><strong>Release</strong></td><td><code>Release Dashboard</code> → release → <code>Settings</code> → <strong>Functions</strong></td><td>Overrides for a single booking</td></tr></tbody></table>

### Set up destination points

When per-stage hotels are on, GUIBO matches each accommodation to the stage whose **destination point** is closest — there is no distance limit. Each hotel then appears at the **end of its stage (check-in)** and the **start of the next day (check-out)**.

For this to work, the guidebook needs:

1. A **destination point** in every day/stage category
2. An **arrival day/stage** with its own destination point

{% hint style="danger" %}
Manage all destinations for all guidebooks in **one shared library**. Linking from a single library (instead of re-creating destinations per guidebook) keeps hotel-to-destination distances consistent across products with shared stages.
{% endhint %}

**Add destination points:**

1. **Create a dedicated destination library** to maintain unique destination points across all guidebooks.
2. Open your guidebook and click **Edit Content** to access the content builder.
3. Click the **map icon** to view all existing destination points from your libraries.
4. **Import an existing destination point** by clicking the relevant map icon.
5. To **create a new destination point:**
   * Click the respective stage on the left
   * Click **Add Item → Add Markers**
   * Set the destination point on the map
   * Save it to your destination library

***

## Add booking specific accommodations to your releases

With your guidebook set up, add and adjust accommodations on each release.

#### Add accommodations

{% tabs %}
{% tab title="Web portal" %}

1. Go to the **Release Dashboard** and open the release.
2. At the bottom right, open the **Accommodation** tab.
3. Add or review the accommodations for this release.

<figure><img src="/files/okKdN4Iwly0ftWVJ6bqC" alt="" width="375"><figcaption><p>How to add accommodations in the release dashboard</p></figcaption></figure>

{% endtab %}

{% tab title="API" %}
**1. Trip arrival and departure dates**

Include booking dates for the overall trip when creating the release:

```json
...
"arrivaldate":"2025-01-22",
"departuredate": "2025-01-25"
...
```

**2. Accommodation details**

Provide arrival date, departure date, and any comment along with the accommodation POI:

```json
...
 "accommodation": [
           {
               "externalId":"HPO1",
               "libraryExternalId":"HOTELS",
               "arrivalDate":"2025-09-05",
               "departureDate":"2025-09-06",
               "comment":"A generous breakfast buffet is included"
           }
       ]
```

End-to-end example: #b-create-download-permission-with-customization
{% endtab %}
{% endtabs %}

#### Exclude extra hotels (arrival or departure nights)

An accommodation with **a new locaiton outside the trip plan** — such as an extra night before or after the tour — can push the correct hotel off a stage during matching. Mark it as beyond the trip plan: it stays in the traveler's accommodation list but is skipped during matching.

{% tabs %}
{% tab title="Web portal" %}
Open the accommodation and enable **This accommodation is beyond the trip plan stages**.
{% endtab %}

{% tab title="API" %}
Set `beyondGuidebookContext` to `true` on the accommodation object.

```json
"accommodation": [
  {
    "externalId": "HSI0123",
    "libraryExternalId": "HOTELS",
    "arrivalDate": "2026-06-15",
    "departureDate": "2026-06-18",
    "category": null,
    "beyondGuidebookContext": true
  }
]
```

{% endtab %}
{% endtabs %}

#### Assign a hotel to a stage manually

Override the automatic result for a single hotel:

1. Open the **accommodation** on the Release Dashboard.
2. Set **Check-in stage** — the stage where the hotel appears as start accommodation.
3. Set **Check-out stage** — the stage where it appears as end accommodation.

***

### Troubleshoot

The **Audit log** on the Release Dashboard shows exactly why each hotel was matched the way it was — every change is recorded.&#x20;

{% hint style="warning" %}
**Validation** messages are also emailed when the release is created — review them before sending documents to travelers.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.guibo.travel/publishing/tour-guide-app/personalized-accommodation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
