# Welcome

Find step-by-step guides, feature tutorials, and troubleshooting help for HolidayHero. Get the support you need to manage your holiday rental business with ease.

<div data-full-width="true"><figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FiEwvxHPhn7tvNgDPuIKz%2FUntitled-1.webp?alt=media&amp;token=14a448b7-2bb9-4b02-86d4-51dd8180b28e" alt=""><figcaption></figcaption></figure></div>

At HolidayHero, we're here to make managing your holiday rental business seamless and stress-free. Whether you're looking to optimize your setup, explore advanced features, or troubleshoot an issue, you’re in the right place.

Our Support Portal is your go-to resource for step-by-step guides, tips, and answers to frequently asked questions. Navigate through our comprehensive documentation, stay updated with the latest features, and find everything you need to make the most of HolidayHero.

#### How Can We Help You Today?

* **Get Started**: New to HolidayHero? Start with our onboarding guides.
* **Explore Features**: Learn how to use our tools, from managing bookings to setting up automations.
* **Troubleshooting**: Find quick fixes for common issues.
* **Need More Help?** Contact our support team directly from here.

We’re committed to empowering you to create exceptional guest experiences with ease. Let’s make every stay unforgettable!


# Getting Started

How to get started with HolidayHero

We appreciate your interest in HolidayHero and want you to get started as quickly as possible.&#x20;

{% stepper %}
{% step %}

### Create your account

Before we can start we need to create an Trial account. By default our software is 2 weeks full trial for free.&#x20;

Click [here](https://accounts.holidayhero.com/signup) to create an account. (<https://accounts.holidayhero.com/signup>)
{% endstep %}

{% step %}

### Provide your rental / business information

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FjOkiOjra1VBc52ORa9Gx%2FXnapper-2025-01-13-15.39.08.png?alt=media&amp;token=b0e2e1bd-e284-4109-b8ca-fa1108425db1" alt=""><figcaption></figcaption></figure>

Provide the following information:&#x20;

* Business name
* Phone number
* Website

Once done, click continue
{% endstep %}

{% step %}

### Provide your language and currency

HolidayHero is fully multilingual. We allow to create the app in any language. In order to create your stunning guest experience, we need to know the **language** and the **currency** we need to use in our platform.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FgbfnMFMwNuJ22O2pLQxX%2Flocales.png?alt=media&amp;token=7f565cb6-0720-4cd0-ba0e-9b75ac8377eb" alt=""><figcaption></figcaption></figure>

Provide the following information:

* Language
* Currency

Click continue to finalize create your account
{% endstep %}

{% step %}

### Create your login

In order to make sure your workspace is secure, we need to create your login. You will be asked to create an account or login with a new account.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FeaafZVUNQIPGj9696rhS%2Flogin_create.png?alt=media&amp;token=38b6b81e-7b9e-4cd1-ab61-c1661578d207" alt=""><figcaption></figcaption></figure>

To make this a lot easier, we allow you to login through Google and Apple. If you was to create your account with your another type of email, simply type your email and we will authenticate you.&#x20;

Follow these steps:&#x20;

1. Provide your email
2. Check your email for an One-Time-Password. This is a 6-digit code.&#x20;
3. Provide the 6-digit code&#x20;
4. Click continue.&#x20;
   1. If your account didn't exist yet, you will be asked for your first and last name.&#x20;

{% endstep %}

{% step %}

### Create your listing

Congrats! You have create your trial account. By now it is time to create your first listing.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FA0CqbnazaRHIERYeNyjU%2FXnapper-2025-01-13-15.48.57.png?alt=media&amp;token=019d09fb-9514-48e7-bd4e-835302b913b5" alt=""><figcaption></figcaption></figure>

Follow the steps in the wizard to create your first listing.&#x20;
{% endstep %}
{% endstepper %}

***

### Next up:&#x20;

1. It is recommend to create your first listing. [Follow these steps](/getting-started/onboarding)

Afterwhich, you are ready to become a HolidayHero advanced user with these guides:&#x20;

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Adjust the branding</strong></td><td></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FC0DKOvDlGoUIGnUFbrFG%2Fbranding-min.png?alt=media&amp;token=f1c6cf57-e4b5-4683-95d3-5a4c1ddd9f71">branding-min.png</a></td><td><a href="/guides/adjust-the-branding">Adjust the Branding</a></td></tr><tr><td><strong>Effectively use Touchpoints</strong></td><td></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FEwZoD5T1KGwTVMCE8Vc0%2Ftouchpoints-resized-min.png?alt=media&amp;token=3f2707cd-25bf-47b0-8c8a-581f468383fc">touchpoints-resized-min.png</a></td><td><a href="/guides/effectively-use-touchpoints">Effectively use Touchpoints</a></td></tr><tr><td><strong>Power of metafields</strong></td><td></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FhR8cflTHGrYISGVgaSYu%2Fmetafields-resized-min.png?alt=media&amp;token=9c9dcad9-57bb-4aa3-8a5e-0d58a8c755f9">metafields-resized-min.png</a></td><td><a href="/guides/power-of-metafields">Power of Metafields</a></td></tr><tr><td><strong>Translate your content</strong></td><td></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F9vvWTIu9wOYSXfkQaNMz%2Ftranslations-resized-min.png?alt=media&amp;token=9869a6cf-95fe-41a9-b6e0-3797e0c5308e">translations-resized-min.png</a></td><td><a href="/guides/translate-your-content">Translate your content</a></td></tr><tr><td><strong>Invite your suppliers</strong></td><td></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FBCyjebyjNfWgu8W2asAU%2Fsupplier-portal-resized-min.png?alt=media&amp;token=62f67d99-12cb-4085-b023-8876bac677cf">supplier-portal-resized-min.png</a></td><td><a href="/guides/invite-suppliers">Invite Suppliers</a></td></tr></tbody></table>


# Onboarding

With our simple and fast onboarding it is easy to improve your guest experience.

he time you have reached the onboarding section, you should have created your first listing and reservation. If not, please read the [Getting Started](/) guide.&#x20;

***

### **Onboarding Wizard**

Our onboarding Wizard helps you to guide through 5 easy steps to get you started as fast as possible.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fo75zeaqU6VhUcre35L2h%2FXnapper-2024-11-28-11.37.08.png?alt=media&amp;token=c9526fb7-23fa-4ce5-9d4d-14f1dcccd33f" alt=""><figcaption><p>Our onboarding wizard. </p></figcaption></figure>

{% hint style="info" %}
If the onboarding is no longer visible on your dashboard, contact our support team to re-activate it for you.&#x20;
{% endhint %}

***

### Onboarding Steps

Following to following 5 steps to get started with all the basic features of HolidayHero.&#x20;

{% stepper %}
{% step %}

### Create your first listing

Once you have created your account, you should have created your first listing. If that is not the case, you can start the creation of a listing through this wizard. Our onboarding wizard, works the fastest if you have your property listed on one of these platforms; Airbnb.com, Booking.com or Tripadvisor.&#x20;

1. In the wizard click on `Create your first listing`&#x20;
2. Choose whether you want to import listing through an existign platform or manually want to create it.&#x20;
3. Follow the steps in the listing creation to finalize your listing.&#x20;
   {% endstep %}

{% step %}

### Create your first reservation

Once a listing is created through the wizard, it should automatically create a reservation as well. Our listings have a public url and a reservation based URL.&#x20;

If no reservation has been created follow these steps.&#x20;

1. In the wizard click on `Create a reservation`&#x20;
2. Select the listing you want to create a reservation for.&#x20;
3. Select the check-in and check-out dates
4. Provide the booker details
5. Provide the guest amounts
6. Save the reservation.&#x20;

Based on this information we will create the [reservation](/the-basics/reservations) with an [invite](/the-basics/reservations/invites) attached to it.&#x20;
{% endstep %}

{% step %}

### Connect a Property Management System

Don't want the hasstle of manually creating reservations? Start by connecting a Property Management System. The majority of the larger PMS'es is integrated and ready to use. In case you are missing an integration, feel free to reach out to <support@holidayhero.com>

If you have an PMS, follow these steps:&#x20;

1. Either select an PMS from the wizard overview, is the PMS not listed there, click `Integrations` in the left menu
2. Click on the desired integration.&#x20;
3. You will be redirected to an Authentication screen, login with your same details to install the PMS integration.&#x20;
4. Completed the settings of the integration.&#x20;
   {% endstep %}

{% step %}

### Connect your stripe account

With our propiatary upsells you will be able to generate more revenue. In order to start accepting payments, connect your stripe account.&#x20;

1. Click on `Connect Stripe`and login with your Stripe account.&#x20;
   1. Don't have a stripe account? No worries, creating a stripe account is easy, just follow the steps.&#x20;
2. Once completed, you will be redirected to our backoffice.&#x20;
   {% endstep %}

{% step %}

### Connect your smart devices

Does your property have any smart devices and want to give control to your guests? Follow the steps of partners to setup the integrations.&#x20;

1. Select an integration from the list.&#x20;
2. Click on the desired integration.&#x20;
3. You will be redirected to an Authentication screen, login with your same details to install the PMS integration.&#x20;
4. Completed the settings of the integration.&#x20;
   {% endstep %}
   {% endstepper %}

Congratulations! Your guest experiences has just become a lot better.&#x20;

***

### Ready to go one step further?&#x20;

HolidayHero is fully customizable. Follow these guides to further personalize / adjust your guest experience.&#x20;

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Adjust the branding</strong></td><td></td><td></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FC0DKOvDlGoUIGnUFbrFG%2Fbranding-min.png?alt=media&amp;token=f1c6cf57-e4b5-4683-95d3-5a4c1ddd9f71">branding-min.png</a></td><td><a href="/guides/adjust-the-branding">Adjust the Branding</a></td></tr><tr><td><strong>Effectively use Touchpoints</strong></td><td></td><td></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FDB4cYHQWOGR0K76yfjKV%2Ftouchpoints-resized-min.png?alt=media&amp;token=0f10bbf4-a621-494c-bdb5-24a0f06682aa">touchpoints-resized-min.png</a></td><td><a href="/guides/effectively-use-touchpoints">Effectively use Touchpoints</a></td></tr><tr><td><strong>Power of Metafields</strong></td><td></td><td></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FP24Nhun636yWzDyFL9es%2Fmetafields-resized-min.png?alt=media&amp;token=69954ca8-249d-4d24-afe4-a18e7a097f48">metafields-resized-min.png</a></td><td><a href="/guides/power-of-metafields">Power of Metafields</a></td></tr><tr><td><strong>Translate your content</strong></td><td></td><td></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F9vvWTIu9wOYSXfkQaNMz%2Ftranslations-resized-min.png?alt=media&amp;token=9869a6cf-95fe-41a9-b6e0-3797e0c5308e">translations-resized-min.png</a></td><td><a href="/guides/translate-your-content">Translate your content</a></td></tr><tr><td><strong>Invite Suppliers</strong></td><td></td><td></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FIlzqJVb4lvSUnhNbF5My%2Fsupplier-portal-resized-min.png?alt=media&amp;token=c2c815e7-3086-4d1c-819a-3a858e1746e1">supplier-portal-resized-min.png</a></td><td><a href="/guides/invite-suppliers">Invite Suppliers</a></td></tr></tbody></table>


# Glossary

This list highlights select HolidayHero-specific terms you might encounter throughout the user manual and core references. It focuses on terms with a unique meaning within the HolidayHero application.

<details>

<summary>Amenities</summary>

Amenities are additional features in or around the property. Within HolidayHero we focus on features that could raise questions. Such as dishwashers, washing machines, hairdryers, etc. See a full list of available amenities here.&#x20;

</details>

<details>

<summary>Experiences</summary>

Experiences are places that can be visited or items that can be purchased. It ranges from restaurants to beaches, supermarkets but also upsells. Experiences are split up into categories. A full list of categories can be found here.&#x20;

</details>

<details>

<summary>Guidebooks</summary>

Guidebooks are used to write simple manuals and descriptions. Examples of guidebooks:&#x20;

* House-rules
* Safety and property guidelines
* Terms and Conditions
* Privacy Policy
* Checkin Instructions
* Checkout Instructions

</details>

<details>

<summary>Integrations</summary>

HolidayHero is specialized in improving your guest experience. In order to deliver a stellar guest experience we might need additional data. Such as importing reservations or listings. Integrations is a list of external applications that can be connected through an *integration.* This integrations can be made by HolidayHero or external parties.&#x20;

</details>

<details>

<summary>Announcements</summary>

Announcements are special cards that rise at the top of the home page. See them as important things you want to highlight. Such as a link to the instructions or an special upsell you want to highlight.

</details>

<details>

<summary>Reservations</summary>

A reservation is booking of listing. It has a check in time and an checkout time. Reservations can be linked together through a parent-child relation.

</details>

<details>

<summary>Listings</summary>

</details>

<details>

<summary>Inquiries</summary>

</details>

<details>

<summary>Touchpoints</summary>

</details>

<details>

<summary>Brands</summary>

</details>

<details>

<summary>Metafields</summary>

</details>

<details>

<summary>Workspace</summary>

</details>

<details>

<summary>Account</summary>

</details>

<details>

<summary>Operator</summary>

An operator is a logged in user within their workspace. They can have a set of permissions to complete certain tasks.&#x20;

</details>

<details>

<summary>App Users</summary>

An App User is a guest that has used the app. He has logged into the application, it is not explicit that they have a reservation tied to their account. They can have as many reservations as they want.&#x20;

</details>

<details>

<summary>Web App</summary>

Our browser based guest portal

</details>

<details>

<summary>Native App</summary>

Our HolidayHero app as listed in the Apple App Store and Google Play Store.&#x20;

</details>

<details>

<summary>Suppliers</summary>

</details>

<details>

<summary>Invites</summary>

An invite is a access code, that gives you access to a reservation. It is tight to a reservation and contains a URL and 12 characters code. These codes can be used multiple times, allowing guests to share this with other guests in the group.&#x20;

</details>


# Adjust the Branding

How to get started with HolidayHero


# Effectively use Touchpoints

With our simple and fast onboarding it is easy to improve your guest experience.

Once you have reached the onboarding phase, you already have created your first listing and reservation. If not, go back to the [Getting Started](/) section.&#x20;

***

### **Onboarding Wizard**

Our onboarding Wizard helps you to guide through 5 easy steps to get you started as fast as possible.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fo75zeaqU6VhUcre35L2h%2FXnapper-2024-11-28-11.37.08.png?alt=media&amp;token=c9526fb7-23fa-4ce5-9d4d-14f1dcccd33f" alt=""><figcaption><p>Our onboarding wizard. </p></figcaption></figure>

{% hint style="info" %}
If the onboarding is no longer visible on your dashboard, contact our support team to re-activate it for you.&#x20;
{% endhint %}

***

### Onboarding Steps

1. [Create your listing](#id-1.-create-your-listing)
2. [Create a reservation](#id-2.-create-a-reservation)
3. Connect a Property Management System
4. Connect your stripe account
5. Connect your smart devices

***

#### 1. Create your listing

A guest experience can't start without a listing. Let's first create a listing.&#x20;

<details>

<summary>How to create a listing?</summary>

1. Click on `Create your first listing` in the onboarding wizard
   1. The listing wizard  will start.

</details>

***

#### 2. Create a reservation

Once you have the listing, you would need a reservation to see how the guest experience looks like. Normally at the end of creating a listing, we create a demo reservation. If you want to create another reservation manually proceed to the [`How to create a reservation`](#how-to-create-a-listing) guide

***

#### 3. Connect a Property Management System


# Power of Metafields

This list highlights select HolidayHero-specific terms you might encounter throughout the user manual and core references. It focuses on terms with a unique meaning within the HolidayHero application.


# Translate your content


# Invite Suppliers


# Customize Guest Journey

A guest journey is a vital part of the guest experience. In HolidayHero you can customize and tailor the guest journey according to your likes.

### **What is a Guest Journey?**&#x20;

A guest journey consists of two types of information:

* Information that is being pushed
  * **Touchpoints**&#x20;
* Information that is being pullend
  * **Guest App**

In order to tailor / customize your guest journey, you first need to make sure you have clear objectices. What do you want to achieve with your guest journey?&#x20;

**Examples of highlevel objectives are:**&#x20;

1. Retrieve 5 star reviews&#x20;
2. Provide frictionless self-checkins
3. Increase revenue per guest
4. Eliminate questions

{% hint style="info" %}
Before your start customizing your journey, set your own objectives. Then adjust the journey based on your objectives.&#x20;
{% endhint %}

Now let's use the 4 examples above on how to adjust the guest journey to achieve your goals.&#x20;

***

### Retrieve 5 star reviews&#x20;

Retrieving 5 star reviews is one of the most sought after objectives. We have analyzed 100's of hosts across the majority of platforms. All the 5 start reviews resemble a set of the following:&#x20;

<details>

<summary><strong>Set Clear Expectations</strong></summary>

1. **Riew your listing images and descriptions**. Make sure that all amenities are listed, and remove any non-existing amenities.&#x20;
2. **Ensure that all amenities in HolidayHero have the correct information**, manuals, and descriptions on how to use them. Easily missed items:
   1. Describe the coffee machine and what type of coffee guests should bring/buy
   2. Describe the location, type, and usage of the iron
   3. Describe the location, type, and usage of the hair dryer
   4. Describe the location, type, and usage of the washing machine&#x20;

By default, amenities are shown pre-arrival, allowing you to showcase what is available on the property, reducing the need to bring their gear and eliminating questions.&#x20;

3. **Set clear rules**. Rules should be transparent and consistent throughout the entire guest journey. Make sure your house rules on Airbnb.com match your house rules in all communication.
   1. Does your guest app showcase your house rules?&#x20;
   2. Does your guest app showcase the safety & property guidelines?&#x20;

</details>

<details>

<summary><strong>Provide a Smooth Booking &#x26; Check-In Process</strong></summary>

When people travel, they are constantly exposed to new experiences. As a result, they become fatigued and might forget important things and data. Therefore, it is essential to communicate the right information at the right time.&#x20;

* **Streamline Communication**: Send timely and professional messages to guests, including pre-arrival details and check-in instructions.
* **Keyless Entry or Easy Access:** Use tools like smart locks (e.g., Bold Smart Locks) to simplify check-in.

Does local legislation require you to collect tourism tax and/or guest data? Check what is expected and adjust the [check-in](/the-basics/brands/check-in) process.&#x20;

**Be aware:** Some countries, like Italy, no longer allow hostless / self-check-ins. Consult your local authorities to validate your needs. HolidayHero accommodates all types of check-ins.&#x20;

</details>

<details>

<summary><strong>Offer an Impaccable Guest Experience</strong></summary>

A guest experience is the result of guest expectations. You are 100% in charge of managing these expectations as an operator. Ensure that at least these basic expectations are matched:&#x20;

1. **Spotless Cleanliness:** Invest in professional cleaning services to ensure the property is sparkling for every guest.
   1. **Tip:** Incorporate in the house rules that if the property is not clean upon entry, guests should contact the host, leave a message through the guest app, etc.&#x20;
2. **Thoughtful Amenities:** Provide essentials (toiletries, fresh towels, quality bedding) and extras (coffee, snacks, charging stations).
   1. A perfect upsell possibility is to offer additional towels and linen sets. Sometimes, guests want to change their bedding and/or towels mid-stay, so offer them an additional set.&#x20;
      1. Within HolidayHero, you can automate this with your cleaners; our supplier portal allows you to do so.
3. **Comfortable Stay:** Ensure everything (Wi-Fi, appliances, heating/cooling) is functional. Add small luxuries like premium mattresses and pillows.
   1. Make sure that at least the Wi-FiWi-Fi password is shared within the guest app. This is the number one question asked upon arriving at the property.&#x20;

</details>

<details>

<summary><strong>Go Above and Beyond</strong></summary>

* **Personal Touches:** personalize the app or welcome message or provide a small gift like local snacks or wine.
  * In HolidayHero personalization can be achieved by using the field codes. You can easily insert the guests name and personal details.&#x20;
* **Local Recommendations:** Provide a list of local experiences with curated recommendations for restaurants, activities, and attractions.
  * In the backoffice we allow you to easily create experiences.&#x20;
* **Proactive Support:** Be available to address guest concerns quickly and politely.&#x20;
  * In HolidayHero create a announcement that asks for feedback. Link that to an experience with a form. You have feedback in no time!&#x20;

</details>

<details>

<summary><strong>Encourage Positive Reviews</strong></summary>

* **Follow-Up Email:** After check-out, send a thank-you message and encourage guests to leave a review.
  * In HolidayHero, create a Touchpoint for after checkout. Emphasize your happiness with their stay and that your are delighted to host them again. Encourage them to give you a 5 star review, as this is one of your motivational factors.&#x20;
* **Subtle Reminders:** Highlight how their feedback helps improve your service and assists future travelers

</details>

***

### Provide Fictionless Self-Checkins

Suppose you are not 100% available for check-in and want the guests to have the opportunity to check in at any given time. Adapt your guest journey to reflect that.

<details>

<summary><strong>Does your local legislation require the collection of personal data?</strong> </summary>

Within HolidayHero, we have the option to check in guests. Depending on the configuration, guests will be asked to provide the data of a single guest or all guests (See the Brand > [Check In settings](/the-basics/brands/check-in)).&#x20;

</details>

<details>

<summary><strong>Remind guests of what they can expect when</strong></summary>

Guests always want to enter the property earlier and leave later. Who doesn't want to enjoy a more extended holiday? Remove frustrations by emailing guests a day before arrival and departure about the check-in and check-out times. &#x20;

By doing so, you set expectations, and they know what to expect.&#x20;

</details>

<details>

<summary><strong>Handle unexpected situations</strong></summary>

If something unexpected happens, the guests want to share it as quickly as possible. In other words, they want to vent their frustration. Make sure that the guest knows that you are there for them. Perfect examples of doing so are:&#x20;

1. Schedule a personal email / SMS a few hours before check-in, letting them know you are available for feedback.&#x20;
   1. [Check our touchpoints](broken://pages/DDNNWEB7uFPeUSm7uN4e)

</details>

<details>

<summary><strong>Checkout approaching? Communicate what to expect</strong></summary>

Nothing is more annoying than arriving at a damaged property, finding tons of garbage, or having a dishwasher that hasn't run. &#x20;

Make sure that guests are informed through our automated messages. Let them know what you expect during the check-out.&#x20;

</details>

***

### Increase Revenue per guest

Each guest provides an opportunity to upsell. Many guests can impact your revenue. Below are some examples of how HolidayHero can increase your revenue. The above examples are available on the Touchpoints and the guest app.

<details>

<summary><strong>Provide additional in-house services</strong></summary>

Especially for more extended stays, guests are looking for more comfort. Make sure that the guests have the option to choose services like:&#x20;

* **Additional cleaning** - charge for an additional in-between or daily cleaning.&#x20;
* **Bedding / Linnen** - charge for additional linnensets. Guests don't need to wash them themselves.
* **Chef**: A chef can prepare breakfast, lunch, and dinner.&#x20;
* **Nanny Services**—Consult with a local nanny company and allow guests to book a nanny for their children. This will relieve them from the care and let them enjoy their holiday.&#x20;

</details>

<details>

<summary><strong>Offer pre-arrival upsells</strong></summary>

All guest would love to arrive at their convenience with their standards.

* **Offer earlier check-ins—**&#x69;f available, allow guests to book an early check-in. Various options are possible. One cool example would be to charge them by the hour.&#x20;
* **Offer in-fridge upsells**. Are your guests arriving late? And you run an STR? Upon their arrival, guests might want breakfast and a little snack, a perfect opportunity for upselling.&#x20;
* **Transport** —Make a deal with the local taxi/driver company and offer pickups. Nobody wants to have the hassle of exploring taxi companies upon their arrival. With our supplier portals, guests can communicate directly with your suppliers.&#x20;

</details>

<details>

<summary><strong>Increase direct (re)bookings through automated messages</strong></summary>

Direct bookings are, by default, more profitable than those through OTAs. Here are a few examples of how to increase direct bookings.&#x20;

1. **Automated post-departure messages**&#x20;
   1. Remind the guests about the new booking season that has just opened.&#x20;
   2. Remind the guests 90 days after their stay about their incredible stay
2. **Create an email that guests can forward to their friends**.
   1. Word of mouth is a powerful tool. Why not help your guests and create a post-stay email that they can forward to their friends?&#x20;

</details>

***

### Eliminate Questions

Each stay, each guest comes with questions. Therefore, the right information at the right time is essential.&#x20;

<details>

<summary><strong>Remind the guest of the check-in and check-out times</strong></summary>

Schedule automatic touchpoints and stages based on their pre-arrival and/or departure times. By doing so, guests know exactly what to expect.

</details>

<details>

<summary><strong>Highlight important amenities</strong></summary>

Most women doubt if they should bring their hair dryer. If you inform them on time, they can get another lovely dress instead of that bulky appliance. &#x20;

Guests tend to bring (a first set of) coffee and inform them what kind of coffee machine the property is equipped with.&#x20;

</details>


# Public Guest App

HolidayHero offers public guest applications. These allow you to quickly share information with your guests without having to import the reservations.

### What is the Public Guest App

The `public guest app` refers to the public version of your guest app. It sounds the same, but it is slightly different. At HolidayHero, the reservation is the central piece of the guest experience. On some occasions and through some OTAs, it is impossible to get all the details for an invite. That's where the public guest app comes in.

The public guest app is a special reservation stage in the guest journey. Managing this stage is done through the Reservation Stages tab within the brand.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FsJuD45sOliaEPExuJ03q%2Fpublic_stage.png?alt=media&amp;token=3b84c43d-3a4d-4ddf-a7f6-1eaa496f35eb" alt=""><figcaption><p>Public Stage within Reservation Stages</p></figcaption></figure>

### How to effectively use the public guest app?&#x20;

The HolidayHero Public Guest app is designed for all kind of hosts / concierges. Below are some use cases on how to use the public guest app.&#x20;

#### In House QR Codes:

Create or print out stickers, that have QR codes. Put them on the side of each bed, ensuring guests have access to access the guest app.  This will result in:

* More inhouse upsells
* Less pressure on concierge services
* More self-service of guests
* Eliminate the need for printing new leaflets&#x20;

#### Automated OTA messages:&#x20;

In case your properties are not connected to a PMS. You can setup automated messages in your OTA to automatically share the guest app.&#x20;

Each OTA has its way of creating, scheduling, and automating messages. See our guides here:

* [Airbnb](/guides/public-guest-app/airbnb-scheduled-messages)
* [Booking.com](/guides/public-guest-app/booking.com-template-scheduler)

***

### Frequently Asked Questions

<details>

<summary>Can I disable the public guest app? </summary>

</details>

<details>

<summary>Can I use QR codes as stickers to redirect users to the App? </summary>

</details>


# Airbnb Scheduled Messages

To ensure that every guest is able to find your public guest app and all its information, follow these steps to set up an automated message.

{% stepper %}
{% step %}

### Login to Airbnb

Make sure you are in the hosts portal, not the traveller

{% embed url="<https://www.airbnb.com>" %}
{% endstep %}

{% step %}

### Click on Messages in the top menu

{% endstep %}

{% step %}

### Click on the settings icon, within the left pane

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FPQOhiztT07UihhqTYHBr%2Fairbnb_scheduled%20messages.png?alt=media&amp;token=fe30345a-d0ff-4e0d-9d89-4f9d680fdbce" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Click on Scheduled Messages

A new modal will be opened where you can create a scheduled message.&#x20;
{% endstep %}

{% step %}

### Fill in the Create a message template

* Provide a name, e.g. `Guest App Invite`
* Provide an appealing message that invites the guest to visit the guest app.&#x20;

See sample message templates here

* Select the corresponding listing

{% hint style="info" %}
Remember, each listing has it's own unique URL. See [Listings > Links.](/the-basics/listings/links)&#x20;
{% endhint %}

* Set the scheduling

{% hint style="info" %}
If you are using the iCal integration, be aware that importing a new reservation can take up to 1 hour.&#x20;
{% endhint %}
{% endstep %}
{% endstepper %}


# Booking.com Template Scheduler

To ensure that every guest is able to find your public guest app and all its information, follow these steps to set up an automated message.

{% stepper %}
{% step %}

### Log-in to the Booking.com Admin

{% embed url="<https://admin.booking.com>" %}
{% endstep %}

{% step %}

### Click on Property > Messaging Preferences

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FLrO8pZJPXLuaVxO9gsG4%2Fpublic_booking_com.png?alt=media&amp;token=314e242c-f8fb-4057-874a-0d08eb00b391" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Click on Template Scheduler

Navigate to the template scheduler tab

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fw38LVoIw74e8KTnfMnlx%2Fbooking_template_Scheduler.png?alt=media&amp;token=19b8b066-e066-4879-92e1-2bfee7440ec1" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}

### Schedule a template

Click on Schedule a template, and follow the instructions

* Determine when you want the message to be send
* Select or create a template.
  {% endstep %}
  {% endstepper %}

{% hint style="info" %}
Booking.com uses a general templates, in case you have more properties, please contact our support team. We can assist in setting up general property pages.&#x20;
{% endhint %}


# Ses Hospedajes

Navigating the Guardia Civil and Spanish government is always a challenge. We have outlined all the steps for the registration at the Guardia Civil, Ses Hospedajes.

If you're managing tourist accommodations in Spain, it's mandatory to register your property and guest information through the SES.Hospedajes platform, as stipulated by Royal Decree 933/2021. This guide will walk you through the registration process, ensuring compliance and a smooth setup.

### Prerequisites

Before you begin, ensure you have the following:

* **Digital Certificate or DNIe**: Required for secure online authentication.
* **Autofirm@ Software**: Installed on your computer for digital signing.
* **Accommodation Details**: Address, capacity, facilities, and tourism license number (if applicable).
* **Business Tax Identification Number (NIF)**: If applicable.

***

<a href="https://accounts.holidayhero.com/signup?utm_medium=support&#x26;utm_source=ses-hospdajes" class="button primary">¿Gestionas un hospedaje? Prueba HolidayHero gratis</a>

<a href="https://accounts.holidayhero.com/signup?utm_medium=support&#x26;utm_source=ses-hospdajes" class="button primary">Try our Hospedajes integration for free</a>

<a href="https://accounts.holidayhero.com/signup?utm_medium=support&#x26;utm_source=ses-hospdajes" class="button primary">Probeer onze Ses-Hospedajes integratie gratis</a>

***

### Step-by-step Registration Guide

{% stepper %}
{% step %}

### **Access the SES.Hospedajes Portal**

* Navigate to the [SES.Hospedajes registration page](https://sede.mir.gob.es/opencms/export/sites/default/es/procedimientos-y-servicios/hospedajes-y-alquiler-de-vehiculos/).
* Click on the “@” icon next to “Acceso al registro de establecimientos y entidades”.

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FAkjJtx8glmWLPYfIo5rS%2Fimage-2.png?alt=media\&token=f7f020b2-515b-47ce-b0bc-4439f2ae5f16)
{% endstep %}

{% step %}

### Authenticate Your Identity

Select your preferred authentication method

* **Digital Certificate**: Choose your installed certificate when prompted.
* **DNIe**: Insert your electronic ID card and enter your PIN.

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FwGdofN0nQNT90VHtmBnB%2Fimage-1.png?alt=media\&token=dc0d73ee-305b-4337-8dd4-958e0a77272e)
{% endstep %}

{% step %}

### Verify Your Email Address

* Once logged in, click on “Perfil” in the upper right corner.
* Ensure your email address is correct, as it will be used for all communications.
* Click “Aceptar” to confirm

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FQ0jJK6RePN8zGmgKeZCc%2F674f136c91b12a334c9c4601_step3.jpg?alt=media\&token=c4d42c6e-5407-4f5f-a60b-a01d449a214f)
{% endstep %}

{% step %}

### Initiate the Registration Process

* Return to the main menu by clicking “Inicio”.
* Click on “Registro” to start the registration process.

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FsZmUlhwaqA5YhF4xWccP%2F674f136c30f97a849316556c_step4.jpg?alt=media\&token=02e067be-71e1-4d96-8308-791dd40fa389)
{% endstep %}

{% step %}

### Complete Entity Information

* Fill in the required information about your entity
  * **Type of Entity**: Select “Hospedaje”.
  * **Type of Activity**: Choose “Actividad de hospedaje”.
  * **Email**: Enter a valid email address for communications.
* **Important**: Check the box labeled “Envío de comunicación por servicio web”. This enables integration with platforms like HolidayHero for automated data submission.

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FlzfFV3JHGtC1yIccwOgE%2F674f173be59a118a65da694b_step5.jpg?alt=media\&token=b3f0d8d0-4515-4a2d-b7ee-389ffc6b865d)
{% endstep %}

{% step %}

### Register Your Establishment(s)

* Provide detailed information for each accommodation:
  * **Establishment Name**: As it appears on your tourism license
  * **Full Address**: Including street, number, city, postal code, and province.
  * **Contact Email and Phone Number**: Use professional contact details.
  * **Establishment Type**: E.g., apartment, villa, room.
  * **Capacity**: Maximum number of guests.
  * **Tourism License Number**: If applicable
* Click “Añadir a la lista” to add each establishment. Repeat this process for multiple properties.

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FcEJIkQlUAoLOMI64bhMP%2F674f1c28ce2fff665002f1d2_step6.jpg?alt=media\&token=07c1f3b5-de5f-4d31-9f14-5d0c7efa5b6b)
{% endstep %}

{% step %}

### Review and Submit

* Carefully review all entered information for accuracy.
* Use the Autofirm@ software to digitally sign your application.
* Submit the registration form.
  {% endstep %}

{% step %}

### Confirmation and Credentials

* After submission, you'll receive a confirmation email titled “\[Hospedajes] Notificación de registro”.
* This email contains crucial information:
  * **Landlord Code (Código de arrendador)**
  * **Establishment Code(s) (Código(s) de establecimiento)**
  * **Username and Password**: For web service access.
* **Important**: Save this email securely, as it contains credentials necessary for integrating with platforms HolidayHero.

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FVbZ3xh6Kuq8v8ERBKfRa%2FScreenshot_10_05_2025__12_34.png?alt=media\&token=6a890b3b-6f4b-4f9f-a31d-0874eae78270)
{% endstep %}

{% step %}

### Install the Ses Hospedajes Integration

Install the HolidayHero Ses Hospedajes integration.&#x20;
{% endstep %}
{% endstepper %}


# Correcting Errors in Ses Hospedajes

## Correcting Errors in Ses Hospedajes

If you've submitted a guest communication through SES.Hospedajes and received an error notification — or spotted a mistake after submission — this guide explains how to locate the affected record and correct it directly in the platform.

The correction workflow differs slightly depending on whether the communication was submitted individually or as part of a batch (lote). Both paths are covered below.

***

<a href="https://accounts.holidayhero.com/signup?utm_medium=support&#x26;utm_source=ses-hospedajes-corrections" class="button primary">Try HolidayHero's Ses Hospedajes integration free</a>

<a href="https://accounts.holidayhero.com/signup?utm_medium=support&#x26;utm_source=ses-hospedajes-corrections" class="button primary">Prueba la integración con Ses Hospedajes gratis</a>

***

#### What You'll Need

* Access to the [Sede Electrónica del Ministerio del Interior](https://sede.mir.gob.es/opencms/export/sites/default/es/procedimientos-y-servicios/hospedajes-y-alquiler-de-vehiculos/) with your digital certificate or DNIe.
* The approximate date of the submission containing the error.
* The error description from the Ministry's notification email (if applicable).

***

### Finding the Code for an Individual Communication

Before you can correct a record, you need to locate it. Use these steps whether the communication was submitted on its own or inside a batch.

{% stepper %}
{% step %}

#### Open Mis Comunicaciones

* Navigate to the [Sede Electrónica](https://sede.mir.gob.es/opencms/export/sites/default/es/procedimientos-y-servicios/hospedajes-y-alquiler-de-vehiculos/) and go to **Mis comunicaciones → Consulta y Gestión de mis comunicaciones**.
* Select your entity or establishment from the list.
  {% endstep %}

{% step %}

#### Search for the Communication

* Click **Comunicaciones**.
* Use the search fields to filter by date range, communication type, or communication code.
* Press **Buscar**. The record will appear in the results table.
  {% endstep %}

{% step %}

#### If the Communication Was Part of a Batch

* Instead of clicking **Comunicaciones**, click **Lotes**.
* Filter by operation type, request type, and date range, then press **Buscar**.
* Click the **eye icon** on the batch to expand it and view all individual communications.
* Locate the specific row and note the individual communication code in the **Acciones** column.
  {% endstep %}
  {% endstepper %}

***

### Finding the Code for a Batch (Lote)

Use this if you need to check the overall status of a batch submission, or before drilling into individual records within it.

{% stepper %}
{% step %}

#### Open Mis Comunicaciones

* Go to **Mis comunicaciones → Consulta y Gestión de mis comunicaciones**.
* Select your entity or establishment.
  {% endstep %}

{% step %}

#### View Batch Records

* Click **Lotes** (next to "Comunicaciones").
* Filter by operation type, request type, and date range.
* Press **Buscar**.

The results table displays each batch with its **batch code (código de lote)**, the submitting user, submission date, and current status.
{% endstep %}
{% endstepper %}

***

### Correcting an Error in a Batch Communication

This is the most common scenario: your property management system submitted a batch overnight and the Ministry has flagged one or more records with errors. The error email describes what needs to be fixed (for example, an invalid document number or missing nationality code).

{% stepper %}
{% step %}

#### Access the Platform

* Log into the [Sede Electrónica](https://sede.mir.gob.es/opencms/export/sites/default/es/procedimientos-y-servicios/hospedajes-y-alquiler-de-vehiculos/).
* Go to **"Acceso a la consulta y envío de comunicaciones de actividades de hospedajes o alquiler de vehículos"**.
* Navigate to **Mis comunicaciones → Consulta y Gestión de mis comunicaciones**.
  {% endstep %}

{% step %}

#### Find the Batch

* Select your entity or establishment.
* Click **Lotes**.
* Filter by date range and operation type, then press **Buscar**.
  {% endstep %}

{% step %}

#### Open the Batch

* Click the **eye icon** on the relevant batch to see all communications inside it.
* Identify the record with an error — it will be flagged in red, for example: *"Lote tramitado, pero hay errores en algunas comunicaciones"*.
  {% endstep %}

{% step %}

#### View the Error Details

* In the **Acciones** column next to the problematic communication, click the **eye icon** (view).
* The full record opens, showing the specific field or fields that triggered the error.
  {% endstep %}

{% step %}

#### Edit and Correct the Record

* Click the **pencil icon** (edit) to open the record for editing.
* Fix the field(s) described in the error notification.
  {% endstep %}

{% step %}

#### Resubmit

* Click **Finalizar** to resubmit the corrected communication.

The system logs the correction as an amendment to the original record. Your original communication code is preserved, so your compliance audit trail remains intact.
{% endstep %}
{% endstepper %}

***

### Common Error Types

| Error                            | Likely Cause                                                                    |
| -------------------------------- | ------------------------------------------------------------------------------- |
| Invalid document number format   | Document type and number don't match (e.g. NIE format submitted as passport)    |
| Unknown nationality/country code | System is sending full country names instead of ISO 3166-1 alpha-2 codes        |
| Invalid date format              | System is sending dates as `YYYY-MM-DD` instead of `DD/MM/YYYY`                 |
| Missing mandatory field          | Required field (e.g. date of birth, address) left blank at check-in             |
| Duplicate communication          | Same record submitted twice; use the **anular** (annul) action on the duplicate |

***

### Preventing Errors Automatically

The most reliable way to avoid corrections is to validate guest data *before* it reaches the Sede Electrónica. HolidayHero's native SES.Hospedajes integration checks all guest fields against Ministry requirements at the point of check-in and flags issues to your team immediately — so problems are caught before submission, not after.

<a href="https://accounts.holidayhero.com/signup?utm_medium=support&#x26;utm_source=ses-hospedajes-corrections" class="button primary">Try HolidayHero free — no corrections needed</a>

***

### Related Guides

* [Registering on Ses Hospedajes](/guides/ses-hospedajes)
* [Setting up the HolidayHero Ses Hospedajes integration](/integrations/guest-registration/ses-hospedajes-guardia-civil)


# Dashboard

A concise page that summarizes all your essential information, providing a clear overview of the most important details.

***

#### How is the dashboard set up? <a href="#how-is-the-dashboard-set-up" id="how-is-the-dashboard-set-up"></a>

At HolidayHero, we see the dashboard as a single place to see your most important, actionable information. Moreover, we want to use the dashboard to keep you informed about changes in the STR/Hotel industry and the platform.

When you are in your trial, you will see a banner at the top of the dashboard to upgrade your subscription or to contact your guest experience manager to discuss your fit. If we detect unpaid invoices on your account, a banner will also appear prompting you to settle them before you get locked out.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F9fesKxJ1tyKJjYYLymIH%2Fdashboard.png?alt=media&amp;token=5a75a362-c7f6-4886-9129-026b0cb2ba1b" alt=""><figcaption></figcaption></figure>

#### Performance overview <a href="#performance-overview" id="performance-overview"></a>

At the top of the dashboard you'll find four key metrics, each comparing the **last 30 days** to the **previous 30 days**:

1. **Pageviews** - how often your guest app was viewed.
2. **New Users** - guests added in the period, with your all-time total.
3. **New Inquiries** - inquiries received in the period, with your all-time total.
4. **Revenue** - revenue generated in the period.

Each metric shows a percentage badge indicating whether it went up or down compared to the previous period.

#### Today at a glance <a href="#today-at-a-glance" id="today-at-a-glance"></a>

Underneath the performance overview, you'll find a row of three cards showing what needs attention **today**. Each card is clickable and takes you straight to the filtered list it counts.

1. **Checking In Today** - reservations whose check-in date is today (excluding cancellations). Opens the new **Checking In** tab on the reservations overview, sorted by check-in time.
2. **Checking Out Today** - reservations whose check-out date is today (excluding cancellations). Opens the new **Checking Out** tab on the reservations overview, sorted by check-out time.
3. **Pending Tasks** - tasks currently in the `OPEN` status. Opens the tasks overview filtered to open tasks.

{% hint style="info" %}
These counts respect your timezone-aligned business day. Cancelled reservations are excluded by default - the same behaviour as the **Inhouse**, **Upcoming**, and **Past** reservation tabs.
{% endhint %}

#### Actionable items on the dashboard <a href="#actionable-items-on-the-dashboard" id="actionable-items-on-the-dashboard"></a>

The dashboard also surfaces items that require your attention:

1. **Pending Messages** - guest conversations awaiting a reply, linking through to your inbox.
2. **Pending Inquiries** - inquiries awaiting approval, linking through to your inquiries overview.
3. **Recent guest activity** - a live feed of what your guests are doing in the app.
4. **Latest blog posts** - the three most recent posts from our blog, with valuable information about the STR/Hotel industry and product updates.

{% hint style="info" %}
Pending inquiries remain pending for a maximum of 6 days. After that, they will be automatically closed.
{% endhint %}

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>Can I adjust the dashboard?</summary>

What a cool idea! Unfortunately, this is not currently possible. We alter the dashboard based on our experience to best suit you.

</details>

<details>

<summary>I see a different dashboard then displayed in the image above?</summary>

**This could happen for two reasons:**

1. You are still in your trial period, and we will display the onboarding dashboard. We are guiding you through all the steps to create the best experience. See the onboarding articles.
2. Your subscription has expired, and we haven't been able to collect your payment. When this happens, we redirect you directly to the payment page.<br>

</details>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/dashboard.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Inquiries

Guests can request experiences or services via "inquiries" in the app. Property managers can easily view and respond, improving communication and enhancing the guest experience.

***

#### What is an Inquiry? <a href="#what-is-an-inquiry" id="what-is-an-inquiry"></a>

An inquiry is a request submitted through a guest application from a [user](https://sites.gitbook.com/preview/site_K1MzH/getting-started/glossary#app-users). Depending on the settings, it must be confirmed, declined, or confirmed automatically.

If not auto-approved, it requires a manual confirmation from the [supplier](https://sites.gitbook.com/preview/site_K1MzH/getting-started/glossary#suppliers) or an [operator](https://sites.gitbook.com/preview/site_K1MzH/getting-started/glossary#operator).

#### Inquiry Statuses <a href="#inquiry-statuses" id="inquiry-statuses"></a>

An inquiry can have various statuses; see a list of the statuses and their meaning below:

| Status             | Meaning                                                                                                       | Action                                   |
| ------------------ | ------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| `Confirmed`        | The inquiry has been confirmed by the supplier or operator.                                                   | No further action required               |
| `Declined`         | The inquiry has been declined by the supplier or operator.                                                    | No further action required.              |
| `New`              | The inquiry is new and requires an action.                                                                    | Confirm or decline the inquiry.          |
| `Pending Approval` | The inquiry has a pending approval. If a payment was attached, the payment has been collected and is on hold. | Confirm or decline the inquiry.          |
| `Pending Payment`  | The inquiry has been created, the guest hasn't completed the payment.                                         | No supplier or operator action required. |

#### Payment Statuses <a href="#payment-statuses" id="payment-statuses"></a>

An inquiry can have a payment attached to it. This payment can have various statuses. See a list of the statuses and their meaning below:

| Status           | Meaning                                                                               | Action                                                                    |
| ---------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `Captured`       | The payment has been collected at the guest, but not yet transferred to your account. | Review the inquiry and once accepted it will be released to your account. |
| `Declined`       | The payment has been declined                                                         | `n/a`                                                                     |
| `Not Applicable` | Other status                                                                          | `n/a`                                                                     |
| `Paid`           | The payment has been paid and released to your account.                               | `n/a`                                                                     |
| `Pending`        | The payment hasn't been finalized by the guest.                                       | Inform the guest that the payment is still pending.                       |
| `Refused`        | The payment has been refused by the payment provider                                  | Ask the guest to retry the payment.                                       |
| `Released`       | The payment has been released                                                         | `n/a`                                                                     |

#### Standalone Inquiries (Without Reservation) <a href="#standalone-inquiries-without-reservation" id="standalone-inquiries-without-reservation"></a>

Inquiries can be created without being linked to a reservation. This happens when an experience has the **Standalone Upsell** setting enabled, allowing guests to purchase products or submit requests without having an active reservation.

Standalone inquiries display a `No Reservation` badge in the inquiry overview and on the inquiry detail page. Instead of showing reservation details, the inquiry shows guest contact information:

* **Guest Name**
* **Email**
* **Phone**
* **Check-in Date** (if provided)
* **Listing** (if provided)

**Assigning a Reservation**

You can assign a standalone inquiry to an existing reservation at any time:

1. Open the standalone inquiry
2. Click **Assign to Reservation**
3. Search for a reservation by number or guest name
4. Select the correct reservation from the results
5. Click **Assign**

Once assigned, the inquiry will behave like a regular reservation-linked inquiry.

#### Suppliers and Inquiries <a href="#suppliers-and-inquiries" id="suppliers-and-inquiries"></a>

With HolidayHero, you can onboard your Suppliers on the platform, allowing you to offload inquiries directly to your suppliers.

A supplier will receive automatic notifications to review the inquiries once they have been created. As an operator, you can keep track of the pending inquiries in the inquiry overview.

#### Emails and Communication <a href="#emails-and-communication" id="emails-and-communication"></a>

To keep you or the supplier informed, we have added various emails. See an overview of all emails and their schedule below:

| Email                    | Timing                                 | Audience            |
| ------------------------ | -------------------------------------- | ------------------- |
| `New Inquiry`            | Directly once an inquiry has been made | Operator / Supplier |
| `First Reminder`         | 6 hours after creation                 | Operator / Supplier |
| `Second Reminder`        | 24 hours after creation                | Operator / Supplier |
| `Third Reminder`         | 72 hours after creation                | Operator / Supplier |
| `Forth / Last Reminder`  | 120 hours after creation               | Operator / Supplier |
| `Declined Notification`  | Directly when inquiry is declined      | Guest               |
| `Confirmed Notification` | Directly at inquiry confirmation       | Guest               |

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>How do you approve an inquiry?</summary>

Once you have received an inquiry, you will need to review it. Follow the steps below to review the inquiry.

1. Go to the inquiry overview
2. Select the inquiry you need to review
3. Review the details of the inquiry:
   1. What did the guest request?
   2. What listing/reservation is the inquiry tied to
4. Once reviewed, click the resolve button, a modal will be shown:
   1. To confirm: Select confirm from the dropdown and fill in the start date/time of when the inquiry is scheduled. (Optionally: you can leave a message for the guest).
   2. To decline: Select decline from the dropdown. (Optionally you can leave a message for the guest).
5. Hit `resolve` to close the inquiry. The guest will receive a [notification](http://localhost:63342/markdownPreview/143137067/markdown-preview-index-q7pclep4vesqrrmjebgimgfnc6.html#emails-and-communication).

</details>

<details>

<summary>How do you automatically approve inquiries?</summary>

There are situations where you automatically want to approve an inquiry, such as, extra baby beds or parking spots.

**Steps:**

1. Go to the desired experience
2. Scroll to the Auto Approval Section
3. Disable the `Requires Approval`

Any future inquiries about this experience will automatically be approved.

</details>

<details>

<summary>How to let a supplier confirm an inquiry?</summary>

To let a supplier manage certain inquiries, you will have to create a supplier and attach him/her to the experience.

If the experience / service is provided by a supplier, you can invite them to their own supplier portal.

For every inquiry, they will receive an email informing them that they have a new inquiry. Through that email they can access their portal to review the inquiry and approve/decline.

</details>

<details>

<summary>As an operator, can I disable inquiry reminders and notifications?</summary>

Yes, this can be done in two ways:

**For yourself:**

1. Click on `My Account` (right top of application).
2. Click on `Notifications preferences`
3. Adjust the notifications you prefer to receive.
4. Hit `Save`

</details>

<details>

<summary>Can I adjust the inquiry a guest has requested?</summary>

At the moment, this is not possible. We are working on an updated version that allows you to alter the inquiry. Stay tuned for updates.

</details>

<details>

<summary>What is a standalone inquiry?</summary>

A standalone inquiry is an inquiry that was submitted without a linked reservation. This occurs when an experience has the **Standalone Upsell** setting enabled, allowing guests to request or purchase without an active reservation. You can later assign a reservation to the inquiry via the **Assign to Reservation** button on the inquiry detail page.

</details>

***

<details>

<summary>Relations</summary>

* A workspace can have many inquiries
* A guest can request one or multiple inquiries
* A supplier can have multiple inquiries
* A reservation can have multiple inquiries
* An inquiry can optionally exist without a reservation (standalone inquiry)

</details>


# Commissions


# Tasks

***

#### What are tasks?

Tasks help you and your team track and manage work related to your properties and reservations. Whether it's a maintenance request, a guest follow-up, or a pre-arrival preparation — tasks provide a structured way to assign, track, and resolve operational items.

Tasks can be created independently or linked to a specific listing or reservation, giving you context about what the task relates to.

#### Task statuses

A task moves through various statuses during its lifecycle.

| Status                  | Description                                                       |
| ----------------------- | ----------------------------------------------------------------- |
| **Open**                | The task has been created and is awaiting action.                 |
| **In Progress**         | The task is actively being worked on.                             |
| **Waiting on Guest**    | The task is on hold pending a response or action from the guest.  |
| **Waiting on Supplier** | The task is on hold pending a response or action from a supplier. |
| **Scheduled**           | The task has been scheduled for a future date.                    |
| **Completed**           | The task has been resolved successfully.                          |
| **Failed**              | The task could not be completed.                                  |
| **Cancelled**           | The task has been cancelled and no further action is needed.      |

#### Connecting tasks to listings or reservations

Tasks can be linked to a **listing** or a **reservation**, providing context about what the task relates to. When a task is connected:

* The associated listing or reservation is displayed on the task detail page, with quick navigation to the related object.
* When viewing a listing or reservation, all related tasks are visible under the **Tasks** tab.

You can create a task directly from a listing or reservation page — the association is automatically set for you.

#### Assigning tasks

Tasks can be assigned to any operator in your workspace. Once a task is assigned, the operator will be notified by email that a task has been assigned to them. Tasks can be reassigned at any time to a different operator if priorities or responsibilities change.

To assign or reassign a task:

1. Open the task
2. Click **Assign**
3. Select the operator from the list
4. Confirm the assignment

{% hint style="info" %}
Unassigned tasks are visible to all operators. Assigning a task does not restrict visibility — it simply indicates who is responsible.
{% endhint %}

#### Notes

Notes allow your team to add updates, comments, or context to a task. Each note is recorded with the author's name and a timestamp, creating a clear audit trail of communication.

When adding a note, you can optionally change the task's status at the same time. This is useful when providing an update that also moves the task forward — for example, adding a note saying "Parts ordered" while changing the status to **Waiting on Supplier**.

To add a note:

1. Open the task
2. Click **Add Note**
3. Write your note and optionally select a new status
4. Submit

***

#### Frequently Asked Questions

<details>

<summary>How do I create a task?</summary>

There are two ways to create a task:

1. **From the Tasks page** — Navigate to **Tasks** in the menu and click **Create Task**. Provide a title, description, and optionally link it to a listing or reservation.
2. **From a listing or reservation** — Open the listing or reservation, go to the **Tasks** tab, and click **Create Task**. The association is set automatically.

</details>

<details>

<summary>Can I reassign a task to a different operator?</summary>

Yes. Open the task, click **Assign**, and select a different operator. The newly assigned operator will receive an email notification.

</details>

<details>

<summary>What happens when a task is resolved?</summary>

When a task is marked as **Completed**, **Failed**, or **Cancelled**, the resolved date is recorded. You can reopen a resolved task if further action is needed.

</details>

<details>

<summary>Can I filter tasks by status or assigned operator?</summary>

Yes. The task overview page provides filters for both status and assigned operator, as well as sorting options by creation date.

</details>

<details>

<summary>Who can see a task?</summary>

All operators in the workspace can see all tasks, regardless of whether the task is assigned to them. Assignment indicates responsibility, not access.

</details>

***


# Reservations

You can manually create reservations, view upcoming bookings, and access a complete overview of all your reservations. This will streamline your management and boost efficiency.

***

### What is a reservation?

Reservations are a crucial aspect of your property management system, allowing you to track and manage essential details throughout the booking process. On the reservations page, you can find information such as the booking details, reservation number, check-in and check-out times, and the number of guests. It also provides an overview of financial information like group budget and total spend. Reservations provide a clear overview of all your essential reservation data and the booking status and related activities.

### Reservation Statuses

A reservation can have various statusses and remarks.&#x20;

| Status / Remark                                      | Explanation                                                                                                                                                                                     |
| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Cancelled**                                        | A canceled reservation will no longer receive touchpoints except for the `reservation.canceled` triggers. This status can be recognized by the <mark style="color:red;">**red**</mark> sidebar. |
| **No Invitations**                                   | Reservations without invitations are more complicated to share with guests. We highlight these with a <mark style="color:yellow;">**yellow**</mark> sidebar.                                    |
| **Checked in**                                       | Reservations from which we have received the check-in details, and match the brand check-in settings, are marked with a <mark style="color:green;">**green**</mark> sidebar                     |
| <mark style="background-color:green;">LINKED</mark>  | Reservations with a green badge, are linked to a parent reservation. They are part of a group of rooms.                                                                                         |
| <mark style="background-color:orange;">PARENT</mark> | Reservations with an orange badge are the parent reservations. They are the main booking.                                                                                                       |

### Importing reservations

With our integrations is it is easy automatically sync the reservations. See the list of integrations [here](/integrations/pms-platforms).&#x20;

### Parent / Child / Linked Reservations

Reservations can be linked to one-another. If that is the case, one need to be the parent reservation and the others are child reservations. See [reservation statusses](#reservation-statuses) on how to indentifty them.&#x20;

***

### Frequently Asked Questions

<details>

<summary>How to create a reservation?</summary>

If you want to create a reservation manually, you will have to provide certain information.&#x20;

1. Click on reservations in the menu&#x20;
2. Click on Create Reservation
3. Select the listing for this reservation

   *If you have a large amount of properties this will look different.*&#x20;
4. Provide a reservation number

   *If the reservation has come through an OTA, copy their reference in here. If left blank we will generate a number for you.*&#x20;
5. Selec tthe check in and checkout dates.&#x20;

   *We will copy the check in and checkout times from the listing. After the reservation has been created this will be adjustable*
6. Provide the details of the main booker

   This person will automatically become an [invite](/getting-started/glossary#invites) on that reservation
7. Provide the group setup.&#x20;

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FnWIiqPTMc7PI2Af2fWsd%2Fcreate_reservation.png?alt=media\&token=1f4335fe-ea6f-478b-9a4b-0934466df82f)

</details>

<details>

<summary>Can I manually cancel a reservation?</summary>

Yes, you can! It might happen that you need to cancel the reservation and want to restrict access in the guest portal. Follow the steps below to cancel a reservation.&#x20;

1. Open the desired reservation
2. On the top right of the page click the 3-dots `⋮`&#x20;
3. Click the `Cancel Reservation` action.&#x20;
4. You will be asked to confirm this action.&#x20;

If you did this by accident and want to undo the cancellation. Click the `Undo Cancellation` in that list.&#x20;

</details>

<details>

<summary>Can I change the listing or any other details of the reservation? </summary>

Yes, most PMS will automatically update the listing on the background. No need to worry about that. In the case that you want to do it manually, follow the steps below to cancel a reservation.&#x20;

1. Open the desired reservation
2. On the top right of the page click Edit button
3. Alter any of the resrevation details and hit save.&#x20;

If the checkin or checkout times are altered. The touchpoints and their schedule will be recalculated. Depending on your settings in the Reservation Stages, this could also affect what is visible within the app.&#x20;

</details>

<details>

<summary>Can I delete a reservation?</summary>

Yes, if you need to delete a reservation this can be done through editing.&#x20;

1. &#x20;Select the desired reservation. &#x20;
2. Click on Edit in the top right
3. Click on Delete on the bottom left.&#x20;
4. You will be asked for confirmatiom.&#x20;

Good to know, when you delete the reservation:&#x20;

* `Invites` will no longer be able to join the reservation.&#x20;
* `Guests` will no longer be able to access the reseration.&#x20;
* `Documents` documents tight to the reservation will be deleted.&#x20;
* `Touchpoints` will stop to be processed for that reservation.&#x20;

Guests will **not** be notified if a reservation is deleted.&#x20;

</details>


# Invites

Invites are codes that can be shared with guests to access the closed reservation environment. You can create as many invites as you want.

***

### What are invites?

Invites are links and codes that can be shared to invite guests to access their reservation. A invite generates a unique code that can be used to access the reservation and can be shared among other guests.&#x20;

A invite can have personal data such as: `firstName` `lastName` `email` or `phone`. However, they are not tight to a certain person. It will be used to keep track of conversion and who has been invited and who hasn't.&#x20;

### How are Invites distributed?

Invites are distributed automatically depending on the [Touchpoint](/getting-started/glossary#touchpoints) settings or by guests themselves.

* **Touchpoints -** A special `invitation` touchpoint is always available within your workspace. Check the settings of your touchpoints [here](https://admin.holidayhero.com/touchpoints).
* **Guests-** An existing guest has the opportunity to create an invite for another guest. From within the `My Party` section of the App, any guest can create an invite for other guests. If the browser supports a native share function, we will use and trigger that.&#x20;

**My Party - section**

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FiXiWYZV8yv3DH9HnGozD%2Fmy_party_section.png?alt=media&amp;token=7bdf40da-3f82-49d7-aeeb-17ea96e62dc1" alt=""><figcaption><p>An example my party section. Colors may differ based on your branding settings. The MyParty section is disabled in the Public Views. </p></figcaption></figure>

**Share display options can be:**&#x20;

<details>

<summary>Native Share</summary>

This is available on the majority of the platforms. Full browser compatiablity can be found here. (<https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share#browser_compatibility>).&#x20;

**Example on Safari - Dekstop**

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FW29AsjTXTL4zulH73c6h%2Fshare_popup.png?alt=media\&token=a81fb298-b36b-4978-95f1-692b6ea43581)

</details>

<details>

<summary>Browser Share</summary>

If the browser doesn't allow a native share functionality. We will throw the fallback modal from which the user can share the invite automatically.&#x20;

Example.&#x20;

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fc3XUFh674hF7IXxFGcn7%2Fshare_web_pop_up.png?alt=media\&token=704488ff-d876-4a4f-baad-7a41548be117)

</details>

### Invite Statusses

Invites can have various statusses. See a list of statusses and their descriptions below:&#x20;

| Status                                                             | Description                                |
| ------------------------------------------------------------------ | ------------------------------------------ |
| <mark style="color:yellow;background-color:yellow;">Pending</mark> | The invite hasn't been used yet.           |
| <mark style="color:green;background-color:green;">Accepted</mark>  | The invite has been used at least one time |
| <mark style="color:red;background-color:red;">Cancelled</mark>     | The invite has been cancelled or removed   |

It can occur that a reservation has only pending invites and users. This happens, when the user has manually searched for their reservation based on a confirmation code, stay date or last name.&#x20;

***

### Frequently Asked Questions:

<details>

<summary>Are invites automatically generated by the integrations? </summary>

Yes, if the guest details are known, the invites are automatically generated by most of the integrations. One major exception is the [iCal](/integrations/pms-platforms/ical) integration. This integration, just creates the reservation and sends you an email to remind you to copy over the guest details.&#x20;

</details>

<details>

<summary>Are invites automatically removed? </summary>

No, at the moment we keep all the invites. You have the option to manually remove an invite.&#x20;

</details>

<details>

<summary>Can invites be localized? </summary>

Yes, within the translations section of the Admin, you can add translations for your invitation touchpoint.&#x20;

</details>


# Users

Users are guests that have accessed the application and may or may not have connected an reservation.

***

### What are users?

Users are guests that have are assigned to a reservation and have access to the guest app. They have logged in at least once.

### What is the difference between users and invites?&#x20;

Invites are guests that have been invited to an reservation. They can already be converted into users once they have accepted the invite.&#x20;


# Check-ins

A checkin is enhanced user data provided by one or mutliple users. This data can be used for local authorities to report guest information.

***

**What are check-ins?** \
A check-in is a set of guest data that has been provided by either a user or an operator. Based on the settings of the brand we collect the data needed per guest. This data can be further used for governmental reporting or exporting to PMS platforms.

#### Check-in slots <a href="#check-in-slots" id="check-in-slots"></a>

Each reservation has a number of **check-in slots** equal to the expected number of guests on that reservation (the group setup of adults, children and babies). Every slot has its own status:

| Slot status    | Meaning                                                                                  |
| -------------- | ---------------------------------------------------------------------------------------- |
| **Empty**      | No check-in has been registered yet for this slot.                                       |
| **Registered** | A check-in has been completed (by a guest in the app or manually by an operator).        |
| **NO\_SHOW**   | The guest did not arrive. The slot is greyed out and excluded from the registered count. |

At the top of the tab a progress indicator shows how many slots are registered out of the total, and how many have been marked as no-show.

#### Which data is requested <a href="#which-data-is-requested" id="which-data-is-requested"></a>

Depending on your location and jurisdiction, you may be required to collect specific check-in information. The Brand Check-In settings determine which fields are requested per guest. The full list of available fields can be found here.

Each registered slot in the check-in tab shows exactly the data points your brand collects, including the guest's signature (if signing is enabled) and any document images.

#### Available Integrations <a href="#available-integrations" id="available-integrations"></a>

[**Ses Hospedajes**](/integrations/guest-registration/ses-hospedajes-guardia-civil) **-** Sync guest details directly to the Spanish Authoritie&#x73;**.**

[**MEWS**](/integrations/pms-platforms/mews) **-** Sync guest details directly back into MEWS

> **Need specific integration?** Reach to our support team, we can (mostly) integrate with any software.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>Can I manually create a check-in for a reservation?</summary>

Yes. From an empty slot on the check-ins tab:

1. Go to **Reservations**.
2. Open the reservation.
3. Go to the **Check-Ins** tab.
4. Click **Create CheckIn** on an empty slot (or **Create Check-In** at the top of the tab).
5. A modal opens with all applicable input fields.
6. Fill the data and save.

Check-ins can also be created directly from the **Invites** or **Users** tab using the *Create CheckIn* action next to an invite or user — the guest's known details are pre-filled.

</details>

<details>

<summary>Can I scan a passport to fill in a check-in?</summary>

Yes. On both the **Create Check-In** modal and the check-in **edit** screen you'll find a **Scan passport** button (shown when at least one passport-related field is enabled for your brand).

1. Click **Scan passport**.
2. Allow camera access. A short countdown gives you a moment to position the document, then scanning starts automatically — a green **Scanning** indicator shows it's looking for the passport.
3. Hold the passport so the two lines of code at the bottom (the *Machine Readable Zone*) sit inside the guide box. As soon as it's read successfully the matching fields are filled in for you.
4. No camera, or scanning won't catch? Use **Read now** to read the current frame, or **Upload a passport photo** to read from a picture instead (this also works well from a phone).

Only the fields encoded in the Machine Readable Zone are prefilled — typically name, document number, nationality, date of birth, document expiry and sex. Other fields (email, phone, address) aren't part of the passport code and are still entered manually. Always double-check the prefilled values, especially names, which the code cannot self-verify.

> **Your privacy is protected: this feature never stores an image of the passport.** The scan is processed entirely on your own device, in your browser. The passport image is used only momentarily to read the code and is never uploaded to our servers or saved anywhere. Only the extracted text fields are placed into the form. (This is separate from the optional **document image** upload field, which — if your brand enables it — *does* deliberately store an image you attach.)

</details>

<details>

<summary>How do I mark a guest as no-show?</summary>

If a guest didn't show up, you can mark their slot as a no-show so it stops blocking the check-in progress.

1. Open the reservation.
2. Go to the **Check-Ins** tab.
3. On an empty slot click **Mark as no-show**.

The slot is greyed out and counted as a no-show on the progress indicator. The reservation will not be considered fully checked-in for those slots.

</details>

<details>

<summary>How do I undo a no-show?</summary>

1. Open the reservation.
2. Go to the **Check-Ins** tab.
3. On the no-show slot click **Undo no-show**.

The slot becomes empty again and can receive a check-in.

</details>

<details>

<summary>Can I download a check-in as a PDF?</summary>

Yes. Two PDFs are available:

* **Single check-in PDF** — open a registered slot's actions and choose the download option to get a PDF of just that slot.
* **Full reservation PDF** — at the top of the check-ins tab click **Print PDF**, or use **CheckIn PDF** from the reservation action menu (`⋮`). This renders every registered slot for the reservation in a single document, ready to print or hand to authorities.

</details>

<details>

<summary>Can I edit or delete a check-in?</summary>

Yes. Click **View** on a registered slot to open its detail view. From there you can update the fields or delete the check-in. Deleting a check-in returns the slot to the empty state.

</details>

<details>

<summary>Does the check-in capture a signature?</summary>

If signatures are enabled in your brand check-in settings, the guest signs when they complete the check-in in the app. The signature is visible on the slot and is included on both the single and full reservation PDFs.

</details>


# Metafields

Metafields can be used within reservations. Overwrite a default value of an metafield and use this within the guest journey.

***

#### What are reservation metafields? <a href="#what-are-reservation-metafields" id="what-are-reservation-metafields"></a>

A **metafield** is a custom field defined once for your workspace. A metafield created with the `RESERVATION` resource is filled in per stay — this tab is where you set its value for *this* reservation. Use it for anything that differs per booking: an arrival time, a parking instruction, a rented extra, a special request.

A reservation metafield is its own field, not an override of a listing metafield. If nothing is filled in here, the metafield falls back to the **Default Value** set on its definition — not to a value from the listing or the brand.

For the broader concept, the field types and how metafields are defined at workspace level, see [Metafields](/the-basics/metafields).

#### What does the tab show? <a href="#what-does-the-tab-show" id="what-does-the-tab-show"></a>

The **Metafields** tab lists every metafield currently set on the reservation, with:

* The metafield **name**.
* The current **value** (as a badge).
* The **field type** — `TEXT`, `NUMBER`, `DATE`, `TIME` or `BOOLEAN`.
* An **AI** badge, when the guest-facing AI assistant is allowed to share the value. See [AI visibility](/the-basics/metafields#ai-visibility).
* The created and last-updated timestamps.

Only `RESERVATION` metafields appear here. A metafield that belongs to the property lives on the listing's tab, and one that belongs to the person lives on the guest's tab.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details open>

<summary>How do I add a metafield to a reservation?</summary>

1. Open the reservation.
2. Go to the **Metafields** tab.
3. Click **Add Metafield**.
4. Pick a metafield from the list and click **Add**. Metafields already on this reservation show as **(Already in use)** and cannot be picked twice.
5. The metafield appears in the table with its **Default Value**. Click **Edit** on its row, set the **Value**, and click **Save**.

Adding and setting the value are two separate steps — a metafield you add but never edit keeps its default.

</details>

<details open>

<summary>How do I change a metafield value?</summary>

Click **Edit** on the row to open the metafield's detail page. Update the value and save. The new value takes effect immediately for the guest app.

</details>

<details open>

<summary>How do I remove a metafield?</summary>

Open the metafield via **Edit** and click **Delete** on the detail page. That detaches it from this reservation only — the definition stays in the workspace and remains on other reservations. Any `{{ key }}` left in your content falls back to the metafield's **Default Value**.

</details>

<details open>

<summary>Can the AI assistant share a reservation metafield with the guest?</summary>

Only if the metafield's definition allows it. **AI visibility** is set once on the metafield itself and applies to every reservation using it — you cannot allow it for one stay and not another. The **AI** column on this tab shows which phase of the stay, if any, the assistant may share the value in. See [AI visibility](/the-basics/metafields#ai-visibility).

Note that a value you put into guest-facing content is readable by the assistant from that content regardless of the setting.

</details>

<details open>

<summary>Why can't I find a particular metafield in the dropdown?</summary>

Three common reasons:

* It was created for a different **Resource**. Only `RESERVATION` metafields appear here — a `LISTING` or `USER` metafield never will.
* It is already set on this reservation — it shows as **(Already in use)** and cannot be added twice.
* It has not been defined at workspace level yet. Define it first under [Metafields.](/the-basics/metafields)

</details>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/reservations/metafields.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Documents

We know the important of documents. Reservations can have documents attached.

***

### Reservation Documents

If it is an invoice, a contract, some instructions or special terms and conditions, we know the importance of having certain documents at your disposal as a guest. Withn reservation documents we allow the user to upload documents, to a reservation. These documents will be displayed within the guest app. See the [Reservation Stages](/the-basics/brands/reservation-stages) for more details on how they are displayed.&#x20;

### Supported document types

We allow all main types of documents to be uploaded. There is a 5 mb restriction on the file size.&#x20;

{% hint style="info" %}
**Keep your documents as small as possible.** &#x20;

90% of the travellers are on their cellphone and may have limited data access.&#x20;
{% endhint %}

| Document Type |                       |
| ------------- | --------------------- |
| `Excel`       | Microsoft Excel       |
| `Word`        | Microsoft Word        |
| `PDF`         | PDF                   |
| `Txt`         | Plain Text files      |
| `JPG / JPEG`  | Image type            |
| `PNG`         | Image Type            |
| `WebP`        | Compressed Image Type |

### Document Expiration

An uploaded document will remain available at all times. However, to enhance the security of your documents, don't allow the sharing of document download URL's. Each time a document is displayed we generate a unique link that is only valid for a short period of time.&#x20;

If you experience issues with document downloading, refresh the page and download it again.&#x20;

***

### Frequently Asked Questions

<details>

<summary>How can I upload a document to a reservation? </summary>

Follow the following steps to upload a document to a reservation:

1. In the menu click on reservations
2. Click on the desired reservation
3. Go to the documents tab
4. Click on the upload Documents button
5. Select the file you want to upload

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F0tEy0qaQThuKMYBqgoSD%2Fdocuments_upload.png?alt=media\&token=8cc16ffa-aa1c-45f6-98e2-6909fb2f0c34)

**Tip:** *You can select multiple files at once.*&#x20;

</details>

<details>

<summary>Can I change the sort order of the documents? </summary>

Yes you can! Follow the following steps:&#x20;

1. In the menu click on reservations
2. Click on the desired reservation
3. Go to the documents tab
4. Drag a document by the two arrows to its new position.&#x20;

<img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FG6YYevVtH5MEK0W5mgr4%2Fdocuments_position.png?alt=media&amp;token=7ca77a77-feed-4922-8762-a37aab34af08" alt="" data-size="original">

</details>

<details>

<summary>Can I download an document? </summary>

Yes, in case you want to download a document, follow the following steps:&#x20;

1. In the menu click on reservations
2. Click on the desired reservation
3. Go to the documents tab
4. Look for the document you want to download
5. Click the download button, it will be downloaded.&#x20;

</details>

<details>

<summary>Can I delete a reservation document? </summary>

Yes, ofcourse! Follow the following steps to delete a document.

1. In the menu click on reservations
2. Click on the desired reservation
3. Go to the documents tab
4. Find the document you want to delete.&#x20;
5. Click delete and confirm the deletion.&#x20;

</details>


# Guest Journey


# Messages (Templates)

An onverview of the message templates that are scheduled.

## **What are Reservation Messages?**

On this page you will find an overview of the messages send and scheduled.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FouXyNFoxikh1TJCd2ZwM%2Fmessage_templates_overview.png?alt=media&amp;token=c218f7fe-4aba-495c-bc2f-ce3e27b1b575" alt=""><figcaption></figcaption></figure>

In the above mention example you see:&#x20;

* Two Invitations that have been been processed:&#x20;
  * One **email** invitation that has been snet at the 22 July 2025 at 10:28
  * One **SMS** invitation that has been partually send.&#x20;
    * Partially send could happen if not all "audiencemembers" (Users / Invites / Bookers) have the required information.&#x20;
* Two additional messages
  * "Start planning your trip - has been send over whatsapp at 01-12-2024 at 11:07.&#x20;
  * "Rate your stay" - has been scheduled to be send at Monday the 11th of August around 16:30,&#x20;

### Actions

Based on the status of the reservation message, a set of actions can be taken. Click the three dots on the right to view the items.&#x20;

* **Resend** - a message can be resend if it has been send already. All audience members will receive the message again.&#x20;
* **Skip** - a message can be set to skipped.&#x20;
  * *In example, a guest left early, you want to skip the checkout instructions.*&#x20;

***

### Frequently Asked Questions:&#x20;

<details>

<summary>We want have create a new message template, is this automatically added? </summary>

New message templates are only scheduled for future and current reservations. Obviously they will not be scheduled in the past.&#x20;

</details>

<details>

<summary>Can I skip message in reservations? </summary>

Yes, at the reservation level you are able to skip messages. Click the 3 dots and select skip. This is only visible if the message hasn't been processed already.&#x20;

</details>

<details>

<summary>Can we resend messages in reservations? </summary>

Yes, if a guest has deleted a message by accident your are able to resend the message,&#x20;

</details>


# Export

***

#### What is a reservation export?

A reservation export allows you to download all your reservation data from HolidayHero in a structured format. This is useful when you need to share data with external systems, create reports, or maintain records.

Exports are requested through the backoffice. Once the export is ready, an email with a secure download link is sent to the operator who requested it.

{% hint style="info" %}
The secure download link in the email is only valid for a few days. Make sure to download your export promptly after receiving the email.
{% endhint %}

#### How to export reservations

1. Navigate to **Reservations** in the menu
2. Click the actions menu `⋮` in the top right
3. Click **Export Reservations**

You will see a confirmation message that your export has been requested. Once it is ready, you will receive an email with the download link.

***

#### Frequently Asked Questions

<details>

<summary>How long does an export take?</summary>

This depends on the amount of data. Most exports are ready within a few minutes. You will receive an email as soon as your export is available for download.

</details>

<details>

<summary>My download link has expired, what do I do?</summary>

Simply request a new export through the backoffice. The download links\
are time-limited for security purposes and cannot be extended.

</details>

<details>

<summary>In what format is the export?</summary>

Exports are provided as a downloadable file that can be opened in\
spreadsheet applications such as Microsoft Excel or Google Sheets.

</details>

<details>

<summary>Can I schedule recurring exports?</summary>

This is currently not possible. Exports need to be requested manually\
each time through the backoffice.

</details>


# Check-Ins

## Check-Ins

***

#### What are check-ins?

Check-ins allow you to collect personal details and identification information from your guests before or upon arrival. Guests complete the check-in process through the guest app, providing details such as their name, contact information, nationality, and optionally passport or document details.

All submitted check-ins are collected on the **Check-Ins** page, giving you a centralized overview across all your reservations.

#### How are check-ins enabled?

Check-ins are configured and enabled per brand through the **Brand Check-In Settings**. This means you have full control over which fields are requested, who is allowed to perform a check-in, and how check-ins interact with the reservation lifecycle.

To enable check-ins:

1. Navigate to **Brands** in the menu
2. Select the brand you want to configure
3. Open the **Check-In** tab
4. Toggle **Activate checkin** to enable the feature

Once activated, guests will be prompted to provide their check-in details when they access the guest app.

{% hint style="info" %}
Check-in settings are brand-specific. If you manage multiple brands, each brand can have its own check-in configuration and field requirements.
{% endhint %}

#### Configurable fields

Through the [brand check-in settings](/the-basics/brands/check-in), you can choose which fields guests are required or allowed to fill in. These include personal details such as name, email, phone, date of birth, nationality, and address, as well as travel details like flight number, ETA, and purpose of travel.

Document fields — such as document type, document number, and expiry date — can also be enabled for properties that require identity verification for legal or compliance reasons.

#### Viewing check-ins

The **Check-Ins** overview page displays all check-ins across your reservations. For each entry, you can see:

* The guest's name and contact details
* The associated reservation
* The date the check-in was submitted

Click **View** to open the full check-in details within the context of its reservation.

***

#### Frequently Asked Questions

<details>

<summary>Why don't I see any check-ins?</summary>

Check-ins will only appear once a guest has completed the check-in process through the guest app. Make sure that check-in is activated in the brand settings of the relevant brand. If check-in is disabled, guests will not be prompted to provide their details.

</details>

<details>

<summary>Can I manually create a check-in?</summary>

Yes. Navigate to the reservation, open the **Check-Ins** tab, and click **Create Check In**. You can then fill in the guest's details on their behalf.

</details>

<details>

<summary>Can I edit or delete a check-in?</summary>

Yes. Open the check-in from within the reservation and you can update any of the submitted fields or delete the check-in entirely.

</details>

<details>

<summary>Who is allowed to perform a check-in?</summary>

This depends on the **Acting Permission** setting in your brand check-in configuration. You can restrict check-ins to specific roles, such as only the main booker or all invited guests.

</details>


# Exports

#### What is a check-in export?

A check-in export allows you to download check-in data from HolidayHero in a structured format. This is particularly useful for compliance reporting, sharing guest details with local authorities, or integrating with external registration systems.

Exports are requested through the backoffice. Once the export is ready, an email with a secure download link is sent to the operator who requested it.

{% hint style="info" %}
The secure download link in the email is only valid for a few days. Make sure to download your export promptly after receiving the email.
{% endhint %}

#### How to export check-ins

1. Navigate to **Check-Ins** in the menu
2. Click the actions menu `⋮` in the top right
3. Click **Export Check-Ins**
4. Configure your export:
   * **Date range** — Optionally set a from and to date to limit the\
     export to a specific time window. Leave empty to export all check-ins.
   * **Include document details** — Toggle this on to include sensitive document fields such as passport numbers, document types, and expiry\
     dates.
   * **Columns** — Select which columns to include in the export. By\
     default, all columns are selected. Document-related columns are only\
     available when the document details toggle is enabled.
5. Click **Export**

Enabling document details will include sensitive personal data such as passport numbers and document expiry dates. Only include this information when required.

***

#### Frequently Asked Questions

<details>

<summary>How long does an export take?</summary>

This depends on the amount of data. Most exports are ready within a few minutes. You will receive an email as soon as your export is available for download.

</details>

<details>

<summary>My download link has expired, what do I do?</summary>

Simply request a new export through the backoffice. The download links are time-limited for security purposes and cannot be extended.

</details>

<details>

<summary>What columns are available?</summary>

The export supports columns for personal details:&#x20;

* name,&#x20;
* email,&#x20;
* phone,
* date of birth,&#x20;
* nationality
* address information,&#x20;
* travel details&#x20;
  * flight number,&#x20;
  * ETA,&#x20;
  * purpose of travel
* document type,&#x20;
* document number,&#x20;
* expiry date,&#x20;
* issue date

You can select exactly which columns to include when requesting the export.

</details>

<details>

<summary>Why are document columns greyed out?</summary>

Document columns such as document type, document number, and expiry date contain sensitive personal data. To include these in your export, you must first enable the **Include passport & document details** toggle.<br>

This is an intentional safeguard to prevent accidental export of sensitive information.

</details>

<details>

<summary>In what format is the export?</summary>

Exports are provided as a downloadable file that can be opened in spreadsheet applications such as Microsoft Excel or Google Sheets.

</details>

<details>

<summary>Can I schedule recurring exports?</summary>

This is currently not possible. Exports need to be requested manually\
each time through the backoffice.

</details>


# Listings

A listing is a rentable object that can be rented by guests for a certain period of time. Whether this is a hotel room, appartment or a yacht, boat / vessel. It is all called a listing.

***

### What is a Listing?

A listing is a rentable object that is rented out by the workspace. A few examples, it can be a car, boat, appartment, hotel room, villa or even a yacht. Main essence, is that it is something that is being rented by guests for a certain period of time.&#x20;

A listing is tied to an address, this address is a geopgraphical location of the object.&#x20;

Each listing can have a relationship with various childs, each child has a specific relationship and function within the app.&#x20;

<table><thead><tr><th width="193">Child</th><th>Explanation</th></tr></thead><tbody><tr><td><a href="/the-basics/listings/announcements">Announcements</a></td><td>Announcements are important message you don't want a guest to miss. Think of how to connect to Wifi, check in / out instructions etc. </td></tr><tr><td><a href="/the-basics/listings/amenities">Amenities</a></td><td>Amenities are objects or features that the listing comes with. Each amenity can have a description or summary. </td></tr><tr><td><a href="/the-basics/listings/experiences">Experiences</a></td><td>Experiences (and upsells) are things your guests can visit, book and / or explore. Give your local knowledge back to the guests, share your view on the local area and highlight the bars</td></tr><tr><td><a href="/the-basics/listings/guidebooks">Guidebooks</a></td><td>Guidebooks are textual representation of pages. It helps you to share you policies and instructions. Think of check-in and check-out instructions. </td></tr><tr><td><a href="/the-basics/listings/sections">Sections</a></td><td>Sections are designed to share some important information about directions and contact information. </td></tr><tr><td><a href="/the-basics/listings/documents">Documents</a></td><td>In case the property has specific documents, like license papers, saftey routes etc, you can upload them in documents. </td></tr><tr><td><a href="/the-basics/listings/metafields">Metafields</a></td><td>Metafields, are fields that can differentiate per property. You first set them on a general level and them override them on the listing level. </td></tr><tr><td><a href="/the-basics/listings/settings">Settings</a></td><td>Manage various settings. </td></tr><tr><td><a href="/the-basics/listings/links">Links</a></td><td>Each property has it's own public view links, that can be shared with guests. </td></tr></tbody></table>

***

### Frequently Asked Questions

<details>

<summary>Can I duplicate, replicate or deep copy a listing? </summary>

Yes, we understand that sometimes a listing can exist multiple times. To speed up that process we have build various features:&#x20;

* **Duplicate listing:** this duplicates the listings. It creates an exact copy ot the existing listing, with a connection to the *already* exsting childs.&#x20;
* **Deep Copy a listing:** this duplicates the listing, and re-creates all childs and creates new connections.&#x20;

</details>

<details>

<summary>Is there a limitation on the amount of listings  can have? </summary>

Kind of! You will be limited to the amount of listing you currently have in your subscription. However you are able to upgrade your subscription with additional listings at any moment.&#x20;

</details>


# Announcements

Each listing can have its own set of announcements. The order and what announcements are determined either on the announcement page or the listing announcement page.


# Amenities


# Experiences


# Guidebooks


# Sections


# Documents

We know the important of documents. Listings can have documents attached.

***

### Listing Documents

If it’s a property manual, high-resolution floor plans, special house rules, or detailed check-in instructions, we know the importance of having certain documents at your disposal as a guest. Withn reservation documents we allow the user to upload documents, to a reservation. These documents will be displayed within the guest app. See the [Reservation Stages](/the-basics/brands/reservation-stages) for more details on how they are displayed.&#x20;

{% hint style="info" %}
Reservation and Listing documents are combined at the home page. [Reservation documents](/the-basics/reservations/documents) have priority and are listed higher.&#x20;
{% endhint %}

### Supported document types

We allow all main types of documents to be uploaded. There is a 5 mb restriction on the file size.&#x20;

{% hint style="info" %}
**Keep your documents as small as possible.** &#x20;

90% of the travellers are on their cellphone and may have limited data access.&#x20;
{% endhint %}

| Document Type |                       |
| ------------- | --------------------- |
| `Excel`       | Microsoft Excel       |
| `Word`        | Microsoft Word        |
| `PDF`         | PDF                   |
| `Txt`         | Plain Text files      |
| `JPG / JPEG`  | Image type            |
| `PNG`         | Image Type            |
| `WebP`        | Compressed Image Type |

### Document Expiration

An uploaded document will remain available at all times. However, to enhance the security of your documents, don't allow the sharing of document download URL's. Each time a document is displayed we generate a unique link that is only valid for a short period of time.&#x20;

If you experience issues with document downloading, refresh the page and download it again.&#x20;

***

### Frequently Asked Questions

<details>

<summary>How can I upload a document to a listing? </summary>

Follow the following steps to upload a document to a listing:

1. In the menu click on listings
2. Click on the desired listing
3. Go to the documents tab
4. Click on the upload Documents button
5. Select the file you want to upload

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FGmZEJ91ExFosUgU81YMn%2FDocuments.png?alt=media\&token=a3547a4d-c370-4322-b9f0-d89e793a9a21)

**Tip:** *You can select multiple files at once.*&#x20;

</details>

<details>

<summary>Can I change the sort order of the documents? </summary>

Yes you can! Follow the following steps:&#x20;

1. In the menu click on listings
2. Click on the desired listing
3. Go to the documents tab
4. Drag a document by the two arrows to its new position.&#x20;
5. Wait for the confirmation that the order has been changed

</details>

<details>

<summary>Can I download an document? </summary>

Yes, in case you want to download a document, follow the following steps:&#x20;

1. In the menu click on listings
2. Click on the desired listing
3. Go to the documents tab
4. Look for the document you want to download
5. Click the download button, it will be downloaded.&#x20;

</details>

<details>

<summary>Can I delete a listing document? </summary>

Yes, ofcourse! Follow the following steps to delete a document.

1. In the menu click on listings
2. Click on the desired listing
3. Go to the documents tab
4. Find the document you want to delete.&#x20;
5. Click delete and confirm the deletion.&#x20;

</details>


# Metafields

Metafields can be used within listings. Overwrite a default value of an metafield and use this within the guest journey.

***

### Listing Metafields

Listing metafields are designed to overwrite certain values you use across the application / guest journey. For more details on the usage of metafields see [Metafields](/the-basics/metafields).&#x20;


# Settings


# Links

Listings


# Announcements

Announcements are small cards in the app used to highlight important messages. They help communicate key updates or offers, ensuring guests stay informed throughout their stay.

***

### What is an announcement?&#x20;

An announcement is a special card in the app that catches a guest's attention. It consists of a `title`, `nickname`, and `body`. Optionally, you can attach a `Call to Action (CTA)` to navigate the guest to a specific part of the app or web.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FJkvvw5Ol2tqsxMoMjiZj%2Fannouncement-card.png?alt=media&amp;token=10971974-b620-4688-b933-1e58405afee1" alt=""><figcaption><p>Wifi Annoouncement card example</p></figcaption></figure>

#### Meta fields&#x20;

The use of [metafields](#metafields) is allowed in the `title,` `body`, and the `CTA Url.`&#x20;

{% hint style="info" %}
If meta fields are used and the announcement is shown through the public section, reservation-connected meta fields will default to their default value.&#x20;
{% endhint %}

### Announcement Types

To facilitate all kinds of announcements, we have split them up into types. Below is a list of all types and their purposes. &#x20;

<table><thead><tr><th width="296">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>Amenity</code></td><td>It is connected to a specific amenity and guides the guest through a CTA.</td></tr><tr><td><code>Guidebook</code></td><td>It is connected to a specific guidebook and guides the guest through a CTA to that guidebook.</td></tr><tr><td><code>Experience</code></td><td>It is connected to a specific experience and guides the guest through a CTA to that experience.</td></tr><tr><td><code>Native Browser</code></td><td>Guides the guest to an external page. The user is moved outside the app into a natvie browser on the mobile version. </td></tr><tr><td><code>In App Browser</code></td><td>Guides the guest to an external page. The mobile app opens a modal; in the web version, this opens a page within the default browser. </td></tr><tr><td><code>Wifi</code></td><td>This gives the user special information/instructions about the wifi. The CTA button connects the user automatically to the Wifi.</td></tr><tr><td><code>Generic</code></td><td>This generic card displays a title and a body to the guest. </td></tr></tbody></table>

All announcements have an `nickname`this helps you internally identiy what the announcement is for.&#x20;

### Dismissing

It is connected to a specific guidebook and guides the guest through a CTA to that guidebook. Announcements can be dismissed, meaning that certain announcements can be closed by the guest. Each announcement has a dismissable toggle that determines if the guest is able to close the announcement.

Dismissing announcements are only available in non-public reservation stages.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FcqgSIe24L2fyIaFgSjjj%2Fdismissable.png?alt=media&amp;token=31ac34cc-4a42-4223-afb4-b5e1938f2493" alt=""><figcaption><p>Dismissable announcements</p></figcaption></figure>

{% hint style="info" %}
Dismissed announcements cannot be retrieved by the guest and not reinstated by the operator.&#x20;
{% endhint %}

### Branding

Announcements are colored by the branding setting. To make them stand out, we alter between colors.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FRXJ255rC3pIgDGwCXUdz%2Fannouncement-card-design.png?alt=media&amp;token=c178e668-b565-4561-9fa3-24fc2fbbc459" alt=""><figcaption><p>Announcement design structure.</p></figcaption></figure>

<table><thead><tr><th width="108">#</th><th>Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>The card it self is a gradient from the <code>base90</code> color to the <code>card-even</code>or the <code>card-odd</code>color. </td></tr><tr><td><code>2</code></td><td>The dismissable button background is a <code>base30</code>with a <code>base</code> colored icon. </td></tr><tr><td><code>3</code></td><td>The text is the <code>on-base</code> color</td></tr><tr><td><code>4</code></td><td>The CTA has the <code>secondary</code> background color and the <code>on-secondary</code> color. </td></tr></tbody></table>

See the [branding appearance](/the-basics/brands/appearance) for more details on the colors and color variants generation.&#x20;

### Connected Resources

You can connect resources like [experiences](/the-basics/experiences), [guidebooks](/the-basics/guidebooks), and [amenities](/the-basics/amenities) with announcements. Once a resource is deleted, the connected announcement will also be automatically deleted.&#x20;

***

### Frequently Asked Questions

<details>

<summary>How to create an Announcement</summary>

To create an announcement, follow the following steps.&#x20;

1. In the menu click announcements
2. Click `Create announcement`
3. Selec the [announcement type](#announcement-types) you wish to add
4. Fill in all the details.&#x20;
   1. If the announcement is connected to a resource (Amenity, Experience, or Guidebook), select the resource by clicking on the `Change` button.&#x20;
5. If the announcment has a button attached, provide all the details.&#x20;

**Hint:** *Don't forget to connect to the announcement to your preferred listings*

</details>

<details>

<summary>Why do I only see 10 announcement in the guest app? </summary>

Announcements are a powerful way to display important information to guests. In order to not have it lose it's power, we decided to not have an overkill for the guests. Therefore, we allow a maximum of 10 announcements to be displayed on the home page.\
\
However, if the guest has dismissed an announcement and there were more than 10 announcements available, upon a refresh, a new announcement will be shown.&#x20;

</details>

<details>

<summary> Can I change the sortorder of the announcements? </summary>

Definitely! We understand the importance of having the correct info at a glance.  At the listing level, you can adjust the order of the announcements.&#x20;

See [Listing Announcements](/the-basics/listings/announcements)

</details>


# Documents

Throughout the application, it is possible to upload documents. A document is permanently attached to a parent resource and never lives alone.

***

### Documents and their usage

Documents can only be used in combination with other resources. They have to be attached to a parent resource. A list of available resources and their documentation link can be found below:&#x20;

* [Listings](/the-basics/listings/documents)
* [Reservations](/the-basics/reservations/documents)
* Experiences
* [Amenities](/the-basics/amenities/documents)
* [Guidebooks](/the-basics/guidebooks/documents)

### Document Expiration

An uploaded document will remain available at all times. However, to enhance the security of your documents, don't allow the sharing of document download URL's. Each time a document is displayed we generate a unique link that is only valid for a short period of time.&#x20;

If you experience issues with document downloading, refresh the page and download it again.&#x20;

***

### Frequently Asked Questions

<details>

<summary>Can I change the sort order of the documents? </summary>

Yes you can! Follow the following steps:

1. In the menu click on reservations
2. Click on the desired reservation
3. Go to the documents tab
4. Drag a document by the two arrows to its new position.

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FGmZEJ91ExFosUgU81YMn%2FDocuments.png?alt=media\&token=a3547a4d-c370-4322-b9f0-d89e793a9a21)

</details>


# Guidebooks

Sometimes text is just enough. With guidebooks you can provide instructions and large pieces of text.

***

### What are guidebooks?&#x20;

Guidebooks are pages with information containing text and an image gallery. They are commonly used for instructions, terms/conditions, policies, etc. You can generate guidebooks automatically during the onboarding flow. &#x20;

In general, guidebooks are connected to the listing or the rental company.

#### Guidebook structure

A guidebook consists of a `name`, `nickname`, `summary` , `content`, `images`  and/ or `documents.`

<table><thead><tr><th width="168"></th><th></th></tr></thead><tbody><tr><td><code>Name</code></td><td>The guidebook's name will be used as a title on the home page and in the guidebook block of the touchpoints.</td></tr><tr><td><code>Nickname</code></td><td>An internal reference of the guidebook is used internally to identify a specific guidebook.</td></tr><tr><td><code>Summary</code></td><td>A summA summary is used in touchpoints to describe the guidebook in a summary.</td></tr><tr><td><code>Content</code></td><td>The content of the guidebook. </td></tr><tr><td><code>Images</code></td><td>Images are displayed at the bottom of the guidebooks. As a gallery, clickable to enlarge</td></tr><tr><td><code>Documents</code></td><td>Documents such as manuals, references, options, etc., can be added to extend the content.</td></tr></tbody></table>

#### Metafields

The use of [metafields](https://support.holidayhero.com/the-basics/announcements#metafields) is allowed in the `name,` `summary`,  and the `content.`

{% hint style="info" %}
If metafields are used and the guidebook is shown through the public section. For reservation-connected meta fields, it will default to its' default value.
{% endhint %}

<table><thead><tr><th width="138">#</th><th>Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>The guidebook title</td></tr><tr><td><code>2</code></td><td>Contact host button, this will open a modal / popup with the details of the host.</td></tr><tr><td><code>3</code></td><td>The content of the guidebook. </td></tr><tr><td><code>4</code></td><td>If any, the attached documents. If none, section will be hidden</td></tr><tr><td><code>5</code></td><td>If any, the attached images. If none, section will be hidden</td></tr></tbody></table>

### Branding

The branding if the guidebook sections and pages is based on the [branding appearance](/the-basics/brands/appearance) settings. See a detailed description below:&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FRq1XzkcAHAPbn1C1L5Xk%2Fguidebook_image_branding.png?alt=media&amp;token=be2056c6-270b-4d06-934e-f09c4b16c1f0" alt=""><figcaption><p>Guidebook branding elements</p></figcaption></figure>

<table><thead><tr><th width="107">#</th><th>Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>The title has the <code>on-base</code>color</td></tr><tr><td><code>2</code></td><td>The contact host seciton has a <code>base60</code>background color and a <code>on-base</code>color. </td></tr><tr><td><code>3</code></td><td>The text has a <code>on-base</code>color</td></tr><tr><td><code>4</code></td><td>The section headers have a <code>base20</code>color. </td></tr></tbody></table>

***

### Frequently Asked Questions

<details>

<summary>How to create an Guidebook?</summary>

To create a guidebook, follow these steps:&#x20;

1. Click Guidebooks in the menu
2. Click the `Create Guidebook`button
3. Provide a guidebook title
4. Save the guidebook
5. Continue adding other details about the guidebook, such as images, documents, and content.&#x20;

**Hint:** *Once created, don't forget to link it existing listing to make it visible for guests.*&#x20;

</details>

<details>

<summary>Can I change the sort order of the guidebooks? </summary>

Definitely! We understand the importance of having the correct info at a glance. At the listing level you can adjust the order of the guidebooks.

See [Listing Guidebooks](/the-basics/listings/guidebooks)

</details>

<details>

<summary>Can I change the order of the documents? </summary>

Yes. Follow these steps:&#x20;

1. Click Guidebooks in the menu
2. Open the corresponding guidebook
3. Open the documents tab
4. Drag the desired document to a new position with it's arrows button&#x20;
5. Wait for the confirmation.&#x20;

</details>

<details>

<summary>Can I change the sort order of the images? </summary>

Yes, you can, follow these steps to do so:&#x20;

1. Click Guidebooks in the menu
2. Click on the desired guidebook.&#x20;
3. Scroll to the image section.&#x20;
4. Drag an image to it's new position
5. Wait for the confirmation.&#x20;

</details>


# Guest App

Guidebooks are used within the guest app to inform guests about policies, terms, and conditions, or simple instructions. You can learn more about how they are displayed.

## Guest App

The guest app shows guidebooks on the home page, which can be viewed from there. The homepage shows a maximum of 10 items. The visibility of this section is controlled by the [branding reservation stages.](/the-basics/brands/reservation-stages)

#### Homepage

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F0D2jdn1IBEI0bEByx0Vo%2Fhome_guidebooks.png?alt=media&amp;token=0ba23bf8-c992-4886-b556-2ffcea9ccd1e" alt=""><figcaption><p>Guidebooks section at the home page. </p></figcaption></figure>

#### Guidebook Details

Once the guest has clicked on a guidebook it will be guided to its contents.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F9a9e9j9kcVw4gB314ii0%2Fguidebook_details.png?alt=media&amp;token=0c632b7d-dba9-4de1-b263-8eb8ec5d82f2" alt=""><figcaption><p>Guidebook details and their descriptions</p></figcaption></figure>

<table><thead><tr><th width="138">#</th><th>Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>The guidebook title</td></tr><tr><td><code>2</code></td><td>Contact host button, this will open a modal / popup with the details of the host.</td></tr><tr><td><code>3</code></td><td>The content of the guidebook. </td></tr><tr><td><code>4</code></td><td>If any, the attached documents. If none, section will be hidden</td></tr><tr><td><code>5</code></td><td>If any, the attached images. If none, section will be hidden</td></tr></tbody></table>

## Branding

The branding if the guidebook sections and pages is based on the [branding appearance](/the-basics/brands/appearance) settings. See a detailed description below:&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FRq1XzkcAHAPbn1C1L5Xk%2Fguidebook_image_branding.png?alt=media&amp;token=be2056c6-270b-4d06-934e-f09c4b16c1f0" alt=""><figcaption><p>Guidebook branding elements</p></figcaption></figure>

<table><thead><tr><th width="107">#</th><th>Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>The title has the <code>on-base</code>color</td></tr><tr><td><code>2</code></td><td>The contact host seciton has a <code>base60</code>background color and a <code>on-base</code>color. </td></tr><tr><td><code>3</code></td><td>The text has a <code>on-base</code>color</td></tr><tr><td><code>4</code></td><td>The section headers have a <code>base20</code>color. </td></tr></tbody></table>


# Documents

Uploading a document to a guidebook lets guests access manuals, instructions, or details directly in the app, enhancing their experience by providing essential information at their fingertips.

***

### What is a document?

Documents can be used to extend information that is available on a resource, such as a [Listing](/the-basics/listings), [Reservation](/the-basics/reservations), [Amenity](/the-basics/amenities), [Guidebook](/the-basics/guidebooks), or [Experience](/the-basics/experiences). For example, if you have a manual that should be shown as an Amenity, please upload it as a document. Do you have an additional set of house rules that was only available in picture/pdf format? Upload this to a listing.

### Document Limitations

View a list of all limitations below:

| Type                                 | Amount                         |
| ------------------------------------ | ------------------------------ |
| **Amount of documents per resource** | 50                             |
| **File size per document**           | 5 mb                           |
| **Supported File Types**             | PNG, JPG, JPEG, WEBP, GIF, PDF |

### **Security**

Documents are always securely stored within our CDN. We generate unique download URLs for each document. Each URL has a validity of 2 hours, after which it will expire. A refresh will generate a new URL that allows you to download the document.

***

### Frequently Asked Questions

<details>

<summary>Can I download uploaded documents through the backoffice? </summary>

Yes you can!

1. Go to the resource you have the document uploaded to.&#x20;
2. Go to the `Documents` tab
3. Click on download

Voila! Your document is downloaded.&#x20;

</details>

<details>

<summary>Can I recover an deleted document? </summary>

Nope, a deleted document has been shredded, thrown away and we removed all traces of it. Sorry.&#x20;

</details>


# App Users

Guests that stayed in your property and have used the guest portal / application.

### What is an App User?

A user of the app is a guest who has either used the web application or installed the native application. In other words, they have created an account within your guest portal by providing their `first name`, `last name`, and `email address`.

### How can users create an account?

An App User can create an account in various ways:&#x20;

* They have received an invite through a [touchpoint](/getting-started/glossary#touchpoints) (SMS/ Email / Etc)
* They have visited your branded guest portal.&#x20;

### User Stages

Within HolidayHero we use various terms to determine a guest.&#x20;

* `Invites` are invitations that we have sent out to guests. They are not explicitly personal. An [invite](/getting-started/glossary#invites) can be shared across the group and is tied to a [reservation](/getting-started/glossary#reservations). Invites can also be shared between guests within a reservation, allowing multiple guests to join the reservation.&#x20;
* `Users` are guests who have been connected to a reservation. In other words, they have access to the guest portal.&#x20;
* `Check-ins` - if a [brand](/getting-started/glossary#brands) has activated the check-in feature, the requested information is collected, and the user will receive the status, checked in

### Budget and Interests

At check-in, guests can be asked about their interests and budget. The [Brand check-in settings](/the-basics/brands/check-in) manage this. Once activated, the users will be asked to provide their interests at check-in. For this, we use emojis. See the list below:&#x20;

<table><thead><tr><th width="113">Emoji</th><th>Interest</th></tr></thead><tbody><tr><td>🏄</td><td>Adventure</td></tr><tr><td>🏛️</td><td>Culture</td></tr><tr><td>🍔</td><td>Food</td></tr><tr><td>👶🏻</td><td>Kids</td></tr><tr><td>🌳</td><td>Nature</td></tr><tr><td>🪩</td><td>Nightlife</td></tr><tr><td>🏖</td><td>Relaxation</td></tr></tbody></table>

{% hint style="info" %}
For now, these are set in stone and they can't be changed. We are exploring a change on this field.&#x20;
{% endhint %}

Budget: a user's budget is a last indicated moment. The budget will be updated and overwritten if a guest returns for another visit. &#x20;

At the user, it is visible what they have provided:&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FgllCfyibipffKfOLWcXR%2Finterests.png?alt=media&amp;token=22adb67f-407c-4b19-b5d9-22dc92634b11" alt=""><figcaption></figcaption></figure>

***

### Frequently Asked Questions

<details>

<summary>How to remove a user?</summary>

Either to comply with GDPR requests, `the right to be forgotten` or simply to remove users, you delete them by following the following steps:

1. In the sidebar, click on App Users [⤴](https://admin.holidayhero.com/users)
2. Find the user you want to delete and open it.

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F6fnYIdOFkReueea0l26T%2Fdelete.png?alt=media\&token=a9b46dc6-ca61-42ae-9c09-54e7fc6ab84c)

3. Click on the <mark style="color:red;">red</mark> delete button&#x20;
4. Confirm your deletion.&#x20;

</details>

<details>

<summary>Are users automatically invited to reservations? </summary>

Within the touchpoints, there is a special touchpoint to invite users. This touchpoint cannot be deleted. However, it can be deactivated. In order to send out invites, make sure that the touchpoint is activated. \
\
Once activated, automatically all reservations will have the invitation touchpoint scheduled. This can been seen at the [reservation - touchpoints](broken://pages/a8MQ3dpELPbA8ttpHAK0).&#x20;

</details>

<details>

<summary>How to disable the Interests and Budget question?</summary>

We understand that not host would want to ask these questions. However, they help in personalizing the experience for the guest. If you want to disable the questions, follow these steps:&#x20;

1. Go to [Brands](/the-basics/brands)&#x20;
2. Click on the corresponding brand
3. Click on the [Brand Checkin Tab](/the-basics/brands/check-in)
4. Scroll down to the Fields section, all the way at the bottom.&#x20;
5. Disable "*Ask for interests*" and "*Ask for budget*"

![](broken://files/UDBfTCMP7c8zrqB27NO9)

6. Don't forget to save the settings.&#x20;

</details>


# Amenities

Each property has a set of amenities, indicate what ameniteis are and how they can be used.

***

### What are amenities?

Amenities are services, facilities and features provided by an host and available within the property. They ensure comfort, convenience and increase the guest experience. They encompass both practical necessities and additional enhancements designed to improve the overall guest experiences.&#x20;

In HolidayHero, we work with predefined amenities. These amenities correspond to icons, that are used for guest based communinication. In such a way, guest easily recognise what amentiies are available at the property. See the full list of amenities here.&#x20;

#### Amenity Types <a href="#amenity-types" id="amenity-types"></a>

<table><thead><tr><th width="254">Type</th><th>Use cases</th></tr></thead><tbody><tr><td><code>AC</code></td><td>Describe the use of the AC, where to find the remote etc.</td></tr><tr><td><code>Alarm</code></td><td>Describe the use of the alarm, where the sensors are located etc.</td></tr><tr><td><code>Animals</code></td><td>Describe the animals present at the property, where they can be found and any rules guests should follow around them.</td></tr><tr><td><code>Baby Bath</code></td><td>Describe where the baby bath is located and how to use it.</td></tr><tr><td><code>Bathrobes</code></td><td>Describe the bathrobe policy, are they free of use, can they be purchased</td></tr><tr><td><code>BBQ</code></td><td>Describe the BBQ, where it can be found, how to use it, and whether it is a gas, coal, or wood version.</td></tr><tr><td><code>Bed Linen</code></td><td>Describe if the property comes with bed linen and if they can be washed or replaced. What are the costs of additional sets?</td></tr><tr><td><code>Bikes</code></td><td>Explain where the bikes are located and if there are bike paths close by.</td></tr><tr><td><code>Blender</code></td><td>Explain what type of blender is available, if you can put the blender in the dishwasher etc.</td></tr><tr><td><code>Board Games</code></td><td>Explain where the boardgames are located and which games are available.</td></tr><tr><td><code>Breakfast</code></td><td>Describe what breakfast is offered, where and when it is served and whether it is included.</td></tr><tr><td><code>Carbon Dioxide Alarm</code></td><td>Describe where the Carbon dioxide alarms are located and how they can be silenced.</td></tr><tr><td><code>CCTV</code></td><td>Describe your CCTV policy. Ensure that it is clear to guests where the camera's are positioned, how they record and what times.</td></tr><tr><td><code>Ceiling Fan</code></td><td>Describe the use of the ceiling fan.</td></tr><tr><td><code>Children Chair</code></td><td>Describe where the user can find a children chair and what model it is.</td></tr><tr><td><code>Children Crib</code></td><td>Describe where the guests can find the Children crib and how it can be used.</td></tr><tr><td><code>Coffee Maker</code></td><td>Describe what kind of coffee maker is available and if it requires special coffee pads.</td></tr><tr><td><code>Concierge</code></td><td>Describe the concierge service, how guests can reach it and what kind of requests it can help with.</td></tr><tr><td><code>Desk</code></td><td>Describe where the desk is located and how guests can use it to work or study.</td></tr><tr><td><code>Disabled Access</code></td><td>Describe the policy for disabled access. Where and how can they enter the property? Should they let you know something in advance?</td></tr><tr><td><code>Dishwasher</code></td><td>Explain where the dishwasher is and how it can be used.</td></tr><tr><td><code>Dryer</code></td><td>Explain where the dryer is located and how it can be used.</td></tr><tr><td><code>Ethernet Connection</code></td><td>Describe where an Ethernet plug is located and how they can connect with it.</td></tr><tr><td><code>EV Plug</code></td><td>Describe your EV plug policy. What is the price for charging the car, and how fast can it charge?</td></tr><tr><td><code>Fireplace</code></td><td>Describe where the fireplace is located and how it should be used.</td></tr><tr><td><code>Firewood</code></td><td>Describe where the guests can find or buy firewood.</td></tr><tr><td><code>Fire Alarm</code></td><td>Describe how and where the fire alarm is located. Can it be triggered by cigarette smoke, etc.</td></tr><tr><td><code>Fire Extinguisher</code></td><td>Describe where fire extinguishers can be found and how they can be used.</td></tr><tr><td><code>First Aid Kit</code></td><td>Describe the location and the contents of the First Aid kit.</td></tr><tr><td><code>Games Room</code></td><td>Describe the location of the games room and its utilities.</td></tr><tr><td><code>Game Console</code></td><td>Describe what game console is available and how it can be used. How to swap the TV to the games console.</td></tr><tr><td><code>Garage</code></td><td>Describe the use of the garage. Does it have doors? How can you open and close these.</td></tr><tr><td><code>Garden</code></td><td>Could you describe the garden and what is available? Is there a gardener who will be performing the maintenance and what is allowed in the garden and what not.</td></tr><tr><td><code>Gate</code></td><td>Explain if there is a gate and how the gate should be operated</td></tr><tr><td><code>Gym</code></td><td>Explain the location and the equipment of the gym</td></tr><tr><td><code>Hair Dryer</code></td><td>Explain if there is a hairdryer in the property or not.</td></tr><tr><td><code>Heating</code></td><td>Explain where the thermostat is located and where and how it can be used.</td></tr><tr><td><code>Home Cinema</code></td><td>Explain if there is a home cinema and how it could be used.</td></tr><tr><td><code>Hot Tub</code></td><td>Explain where the hot tub is located, and if it is free of charge. And how it should be operated</td></tr><tr><td><code>Hot Water Kettle</code></td><td>Explain the use of the water kettle</td></tr><tr><td><code>In-Room Fruit</code></td><td>Describe the in-room fruit provided, where guests can find it and whether it is replenished.</td></tr><tr><td><code>In-Room Water</code></td><td>Describe the complimentary water provided in the room and whether it is replenished.</td></tr><tr><td><code>Iron</code></td><td>Explain where the iron is located and how it can be used.</td></tr><tr><td><code>Iron Board</code></td><td>Explain where the iron board is located an how it can be used.</td></tr><tr><td><code>Jacuzzi</code></td><td>Explain where the jacuzzi is located and how it can be operated.</td></tr><tr><td><code>Laundry Services</code></td><td>Explain if there are laundry services located at the property and what the costs are.</td></tr><tr><td><code>Microwave</code></td><td>Explain the use of the microwave and where it is located.</td></tr><tr><td><code>Mountain Bikes</code></td><td>Does the property come with mountain bikes and if where can they be found?</td></tr><tr><td><code>Oven</code></td><td>Does the property come with an oven? If so, how should it be operated?</td></tr><tr><td><code>Parking</code></td><td>How is parting arranged at the property? Is this free of charge, where can there be parked?</td></tr><tr><td><code>Pets</code></td><td>Describe your pet policy. Are pets allowed? Are there special rules around pets.</td></tr><tr><td><code>Pool Table</code></td><td>Where is the pool table located, it is free of charge?</td></tr><tr><td><code>Private Entrance</code></td><td>How does the private entrance work, is there an required code to get in?</td></tr><tr><td><code>Refrigerator</code></td><td>Does the property come with a refrigerator?</td></tr><tr><td><code>Sauna</code></td><td>Where is the sauna located and how can it be used?</td></tr><tr><td><code>Shampoo</code></td><td>Will there be toiletries provided?</td></tr><tr><td><code>Shop</code></td><td>Describe the on-site shop, where it is located, its opening hours and what guests can buy there.</td></tr><tr><td><code>Skis</code></td><td>Where can guests leave there skis?</td></tr><tr><td><code>Smart Switch</code></td><td>Does the property have smart switches? If so, how can they be used?</td></tr><tr><td><code>Smoke Detector</code></td><td>Is the property equipped with a smoke detector and how can it be silenced etc.</td></tr><tr><td><code>Snacks</code></td><td>Describe the snacks available, where guests can find them and whether they are free of charge.</td></tr><tr><td><code>Sound System</code></td><td>What is the policy around sound systems</td></tr><tr><td><code>Table Tennis</code></td><td>Describe where the table tennis is located and whether equipment such as bats and balls is provided.</td></tr><tr><td><code>Yoga</code></td><td>Describe the yoga facilities, where they are located and what equipment such as mats is available.</td></tr></tbody></table>

\ <br>

### Amenity structure

A amenity consists of a `type`, `name`, `nickname`, `summary` , `content`, `images`  and/ or `documents.`

<table><thead><tr><th width="168"></th><th></th></tr></thead><tbody><tr><td><code>Name</code></td><td>The amenity's name will be used as a title on the home page and in the amenity block of the touchpoints.</td></tr><tr><td><code>Nickname</code></td><td>An internal reference of the amenity is used internally to identify a specific amenity.</td></tr><tr><td><code>Summary</code></td><td>A summary is used in touchpoints to describe the amenity in a summary.</td></tr><tr><td><code>Content</code></td><td>The content of the amenity. </td></tr><tr><td><code>Images</code></td><td>Images are displayed at the bottom of the amenities. As a gallery, clickable to enlarge</td></tr><tr><td><code>Documents</code></td><td>Documents such as manuals, references, options, etc., can be added to extend the content.</td></tr></tbody></table>

### Metafields

The use of [metafields](https://support.holidayhero.com/the-basics/announcements#metafields) is allowed in the `name,` `summary`,  and the `content.`

{% hint style="info" %}
If metafields are used and the amenity is shown through the public section. For reservation-connected meta fields, it will default to its' default value.
{% endhint %}

***

### Frequently Asked Questions

<details>

<summary>Can I override the default amenity icon? </summary>

Yes you can, we allow you to use either your own icons or images. Follow these steps to do so:&#x20;

1. Click Amenities in the sidebar
2. Click on the desired Amenity
3. Scroll to the display section.&#x20;
4. Toggle the `Override icon with image` to allow the override

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FVNLvnSg9C3V8PzpFepUm%2Foverride%20icon.png?alt=media\&token=1070391a-ca7d-42c9-8e87-c9d098605e70)

**Hint:** Once that toggle is activated it will use the first image as an icon. You can change the sorting of the images by dragging them around.&#x20;

</details>

<details>

<summary>Can I change which amenities are displayed at the homepage? </summary>

</details>


# Guest App

Amenities are used within the guest app to inform guests about their availability or provide instructions on how to use them. Learn more about how they are displayed.

## **Guest App**

The guests have access to amenities on various places in the guest app. Below you can find an overview of where the amenities are used.&#x20;

### **Homepage**

The guest app shows amenities on the home page, which can be viewed from there. The homepage shows a maximum of 10 items. The visibility of this section is controlled by the [branding reservation stages.](/the-basics/brands/reservation-stages)

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F2fAEDK3PVTARVVjERLoO%2Fguest_app_amenities.png?alt=media&amp;token=98b2306f-eb0f-466e-9ac8-df153e25496d" alt=""><figcaption><p>Amenities on the Guest App Dashboard</p></figcaption></figure>

At the homepage we list the first 10 amenities. These amenities are the most important ones.&#x20;

<table><thead><tr><th width="62">#</th><th>Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>The Amenity icon, our specialized icons, adjusts to your banding. If you wish to override them with your own icons/image, <a href="#can-i-override-the-default-amenity-icon">read here</a> how to do this. </td></tr><tr><td><code>2</code></td><td>The name</td></tr><tr><td><code>3</code></td><td>Button to view all amenities. </td></tr></tbody></table>

### Amenity Overview

The first 10 amenities are displayed on the homepage. The full list of amenities in the amenity overview. By clicking `View All` a guest is able to see the overview.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fahl6CAfuTymmrDuMwpXH%2Fguest_app_amenities_overview.png?alt=media&amp;token=f30a771c-bc2a-4ba3-89d9-2a6c25fec5c0" alt=""><figcaption><p>Amenity Overview in the Guest App</p></figcaption></figure>

### Amenity Details

Once the guest has clicked an amenity, it will be guided to the amenity details.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FjIixkNTss02C6HedWiNy%2Fguest_app_amenitiy_details.png?alt=media&amp;token=08d0b551-b583-46bc-96de-22d3c4d8c975" alt=""><figcaption><p>Amenity Details in the Guest App</p></figcaption></figure>

<table><thead><tr><th width="110">#</th><th>Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>The amenity title and icon. The Amenity icon, our specialized icons, adjusts to your banding. If you wish to override them with your own icons/image, <a href="#can-i-override-the-default-amenity-icon">read here</a> how to do this. </td></tr><tr><td><code>2</code></td><td>The amenity description</td></tr><tr><td><code>3</code></td><td>The connected amenity documents</td></tr><tr><td><code>4</code></td><td>The uploaded amenity images</td></tr></tbody></table>

## Branding

We understand that your personal branding play an important role in delivering a stellar guest experience. Therefore we allow you to adjust the branding of the app to reflect your colors, logo's and even content.&#x20;

See here per location how the branding is applied on the amenities.&#x20;


# Documents

Uploading a document to an amenity lets guests access manuals, instructions, or details directly in the app, enhancing their experience by providing essential information at their fingertips.

***

### What is a document?

Documents can be used to extend information that is available on a resource, such as a [Listing](/the-basics/listings), [Reservation](/the-basics/reservations), [Amenity](/the-basics/amenities), [Guidebook](/the-basics/guidebooks), or [Experience](/the-basics/experiences). For example, if you have a manual that should be shown as an Amenity, please upload it as a document. Do you have an additional set of house rules that was only available in picture/pdf format? Upload this to a listing.

### Document Limitations

View a list of all limitations below:

<table><thead><tr><th width="384">Type</th><th>Amount</th></tr></thead><tbody><tr><td><strong>Amount of documents per resource</strong></td><td>50</td></tr><tr><td><strong>File size per document</strong></td><td>5 mb</td></tr><tr><td><strong>Supported File Types</strong></td><td>PNG, JPG, JPEG, WEBP, GIF, PDF</td></tr></tbody></table>

### **Security**

Documents are always securely stored within our CDN. We generate unique download URLs for each document. Each URL has a validity of 2 hours, after which it will expire. A refresh will generate a new URL that allows you to download the document.

***

### Frequently Asked Questions

<details>

<summary>Can I download uploaded documents through the backoffice? </summary>

Yes you can!

1. Go to the resource you have the document uploaded to.&#x20;
2. Go to the `Documents` tab
3. Click on download

Voila! Your document is downloaded.&#x20;

</details>

<details>

<summary>Can I recover an deleted document? </summary>

Nope, a deleted document has been shredded, thrown away and we removed all traces of it. Sorry.&#x20;

</details>


# Smart Devices

Whether you want to monitor the presence of your guests, automate heating, or give guests access to your properties. HolidayHero got you covered with smart devices.

***

## What are Smart Devices?

Smart devices are advanced technologies installed within a property to improve convenience, enhance comfort, and create memorable guest experiences. They include features such as smart locks, climate control systems, and automated lighting that streamline property operations while providing a modern touch for guests.

In HolidayHero, we work with predefined smart devices that are fully integrated into our platform.&#x20;

### Available Types

Within HolidayHero we follow internal standards for smart devices, and we aim to support as many devices as necessary to improve the guest experience.&#x20;

| Device Types                       |                                                                                                                                                                                                         |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Lighting`                         | Support for dimmers, switches and lamps that required color adjustments and brightness.                                                                                                                 |
| `Plugs / Outlets`                  | Smart plugs and outlets that allow remote control of connected appliances, including energy monitoring features.                                                                                        |
| `Switches and Buttons`             | Smart switches and buttons for controlling various devices and automations within the smart home.                                                                                                       |
| `Thermostats and HVAC Controllers` | Devices that manage heating, ventilation, and air conditioning systems, enabling temperature control and scheduling.                                                                                    |
| `Sensors`                          | Including motion sensors, contact sensors (door/window), temperature and humidity sensors, air quality sensors, and water leak detectors, providing environmental monitoring and automation triggers.   |
| `Locks`                            | Smart door locks offering remote locking/unlocking and monitoring capabilities.                                                                                                                         |
| `Window Coverings`                 | Motorized blinds, shades, and curtains that can be controlled remotely for adjusting natural light and privacy.                                                                                         |
| `Appliances`                       | Smart appliances such as refrigerators, ovens, cooktops, microwaves, dishwashers, laundry washers and dryers, and robotic vacuums, allowing for monitoring and control within the smart home ecosystem. |
| `Air Purifiers and Fans`           | Devices that improve indoor air quality and comfort, controllable through the smart home system.                                                                                                        |
| `Smoke and Carbon Monoxide Alarms` | Safety devices that detect smoke and CO levels, integrating alerts into the smart home network.                                                                                                         |
| `Energy Management Devices`        | Including smart energy monitors, electric vehicle chargers, and solar energy systems, providing insights and control over energy consumption and generation.                                            |
| `Water Management Devices`         | Such as leak detectors, freeze sensors, rain sensors, and controllable water valves, aiding in water conservation and damage prevention.                                                                |
| `Media Devices`                    | Televisions, streaming devices, and set-top boxes that support Matter, enabling unified control and integration with other smart home components.                                                       |

### Integrations

All smart devices are connected to HolidayHero through integrations. Find an up-to-date list of integrations [here.](/integrations/smart-devices)

### Guest Journey / Public Pages

With HolidayHero's laser focus on guest experience and guest journey we allow operators to select when Smart devices should become visible in the guest journey. Within [reservation stages](/the-basics/brands/reservation-stages) you are able to control when you want to display the smart devices in the guest app.&#x20;

#### Public Pages

At HolidayHero we allow public reservation stages. Smart devices are not able to be used within the public reservation stage. As these pages are `public`and accessible before/after the reservation, we don't allow the use of the Smart Devices.&#x20;

***

### Frequently Asked Questions

<details>

<summary>Does HolidayHero maintain an event trial of the devices? </summary>

Although all integrations are connected through an integration, we stimulate our integration partners to create event logs for guest based actions. Follow these steps to see the events:&#x20;

1. Click om Smart Devices in the left menu
2. Click on the desired smart device
3. Navigate to the Logs tab

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fybh8inZguHSUs1EBzP2w%2Fsmart_device_logs.png?alt=media\&token=ca5f0535-5a4f-4310-a269-99d713dcee62)

</details>


# Guest App

Smart Devices can be displayed within the guest app or used for the back office only.

## **Guest App**

The guests have access to smart devices on various places in the guest app. Below you can find an overview of where the smart devices are used.&#x20;

### **Homepage**

On the homepage we list the smart devices that are available for the guests to use or see information from.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F1a1uDrjRtrI52165py8v%2Fguest_app_smart_devices.png?alt=media&amp;token=652bb3cf-e1ae-4fad-8f54-0a35006df8e4" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="97">#</th><th></th></tr></thead><tbody><tr><td><code>1</code></td><td>Icon that corresponds to the device type</td></tr><tr><td><code>2</code></td><td>The name as set in the backoffice</td></tr><tr><td><code>3</code></td><td>Link to all devices of that property</td></tr></tbody></table>


# Experiences

Experiences are a powerfull tool allowing you to showcase and upsell experiences, activities and upsells. Create a curated list of experiences to provide the best experience.

***

#### What is an Experience? <a href="#what-is-an-experience" id="what-is-an-experience"></a>

An experience is an activity, service, or point of interest that you can offer to your guests through the guest application. Experiences range from local restaurants and guided tours to in-house amenities like a spa or gym. Guests can browse experiences, request inquiries, or directly purchase products attached to an experience.

#### Create a new experience

When creating an experience, you can choose from a default set of upsells or create your own experience. Follow the guides below:

<details>

<summary>Create experience / upsell from our templates</summary>

1. Login to the [HolidayHero Admin](https://admin.holidayhero.com/)
2. Select Experiences from the left menu
3. Click on `Create Experience`
4. From the top row (scrollable) select an upsell you want to offer.

![](https://support.holidayhero.com/~gitbook/image?url=https%3A%2F%2F3950018645-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FbWWiwAsWOs8WeAQ2KJS3%252Fuploads%252Fr1q42mmWYSoYwIG4hY3i%252Ffrom_templage.png%3Falt%3Dmedia%26token%3D99d2aaf0-f2d9-4c79-b3f3-458583dde7e5\&width=300\&dpr=3\&quality=100\&sign=691f806\&sv=2)

**Currently Available templates:**

* `Full Fridge`
* `Early Check-In`
* `Late Checkout`
* `Mid-stay Cleaning`
* `Transport`
* `Private Chef`
* `Child Day Care`
* `Bike Rental`
* `Yoga Class`
* `Yacht Rental`
* `Extend your stay`
* `Repairs`
* `Welcome Pack`
* `Car Rental`
* `Breakfast Service`
* `Luggage Storage`
* `Special Occasion`
* `Wine Bottle Service`
* `Fruit Platter Service`
* `Cheese Platter`

</details>

<details>

<summary>Create experience from scratch</summary>

1. Login to the [HolidayHero Admin](https://admin.holidayhero.com/)
2. Select Experiences from the left menu
3. Click on `Create Experience`
4. Provide a `title` and select a category.&#x20;

</details>

<details>

<summary>Find a local bsuiness (TIP! - Fastest)</summary>

1. Login to the [HolidayHero Admin](https://admin.holidayhero.com/)
2. Select Experiences from the left menu
3. Click on `Find a Business`
4. Search for the business

Once selected, we will do our magic and build the business profile.&#x20;

</details>

***

### Experience Settings <a href="#experience-settings" id="experience-settings"></a>

#### General Information <a href="#general-information" id="general-information"></a>

<table><thead><tr><th width="139.61328125">Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Name</strong></td><td>The public-facing name of the experience, visible to guests.</td></tr><tr><td><strong>Nickname</strong></td><td>An internal name only visible to operators. Useful for distinguishing similar experiences.</td></tr><tr><td><strong>Categories</strong></td><td>A three-tier category classification (Category > Subcategory > Type). Accurate categorization improves discoverability and AI recommendations. See the Experience Categories reference for all available categories.</td></tr><tr><td><strong>Summary</strong></td><td>A short description of the experience. Can be AI-generated and manually edited.</td></tr></tbody></table>

#### Content <a href="#content" id="content"></a>

The **Body** field is a rich text editor (WYSIWYG) where you can describe the experience in detail. Use formatting like bold, italic, lists, and links to create engaging descriptions for your guests.

#### Contact Details <a href="#contact-details" id="contact-details"></a>

<table><thead><tr><th width="106.3046875">Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Website</strong></td><td>A URL to the experience's website.</td></tr><tr><td><strong>Email</strong></td><td>Contact email address.</td></tr><tr><td><strong>Phone</strong></td><td>Contact phone number (with country code support).</td></tr><tr><td><strong>Address</strong></td><td>Full address including street, city, region, postal code, country, and coordinates.</td></tr></tbody></table>

#### Price Label <a href="#price-label" id="price-label"></a>

Configure how pricing is displayed to guests:

<table><thead><tr><th width="110.6640625">Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Price Min</strong></td><td>The minimum price to display.</td></tr><tr><td><strong>Price Max</strong></td><td>The maximum price to display.</td></tr><tr><td><strong>Unit</strong></td><td>The unit for the price (e.g., per person, per hour).</td></tr></tbody></table>

#### ![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F5W3azAZS3cA6skymDSKp%2Fpricing_notion%20.png?alt=media\&token=4f01f888-7e01-40fb-89af-78416fdbf75f) <a href="#supplier" id="supplier"></a>

#### Supplier <a href="#supplier" id="supplier"></a>

Optionally link a supplier to the experience. When a supplier is linked, inquiries for this experience will be routed to the supplier for approval. The supplier can manage inquiries through their own supplier portal.

#### Payment Provider <a href="#payment-provider" id="payment-provider"></a>

If your organization has multiple payment providers and the experience has products, you can override the default payment provider for this specific experience.

#### Call to Action (CTA) <a href="#call-to-action-cta" id="call-to-action-cta"></a>

Configure how guests interact with the experience:

<table><thead><tr><th width="202.37109375">CTA Type</th><th>Description</th></tr></thead><tbody><tr><td><strong>Hide button</strong></td><td>No action button is shown to guests.</td></tr><tr><td><strong>Link to external page</strong></td><td>Displays a button that links to an external URL.</td></tr><tr><td><strong>Show a request form</strong></td><td>Displays a button that opens the inquiry form.</td></tr><tr><td><strong>Products</strong></td><td>Automatically set when the experience has products attached. Guests can browse and purchase products directly.</td></tr></tbody></table>

You can customize the **Button Text** displayed to guests.

{% hint style="info" %}
Once a product has been added the Call-to-action will automatically switch to products.
{% endhint %}

#### Settings (Toggles) <a href="#settings-toggles" id="settings-toggles"></a>

<table><thead><tr><th width="202.0546875">Setting</th><th>Description</th></tr></thead><tbody><tr><td><strong>In-House</strong></td><td>Mark the experience as property-owned (e.g., your own spa, restaurant, or gym).</td></tr><tr><td><strong>Requires Approval</strong></td><td>When enabled, inquiries must be manually confirmed by an operator or supplier. When disabled, inquiries are auto-approved.</td></tr><tr><td><strong>Standalone Upsell</strong></td><td>When enabled, guests can purchase products from this experience without needing a reservation.</td></tr></tbody></table>

#### Photos <a href="#photos" id="photos"></a>

Upload images to showcase the experience. The first image is used as the thumbnail in listings and overviews. Drag images to reorder them.

***

### Navigation Tabs <a href="#navigation-tabs" id="navigation-tabs"></a>

Each experience has the following tabs:

| Tab                                                                | Description                                                                            |
| ------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |
| **General**                                                        | Main experience settings (described above).                                            |
| [**Products**](/the-basics/experiences/products)                   | Manage purchasable products. See Experience Products.                                  |
| [**Listings**](/the-basics/experiences/listings)                   | Manage which listings this experience is associated with. See Listings.                |
| [**Documents**](/the-basics/experiences/documents)                 | Upload and manage documents related to the experience. See Documents.                  |
| [**Calendar Events**](/the-basics/experiences/calendar-events)     | Schedule events tied to the experience. See Calendar Events.                           |
| [**Message Templates**](/the-basics/experiences/message-templates) | Configure automated messages for this experience. See Message Templates.               |
| [**Links**](/the-basics/experiences/links)                         | Share public links and QR codes that open this experience in the guest app. See Links. |

For locked **partner experiences**, the Products, Documents and Message Templates tabs are hidden — see Partner Experiences.

***

### Translations <a href="#translations" id="translations"></a>

Experiences support multi-language translations. Click the **Translations** button to translate the experience name, summary, body, and product content into other languages configured for your workspace.

#### Metafields <a href="#metafields" id="metafields"></a>

The use of [metafields](https://support.holidayhero.com/the-basics/announcements#metafields) is allowed in the `name,` `summary`, and the `content.`

{% hint style="info" %}
If metafields are used and the experience is shown through the public section. For reservation-connected meta fields, it will default to its' default value.
{% endhint %}

### Partner Experiences <a href="#partner-experiences" id="partner-experiences"></a>

Some experiences are provided and maintained by a partner rather than by your own workspace. These appear with a **Partner** badge in the experiences overview and are **locked** — their content cannot be edited by operators. You can still attach or detach a partner experience to your own listings. See Partner Experiences for details.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>How do I attach an experience to a listing?</summary>

</details>

<details>

<summary>How do I duplicate an experience?</summary>

</details>

<details>

<summary>What are categories used for?</summary>

</details>

<details>

<summary>Can guests purchase products without a reservation?</summary>

</details>

***

<details>

<summary>Relations</summary>

</details>


# Calendar Events

#### What are Experience Calendar Events? <a href="#what-are-experience-calendar-events" id="what-are-experience-calendar-events"></a>

The **Calendar Events** tab links scheduled [calendar events](https://support.holidayhero.com/the-basics/calendar-events) to an experience. This is useful when an experience runs on fixed dates. Such as; a seasonal market, a guided tour with set departures, or a one-off festival.

Calendar events have a start and end date and can carry their own images.

***

#### Calendar events on partner experiences <a href="#calendar-events-on-partner-experiences" id="calendar-events-on-partner-experiences"></a>

Locked **partner experiences** do not have an editable Calendar Events tab. Instead, their overview page shows a read-only **Calendar events** panel, split into **Upcoming** and **Past** tabs, so operators can still see when the partner experience is running. See [Partner Experiences.](/the-basics/experiences/partner-experiences)

#### Frequently Asked Questions

***

<details>

<summary>Do calendar events need to be linked to an Experience? </summary>

No, they can be. But it is not a must.&#x20;

</details>


# Documents

Uploading a document to an experience lets guests access manuals, instructions, or details directly in the app, enhancing their experience by providing essential information at their fingertips.

***

### What is a document?

Documents can be used to extend information that is available on a resource, such as a [Listing](/the-basics/listings), [Reservation](/the-basics/reservations), [Amenity](/the-basics/amenities), [Guidebook](/the-basics/guidebooks), or [Experience](/the-basics/experiences). For example, if you have a manual that should be shown as an Amenity, please upload it as a document. Do you have an additional set of house rules that was only available in picture/pdf format? Upload this to a listing.

### Experience Document Use Cases

* **Menu's -** when private chef's, cooking classes etc are offered as an upsell. A menu can be uploaded to which guests can refere and decide.&#x20;
* **Brochures & Flyers** - existing experience might have provided you with an brochure or flyer. These can be added, and prevent typing them over.&#x20;
* **Terms & Conditions** – Share cancellation policies, refund terms, and liability waivers for specific experiences.
* **Event Schedules** – Provide a PDF program for on-site events, workshops, or seasonal activities.
* **User Guides & Manuals** – Instructions for using rental equipment, such as jet skis, e-bikes, or spa facilities.

### Document Limitations

View a list of all limitations below:

<table><thead><tr><th width="384">Type</th><th>Amount</th></tr></thead><tbody><tr><td><strong>Amount of documents per resource</strong></td><td>50</td></tr><tr><td><strong>File size per document</strong></td><td>5 mb</td></tr><tr><td><strong>Supported File Types</strong></td><td>PNG, JPG, JPEG, WEBP, GIF, PDF</td></tr></tbody></table>

### **Security**

Documents are always securely stored within our CDN. We generate unique download URLs for each document. Each URL has a validity of 2 hours, after which it will expire. A refresh will generate a new URL that allows you to download the document.

***

### Frequently Asked Questions

<details>

<summary>Can I download uploaded documents through the backoffice? </summary>

Yes you can!

1. Go to the resource you have the document uploaded to.&#x20;
2. Go to the `Documents` tab
3. Click on download

Voila! Your document is downloaded.&#x20;

</details>

<details>

<summary>Can I recover an deleted document? </summary>

Nope, a deleted document has been shredded, thrown away and we removed all traces of it. Sorry.&#x20;

</details>


# Experience Categories

Experiences use a three-tier category system: Category > Subcategory > Type. Selecting the most specific category possible improves how the AI recommends experiences to guests.

#### Activities and Tours

| Subcategory           | Types                                                                                                      |
| --------------------- | ---------------------------------------------------------------------------------------------------------- |
| Guided Tours          | Walking Tours, Bus Tours, Bike Tours, Segway Tours, Historical Tours, City Tours, Ghost Tours, Night Tours |
| Adventure Activities  | —                                                                                                          |
| Water Activities      | —                                                                                                          |
| Classes and Workshops | —                                                                                                          |
| Cultural Experiences  | —                                                                                                          |
| Day Trips             | —                                                                                                          |
| Multi-day Tours       | —                                                                                                          |
| Private Experiences   | —                                                                                                          |

#### Attractions <a href="#attractions" id="attractions"></a>

| Subcategory           | Types |
| --------------------- | ----- |
| Museums and Galleries | —     |
| Historical Sites      | —     |
| Theme Parks           | —     |
| Landmarks             | —     |
| Religious Sites       | —     |
| Zoos and Aquariums    | —     |
| Observation Decks     | —     |
| Entertainment Venues  | —     |

#### Food and Drink <a href="#food-and-drink" id="food-and-drink"></a>

| Subcategory     | Types                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Restaurants     | American Restaurant, Italian Restaurant, Chinese Restaurant, Japanese Restaurant, Mexican Restaurant, Indian Restaurant, Thai Restaurant, French Restaurant, Greek Restaurant, Spanish Restaurant, Vietnamese Restaurant, Korean Restaurant, Mediterranean Restaurant, Middle Eastern Restaurant, Latin American Restaurant, Caribbean Restaurant, African Restaurant, Seafood Restaurant, Steakhouse, BBQ Restaurant, Fine Dining, Casual Dining, Fast Food, Buffet, Food Truck, Family Restaurant, Vegan Restaurant, Vegetarian Restaurant, Gluten Free Restaurant, Organic Restaurant, Halal Restaurant, Kosher Restaurant, Breakfast Restaurant, Brunch Restaurant, Lunch Restaurant, Dinner Restaurant, Dessert Restaurant |
| Cafes           | Coffee Shop, Tea House, Bakery, Patisserie, Dessert Shop, Ice Cream Shop, Juice Bar, Smoothie Shop, Bistro, Internet Cafe                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Bars            | Sports Bar, Cocktail Bar, Wine Bar, Beer Bar, Lounge, Nightclub, Dive Bar, Gastropub, Speakeasy, Irish Pub, British Pub, German Beer Hall, Tiki Bar, Jazz Bar, Karaoke Bar, Hookah Bar, Rooftop Bar, Live Music Bar, Game Bar, Brewery Tap Room, Whiskey Bar, Craft Beer Bar                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Food Tours      | Street Food Tours, Gourmet Tours, Dessert Tours, Market Tours, Ethnic Food Tours, Coffee Tours, Progressive Dining, Farm to Table Tours                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Cooking Classes | Pasta Making, Sushi Making, Pastry Making, Bread Making, Barbecue Classes, Wine Pairing, Local Cuisine Classes, Vegetarian Cooking                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Breweries       | —                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Wineries        | —                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Food Markets    | —                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

#### Nature and Outdoors <a href="#nature-and-outdoors" id="nature-and-outdoors"></a>

| Subcategory         | Types |
| ------------------- | ----- |
| Beaches             | —     |
| Hiking and Trekking | —     |
| Wildlife Viewing    | —     |
| National Parks      | —     |
| Gardens and Parks   | —     |
| Camping             | —     |
| Eco Tours           | —     |
| Natural Wonders     | —     |

#### Entertainment <a href="#entertainment" id="entertainment"></a>

| Subcategory            | Types |
| ---------------------- | ----- |
| Nightlife              | —     |
| Shows and Performances | —     |
| Concerts               | —     |
| Sporting Events        | —     |
| Casinos                | —     |
| Festivals              | —     |
| Cultural Shows         | —     |
| Movie Theaters         | —     |

#### Local Services <a href="#local-services" id="local-services"></a>

| Subcategory           | Types |
| --------------------- | ----- |
| Local Amenities       | —     |
| Guides and Hosts      | —     |
| Shopping              | —     |
| WiFi and Connectivity | —     |
| Luggage Services      | —     |
| Concierge Services    | —     |
| Childcare             | —     |
| Translation Services  | —     |

#### Wellness and Health <a href="#wellness-and-health" id="wellness-and-health"></a>

| Subcategory         | Types |
| ------------------- | ----- |
| Healthcare          | —     |
| Spa Services        | —     |
| Fitness Activities  | —     |
| Yoga and Meditation | —     |
| Thermal Baths       | —     |
| Retreats            | —     |
| Medical Tourism     | —     |
| Wellness Workshops  | —     |

#### Special Interest <a href="#special-interest" id="special-interest"></a>

| Subcategory           | Types |
| --------------------- | ----- |
| Photography Tours     | —     |
| Arts and Crafts       | —     |
| Architecture Tours    | —     |
| Literary Tours        | —     |
| Ghost and Mystery     | —     |
| Film and TV Locations | —     |
| Luxury Experiences    | —     |
| Voluntourism          | —     |

#### Transportation <a href="#transportation" id="transportation"></a>

| Subcategory       | Types |
| ----------------- | ----- |
| Airport Transfers | —     |
| Car Rentals       | —     |
| Bike Rentals      | —     |
| Boat Rentals      | —     |
| Public Transport  | —     |
| Scenic Transport  | —     |
| Private Transfers | —     |
| Vehicle Tours     | —     |

#### Upsells <a href="#upsells" id="upsells"></a>

| Subcategory           | Types |
| --------------------- | ----- |
| Premium Experiences   | —     |
| Skip the Line         | —     |
| VIP Access            | —     |
| Combo Packages        | —     |
| Exclusive Offers      | —     |
| Enhanced Options      | —     |
| Personalized Services | —     |
| Priority Booking      | —     |

\\<br>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/experiences/experience-categories.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Guest App

Experiences are used within the guest app to inform guests about their availability or provide instructions on how to use them. Learn more about how they are displayed.

***

### **Guest App** <a href="#guest-app" id="guest-app"></a>

The guests have access to experiences on various places in the guest app. Below you can find an overview of where the amenities are used.

### **Homepage**

The guest app shows experiences on the home page, which can be viewed from there. The homepage shows a maximum of 10 items for both the experiences and upsells. The visibility of this section is controlled by the [branding reservation stages.](https://support.holidayhero.com/the-basics/brands/reservation-stages)

#### Upsells Section

Upsells are a special section within experiences. As they require special attention, they are displayed in a seperate section within the branding reservation stages.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FMhlesiEtYJwNYa9lChqg%2Fupsell_homepage.png?alt=media&amp;token=5ab44ad3-7eb5-4a1d-a501-1fabd55da3ea" alt=""><figcaption><p>Upsell section on the homepage</p></figcaption></figure>

<table><thead><tr><th width="109">#</th><th width="648">Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>The first experience image is used as the tile image, remaining images are displayed as a gallery</td></tr><tr><td><code>2</code></td><td>The name of the experience</td></tr><tr><td><code>3</code></td><td>If there are any products, this is the lowest product price</td></tr><tr><td><code>4</code></td><td>Button to view all upsells</td></tr></tbody></table>

#### Experience Section

Experiences are a section with the branding reservation stages that can be enabled and disabled. On the homepage of the guest app, we show up to 10 experience items. Guests can scroll through them and/or view them all through the view all button.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FosbgVGCukwzjQuOjAQBG%2Fexperiences_homepage.png?alt=media&amp;token=a86e6fae-5bec-40fd-9bab-8c21993daf60" alt=""><figcaption><p>Experience section on the homepage</p></figcaption></figure>

<table><thead><tr><th width="91">#</th><th></th></tr></thead><tbody><tr><td><code>1</code></td><td>The <a href="/the-basics/experiences#experience-categories">experience categories</a>, only categories that have items will be shown. </td></tr><tr><td><code>2</code></td><td>The first experience image is used as the tile image, remaining images are displayed as a gallery</td></tr><tr><td><code>3</code></td><td>The name of the experience</td></tr><tr><td><code>4</code></td><td>The location of the experience</td></tr><tr><td><code>5</code></td><td>Button to view all experiences</td></tr></tbody></table>

### Branding

The branding if the experience sections and pages is based on the [branding appearance](https://support.holidayhero.com/the-basics/brands/appearance) settings. See a detailed description below:

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F41ZNAqXgGJxh4Ev9DSBQ%2Fexperiences_branding.png?alt=media&amp;token=dc326589-6ff4-46a0-a7f1-d8da065b6e63" alt=""><figcaption><p>Experiences and the branding</p></figcaption></figure>

<table><thead><tr><th width="96">#</th><th></th></tr></thead><tbody><tr><td><code>1</code></td><td>The title has an <code>on-base</code> color </td></tr><tr><td><code>2</code></td><td>The background color is the <code>base</code> color</td></tr><tr><td><code>3</code></td><td>The category buttons have an <code>on-base</code> background color and <code>base</code>text color</td></tr><tr><td><code>4</code></td><td>The name has an <code>on-base</code> color </td></tr><tr><td><code>5</code> </td><td>The location has an <code>base-30</code> color</td></tr></tbody></table>

#### Maps Overview

The list map view can be triggered from within the experience overview, or the details itself.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FTVxlkl3b1Y77sghsImxd%2Fmaps.png?alt=media&amp;token=40296c09-41b4-42ee-8370-559caa118619" alt=""><figcaption><p>Experiences on the Map</p></figcaption></figure>

<table><thead><tr><th width="87"></th><th></th></tr></thead><tbody><tr><td><code>1</code></td><td>The title has an <code>on-base</code> color </td></tr><tr><td><code>2</code></td><td>The category buttons have an <code>on-base</code> background color and <code>base</code>text color</td></tr><tr><td><code>3</code></td><td>The grid button has an <code>on-base</code> background color and <code>base</code>text color</td></tr><tr><td><code>4</code></td><td>The name has an <code>on-base</code> color </td></tr><tr><td><code>5</code></td><td>All experiences have an <code>secondary</code>  marker color</td></tr><tr><td><code>6</code></td><td>Your property has an <code>primar</code> marker color</td></tr></tbody></table>


# Listings


# Message Templates

By default guests receive an inquiry confirmation once their inquiry is accepted or denied. However there are occasions where you need more information to be send to the guest.

***

### What are Experience Message Templates?&#x20;

When an inquiry is made — either through an experience inquiry form or a paid upsell — the guest receives a confirmation. Once the inquiry is accepted or denied, the guest receives an automated message. However, there are cases where additional communication is required. That's where experience message templates come in.

Experience message templates are regular [message templates](https://support.holidayhero.com/the-basics/communication/message-templates) that are scoped to a single experience. They are only processed when an inquiry for that experience has been made.

{% hint style="info" %}
**Note:** Message templates were previously called *touchpoints*. The behaviour is the same — the feature was renamed to align with the workspace-wide message template system.
{% endhint %}

An experience message template can be triggered on the following events:

<table><thead><tr><th width="236"></th><th></th></tr></thead><tbody><tr><td><code>inquiry confirmed</code></td><td>At the same moment or a few days after the inquiry has been confirmed.</td></tr><tr><td><code>inquiry denied</code></td><td>At the same moment or a few days after the inquiry has been denied</td></tr><tr><td><code>inquiry scheduled at</code></td><td>A hours / days before or after the inquiry has been scheduled. </td></tr></tbody></table>

For the rest, these work as normal touchpoints, but are only triggered if the inquiry has been processed. See [Touchpoints](broken://pages/DDNNWEB7uFPeUSm7uN4e) for more information.&#x20;

#### Managing Message Templates <a href="#managing-message-templates" id="managing-message-templates"></a>

1. Open the experience
2. Go to the **Message Templates** tab
3. Click **Add Message Template** to create a new one
4. Configure the channel, trigger (timepoint) and content

The Message Templates tab lists every template linked to the experience, showing its **Channel**, whether it is **Active**, the **Listings** it applies to, its **Timepoint** (trigger) and the **Created** date.

{% hint style="info" %}
**Tip:** A message template is only processed automatically when the experience has products attached, or has a request form as its call to action. If neither is the case, the templates will not be sent.
{% endhint %}

{% hint style="info" %}
Locked **partner experiences** are managed by the partner, so the Message Templates tab is hidden for them.
{% endhint %}

### Example Use Cases

1. **Private Wine Tasting - Share Venue Details**
   1. **Trigger:** `Inquiry Confirmed`
   2. **Message:** Your private wine tasting is confirmed! 🍷 Your host will welcome you at \[Venue Name], located at \[Address]. To access the private cellar, use the lock code: 4729. Please arrive 10 minutes early for the best experience. Cheers!"
2. **Sunset Yacht Cruise - Apology & Alternative Offer for Denied Requests**
   1. **Trigger:** `Inquiry Denied`
   2. **Message:** "We regret to inform you that the Sunset Yacht Cruise is fully booked on your requested date. We’d love to offer you an alternative experience: a **private beach picnic at sunset** with champagne. Let us know if you’d like to proceed with this alternative! 🌅🍾"
3. **Spa Treatment – Request a Review After Completion**
   1. **Trigger:** `Inquiry Scheduled At` (Sent 2 hours after the session)
   2. **Message:** *"We hope you enjoyed your relaxing spa session! 💆‍♀️✨ We’d love to hear about your experience. If you have a moment, please leave us a review at \[Review Link]. Your feedback helps us improve and continue offering the best services. Thank you!"*
4. **Birthday Room Decoration – Reminder & Special Surprise Instructions**
   1. **Trigger:** `Inquiry Confirmed`
   2. **Message:** *"Your birthday surprise setup is confirmed! 🎉 Our team will decorate the room before your arrival. If you’d like to leave a personal note for the guest of honor, please send it to us at \[Email/WhatsApp]. We’ll make sure it’s placed with the surprise!"*
5. **Airport Transfer – Driver & Pickup Instructions**
   1. **Trigger:** Inquiry Scheduled At (Sent 1 hour before scheduled pickup)
   2. **Message:** "Your airport transfer is scheduled for **\[Time]**. Your driver, **John**, will meet you at **Terminal 3, Exit B** with a sign displaying your name. If you have any trouble finding him, call +123456789. Safe travels! ✈️"


# Partner Experiences

#### What is a Partner Experience? <a href="#what-is-a-partner-experience" id="what-is-a-partner-experience"></a>

A partner experience is an experience that is provided and maintained by a partner rather than by your own workspace. The partner owns the content, so the experience is **locked**: operators can view it but cannot edit its details, products, documents or message templates.

Partner experiences are identified by an amber **Partner** badge (with a star icon) in the experiences overview.

***

#### The locked overview page <a href="#the-locked-overview-page" id="the-locked-overview-page"></a>

Opening a partner experience shows a dedicated, read-only overview page instead of the regular editable General tab. It presents the experience the way a guest would see it, including:

* A photo carousel of the experience images
* Category, price and "bookable" chips, and a **Partner experience** lock indicator
* The about / description text and any insider tips
* A **Calendar events** panel split into **Upcoming** and **Past** tabs
* A photo gallery

#### Host Notes / Insider Tips <a href="#host-notes--insider-tips" id="host-notes--insider-tips"></a>

Travellers love hearing from locals, guides and concierges. That's why we created a section where you can share what you love about the experience. For example:

* A must-try: the espresso martini
* Ask for a table on the terrace — the views are fabulous

These host notes are shown in the guest app.

#### What operators can and cannot do <a href="#what-operators-can-and-cannot-do" id="what-operators-can-and-cannot-do"></a>

| Action                                              | Allowed on a partner experience?           |
| --------------------------------------------------- | ------------------------------------------ |
| View the experience                                 | ✅ Yes                                      |
| Edit general details, content, photos               | ❌ No — managed by the partner              |
| Manage products                                     | ❌ No — the Products tab is hidden          |
| Manage documents                                    | ❌ No — the Documents tab is hidden         |
| Manage message templates                            | ❌ No — the Message Templates tab is hidden |
| Attach / detach the experience to your own listings | ✅ Yes — the Listings tab stays available   |

Because the Products, Documents and Message Templates tabs are hidden, those pages also cannot be reached directly by URL — attempting to do so redirects back to the experience overview.

***

#### Frequently Asked Questions

<details>

<summary>Why can I still edit listings? </summary>

Only the *content* of a partner experience is locked. Which of *your* listings the experience appears on is your decision, so the **Listings** tab remains fully editable.

</details>


# Products

Experience can be turned into purchasable items with products. Products are items or services that can be purchased directly from within the app.

***

**What is an Experience Product?**

An experience product is a purchasable item or service attached to an experience. Products allow guests to directly buy offerings through the guest application, such as a spa treatment, a tour ticket, or an extra amenity. Each experience can have multiple products.

**Creating a Product**

1. Navigate to the experience you want to add a product to
2. Go to the **Products** tab
3. Click **Add Product**
4. Fill in the product name
5. Set the pricing strategy and unit price
6. Click **Create**

Once created, you can edit the product to add content, an image, and additional fields.

***

#### Product Settings <a href="#product-settings" id="product-settings"></a>

**General Information**

| Field       | Description                                                                                                                                           |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**    | The name of the product, visible to guests.                                                                                                           |
| **Content** | A rich text description (WYSIWYG editor) of the product. Use formatting like bold, italic, lists, and links to describe what the guest is purchasing. |
| **Image**   | A product image that helps guests identify what they are purchasing.                                                                                  |

**Financial**

| Field                             | Description                                                                                                          |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Pricing Strategy**              | How the product should be priced (e.g., per unit, per person).                                                       |
| **Unit Price**                    | The price the guest will pay, including VAT.                                                                         |
| **Unit VAT Rate**                 | The VAT rate applied to the product, selected by country.                                                            |
| **Default Commission Percentage** | Your commission percentage (only visible when the experience has a supplier). Excludes the HolidayHero platform fee. |

The **Financial Summary** section shows a breakdown of:

* **Your revenue** - the operator's commission
* **Platform commission** - the HolidayHero platform fee
* **Supplier Received** - the amount the supplier receives (only shown when a supplier is linked)

All commission calculations are excluding VAT. Based on your region, VAT might be applied.

**Additional Fields**

Additional fields allow you to collect extra information from the guest when they purchase a product. For example, you might ask for a preferred time slot, dietary restrictions, or participant names.

| Field Type | Description                                           |
| ---------- | ----------------------------------------------------- |
| `Text`     | A single-line text input.                             |
| `Textarea` | A multi-line text input.                              |
| `Email`    | An email address field.                               |
| `Phone`    | A phone number field.                                 |
| `Number`   | A numeric input.                                      |
| `Select`   | A dropdown with predefined options (comma-separated). |
| `Checkbox` | A checkbox (yes/no).                                  |
| `Date`     | A date picker.                                        |

Each additional field can have a **Default Value / Placeholder** to guide the guest.

***

#### Product Ordering <a href="#product-ordering" id="product-ordering"></a>

Products can be reordered by dragging them in the product list. The order determines how they appear to guests in the guest application.

***

#### Translations <a href="#translations" id="translations"></a>

Product names and content can be translated into other languages. Access translations through the **Translations** button on the experience page. The content field supports rich text formatting in all translated languages.

***

**Frequently Asked Questions**

<details>

<summary>How do I add an image to a product?</summary>

1. Open the product from the Products tab
2. In the General Information section, click the image upload area
3. Upload your image
4. Click **Save**

</details>

<details>

<summary>How do additional fields work for guests?</summary>

When a guest purchases a product with additional fields, they will see a form with the configured fields. The guest must fill in the required information before completing the purchase. This data is then available in the inquiry/order for the operator or supplier to review.

</details>

<details>

<summary>How is the commission calculated?</summary>

The commission is calculated as follows:

1. The **Unit Price** is what the guest pays (including VAT)
2. VAT is subtracted to get the net amount
3. Your **Commission Percentage** is applied to the net amount
4. The **Platform Commission** (HolidayHero fee) is deducted
5. The remaining amount goes to the supplier

</details>

<details>

<summary>Can I change the price of a product after it has been purchased?</summary>

Yes, you can update the unit price at any time. Price changes only apply to future purchases; existing orders retain the price at the time of purchase.

</details>

***

<details>

<summary>Relations</summary>

* Belongs to Experiens
* Has Additional Fields

</details>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/experiences/products.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Links

## What is the Links tab? <a href="#links" id="links"></a>

The **Links** tab gives you ready-to-share public links and QR codes that take a guest straight to this experience in the guest app. Use them on printed material, in-property signage, emails, or anywhere you want guests to open the experience directly.

Links are grouped per **brand**. Every brand that one of this experience's attached listings belongs to gets its own row, so you can hand out the right branded link for each property.

#### Link modes <a href="#link-modes" id="link-modes"></a>

Each brand offers two link modes:

| Mode            | Scope                      | Use it for                                                                                                               |
| --------------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Public mode** | Tied to a specific listing | Sharing the experience in the context of one property — the guest lands on the experience as it appears on that listing. |
| **Guest mode**  | Tied to the brand          | A general, brand-wide link that is not bound to a single listing.                                                        |

#### Copying a link <a href="#copying-a-link" id="copying-a-link"></a>

Each row shows the full URL. Click the **copy** icon next to a URL to copy it to your clipboard.

#### QR codes <a href="#qr-codes" id="qr-codes"></a>

Click the **QR** icon on a row to open the QR code dialog. Two versions are offered:

* **Standard** — a plain black-and-white QR code.
* **Branded** — the same QR code rendered in the brand's colours.

Use **Download** under either version to save it as a PNG, ready to drop into print or digital material.

#### When no links appear <a href="#when-no-links-appear" id="when-no-links-appear"></a>

Links are generated from the experience's attached listings. If the experience is not attached to any listing (or none of those listings' brands have a public URL configured), the tab shows a prompt to attach the experience to a listing first. See Listings.

***

<details>

<summary>Relations</summary>

* Links are derived from the experience's attached listings — one row per brand
* **Public mode** links resolve to a listing-scoped URL; **Guest mode** links to a brand-scoped URL
* Branded QR codes use the brand's configured colours

</details>

***


# Brands

As an operator, hotel or B\&B, you have been working hard to build a brand. We value your brand and respect your colors and logos. Our goal is to help you deliver your brand to your guests.

***

## What is a brand?&#x20;

A brand is a set of settings on how your brand is incorporated in the guest experience. Such as, the appearance of yoour Guest App, how your check-in is setup and at what time you want to display which content.&#x20;

{% hint style="info" %}
HolidayHero is a brand between us and you as an operator. You as a business (Hotel, B\&B, etc) can reflect your own brand to the guests. If properly set up, guests wil not interact with the HolidayHero brand itself.&#x20;
{% endhint %}

### General

In the general tab, we manage the basic settings.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FoKSs2fOyiBe8DmYnu5Ok%2Fbrands-general.png?alt=media&amp;token=07dd7891-e290-4ac6-846e-f62afeeaf0cc" alt=""><figcaption><p>Brand - General Settings</p></figcaption></figure>

<table><thead><tr><th width="116">#</th><th>Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>The brand name is displayed on various pages, such as the login page and emails. Furthermore, this is a field that is available in the <a href="/the-basics/metafields">meta fields</a>.</td></tr><tr><td><code>2</code></td><td>The website appears on multiple pages, including the login and email footers. Additionally, this field is accessible in the <a href="/the-basics/metafields">meta fields</a>.</td></tr><tr><td><code>3</code></td><td>The reply-to email field is used in emails sent to the guest. OTP codes, or touchpoints, they all have the reply-to field</td></tr></tbody></table>

#### Email Communication

At HolidayHero you have the option to send emails to your guests. All emails are origination from either:&#x20;

* `noreply@holidayhero.app` or
* `noreply@holidayhero.com`

However, you the orignator name is connected to either your brand, or the [touchpoint setting](broken://pages/DDNNWEB7uFPeUSm7uN4e). Once a user clicks on reply, we will use the reply-to field as provided in the Brand settings.&#x20;

### Legal

Each company has a set of Terms/Conditions and their privacy policy.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fi5N5B8SMgv670pqhv6BI%2Fbrands-legal.png?alt=media&amp;token=54bdb71f-3179-4b24-ae68-81dc120ed19f" alt=""><figcaption><p>Brand - Legal Settings</p></figcaption></figure>

<table><thead><tr><th width="97">#</th><th>Description</th></tr></thead><tbody><tr><td><code>1</code></td><td>The terms and conditions URL of your terms and conditions. These links are used in check-in flows and email communications. </td></tr><tr><td><code>2</code></td><td>The privacy policy URL of your privacy policy. These links are used in check-in flows and email communications. </td></tr></tbody></table>

### Domain

We undestand the value of your own domain and your own branding. There we five you the option to run HolidayHero guest experiences on your own domain.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FxNylWlrmRqfbZCfKDpuI%2Fbrands-domain.png?alt=media&amp;token=d9b06270-9293-4617-b8a0-df4989359a39" alt=""><figcaption><p>Brand - Domain Settings</p></figcaption></figure>

<table><thead><tr><th width="75">#</th><th></th></tr></thead><tbody><tr><td><code>1</code></td><td>Subdomain that is your subdomain within the HolidayHero application. By default, guests will be informed of this. </td></tr><tr><td><code>2</code></td><td>CNAME to run on your own domain</td></tr></tbody></table>

{% hint style="info" %}
Don't fill the CNAME before you have contacted our support team.&#x20;
{% endhint %}

When adding the CNAME in your DNS settings, point it to **web.holidayhero.com**.

Once your custom domain is set, all guest app links will automatically update to use the new domain. However, your previous subdomain will remain active, ensuring that past guests who are unaware of the change can still access their guest app without any disruption.

***

### Frequently Asked Questions

<details>

<summary>How many brands can I set up? </summary>

At the moment there is no limitation on how many brands you can have. Do you manage 200 properties with each their own brand? No problem, we are here to help.&#x20;

</details>

<details>

<summary>Can we use our email to send guest mail communication?</summary>

Emails are difficult and quite rapidly reach a SPAM box. Especially if they are sent automatically. Therefore, we have chosen to use the `noreply@holidayhero.com` and `noreply@holidayhero.app`&#x20;

</details>

<details>

<summary>Can we run the guest app on our own subdomain?</summary>

Yes ofcourse! At HolidayHero you can do this at no extra costs. We understand the value of consistent branding across all channels. Therefore, we offer this as free service. You can CNAME any domain to our servers.&#x20;

**Our support team is here to help out**. Reach out to <support@holidayhero.com> to get you started with your own domain.&#x20;

</details>


# Appearance

A strong brand is the foundation of a memorable guest experience. With your own colors, imagery, and custom domain, your brand identity is unique. HolidayHero seamlessly integrates all these elements.

***

### What is appearance? <a href="#appearance" id="appearance"></a>

The **Appearance** tab on a [brand](/the-basics/brands) controls what your guests actually see: the logo at the top of the app and in every email, the background image behind the web app, whether guests get the web app or the native app, and the colours the whole guest experience is painted in.

Every listing is served through a brand, so changing a brand's appearance changes the look of the guest app for every reservation on that brand.

#### Logo <a href="#logo" id="logo"></a>

Three images make up the visual identity of the brand. Each one is optional, but the more you fill in the more the guest app feels like yours.

| Image                | Where it is used                                                                               |
| -------------------- | ---------------------------------------------------------------------------------------------- |
| **Logo**             | The header of the guest app, and all emails.                                                   |
| **Square Logo**      | Push notifications, web app bookmarks and the web app icon. Use a genuinely square image here. |
| **Background Image** | The background of the web version of the guest app.                                            |

Click **Select …** under an image to upload a new one.

#### App Access <a href="#app-access" id="app-access"></a>

**App Access** decides which apps your guests can use for this brand:

| Option                 | Meaning                                                  |
| ---------------------- | -------------------------------------------------------- |
| **Both; Web & Native** | Guests can use the browser-based app and the native app. |
| **Web Only**           | Guests only get the browser-based app.                   |
| **Native Only**        | Guests only get the native app.                          |

#### Colors <a href="#colors" id="colors"></a>

The guest app is built from **twelve** colours. That is a lot to pick by hand, so you have two ways to work.

**Start from a palette**

At the top of the **Colors** section you'll find a grid of **palettes** — ready-made colour sets that are designed to work together. Each card shows a small preview of the guest app in that palette: the background, a card, and the accent colours. They come in two groups:

| Group       | What it looks like                                                                                                                        |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Classic** | Confident, high-contrast sets — dark themes such as **Midnight** and **Charcoal**, and clean light ones such as **Coastal** and **Mono**. |
| **Pastel**  | Soft, light sets such as **Blossom**, **Mint** and **Sky**. Gentle and welcoming rather than bold.                                        |

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FDfBqTHduBa1svuX4QnMM%2Fbrand-palettes.webp?alt=media&amp;token=ea5713d8-bd75-4c4f-8ad3-751263f1560d" alt=""><figcaption><p>The palettes on a brand's Appearance tab</p></figcaption></figure>

To use one:

1. Open the brand and go to the **Appearance** tab.
2. Scroll to **Colors**. If the palettes aren't showing, click **Choose a palette** on the right.
3. Click the palette you like. A tick appears on it and every colour is filled in behind the scenes.
4. Click **Save**.

{% hint style="info" %}
&#x20;If the brand already uses its own colours, the palettes start hidden and the colour fields are shown instead — no point in a wall of palettes for a brand that isn't using one. **Choose a palette** brings them back, and **Hide palettes** puts them away again.&#x20;
{% endhint %}

{% hint style="info" %}
Clicking a palette only fills in the fields — nothing is stored until you press **Save**. Pick a different palette, or leave the page, and nothing changes.&#x20;
{% endhint %}

A palette is a *starting point*, not a mode. Once you've saved, the brand simply has twelve colours like any other brand — the tick on a palette card only means your current colours happen to still match that set exactly. As soon as you change one colour, the tick disappears. That is normal.

**Set the colours yourself**

The twelve individual colour fields are tucked away while a palette is selected. Click the **Custom** card — the dashed one at the bottom, under **Your own colours** — to reveal them. The palettes fold away at the same time, so you're left with just your colours.

**Custom** changes nothing on its own. That means you can pick the palette that comes closest to your identity first, then click **Custom** and adjust the handful of colours you want to differ.

Each colour has a swatch you can click to open a colour picker, and a text field where you can paste a hex code such as `#0c111e` — handy when you're matching an existing brand guide.

{% hint style="info" %}
Once you've changed a colour by hand, clicking a palette would overwrite all twelve of them — so you'll be asked to confirm first. Cancel and your own colours stay exactly as they were.&#x20;
{% endhint %}

| Colour                       | What it paints                                                           |
| ---------------------------- | ------------------------------------------------------------------------ |
| **Base**                     | The background of the guest app.                                         |
| **On Base**                  | Text and icons drawn on the background — and on cards.                   |
| **Card Even** / **Card Odd** | The backgrounds of alternating cards, sitting on top of the base colour. |
| **Primary**                  | The main accent: buttons, active states and links.                       |
| **On Primary**               | Text drawn on top of the primary colour.                                 |
| **Secondary**                | The supporting accent.                                                   |
| **On Secondary**             | Text drawn on top of the secondary colour.                               |
| **Success**                  | Positive states, such as a confirmed or paid reservation.                |
| **On Success**               | Text drawn on top of the success colour.                                 |
| **Error**                    | Negative states, such as a failed payment.                               |
| **On Error**                 | Text drawn on top of the error colour.                                   |

{% hint style="info" %}
The **On …** colours are what makes a brand readable. Whatever you pick for **Primary**, the **On Primary** colour has to stand out clearly against it — otherwise the text on your buttons disappears. The same goes for every other pair. Cards use **On Base** for their text, so keep **Card Even** and **Card Odd** close to **Base** in lightness.
{% endhint %}

**Reset Colors** (next to the section title) puts all twelve colours back to the HolidayHero defaults. You'll be asked to confirm, and — like the palettes — nothing is stored until you press **Save**.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>Do I have to use a palette?</summary>

No. Palettes exist to save you time if you don't have a designer. If you have brand colours of your own, set the twelve colours by hand — or pick the palette closest to your identity and then adjust it.

</details>

<details>

<summary>I picked a palette but nothing changed for my guests.</summary>

Picking a palette only fills in the form. Scroll to the bottom of the page and click **Save**.

</details>

<details>

<summary>Where did the colour fields go?</summary>

They're hidden while a palette is selected, because the palette already sets all twelve. Click the **Custom** card under **Your own colours** to bring them back.

</details>

<details>

<summary>Where did the palettes go?</summary>

They fold away as soon as you switch to your own colours, so the section stays short. Click **Choose a palette**, at the right of the **Colors** section, to show them again.

</details>

<details>

<summary>Why did the tick disappear from the palette I chose?</summary>

The tick marks the palette your colours *currently* match exactly. Change a single colour and your brand is no longer that palette, so the tick goes away. Your colours are still saved — this is only a label.

</details>

<details>

<summary>Can I add my own palette to the list?</summary>

Not yourself, no. The palettes are curated by HolidayHero. If you'd like one added, get in touch with support and tell us the colours you have in mind.

</details>

<details>

<summary>Where do I change the brand's name, domain or legal links?</summary>

On the **General** tab — see [Brands](/the-basics/brands).

</details>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/workspace/brands/appearance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Check-in

Within Brands you can determine your settings for checkins. Meaning, you can alter which information is requested at wat moment.

### What is a check-in?&#x20;

A check in resembles the collection of personal data within a reservation. In some countries, cities or Provence's it is mandatory to collect personal information regarding your guests.&#x20;

With a check-in you an collect data from your guests, at the moment they join the reservation. This process is managed by the [Brand check-in settings](/the-basics/brands/check-in).

### Check your local authorities if guest registration is applicable to you.

Wether your are required to collect personal information, that depends on your location and jurisdiction. In some countries , like Spain, you are required to do so. We always recommend to consult your local authorities to check what information is required.&#x20;

### What information can be collected during the check-in?&#x20;

Depending your local authorities or your own requirements you can collect guest information of single guest or all guests with a reservation. Find an overview of possible information below:&#x20;

<table><thead><tr><th width="285">Label</th><th>Information</th></tr></thead><tbody><tr><td><code>First Name</code></td><td>The first name of the guest, if this information is know, the field will be pre-filled.</td></tr><tr><td><code>Last Name</code></td><td>The last name of the guest, if this information is know, the field will be pre-filled.</td></tr><tr><td><code>Email</code></td><td>The email of the guest, if this information is know, the field will be pre-filled.</td></tr><tr><td><code>Phone</code></td><td>The phone of the guest, if this information is know, the field will be pre-filled.</td></tr><tr><td><code>Address</code></td><td>The address field consists of multiple inputs. Based on our localisation we provide the following data: <br>- Line 1<br>- Line 2<br>- Postal code<br>- City<br>- Region<br>- Country<br>- Latitude<br>- Longitude</td></tr><tr><td><code>Gender</code></td><td>We can asked for internationally recognised gender formats. </td></tr><tr><td><code>Date of birth</code></td><td>The date of birth of the guest. </td></tr><tr><td><code>Document Type</code></td><td>If documents are required, we can ask for international accepted documents. Based on the location of the listing we adapt the list of required documents. We offer:<br>- Driving License<br>- ID-Card<br>- NIE<br>- Passport</td></tr><tr><td><code>Document Number</code></td><td>The official document number of the guest associated with the selected document type. </td></tr><tr><td><code>Document Expiry Date</code></td><td>The expiry date of the selected document type</td></tr><tr><td><code>Document Issue Date</code></td><td>The issue date of the selected document type</td></tr><tr><td><code>Document Image</code></td><td>If required, guests can upload a document image. Such images are securely stored on our own CDN and can be removed based upon your preference.</td></tr><tr><td><code>Flight Number</code></td><td>Guests can be asked to provide their flight number. This field will always be optional. </td></tr></tbody></table>

### Interests and Budget

If you would like to collect more information about your guests, you can ask them to provide their interests and budget. These settings are separated from the check-in forms and will be asked to every user.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FMIpeBqeaCHJlrWNshURw%2FXnapper-2025-03-11-13.49.05.png?alt=media&amp;token=b764bea5-a6ff-43fe-89a5-f0e69ede4ca9" alt=""><figcaption></figcaption></figure>

The interest and budget are based on a user. And they are accumulated on the reservation itself.&#x20;

### Reservation Behaviour

Depending on the region, you may need to collect information about all or a single guest. HolidayHero is able to work in with both scenario's.&#x20;

| Behavior                           | Guest Interaction                                                                                                                           |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `One guest needs to be checked In` | Once a single guest has checked in, the reservation status will switch to checked in.                                                       |
| `All guests need to be check in`   | The amount of checkins should match the total number of guests (adults + children + babies) before a reservation switches state to check in |

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FgCxchN6Nxzkdfsb8ggLV%2FXnapper-2025-03-11-13.44.36.png?alt=media&amp;token=9ccedf6f-7983-43dc-b073-4d498b352425" alt=""><figcaption><p>Reservation Behaviour</p></figcaption></figure>

***


# Reservation Stages

Each guest walks his path of the guest journey. Add different moments in time, guests need different information or you want them to perform certain actions. That's where Reservation stages come in.

### What are reservation stages?&#x20;

Reservation stages are moments in time, when a certain stage in the guest journey gets activated. See it as a trigger to change the behaviour of the app.&#x20;

Before we explain what how it works, we would like you to understand a few concepts:&#x20;

* **Guest Journey** - The complete experience a guest goes through, starting immediately after booking confirmation. For hotels and short-term rentals (STRs), the guest journey encompasses pre-arrival communication, check-in, the stay itself, and post-stay follow-ups. It focuses on creating a seamless and personalized experience, from sharing access details and local tips to offering upsells like room upgrades or curated activities.
* **Reservation Stages** - A moment in time the guest journey should be altered.&#x20;
* **Sections** - a block of content / information show to the guests on the home page of the app.&#x20;

### Available Sections

A section is a block on the homepage that contains a set of data. Below is the list of sections that are supported by default.&#x20;

{% hint style="info" %}
A section should have items before it becomes visible. Empty sections are hidden.&#x20;
{% endhint %}

* **Announcements**  - At the homepage we show up to 10 announcements. Announcements can be dismissable. And the sort order can be adjusted at the listing level.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FS8KCwtvvuodfwW65PBHL%2Fannouncements_section.png?alt=media&amp;token=c865c228-3126-4d13-92cc-23af3ca7d5dc" alt=""><figcaption><p>Announcement Section</p></figcaption></figure>

* **Smart Devices -** When the selected property has smart devices. The smart devices will be shown on the homepage. Guests can interact directly with smart devices from the home screen.&#x20;
* **Upsells** - At the homepage we show up to 10 upsells. The sort order can be adjusted within the listing. Upsells are a special category within the experiences. Clicking an item will guide you to the experience details page.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FrILEM0UbEbJs3K3RC0mu%2Fupsells_section.png?alt=media&amp;token=7526c510-3bce-4f18-8a07-bfd711c91e47" alt=""><figcaption><p>Upsells Section</p></figcaption></figure>

* **Recommendations -** At the homepage we show up to 10 experiences. The sort order can be adjusted within the listing. Clicking an item will redirect you to the experience details page. A summary of the availabel categories are shown. Once a category is clicked only the experiences of that category are shown.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FRQGE4HUUWfcneznSU1rh%2FXnapper-2025-01-28-11.37.59.png?alt=media&amp;token=59accc3b-3534-4b2d-8867-ad3761dc8239" alt=""><figcaption><p>Recommendations Section</p></figcaption></figure>

* **Amenities** - At the homepage we show up to 10 amenities. The sort order can be adjusted at the listing level, allowing you to prioritize certain amenities above others. Once clicked, the details of the amenity are shown.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FY8zKg0VIDFYesNbQiuaH%2Famenities_section.png?alt=media&amp;token=36c517b1-fcbe-408c-8d80-223b8313f196" alt=""><figcaption><p>Amenities Section</p></figcaption></figure>

* **Guidebooks -** At the homepage we show up to 10 guidebooks. The sort order can be adjusted at the listing level. Once clicked, the guidebook itself will be shown.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FRQXDCIR1jJX9Yrq4yJDS%2FXnapper-2025-01-28-11.44.25.png?alt=media&amp;token=2d2ed85f-0a5a-44de-bdc0-1c8df24bb076" alt=""><figcaption><p>Guidebooks Section</p></figcaption></figure>

* **Documents -** At the home page all *Reservation* and *Listing* documents are shown. First the reservation documents and beneath the listing documetns.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FmPoWB1ZLZU2cOkYW4mcc%2Fdocuments_section.png?alt=media&amp;token=7c664f6c-754a-4fe3-a440-35e05ef1e17e" alt=""><figcaption><p>Documents Section</p></figcaption></figure>

### Stage Timing

Each reservation stage is determined by it's timing, in other words the trigger to change. The timing can be adjusted based on a trigger. Ultimately you can adjust the timing based on:&#x20;

{% hint style="info" %}
The **reservation created** stage, is the default stage. The timing on this stage cannot be adjusted.&#x20;
{% endhint %}

* `x` days&#x20;
* `x` hours
* Timepoint (before / after)
* Check In or Check Out&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FdwUnqZ1WGXPeRfgNh1nG%2FXnapper-2025-01-28-12.09.46.png?alt=media&amp;token=4ccf376e-7cf4-4e0d-9dfa-0921cc8b88cb" alt=""><figcaption></figcaption></figure>

### Visibility and sorting

In each stage of the reservation you are able to adjust the visibilty and the sorting of the sections. Simply drag and drop the sections to determine their position and use the toggles to show and hide the sections.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FCh84uEFj69t2vnY3Sp01%2Fsection.png?alt=media&amp;token=9697c9b4-210b-4a8e-9f89-ca54aebadde9" alt=""><figcaption></figcaption></figure>

***

### Frequently Asked Questions

<details>

<summary>Can I create my own sections?</summary>

At the moment you can't. We are atively improving the platform to support your own content. Please reach out to our support team for the possibilities. \
\
All supported sections can be found [here](#can-i-create-my-own-sections)

</details>

<details>

<summary>Can I change the sort order of the sections? </summary>

Yes, you can change this. Follow these steps:&#x20;

1. Open the desired brand
2. Navigate to the reservation stages
3. Click the desired stages
4. Scroll to the Sections section
5. Drag and drop the sections by draging the arrows.&#x20;
6. Once the order has been adjust a confirmation message will be shown.&#x20;

![](broken://files/mOQQZOTFW8ZAcOqwbkZd)

</details>

<details>

<summary>Can I change the visibility of sections? </summary>

</details>


# Public Guest App

Each listing in HolidayHero comes with a dedicated link. A link can be shared with any guest at any moment in the guest journey. No restrictions on reservation, no need for guest details.

### What it is the Public Guest App?&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FsJuD45sOliaEPExuJ03q%2Fpublic_stage.png?alt=media&amp;token=3b84c43d-3a4d-4ddf-a7f6-1eaa496f35eb" alt=""><figcaption><p>Public Stage within Reservation Stages</p></figcaption></figure>

### How can I access the Public Guest App?

Each listing has its unique URL. This URL can be shared as the public guest app URL. To find the URL. Follow the following steps:&#x20;

1. Click on listings in the left menu
2. Click on the desired listing
3. Click on the Links (Sub-menu / Tab)

Two links will be displayed; more about them [here](/the-basics/listings/links). Use the subdomain for all your email and scheduled messages. Use the short URL for any SMS, WhatsApp, or social media communication.&#x20;

#### Reservation Stages

Like other stages, the public reservation stage has visibility settings that determine what is visible and what isn't. You can control the visibility of the sections through the [reservation stages](/the-basics/brands/reservation-stages).&#x20;

### **Metafields and Public Reservation Stage**

With HolidayHero have the option to use meta fields throughout the guest experience. Metafields are variable fields whose content can be adjusted based on the connected listing or reservation. See how these behave in the public reservation stage.

<table><thead><tr><th width="168">Object</th><th></th></tr></thead><tbody><tr><td><code>Listing</code></td><td>✅ - Will be displayed and overwritten based on the listing meta fields. </td></tr><tr><td><code>Reservation</code></td><td>🚫 - Not available in public stage. The meta field default value will be used. </td></tr></tbody></table>

***

### Frequently Asked Questions

<details>

<summary>Can I determine what is visibile in the public guest app? </summary>

Yes, as the public guest app is part of the reservation stages it has the same working. You can sort, hide or create sections within this stage of the reservation.&#x20;

</details>

<details>

<summary>Can I disable the public guest app?</summary>

Yes and now, you can disable all the sections, then only the header will be visible.&#x20;

</details>


# Suppliers

Suppliers handle your upsells and experiences. Connect them to send guest inquiries directly to the supplier, saving time for your front desk and concierge.

***

### What are suppliers?&#x20;

Suppliers are external companies that handle the fulfillment of your upsells and experiences. By connecting suppliers to HolidayHero, guest inquiries are sent directly to the right supplier—streamlining communication and reducing the workload for your front desk and concierge team.

A supplier can be linked to one or multiple experiences. When a guest requests an experience or upsell, the supplier is notified and has 7 days to respond.

### Payments

With HolidayHero's payment platform we have built in a commission split. We allow you to set your commission and we will make sure this is capture.&#x20;

If a supplier has access to their portal, they can set up their own payment provider. Suppliers with an active payment provider must manage their own inquiries, as they handle the payment directly. In the checkout, their terms and conditions, privacy url as well as our terms and conditions will be shown.&#x20;

Moreover, if there is an active payment connection, the suppliers payment details are listed on the bank / credit card statements of the guest.&#x20;

#### Invoices

HolidayHero facilitates the transaction and provides a payment receipt. The guest and supplier and/or operator are required to deliver and hand out invoices themselves.&#x20;

#### Default Commission

Once a supplier is created, you can set a default commission. When the supplier is linked to an experience, any new products added to that experience will automatically use this default commission—making product creation easier for operators.

### Connect Supplier to Experience

A supplier can be connected to an experience directly within the experience. Open the experience, scroll to the supplier section, and select a supplier from the list.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FXvzStrWqsmceiMNKhXRU%2FXnapper-2025-03-04-22.50.37.png?alt=media&amp;token=f819fc06-fd49-4317-b46d-11827e31f666" alt=""><figcaption><p>Experience supplier selection. </p></figcaption></figure>

### Give access to portal

Suppliers can be given access to their own portal. This allows them to respond to inquiries directly, reducing the workload for your front desk and helping you streamline operations.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FIX4lnjb1xHm3I8aWkSAS%2Fportal_access.png?alt=media&amp;token=f356d686-ddc1-4a6e-acf6-b155c1b333a5" alt=""><figcaption><p>Supplier portal access</p></figcaption></figure>

#### Portal Access

When portal access is activated, the supplier is automatically notified of new inquiries. They can accept, decline, or respond directly.&#x20;

Learn more about the supplier portal [here](/the-basics/suppliers/supplier-portal).

#### Allow edit of general details

Once this is actived, the supplier is allowed to edit his own business details. He can change his `name`, `phone`, `email`, `website` , `address`, `terms and conditions url`, `privacy policy url`, `business registration number` and `Vat ID.`

***

### Frequently Asked Questions

<details>

<summary>Do suppliers always have access to their own portal? </summary>

No, this can be adjusted on a per supplier basis. Simply choose if you wish to give them access or not.&#x20;

</details>

<details>

<summary>Can suppliers adjust their </summary>

</details>

<details>

<summary>Do guests have access to the supplier details? </summary>

No directly, guests don't will be informed in the checkout that the experience is supplied by a supplier and not the hotel.&#x20;

</details>


# Supplier Portal

A supplier can manage their own inquiries and details through the supplier portal.

### What is the Supplier Portal

The **Supplier Portal** allows suppliers to manage their own inquiries and profile details. Once a supplier has been granted access to the portal, they can manage the following:

* **Inquiries**
* **Profile**
* **Payment Providers**

Before a supplier can access the portal, they must first accept the **HolidayHero Terms and Conditions**.

The portal is secured using a unique link, so no password is required. In every interaction, this unique portal link is shared directly with the supplier.

To ensure this process works smoothly, it is essential that both the supplier's **email address** and **phone number** are provided.

#### Communication to suppliers

Suppliers can receive various types of communication.&#x20;

1. `Portal Access Granted` - once the supplier has been granted portal access, the supplier will receive an email and SMS message that they have been given access to their portal.&#x20;
2. `Portal Access Revoked` - once the supplier access has been revoked, the supplier will, be informed by email and SMS.&#x20;
3. `New Inquiry`- on each new inquiry the supplier will be informed.&#x20;
4. `Inquiry reminders` - Suppliers are simularly reminded of the inquiry as operators. See the schedule [here](/the-basics/inquiries#emails-and-communication).

#### Dashboard

On the dashboad the supplier is informed about:&#x20;

* `Pending Inquiries`
* `Acceptance Rate`
* `Decline Rate`
* All pending inquiries with status `Pending Approval`and `Pending Payment`

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FHIC1kOvttu1NqeaKq1II%2Fdashboard.png?alt=media&amp;token=633b86d3-33f4-4f28-9e91-bb76b1c8bad0" alt=""><figcaption></figcaption></figure>

#### Inquiries

Once an inquiry has been made and a payment is involved the supplier has 7 days to respond. They payment will held for 7 days. If the inquiry is pending for longer than 7 days it will automatically be decline and counts for the decline rate of the supplier.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F9Pbvn9JwK93luH4TuNVQ%2Finquiries.png?alt=media&amp;token=8797a5ac-6fd3-4b47-ab04-1dc18dbee554" alt=""><figcaption></figcaption></figure>

**Inquiry details**

Once a supplier opens a inquiry, either thorugh their dashboard or through the email they have received, it shows the details of the requested experience.&#x20;

On this page, the supplier is informed about the status of the inquiry. (See [inquiry status](/the-basics/inquiries#inquiry-statuses) for all details on available statusses).&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fj7HBpSwh93JRTtd0hE0O%2Fdetails.png?alt=media&amp;token=c9796334-3cf3-4d32-98a8-55f7ba62db09" alt=""><figcaption></figcaption></figure>

#### Profile

Depending the `Allow edit of general details`settings in the Admin, the supplier is allowed to adjust the following details.&#x20;

* `Name`
* `Email`
* `Phone`
* `Website`
* `Address`
* `Terms and Conditions`
* `Privacy Policy Url`
* `Business Registration Number`
* `Vat ID`

Within the profile a supplier is able to connect a payment provider. Once a supplier payment provider is connected this payment provider will have priority abouve the payment provider of the workspace. This is a legal requirement where the supplier is responsible for supplying the experience / upsell.&#x20;

### Branding

The supplier portal and communication is HolidayHero branded. But suppliers are informed about who invited them.&#x20;


# Communication

Guest communication is essential for great guest experience. At HolidayHero we offer unlimited possibilities to communicate with your guests.

Communication is the corner-stone of guest experience. In order to ensure you as operator, hotelier and property manager reach the guest at crucial moments, we allow you to communicate through various channels.&#x20;

In essence, all communication is part of a conversation. Meaning, that each channel (SMS, Email, Whatsapp and other integrations), allow you to communication with guests, each message is part of a conversation that is visible in the Inbox.&#x20;

For each channel, you are able to schedule messages at certain moments in time. See the detailed explainations below. <br>

**How to's:**&#x20;

* [Manage your channels](/the-basics/communication/channels)
* [Manage the message templates ](/the-basics/communication/message-templates)


# Channels

Guest communication is held on various channels, depending on what is available for that guest.

A channel is a carrier of the conversation. In example, email, sms, or whatsapp. Through that channel the guest wil receive messages / notifications. A guest can interact with multiple channels.&#x20;

By default, each workspace has access to the following channels:&#x20;

* [Email](#email)
* [SMS](#sms)
* [Whatsapp](#whatsapp)&#x20;
* [Integrations](#intergrations)

### Email&#x20;

Our email channel, allows you to send detailed messages to their given email. There are three possibilities of originator emails. Each has a different setting:&#x20;

* If the channel **doesn't** accept replies - `noreply@holidayhero.app` is used as originator email.&#x20;
* If the channel **does** accept replies - `guestreply@holidayhero.app` is used as originator email.
* If the brand has an override on the reply-to field, see [Brands](/the-basics/brands#email-communication), the `noreply@holidayhero.app` is used with a designated `reply-to` field. When the guest replies, the email will go straight to your Email server.&#x20;

{% hint style="info" %}
If repy-to is set on the branding, any reply to an automated message template will no longer be processed by HolidayHero.&#x20;
{% endhint %}

In order the guarantee delliver of our emails, we use our own proprietary service to deliver emails. Therefore we have chosen to use our own email addresses. The guest impact is very limited.&#x20;

#### Originator Name and Email

Allthough we will use our own emails, there is very little impact on your brand, guests will hardly see that the email has originated from HolidayHero. With our strong [branding appearance ](/the-basics/brands/appearance)tools you will be able to tailor any email to your brand. The originator name will always be branded by you.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FHGngc9mFc7CEwvCJMxjt%2Foriginator_name.png?alt=media&amp;token=0ec9948d-7c5e-4d72-8cb5-8bd2a905960d" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="232">Email Characteristics</th><th></th></tr></thead><tbody><tr><td>Allows Replies</td><td>optional</td></tr><tr><td>Message Templates Editor</td><td>Easy block building email</td></tr><tr><td>Reply editor</td><td>Images, Documents and richt text</td></tr></tbody></table>

### SMS

Although at HolidayHero we believe that SMS is outdated and no longer part of great guest experience, we still offer this as a channel. However, the channel has some limitations.&#x20;

Scheduling and sending SMS messages comes with limitations:&#x20;

* We don't accept replies for any SMS messages (we use named originators where possible).&#x20;
* Some countries don't allow us to send text messages to their phone numbers
* Various phone settings on both Android and iOS can block messages.&#x20;

<table><thead><tr><th width="232"> SMS Characteristics</th><th></th></tr></thead><tbody><tr><td>Allows Replies</td><td>Not applicable</td></tr><tr><td>Message Templates Editor</td><td>Simple plain text</td></tr><tr><td>Reply editor</td><td>Not applicable</td></tr></tbody></table>

### Whatsapp

Whatsapp is a powerfull tool to communicate with guests. It has rich messages possibilities and allows you to send images, documents and links.&#x20;

<table><thead><tr><th width="232"> SMS Characteristics</th><th></th></tr></thead><tbody><tr><td>Allows Replies</td><td>Optional</td></tr><tr><td>Message Templates Editor</td><td>Enriched text editor</td></tr><tr><td>Reply editor</td><td>Enriched text editor (images, documents and plain text). </td></tr></tbody></table>

### Intergrations

Within HolidayHero we embrace all kinds of integrations, our powerfull GraphQL API layers allows you as a partner to integrate directly with our Guest Messaging tools. Whether you want to send certain messages and/or create new message channels, we are here to help you.&#x20;

***

*Both SMS and Whatsapp messages carrier costs, these are added to your monthly bill based on your subscription. Find an overview of your subscription details by viewing your workspace.*&#x20;


# SMS

a pre-historic powerfull tool to reach a lot of guests. However, it has its limitations.

### SMS Message Templates

In order to reach your guests, you are able to use SMS as a message templates. When an invite or user has a phone tight to them, we will try to deliver the message to the guest.&#x20;

All messages from HolidayHero have fixed orignators, in general the originator will be `HolidayHero` except for these countries:&#x20;

* Australia
* UK
* France

Message to customers in the following countries will not be deliverd:&#x20;

* United Arabic Emirates

### SMS Channel

Sending an SMS is realtively simple, just provide the content and HolidayHero does the heavy lifting.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FHNgeieL2OG0svoEeT7IN%2FXnapper-2025-04-15-10.59.18.png?alt=media&amp;token=e6daf289-1356-439c-84fd-24e2e52a1373" alt=""><figcaption><p>SMS Content on a message template</p></figcaption></figure>

### **Billing**

SMS is part of your billing, they will be billed on a monthly usage basis. You will be able to see the pricing of the SMS within the [workspace > subscription](/the-basics/workspace/subscription) section.&#x20;

{% hint style="info" %}
SMS'es are limited to 160 characters each, if messages become longer, we will charge per 160 characters.&#x20;
{% endhint %}

### Metafields

The use of metafields (both listing and reservation metafields) is allowed on the body of the message. Use the `Insert Field Code` button to use an metafields' field code.&#x20;

***

### Frequently Asked Questions

<details>

<summary>Can I test an SMS before it is used in a message template? </summary>

Yes you can! Simple click the `Test` button at the right top of the page. Provide your phone number with country code, and we wills end you the message. \
\
Test messages, will contain dummy data for metafields

</details>

<details>

<summary>My SMS has not been delivered</summary>

This can happen because of various reasons:&#x20;

* A phone opted-out of text messages&#x20;
* A phone has registered to not receive text messages from named - senders
* A country or provider doesn't allow to receive or send text messages.&#x20;

</details>


# Whatsapp

Whatsapp, a powerfull messaging application used by 2 billion + people in the world. With HolidayHero we allow you to communicate with guests through Whatsapp.

***

### Whatsapp Message Templates

At HolidayHero, we allow you to use Whatsapp as a message template. As we Whatsapp is much stricter then, in example SMS, we have done most of the heavy lifting for you. However, there are still a few limitatins.&#x20;

#### **Highly Structured Messages (HSM's)**&#x20;

Whatsapp forces you to use HSM's when you reach out to customer for the first time. At HolidayHero, we strongly recommend to use our highly converting whtsapp invitation messages. This starts the conversation with the guest and allows him to respond at his / her own convenience.&#x20;

***How would this look like?***&#x20;

* **For invitations** - we have a default message which you can extend. The deault message contains a reference of their booknig, checkin date and a button to guide them to the app. We allow you to add content. See the example below. <br>

  <figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FGutOP6n8LnQQiM1XWKLW%2FXnapper-2025-04-15-11.11.08.png?alt=media&amp;token=4bd3a5d0-04b5-49a9-a8b8-d86959022a4a" alt=""><figcaption></figcaption></figure>
* **For normal message templates -** the message will be pre-leade with a message announcing the guest who is texing them.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F73pbj8LiCUOd2FwEonAw%2FXnapper-2025-04-15-11.12.51.png?alt=media&amp;token=a3a36cc3-5acd-45af-9b38-7afa522d25d0" alt=""><figcaption></figcaption></figure>

### Shared Phone Number

To keep costs as low as possible we allow you to get started on shared phonenumber. In any case, you will require an dedicated phone number, feel free to reach out to our support team. They are able to guide you through that process.&#x20;

### Billing

Meta (Facebook) is in the midst of changing the pricing model of Whatsapp messaging.&#x20;

* ***Current:*** **Per conversation based**  - currently Whatsapp is priced on a per active conversation basis. A conversation is active as it has received a single message in the past 24 hours.&#x20;
* ***Future:*****&#x20;Per message based**  - Whatsapp will move to a per message based pricing scheme. It has been announced several times, and the current migration date will be 1st of July.&#x20;

For now, we will maintain our pricing schedule as this is visible within your [subscription](/the-basics/workspace/subscription).&#x20;

***

### Frequently Asked Questions

<details>

<summary></summary>

</details>


# Emails

Emails are a powerfull channel to reach your guests at the right moment in time. See how you can customized and setup the emails that work for you.

***

### Email Message Templates

Like other message themplate, emails can be scheduled to be delivered at the right moment in time. Read more about how to schedule the message templates [here](/the-basics/communication/message-templates).

#### Email Channel

To gaurantee delivery of all emails at all times, HolidayHero allows messages to be scheduled at no cost. All emails will originate from an `noreply@holidayhero.com` or `noreply@holidayhero.app` email adress. However, guests are very unlikely to see this, as modern email clients use named senders.&#x20;

In example, in the Gmail overview, the name rather then the email is listed as the originator of the email.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FcxP7pcAqUcoUq4Up3x4x%2Fnamed_email_gmail_inbox.png?alt=media&amp;token=3d241d07-9cc8-4eb0-9688-b10bb7aaf7db" alt=""><figcaption><p>Example of how messages will be shown</p></figcaption></figure>

The same goes for the message itself, all clients use a named originator. See the example of a gmail message below.&#x20;

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fwuf7Da0somh8zeUGeItd%2Fnamed-email-message.png?alt=media\&token=d2455ebc-b742-491f-9ea2-a5b2edea4e7f)

In any case, we allow you to set, on a per brand basis, a `reply-to` email so that in any case the user replies to that email, it will be forwarded to you. Check the [Brand > General settings](/the-basics/brands#general) on how to set this up correctly.&#x20;

### Branding

At HolidayHero, we believe that your brand is your most powerfull asset. So we aim to deliver a consistent guest experience across all channels. As for the emails, we pre-styled all the emails in such a way that they reflect your [brand appearance](/the-basics/brands/appearance) settings.&#x20;

### General Email Settings

For each email you are able to adjust the general settings. Like the `From name` and the `Subject` . You can also decide to skip the email as a channel by using the `Active` toggle. The use of metafields is allowed.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FteClNc6p8PXdj4WEZ5k1%2Femail_general_settings.png?alt=media&amp;token=9f2b6e0a-755b-422a-964d-564e6d9dd443" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Save the general settings before your start working on the blocks
{% endhint %}

### Email Blocks

With our email builder, you can easily create emails that automatically will be responsive and ready to read on any device type. Find a list of all available blocks below:&#x20;

<table><thead><tr><th width="179">Type</th><th>Description</th></tr></thead><tbody><tr><td><strong>Header Image</strong></td><td>Upload your own header image to the email </td></tr><tr><td><strong>Listing Image</strong></td><td>Automatically we will grab the header image of the connected reservation listing. </td></tr><tr><td><strong>Text Block</strong></td><td>Write your own textual content</td></tr><tr><td><strong>Title</strong></td><td>Add your own custom title to an email</td></tr><tr><td><strong>Experience</strong></td><td>Highlight an experience, with the first image, title, summary and button leading to the in-app details</td></tr><tr><td><strong>Amenity</strong></td><td>Highlight an amenity with the first image, title, summary and button leading to the in-app details</td></tr><tr><td><strong>Guidebook</strong></td><td>Hightlight a guidebook, with a title, summary and button leading to the in-app details</td></tr><tr><td><strong>Upsell</strong></td><td>Highlight an upsell, wiht title, summary and button leading to the in-app details. </td></tr><tr><td><strong>Invite-code</strong></td><td>Use the existing invitecode, or create a new one if non exists. </td></tr><tr><td><strong>Button</strong></td><td>A button that links to an in-app or external page</td></tr><tr><td><strong>Data Cell</strong></td><td>Simplified table to highlight custom data. </td></tr></tbody></table>

***

### Frequently Asked Questions

<details>

<summary>Are we able to test an email before we activate it? </summary>

Yes, each channel has a test option. Simply hit the `Test` button at the right top corner.&#x20;

</details>

<details>

<summary>Are you tracking the open-rates, clicks and deliveries of emails? </summary>

At the moment, we are tracking this on a general level. However, this might trickle down to the individual touchpoints in the near future.

</details>

<details>

<summary>My guests have @guest.booking.com emails, are your emails delivered?</summary>

Yes! Even better, our messages are designed in such a way that they have plain-text versions that will be picked up by booking.com. However, you need to adjust view settings in your booking.com admin panel. Read more[ here](/the-basics/communication/booking.com-emails)

</details>


# Message Templates

Message templates are set messages with adjustable content. Schedule them at any given moment in the guest journey.

***

### **What are message templates?**&#x20;

*Message templates* are automated messages that are scheduled at a certain point in time. Message Templates are scheduled relative to the reservation or inquiry timings. The goal of a message template is to give the guest the right information at the right moment in time.

### **Message Templates and Channels**

A message template is part of a channel. Meaning that the message will be send on a specific channel. Each channel can hold multiple message templates. &#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FE360b6rrN5KgaGaRnExX%2Fimage.png?alt=media&amp;token=8111407f-774d-4028-89ad-ac761238eebd" alt=""><figcaption></figcaption></figure>

In the overview you can see all the templates, if they are activated, to which properties they are connected and when they will be scheduled relative to the reservation.&#x20;

### **Invites vs. Custom Templates**

An invite template is designed to invite guests to start using the guest app. Invite message templates are templates that cannot be deleted. They can be de-activated.&#x20;

### Scheduling Message Templates

At the settings of the message templates, you will be able to alter the following information:

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F3kfjg4w4omIQ4xzl7q5G%2Fmessage_template_settings.png?alt=media&amp;token=2e4df939-f8af-4a0a-b06a-c6fa3767ce30" alt=""><figcaption></figcaption></figure>

* **Name** - Only used for internal reference, so that you remember what the message template is about.
* **When** - Schedule the message template at a moment in time.
  * Select the amount of days
  * Before or after (a certain timepoint)
  * A timepoint, `Check-in Date` , `Checkout Date` , `Reservation Created`, `Reservation Cancelled` or when a `Reservation checked in`
* **Who** - the audience of who should receive the message template.
  * **Users -** Users are guests that have logged in or accessed the guest app, meaning they have access to content within the app.
  * **Invites -** Invites are guests that are registered as an invitee on the reservation. They have or haven't accessed the app yet.
  * **Both Users / Invites**
  * **Booker only -** do you want to send a message to the booker only, use this option. Other guests and invites will be ignored.&#x20;
* **Sending Behavior**
  * It can happen, especially with last-minute reservations, that a message is scheduled in the past. This setting determines what we should do in that situation.&#x20;
    * *Always* - the message will be send anyway.&#x20;
    * *Only when scheduled in the future* - if the message is scheduled in the past, it will be skipped. &#x20;

### **Connected Listings**

By default a message template, once created, is connected to all listings. This can be changed in the listings tab within the message template. With the toggle you will be able to activate or disable the all listings and select specific listings.&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FVB3iEKztwKS3UCm0rtuk%2FListing_overview.png?alt=media&amp;token=f5a60a97-a1a7-4053-afd9-931f0de48cef" alt=""><figcaption></figcaption></figure>

***

### Frequently Asked Questions

<details>

<summary>Can we limit message templates to various listings only? </summary>

Yes, with the migration from Touchpoints to Message Templates we made this possible. With this new feature you are able to target specific room upsells, or provide additional information based on the room type.&#x20;

**Note:** by default a message template is scheduled for all listings, you can change this in the listings tab within the message template.&#x20;

</details>

<details>

<summary>I see a red "No content, message template will be skipped" </summary>

This informs you that the message template is empty and has no content. If activated it will be scheduled for reservations, but at the scheduled moment of time, this will be skipped. At moment of sending we do a check if there is content or not.&#x20;

</details>


# Booking.com Emails

Booking.com uses a so-called private relay. Allowing you to email with guests. Their email messages are converted to chat conversations. HolidayHero is prepared for this. Read below how.

## How Booking.com works

Booking.com allows you to send messages to your guests, through their private relay emails. A private relay email is an email address handed out by booking.com and masks the real email of the user. <br>

**Example:**

`hwetra.6123268@guest.booking.com`

Each booking coming from Booking.com will have such an email. And your OTA, or yourself have been using it to email to this as well.&#x20;

### Booking.com Restrictions

Booking.com uses private relays to prevent unnecessary messages and/or SPAM from being send to their guests / travelers. However, you have control over what can be send to your guests.&#x20;

### How to allow HolidayHero emails in Booking.com?

Besides the strict rules of booking.com, they allow you as a host to determine what to be send to the guests. Follow the steps below, to ensure that HolidayHero emails are let through.&#x20;

{% stepper %}
{% step %}

### Login to Booking.com Portal&#x20;

Go to the Booking.com portal via: <https://admin.booking.com>
{% endstep %}

{% step %}

### Go to Messaging Preferences

1. Click on property
2. Click on messaging preferences

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FezHr8dWAbZi8667cGWyl%2FXnapper-2025-01-10-14.45.48.png?alt=media&amp;token=df11b0e5-0e36-4402-9a62-3c61aa8f8c7a" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}

### Go to the Security Settings

1. Click on the security settings tab

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FCdMpwJNDbGPgLQeuQPDM%2Fsecurity_settings.png?alt=media&amp;token=888ebaa6-ed6c-435b-abd5-1c129ab435cf" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}

### Add email addresses and links

{% hint style="info" %}
You might be asked to re-authenticate your account, ensuring it is you that makes the changes. This is normal.&#x20;
{% endhint %}

1. Add the following two email addresses to the **Your email addresses** section
   1. `noreply@holidayhero.app`
   2. `noreply@holidayhero.com`
2. Add the following two links to the **Your approved links** section
   1. `[brand-name].holidayhero.com`
      1. **IMPORTANT:** replace the brand name with your subdomain. See [Brands - General ](/the-basics/brands)
   2. `hdyhr.com` <- we use this domain for short codes and short redirect links.&#x20;

It now should look like this. (Obviously, if you have multiple e-mail addresses, feel free to add them there).&#x20;

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F9xzWRSRKizwmoH8vU9WB%2FXnapper-2025-01-10-14.53.07.png?alt=media&amp;token=7ba52b24-54a6-405a-b7d6-b07ee789d97a" alt=""><figcaption></figcaption></figure>

{% endstep %}
{% endstepper %}


# Conditional Rules

Conditional rules decide whether a scheduled message is actually sent, based on details of the reservation. Use them to target the right guests without duplicating templates.

***

#### **What are conditional rules?** <a href="#what-are-conditional-rules" id="what-are-conditional-rules"></a>

*Conditional rules* are additional filters on top of a message template's schedule. They determine **if** a scheduled message should actually be sent to the guest, based on the reservation's details.

Where the schedule ("When") decides *at what moment* a message goes out, a conditional rule decides *whether* it goes out at all. A template can hold multiple rules — all active rules must pass for the message to be sent. If any rule fails, the message is skipped.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FfcgYub332tb5i5wpX0vO%2Fempty_conditional_rules.html_converted.webp?alt=media&amp;token=127f9604-8536-4028-8ca5-17570a40aa9b" alt=""><figcaption></figcaption></figure>

#### **Rules and Scheduling** <a href="#rules-and-scheduling" id="rules-and-scheduling"></a>

Conditional rules are evaluated at the scheduled moment of sending. This means:

* A message is still scheduled as normal based on the reservation timing.
* At the moment of sending, we check all active rules against the reservation.
* If one or more rules don't match, the message is skipped for that reservation.

This allows you to re-use a single message template across many reservations while still tailoring *who* actually receives it.

#### **Activation** <a href="#activation" id="activation"></a>

Every conditional rule has an active/inactive toggle. An inactive rule is ignored during evaluation, so you can temporarily disable a rule without deleting it. This is useful for seasonal rules that you'd like to re-use later in the year.

***

#### Rule Types <a href="#rule-types" id="rule-types"></a>

There are three types of conditional rules available.

#### **1. Date Range** <a href="#id-1-date-range" id="id-1-date-range"></a>

Send only if the reservation's check-in or check-out date falls within (or outside) a specific period.

* **Field** - The reservation date to check against.
  * *Check-in Date* - evaluates the reservation's arrival date.
  * *Check-out Date* - evaluates the reservation's departure date.
* **Operator**
  * *Between* - the selected date must fall inside the start and end dates.
  * *Not between* - the selected date must fall outside the start and end dates.
* **Start Date / End Date** - the boundaries of the period.

**Example:** A "Winter welcome" message that should only go out to guests checking in between `2026-12-01` and `2027-02-28`. Use *Check-in Date* + *Between* with those dates.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FiP8j9YO1YiG91LZQRFEI%2Fdate_range_conditional_rule_converted.webp?alt=media&amp;token=63e8c2de-cb83-469d-abe1-3c9d9c5a3ce7" alt=""><figcaption></figcaption></figure>

#### **2. Check-in Status** <a href="#id-2-check-in-status" id="id-2-check-in-status"></a>

Send based on whether the guest has already checked in at the moment the message is scheduled to be sent.

* **Operator**
  * *Equals* - the guest's check-in status must match the selected value.
  * *Not Equals* - the guest's check-in status must not match the selected value.
* **Status**
  * *Checked In* - the guest has completed check-in.
  * *Not Checked In* - the guest has not yet completed check-in.

**Example:** A reminder "Don't forget to check in" should only go out to guests who haven't checked in yet. Use *Equals* + *Not Checked In*.

**Note:** this rule is only meaningful for messages scheduled around or after the check-in moment. A message scheduled three days before arrival will always evaluate as "Not Checked In".

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FBreKv5DCs7mYcqMqQRg9%2Fcheck_in_status_rule_converted.webp?alt=media&amp;token=a810d787-97bf-4a19-8351-041852f1591e" alt=""><figcaption></figcaption></figure>

#### **3. Stay Date**

Send based on whether one or more specific dates fall within the guest's stay (from check-in to check-out).

* **Operator**
  * *Any in stay* - at least one of the selected dates must fall within the guest's stay.
  * *None in stay* - none of the selected dates may fall within the guest's stay.
* **Dates** - one or more specific dates. Add dates one by one using the date picker. Each added date is shown as a tag and can be removed.

**Example:** A "Happy New Year" message that should go to guests staying on December 31st. Add `2026-12-31` with *Any in stay*. Any reservation overlapping that date will receive the message, regardless of whether the guest checked in that day or was mid-stay.

**Example:** A rule to exclude guests whose stay overlaps a local holiday when a specific service isn't available. Add the holiday dates with *None in stay*.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FEewq7Tc0Z2G5Gl8jH5BW%2Fstay_date_rule_converted.webp?alt=media&amp;token=dc6cd647-1aa7-4c66-a673-c2e9a9dcc080" alt=""><figcaption></figcaption></figure>

***

#### **Combining Rules** <a href="#combining-rules" id="combining-rules"></a>

A message template can have multiple conditional rules at the same time. All active rules must pass — they are combined with AND logic. For example, a template with both a *Date Range* rule (check-in in December) and a *Check-in Status* rule (Not Checked In) will only be sent for December check-ins who haven't checked in yet.

If you need OR logic (e.g. "send to summer *or* winter guests"), create separate message templates instead of combining rules on one template.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>What happens if I add a rule to a message template that was already scheduled?</summary>

Rules are evaluated at the moment of sending, not at the moment of scheduling. This means adding or changing a rule affects all future sends, including messages that were already scheduled before the rule was added.

</details>

<details>

<summary>Can I deactivate a rule instead of deleting it?</summary>

Yes. Every rule has an active toggle. An inactive rule is ignored during evaluation, so you can keep seasonal or situational rules around without them affecting the template.

</details>

<details>

<summary>Why is my message not being sent even though the schedule is correct?</summary>

If a conditional rule doesn't match, the message is skipped at sending time. Check the active rules on the template and verify that the reservation meets all of them. Remember: all active rules must pass (AND logic).

</details>

<details>

<summary>Can I use conditional rules in combination with listing filters?</summary>

Yes. Listing connections and conditional rules work independently. A message will only be considered if the reservation's listing is connected to the template *and* all active rules pass.

</details>


# Translations


# Metafields

Metafields are dynamic fields that can be adjusted based on the resource they are connected to.

### What is a metafield? <a href="#what-is-a-metafield" id="what-is-a-metafield"></a>

A **metafield** is a custom field you define once for your workspace and then fill in per listing, per reservation or per guest. It is how you store a piece of information HolidayHero does not have a built-in field for — a door code, a parking bay number, a WiFi password, whether the hot tub is available, the time the cleaner arrives.

Alongside your own metafields, HolidayHero ships a set of [default metafields](http://localhost:63342/markdownPreview/2092310482/markdown-preview-index-ekt6iqugnoufrpna26r4hdmndu.html#default-metafields) for information it already holds — the reservation number, the listing address, the guest's first name. You do not create those; they are always available.

Every metafield has a **Key**, written as `{{ key }}`. You drop that key into content such as [amenities](file:///the-basics/amenities.md), and when a guest opens the guest app the key is replaced with the value stored for that listing or reservation. Define the field once, reuse it everywhere.

Metafields are workspace configuration, so you manage them from **Metafields** in the menu, alongside [Operators](/the-basics/workspace/operators) and [Settings](/the-basics/workspace/general/settings). See [Workspace](/the-basics/workspace) for the wider picture.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FCyksRicm8z85Px9O6xEP%2Fmetafields-list.webp?alt=media&amp;token=a1a71e5a-f782-4bcd-8027-09f387fdf54e" alt=""><figcaption></figcaption></figure>

#### The metafields overview <a href="#the-metafields-overview" id="the-metafields-overview"></a>

**Metafields** in the menu lists every metafield defined in the workspace. For each one the list shows:

* The **Name** — click it to open the metafield.
* A **Resource** badge — whether the field lives on a listing or on a reservation.
* A **Type** badge — the kind of value it holds.
* An **AI** badge — the phase of the stay in which the AI assistant may share the value, or a `—` when it never may. See [AI visibility.](#ai-visibility)
* The date it was **Created**.

You can sort the list by name or by ID, and create a new metafield with **Create Metafield** in the top right. The **Edit** link on the right of each row opens the metafield.

#### Creating a metafield <a href="#creating-a-metafield" id="creating-a-metafield"></a>

1. Click **Metafields** in the menu.
2. Click **Create Metafield**.
3. Under **General**, give the metafield a **Name**. This is how you'll recognise it throughout the platform.
4. Under **Resource**, choose where the field lives — see the table below.
5. Under **Type**, choose the kind of value it holds. The **Default Value** field below it changes to match the type you picked.
6. Set the **Default Value**.
7. Under **Apply on Create**, decide whether new listings or reservations should get this metafield automatically.
8. Under **AI visibility**, decide whether the guest-facing AI assistant may share this value, and in which phase of the stay. It starts on **Never**.
9. Click **Save**.

{% hint style="info" %}
The **Name** and the **Type** are fixed once the metafield exists — you cannot change them afterwards. If you picked the wrong type, delete the metafield and create it again.&#x20;
{% endhint %}

#### Resource

The **Resource** decides what a metafield attaches to, and therefore where you fill in its value.

<table><thead><tr><th width="137.69140625">Resource</th><th>Meaning</th></tr></thead><tbody><tr><td><code>LISTING</code></td><td>The value belongs to a property. Set it on the listing's <strong>Metafields</strong> tab. Use this for things that are true of the property — door code, WiFi password, parking bay.</td></tr><tr><td><code>RESERVATION</code></td><td>The value belongs to a single stay. Set it on the reservation's <strong>Metafields</strong> tab. Use this for things that differ per booking — an arrival time, a special request, a rented extra.</td></tr><tr><td><code>USER</code></td><td>The value belongs to one guest, and travels with them across every stay they make. Set it on the guest's <strong>Metafields</strong> tab. Use this for things that are true of the person — a loyalty number, a dietary requirement, an accessibility need.</td></tr></tbody></table>

A metafield only ever appears in the picker of the resource it was created for: a `LISTING` metafield cannot be added to a reservation or a guest, and the same goes the other way round.

#### Type <a href="#type" id="type"></a>

The **Type** decides what kind of value the metafield holds and which input operators get when they fill it in.

<table><thead><tr><th width="120.63671875">Type</th><th width="191.5390625">Value</th><th>Input shown</th></tr></thead><tbody><tr><td><code>TEXT</code></td><td>Free text</td><td>A text field</td></tr><tr><td><code>NUMBER</code></td><td>A number</td><td>A number field</td></tr><tr><td><code>DATE</code></td><td>A calendar date</td><td>A date picker</td></tr><tr><td><code>TIME</code></td><td>A time of day</td><td>A time picker</td></tr><tr><td><code>BOOLEAN</code></td><td>Yes or no</td><td>A <strong>Yes</strong>/<strong>No</strong> choice (a toggle when filling in a value)</td></tr></tbody></table>

#### Default Value <a href="#default-value" id="default-value"></a>

Every metafield has a **Default Value**. It is the value used when nothing more specific has been filled in — including in public content, where a `RESERVATION` metafield has no reservation to read from and therefore falls back to its default.

Pick a default that is safe to show a guest. "Contact us" is a better default door code than a real one.

#### Apply on Create <a href="#apply-on-create" id="apply-on-create"></a>

The **Should this metafield automatically be added?** toggle controls whether the metafield is attached automatically when a new listing or reservation is created (matching its **Resource**). Turn it on for fields you want everywhere — turn it off for exceptions you only attach by hand.

#### AI visibility <a href="#ai-visibility" id="ai-visibility"></a>

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FswseB1TGL7yH3TMIDZ4e%2Fmetafield-ai-visibility.webp?alt=media&amp;token=57b771ab-fdc4-44b7-afbc-a74488797264" alt=""><figcaption><p>Opting a metafield into the guest-facing AI assistant</p></figcaption></figure>

By default the guest-facing **AI assistant** cannot read your metafields. **AI visibility** opts a single metafield in, and decides *when* the assistant is allowed to use it.

<table><thead><tr><th width="200.64453125">Value</th><th>What the assistant may do</th></tr></thead><tbody><tr><td><strong>Never</strong></td><td>Never share the value. This is the default and applies to every metafield you have already created.</td></tr><tr><td><strong>Before the stay only</strong></td><td>Share the value while the stay is still upcoming.</td></tr><tr><td><strong>During the stay only</strong></td><td>Share the value between check-in and checkout.</td></tr><tr><td><strong>After the stay only</strong></td><td>Share the value once the guest has checked out.</td></tr></tbody></table>

Two things about this setting are easy to misread, and both matter:

* **The phases are exclusive, not cumulative.** **During the stay only** means exactly that — a guest who asks the day *before* arrival is not given the value, and neither is a guest who asks the week *after* checkout. It is not "from check-in onwards".
* **The assistant never volunteers the value.** It only hands it over when a guest explicitly asks for it. Turning this on does not add the value to any message, guidebook or notification — if you want a value delivered proactively, use its `{{ key }}` in content or a message template instead.

{% hint style="warning" %}
This is a per-metafield setting on the **definition**, so it applies to every listing and every reservation that uses it. Switching a door-code metafield to **During the stay only** exposes the door code of *every* property that has it — there is no per-record exception.&#x20;
{% endhint %}

Because it lives on the definition, you can change it at any time without recreating anything: open the metafield, pick a new value, and click **Save**. The change takes effect immediately.

{% hint style="warning" %}
**AI visibility only governs the field itself, not your content.** If you paste a metafield's `{{ key }}` into guest-facing content — an amenity, a guidebook, a message template — the value is rendered into that content for the guest, and the AI assistant can read and repeat it from there like any other text. Setting **AI visibility** to **Never** does not claw it back.

So decide once, per metafield: a value you do not want the assistant repeating should not be placed in guest-facing content either. See [Using a metafield in content](http://localhost:63342/markdownPreview/2092310482/markdown-preview-index-ekt6iqugnoufrpna26r4hdmndu.html#using-a-metafield-in-content).
{% endhint %}

{% hint style="info" %}
For secrets — door codes, alarm codes, lock-box combinations — **During the stay only** is the safe choice. It keeps the value out of reach of someone asking before they have arrived, and of a guest who has already left.
{% endhint %}

**Seeing which fields are exposed**

You do not have to open every metafield to audit this. The setting is shown wherever the metafield appears:

* On the **Metafields** overview, in the **AI** column.
* On a listing's, reservation's or guest's **Metafields** tab, in the **AI** column next to the value.
* On the edit screen of a filled-in value, as an **AI visibility** row explaining the phase.
* In the **Add Metafield** dialog, where an exposed metafield reads *(readable by AI during the stay)* — so you can see it before you attach it.
* In the inbox, on the metafields shown in a conversation's details bar.

#### The metafield page <a href="#the-metafield-page" id="the-metafield-page"></a>

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FPBzpfUmpoIcFlk7WwGgW%2Fmetafield-general.webp?alt=media&amp;token=abe905a8-bdf7-41d8-8066-bfe61695baa2" alt=""><figcaption><p>The read-only identity of a metafield, including the key you paste into content</p></figcaption></figure>

Open a metafield from the overview to see it in three sections:

| Section      | What it shows                                                                                       |
| ------------ | --------------------------------------------------------------------------------------------------- |
| **General**  | The **Name**, the **Key** (the `{{ key }}` you paste into content) and the **Type**. All read-only. |
| **Value**    | The **Default Value**. Editable, in the input matching the metafield's type.                        |
| **Settings** | The **Resource**, the **Apply on Create** toggle and the **AI visibility** setting. All editable.   |

Click **Save** to store your changes, **Cancel** to discard them, or **Delete** (bottom left) to remove the metafield. You will be asked to confirm.

{% hint style="warning" %}
Deleting a metafield removes it everywhere. Any `{{ key }}` still sitting in your content will no longer resolve to a value.&#x20;
{% endhint %}

#### Using a metafield in content <a href="#using-a-metafield-in-content" id="using-a-metafield-in-content"></a>

There are two ways to drop a metafield into content.

**Use the picker.** Wherever content supports dynamic values you will find an **Insert Field Code** button above the field. Click it, choose a field from the **Add a dynamic field** dialog, and click **Add** — the key is inserted at your cursor. The dialog groups the options: your own metafields sit under **Metafields**, and everything else is a [default metafield](http://localhost:63342/markdownPreview/25272085/markdown-preview-index-s6c0h1v6l0ii89gj3fdnlf0hbl.html#default-metafields).

**Or paste the key by hand.** Copy the **Key** from the metafield page and paste it — braces and all — into the content. Metafields are supported in [amenity](file:///the-basics/amenities.md) **Name**, **Summary** and **Content**, in guidebooks, listing sections, announcements, experiences and message templates, among other places.

When a guest views the content, HolidayHero swaps the key for the value stored on their reservation, listing or guest record. If no value is stored, the **Default Value** is used.

{% hint style="warning" %}
A value you put into content is content — the AI assistant can read it there regardless of the metafield's [AI visibility](http://localhost:63342/markdownPreview/25272085/markdown-preview-index-s6c0h1v6l0ii89gj3fdnlf0hbl.html#ai-visibility) setting.
{% endhint %}

#### Default metafields <a href="#default-metafields" id="default-metafields"></a>

Besides the metafields you create, every workspace has a set of **default metafields** for data HolidayHero already holds. They need no setup, they cannot be edited or deleted, and they appear in the **Insert Field Code** dialog grouped by what they describe.

<details open>

<summary><strong>Listing</strong> — the property</summary>

| Key                              | Value             |
| -------------------------------- | ----------------- |
| `{{listing.name}}`               | Name              |
| `{{listing.address.line1}}`      | Address line 1    |
| `{{listing.address.line2}}`      | Address line 2    |
| `{{listing.address.postalCode}}` | Address zipcode   |
| `{{listing.address.city}}`       | Address city      |
| `{{listing.address.region}}`     | Address region    |
| `{{listing.address.country}}`    | Address country   |
| `{{listing.address.latitude}}`   | Address latitude  |
| `{{listing.address.longitude}}`  | Address longitude |
| `{{listing.wifi.network}}`       | Wifi network      |
| `{{listing.wifi.password}}`      | Wifi password     |

</details>

<details open>

<summary><strong>User</strong> — the guest receiving the message</summary>

| Key                  | Value      |
| -------------------- | ---------- |
| `{{user.firstName}}` | First name |
| `{{user.lastName}}`  | Last name  |
| `{{user.email}}`     | Email      |
| `{{user.phone}}`     | Phone      |

</details>

<details open>

<summary><strong>Invite</strong> — someone invited to the stay who has not joined yet</summary>

| Key                        | Value      |
| -------------------------- | ---------- |
| `{{invitation.firstName}}` | First name |
| `{{invitation.lastName}}`  | Last name  |
| `{{invitation.email}}`     | Email      |
| `{{invitation.phone}}`     | Phone      |
| `{{invitation.code}}`      | Code       |
| `{{invitation.shareUrl}}`  | Invite URL |

</details>

<details open>

<summary><strong>Booker</strong> — the person who made the booking</summary>

| Key                    | Value      |
| ---------------------- | ---------- |
| `{{booker.firstName}}` | First name |
| `{{booker.lastName}}`  | Last name  |
| `{{booker.email}}`     | Email      |
| `{{booker.phone}}`     | Phone      |

</details>

<details open>

<summary><strong>Brand</strong> — the brand the content is sent under</summary>

| Key                 | Value   |
| ------------------- | ------- |
| `{{brand.name}}`    | Name    |
| `{{brand.website}}` | Website |

</details>

**Which groups you see depends on the audience**

A [message template](/the-basics/communication/message-templates) is addressed to one audience, and the dialog only offers the groups that will actually resolve for it. A key from a group that is not offered will not fill in, so use the picker rather than typing keys by hand.

| Audience  | Who it addresses                       | Groups hidden                                 |
| --------- | -------------------------------------- | --------------------------------------------- |
| `USERS`   | Guests on the reservation              | **Invite**, **Booker**                        |
| `INVITES` | People invited who have not joined yet | **User**, **Booker**, and the **Invite code** |
| `BOOKER`  | The person who made the booking        | **User**, **Invite**                          |

**Reservation**, **Listing**, **Brand** and your own **Metafields** are offered to every audience. **Booker** only ever appears on a `BOOKER` template.

{% hint style="info" %}
Touchpoints follow the same idea but not the same list — on a touchpoint the **Booker** group is offered whatever the audience. And on **SMS** and **WhatsApp** touchpoints the dialog lists the default metafields only: your own custom metafields are not offered there, though you can still type the `{{ key }}` by hand.&#x20;
{% endhint %}

#### Filling in a value on a listing <a href="#filling-in-a-value-on-a-listing" id="filling-in-a-value-on-a-listing"></a>

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F9ztDPkKW2oYVF4UKNuRD%2Flisting-metafields-table.webp?alt=media&amp;token=4f58c056-c2bc-4b1b-8647-3cffb365ee74" alt=""><figcaption><p>The metafields attached to a single listing</p></figcaption></figure>

1. Open the listing.
2. Go to the **Metafields** tab.
3. Click **Add Metafield**.
4. Pick a metafield from the list and click **Add**. Metafields already on this listing are shown as **(Already in use)** and cannot be picked twice.
5. The metafield appears in the table with its default value. Click **Edit** on its row.
6. Set the **Value** and click **Save**.

The table shows the metafield's **Name**, **Value**, **Type**, its [AI visibility](#ai-visibility), and when it was created and last updated. To remove a metafield from the listing, open it with **Edit** and click **Delete** — this only detaches it from that listing, the metafield itself stays in the workspace.

#### Filling in a value on a reservation <a href="#filling-in-a-value-on-a-reservation" id="filling-in-a-value-on-a-reservation"></a>

The flow is identical, on the reservation's **Metafields** tab: **Add Metafield**, pick one, then **Edit** the row to set its **Value**. Only `RESERVATION` metafields appear in the picker. See [Reservation metafields](/the-basics/reservations/metafields).

#### Filling in a value on a guest <a href="#filling-in-a-value-on-a-guest" id="filling-in-a-value-on-a-guest"></a>

`USER` metafields work the same way, on the guest's **Metafields** tab: **Add Metafield**, pick one, then **Edit** the row to set its **Value**. Only `USER` metafields appear in the picker.

The difference is scope. A guest metafield belongs to the **person**, not to a stay — so the value you set follows them into every future reservation, and it is not reset when a stay ends. That makes it the right home for something durable (a loyalty number, a dietary requirement) and the wrong home for something about one visit (use a `RESERVATION` metafield for that).

{% hint style="info" %}
If the **Add Metafield** dialog tells you there are no metafields yet, you need to define one first. Follow the link in the dialog, or go to **Metafields** in the menu and click **Create Metafield**.&#x20;
{% endhint %}

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>How do I create a metafield?</summary>

1. Click **Metafields** in the menu.
2. Click **Create Metafield** in the top right.
3. Fill in the **Name**, choose a **Resource** and a **Type**, set the **Default Value**, and decide whether it should be applied on create and whether the AI assistant may share it.
4. Click **Save**.

</details>

<details open>

<summary>Can I rename a metafield, or change its type?</summary>

No. The **Name** and the **Type** are fixed once the metafield has been created — the metafield page shows them as read-only. To change either, delete the metafield and create a new one. You can still change the **Resource**, the **Apply on Create** setting, the **AI visibility** setting and the **Default Value** at any time.

</details>

<details open>

<summary>Where do I find the key to paste into my content?</summary>

Open the metafield from **Metafields** in the menu. The **Key** is shown in the **General** section as `{{ key }}`. Copy it, braces included, into your content.

</details>

<details open>

<summary>What happens if a reservation has no value for a metafield?</summary>

The metafield's **Default Value** is used. The same applies to public content that is not tied to a specific reservation — a `RESERVATION` metafield always shows its default value there, because there is no reservation to read from.

</details>

<details open>

<summary>Why can't I find a metafield in the Add Metafield dropdown?</summary>

Three common reasons:

* It was created for the other **Resource**. A `LISTING` metafield never appears on a reservation, and a `RESERVATION` metafield never appears on a listing.
* It is already attached — it shows as **(Already in use)** and cannot be added twice.
* It doesn't exist yet. Create it from **Metafields** in the menu.

</details>

<details open>

<summary>What does "Apply on Create" do?</summary>

When it is on, the metafield is attached automatically to every new listing or reservation of its **Resource** type, starting with its default value. When it is off, an operator has to add it by hand from the **Metafields** tab. Existing listings and reservations are not affected by changing the toggle.

</details>

<details open>

<summary>How do I remove a metafield from one listing without deleting it?</summary>

Open the listing, go to the **Metafields** tab, click **Edit** on the row, and click **Delete**. That detaches the metafield from that listing only — the definition stays in the workspace and remains attached to other listings.

</details>

<details open>

<summary>Do I have to create a metafield for the guest's name or the check-in date?</summary>

No. Those already exist as [default metafields](#default-metafields). Click **Insert Field Code** above any content field and pick from the **Reservation**, **Listing**, **User**, **Invite**, **Booker** or **Brand** group. Only create a metafield when HolidayHero does not already hold the information.

</details>

<details open>

<summary>I inserted a field code but it stayed blank for the guest. Why?</summary>

Three likely causes:

* **The group does not apply to this audience.** A template addressed to `INVITES` cannot resolve `{{user.*}}`, and only a `BOOKER` template resolves `{{booker.*}}`. The **Insert Field Code** dialog hides the groups that will not resolve — a key typed by hand is not checked.
* **No value is stored and there is no default.** A metafield with an empty **Default Value** renders as nothing.
* **The key is misspelled.** Keys are exact, braces included. Use the picker rather than typing.

</details>

<details open>

<summary>What is the difference between a guest metafield and a reservation metafield?</summary>

Scope. A `USER` metafield belongs to the person and follows them into every stay they ever make. A `RESERVATION` metafield belongs to one stay and does not carry over. Store a loyalty number or a dietary requirement on the guest; store an arrival time or a rented extra on the reservation.

</details>

<details open>

<summary>I set AI visibility to Never — can the assistant still see the value?</summary>

Yes, if you put it in content. **AI visibility** controls whether the assistant may read the **field**. It does not control what is already written into guest-facing content: once a metafield's `{{ key }}` is rendered into an amenity, guidebook or message, the value is part of that content and the assistant can read it there.

If a value should never reach a guest through the assistant, keep it out of guest-facing content as well as setting **AI visibility** to **Never**.

</details>

<details open>

<summary>Can the AI assistant read my metafields?</summary>

Only the ones you opt in. Every metafield starts on **AI visibility → Never**, which means the assistant cannot use the value at all. Open the metafield and pick **Before the stay only**, **During the stay only** or **After the stay only** to let it use the value in that phase.

Even then the assistant only shares the value when a guest asks for it — it never brings it up on its own.

</details>

<details open>

<summary>Can I let the AI share a door code only while the guest is there?</summary>

Yes — that is exactly what **During the stay only** is for.

1. Click **Metafields** in the menu.
2. Open the door-code metafield.
3. Under **Settings**, set **AI visibility** to **During the stay only**.
4. Click **Save**.

A guest who asks before check-in is not given the code, and neither is a guest who asks after checkout. You do not need to recreate the metafield or re-enter any values — the setting lives on the definition, and existing values keep working.

</details>

<details open>

<summary>Does "During the stay only" mean from check-in onwards?</summary>

No. The phases are **exclusive**, not cumulative. **During the stay only** covers the period between check-in and checkout and nothing else — the value is withheld both before arrival and after checkout. The same goes for the other two: **Before the stay only** stops at check-in, and **After the stay only** does not start until checkout.

</details>

<details open>

<summary>Can I set AI visibility for one listing but not another?</summary>

No. **AI visibility** is part of the metafield **definition**, so it applies to every listing, reservation and guest that uses that metafield. If you need one property to be treated differently, create a second metafield for it with its own setting.

</details>

<details open>

<summary>How do I check which metafields the AI can read?</summary>

Click **Metafields** in the menu and look at the **AI** column. A blue badge shows the phase in which the assistant may share that value; a `—` means it never may. The same badge appears on each listing's, reservation's and guest's **Metafields** tab, so you can also check it from the record you are looking at.

</details>

<details open>

<summary>Can I delete a metafield entirely?</summary>

Yes. Open it from **Metafields** in the menu and click **Delete** (bottom left), then confirm. Do this with care: the metafield disappears from every listing and reservation, and any `{{ key }}` left behind in your content will no longer resolve to a value.

</details>

<br>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/workspace/metafields.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Workspace

A workspace is an isolated part of an organization that holds all the information limited and restricted to that workspace.

#### What is a workspace? <a href="#what-is-a-workspace" id="what-is-a-workspace"></a>

A **workspace** is your property management environment in HolidayHero — it holds your listings, reservations, guests, brands and everyone who works on them. Every operator signs in to a workspace, and everything you do in the admin panel happens inside one.

A workspace belongs to an **organization**. An organization can hold several workspaces, and it is the organization that carries the subscription and receives the invoices.

The **Workspace** section in the sidebar groups everything that configures the workspace itself:

| Page             | What it is for                                                                      |
| ---------------- | ----------------------------------------------------------------------------------- |
| **Workspace**    | Name, logo, languages and payment providers (this page), plus the **Settings** tab. |
| **Operators**    | The people who can sign in and what they are allowed to do.                         |
| **Metafields**   | Custom fields you add to listings and reservations.                                 |
| **Brands**       | The look and feel guests see.                                                       |
| **Subscription** | Your plan, billing details and invoices.                                            |

### Access to workspaces

When signing up, we will connect your operator account automatically with your newly created workspace. When logging in, you will be pormpted to select a workspace to which you want to sign in. Same goes for every integration you want to install.&#x20;

In case you run into login issues, please visit, <https://accounts.holidayhero.com> and select a workspace from there.&#x20;

#### Workspace switching

In case you as an operator have access to multiple workspaces, you can switch workspaces by clicking on one of the two options:&#x20;

1. **Menu Switch**

Click on the name of the workspace right under the HolidayHero Logo

2. **Account Switch**

At the top right, click your name, and then click `Switch workspace.`&#x20;

In both cases this will lead you to the workspace switcher.&#x20;

***

### Frequently Asked Questions

<details>

<summary>Can I create multiple workspaces? </summary>

Yes, as an operator you can create multiple workspaces. If workspaces need to be merged in different organizations, please reach out to support.&#x20;

</details>


# General

A workspace has a set of general settings: name, languages, operators, and payment providers. You can manage them from a central place.

***

### General <a href="#general" id="general"></a>

The **General** tab holds the identity of the workspace.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FaAtwDgGVtlgkGRwT7Mym%2Fworkspace-general.webp?alt=media&amp;token=29ae5c7d-64f3-4e82-8021-3cdcb2e7ac36" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="154.01953125">Field</th><th width="112.9453125">Editable</th><th>Description</th></tr></thead><tbody><tr><td><strong>Name</strong></td><td>✅</td><td>The name of the workspace, shown in the admin panel.</td></tr><tr><td><strong>Workspace ID</strong></td><td>❌</td><td>A read-only identifier. Use the copy icon when support asks for it.</td></tr><tr><td><strong>Organization ID</strong></td><td>❌</td><td>A read-only identifier for the organization the workspace belongs to.</td></tr><tr><td><strong>Logo</strong></td><td>✅</td><td>An image for the workspace. It is only shown in the back office — guests never see it.</td></tr></tbody></table>

Click **Save** at the bottom of the page to apply your changes.

***

### Languages / Locale

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FxQ4oqYv0G3x9N285UDr0%2Fworkspace-languages.webp?alt=media&amp;token=84f19cb4-ca08-46c3-b306-480a39818bc0" alt=""><figcaption></figcaption></figure>

Languages decide which locales you can write guest-facing content in — message templates, guidebooks, experiences and so on.

* One language is the **Primary** language. It cannot be disabled or removed.
* Use the toggle to activate or deactivate a language without losing its content.
* Use the 🗑 icon to remove a language entirely.

To add one, click **Add language** and pick a locale from the list. Locales already in use are disabled in the dropdown.

{% hint style="info" %}
Removing a language **erases all the content associated with it**. Deactivating it with the toggle is the reversible option.
{% endhint %}

{% hint style="info" %}
Your plan includes a fixed number of languages. Once you have used them all, the dialog offers a **Talk to sales** button instead of the locale picker.&#x20;
{% endhint %}

**Primary Language -** it is impossible to change or delete your primary language. If you want to change the primary language, you can contact our customer support team.&#x20;

**Available Languages**

We have translated our applications to match the majority of languages. Please find an overview of the translations available for each application below.&#x20;

| Language       | Guest App | Admin |
| -------------- | --------- | ----- |
| 🇬🇧 English   | ✅         | ✅     |
| 🇳🇱 Dutch     | ✅         | ✅     |
| 🇫🇷 French    | ✅         | `n/a` |
| 🇩🇪 German    | ✅         | `n/a` |
| 🇮🇹 Italian   | ✅         | `n/a` |
| 🇪🇸 Spanish   | ✅         | `n/a` |
| 🇵🇹 Portugese | ✅         | `n/a` |

<details>

<summary>How to add an additional language?</summary>

![](https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F7N7YkOTZQGsy3DjxkJC3%2FLanguages.png?alt=media\&token=e41874b2-7f32-480b-974c-668dfb69c06f)

1. Go to workspaces&#x20;
2. Ensure that your are on the General tab.&#x20;
3. Scroll to the languages section
4. Underneath the active languages click the `Add Language` and select one of available languages

</details>

<details>

<summary>How to enable / disable a language?</summary>

Once you have added a language, you are able to enabel or disable it.&#x20;

1. Go to workspaces&#x20;
2. Ensure that your are on the General tab.&#x20;
3. Scroll to the languages section
4. Next to a language your find a toggle. Enable or disable the toggle to activate or deactivate the language.&#x20;
5. Don't forget to save your changes at the bottom of the page.&#x20;

</details>

***

#### Payment providers <a href="#payment-providers" id="payment-providers"></a>

Payment providers process the payments for upsells and experiences. If none are connected you see an empty state prompting you to add one; otherwise each provider is listed with its nickname, carrier and an **Active** or **Disabled** badge.

Click **Add payment provider** to connect another one.

{% hint style="info" %}
&#x20;A provider can ask for more information before it can keep processing payments — Stripe does this regularly. When that happens an **Additional Information Required** banner appears on the provider with a **Provide Info** button. Act on it, or you risk losing access to your payments.
{% endhint %}

#### Settings <a href="#settings" id="settings"></a>

The **Settings** tab holds the supplier-facing configuration. See Settings.


# Settings

Manage your workspace settings from a single point of view.

#### What are workspace settings? <a href="#what-are-workspace-settings" id="what-are-workspace-settings"></a>

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FhZb0AG7qbV3hN93eSqdl%2Fworkspace-supplier-interaction.webp?alt=media&amp;token=8c51bd77-07f3-4cef-95ab-40bde0df507d" alt=""><figcaption></figcaption></figure>

The **Settings** tab of the workspace holds configuration that does not belong to the workspace's identity — today that is how your workspace communicates with **suppliers**, the external partners you grant access to their own portal.

Open it from **Workspace → Workspace**, then the **Settings** tab.

#### Supplier interaction <a href="#supplier-interaction" id="supplier-interaction"></a>

| Field                     | Description                                                                                                                                                               |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Email Branding**        | The brand used for emails sent to suppliers. Leave it on **HolidayHero** to send unbranded emails, or pick one of your own brands to send them in your own look and feel. |
| **Send Supplier Invites** | When enabled, a supplier automatically receives an invite email the moment you grant them access to their portal. Turn it off if you would rather tell them yourself.     |

Click **Save** to apply, or **Cancel** to return to the **General** tab without saving.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>What is a supplier?</summary>

A supplier is an external partner — for example the company running an experience you offer. When you grant a supplier access, they get their own portal rather than an operator seat in your workspace. Suppliers are not [operators](/the-basics/workspace/operators) and cannot see your admin panel.

</details>

<details>

<summary>Why is my brand not in the Email Branding list?</summary>

Only brands that exist in this workspace appear in the dropdown. Create it first under [Brands](/the-basics/brands), then come back to this tab.

</details>

<details>

<summary>I turned off Send Supplier Invites — how does a supplier get in?</summary>

They still have access; they just do not receive the automated email. Send them the portal link yourself, or switch the toggle back on before granting access to the next supplie

</details>


# Operators

### What is an operator? <a href="#what-is-an-operator" id="what-is-an-operator"></a>

An **operator** is a member of your workspace — someone who can sign in to the admin panel and work on your listings, reservations, inbox and settings. Operators are not guests: a guest uses the guest app and never sees the admin panel.

Find them under **Workspace → Operators** in the sidebar. Every member of the workspace is listed here, and each row links through to their own operator details page.

#### The operators list <a href="#the-operators-list" id="the-operators-list"></a>

| Column       | Description                                                                                        |
| ------------ | -------------------------------------------------------------------------------------------------- |
| **Operator** | Avatar, display name and email address. Click the name to open their details.                      |
| **Role**     | **Owner** for workspace owners, **Member** for everyone else. Your own row is also tagged **You**. |
| **Status**   | `ACTIVE` once the operator has accepted their invitation, `INVITED` while it is still pending.     |

Use **View** at the end of a row to open an operator and manage their notifications, permissions and ownership.

#### Inviting an operator <a href="#inviting-an-operator" id="inviting-an-operator"></a>

Only workspace **owners** can invite new operators.

1. Go to **Workspace → Operators**.
2. Click **Invite Operator**.
3. Fill in the **First name**, **Last name** and **Email**.
4. Click **Invite**.

The new operator receives an email invitation and appears in the list with the `INVITED` status until they sign in for the first time.

{% hint style="info" %}
Your plan includes a fixed number of operator seats. When you have used them all, the invite dialog replaces the form with a **Talk to sales** button instead.&#x20;
{% endhint %}

{% hint style="info" %}
A newly invited operator still needs the **Workspaces → Read** permission to sign in. See Operator Details.&#x20;
{% endhint %}

#### Removing an operator <a href="#removing-an-operator" id="removing-an-operator"></a>

Removing a member is done from their own page, not from the list.

1. Open the operator.
2. Click **Delete operator**.
3. Confirm.

You cannot delete yourself, and the last remaining owner cannot be removed.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>What is the difference between an operator and a guest?</summary>

</details>

<details>

<summary>Why can't I see the Invite Operator button?</summary>

</details>

<details>

<summary>An operator I invited never received the email — what now?</summary>

</details>

<details>

<summary>Why does an operator still show as Invited?</summary>

</details>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/workspace/operators.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Operator Details

#### What is on this page? <a href="#what-is-on-this-page" id="what-is-on-this-page"></a>

An **operator** is a member of your workspace — someone who can sign in to the admin panel and work on your listings, reservations, inbox and settings. Operators are managed under **Workspace → Operators**, where each member of the operators list links through to their own detail page.

The operator detail page is split into three parts: their **general** profile, their notification **settings**, and their resource **permissions**.

#### General <a href="#general" id="general"></a>

The top card shows who the operator is:

* Avatar, display name and email address.
* A **status** row with badges — **Owner** if they own the workspace, **You** when you are looking at your own profile, and **Invited** for other members.
* The **locale** they use the admin panel in.
* **Last accessed** — when they were last active in the workspace.

#### Settings <a href="#settings" id="settings"></a>

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FcsYnol43RrGvtC8UfF4J%2Foperator-notifications.webp?alt=media&amp;token=4db6dbce-4177-428d-8972-23475f661439" alt=""><figcaption><p>The notification settings an operator has activated</p></figcaption></figure>

The settings card lists the notifications this operator receives. These are set by the operator from their own account and are shown here read-only, so you can see at a glance what they are subscribed to:

* New inquiry notifications
* Inquiry reminders
* New check-in notifications
* New listing notifications
* New message notifications
* AI handoff notifications
* Task assigned notifications

#### Permissions <a href="#permissions" id="permissions"></a>

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FZaaL7clERUQU3b6GiKdh%2Foperator-permissions.webp?alt=media&amp;token=2198f1a3-5778-4320-a983-d33d3c4f2849" alt=""><figcaption><p>Per-resource read and write permissions for an operator</p></figcaption></figure>

Permissions control what each operator can see and change. Every resource — Listings, Reservations, Workspaces, and so on — has a **Read** and, where applicable, a **Write** permission:

* **Read** lets the operator open and view that resource.
* **Write** lets the operator create, edit and delete within that resource.

Tick the boxes for the access you want to grant and use **Save permissions** in the page actions to apply the change.

{% hint style="info" %}
The **Workspaces → Read** permission is required. Without it an operator cannot sign in and silently falls back to no access. It is marked **Required** in the table, and a banner appears if you un-tick it — enable it before saving.
{% endhint %}

**Owners** have unrestricted access to everything, so their permissions table is replaced with a notice rather than a set of checkboxes. Only workspace **owners** can edit another operator's permissions; other members see the table read-only.

#### Actions <a href="#actions" id="actions"></a>

From the operator page, owners can:

* **Make owner / Remove as owner** — promote a member to an owner (unrestricted access) or demote them back to a permissioned member. The last remaining owner cannot be removed.
* **Delete operator** — remove the member from the workspace. You cannot delete yourself.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details open>

<summary>Why can't a new operator sign in?</summary>

The most common cause is a missing **Workspaces → Read** permission. Without it the operator has no entry point into the workspace and is treated as having no access. Open their permissions, enable **Workspaces → Read**, and save.

</details>

<details open>

<summary>Why can't I edit an operator's permissions?</summary>

Only workspace owners can manage permissions. If you are not an owner the permissions table is shown read-only. Owners also cannot have their permissions edited — they always have full access.

</details>

<details open>

<summary>What is the difference between an owner and a permissioned operator?</summary>

An owner has unrestricted access to every resource and can manage other members, ownership and permissions. A regular operator only has the read/write access you explicitly grant them in the permissions table.

</details>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/workspace/operators/operator-details.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Subscription

Your HolidayHero starts with a Trial subscription, after which you can choose between Yearly or Monthly billing.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FJ4uzynLBW3X8fkXJZxFi%2Fsubscription-details.webp?alt=media&amp;token=afb97f0b-6afc-4066-8a15-022d63416ca8" alt=""><figcaption><p>The subscription of the organization this workspace belongs to</p></figcaption></figure>

#### What is a subscription? <a href="#what-is-a-subscription" id="what-is-a-subscription"></a>

A **subscription** is the plan you pay for. It does not belong to a single workspace — it belongs to the **organization**, and an organization can hold several workspaces. That means your limits (listings, languages) and your invoices are counted and issued for the organization as a whole.

The **Subscription** section has three tabs:

| Tab              | What it is for                                                    |
| ---------------- | ----------------------------------------------------------------- |
| **Subscription** | Your plan, its status and what it includes (this page).           |
| **Billing**      | Organization details, billing email, address and payment methods. |
| **Invoices**     | Every invoice issued to the organization.                         |

#### Subscription details <a href="#subscription-details" id="subscription-details"></a>

| Field         | Description                                                                               |
| ------------- | ----------------------------------------------------------------------------------------- |
| **Type**      | The plan you are on. A **Trial** is highlighted and shows an **Upgrade now** link.        |
| **Status**    | Whether the subscription is currently active.                                             |
| **Renews At** | When the subscription renews. Shows **No auto renewal** when it will not renew by itself. |

Below the details, **Auto Upgrade** decides what happens when you add a listing while already at your maximum. With it enabled, your account is upgraded automatically so the listing can be created. With it disabled, you have to raise the limit yourself first.

Click **Save** to apply a change to **Auto Upgrade**.

#### Components <a href="#components" id="components"></a>

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FMJcugdS5y9VMw8xPi00T%2Fsubscription-components.webp?alt=media&amp;token=fb3f22dc-f4a3-475e-91aa-e378bf681abf" alt=""><figcaption><p>What your subscription includes, and what it costs</p></figcaption></figure>

**Components** are the moving parts of the plan — what you are allowed to use, and what each part costs.

| Field                     | Description                                                       |
| ------------------------- | ----------------------------------------------------------------- |
| **Max Listings**          | Listings used out of the number your plan allows.                 |
| **Max Locales**           | Languages used out of the number your plan allows.                |
| **Payment Fee**           | The commission charged on payments processed through HolidayHero. |
| **External Payments Fee** | The commission charged on payments processed outside HolidayHero. |
| **Listing Count**         | The number of listings your plan is priced on.                    |
| **Price per listing**     | What each listing costs per period.                               |

{% hint style="info" %} When your workspace is part of an organization with multiple workspaces, a tip appears above the components: the numbers you see are counted across **all** workspaces in the organization, not just this one. {% endhint %}

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details open>

<summary>I am on a trial — how do I upgrade?</summary>

Click **Upgrade now** next to the **Trial** badge in the **Type** row. It takes you to the plan selection.

</details>

<details open>

<summary>What does Auto Upgrade actually do?</summary>

It removes the ceiling from your listing count. Whenever you add a listing and you have already reached the maximum for your plan, your account is upgraded automatically instead of the listing being blocked. Your invoice grows accordingly. Leave it off if you want to approve every increase yourself.

</details>

<details open>

<summary>My Max Listings shows more used than allowed — how?</summary>

Limits are counted across every workspace in the organization, and a plan change or an added workspace can put you over. Reach out if you did not expect it; new listings are blocked until the plan covers them (unless **Auto Upgrade** is on).

</details>

<details open>

<summary>Why can't I see the Subscription section?</summary>

The **Workspaces → Read** permission controls access to the workspace section of the sidebar. If it is missing, ask a workspace owner to grant it on your operator page.

</details>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/workspace/subscription.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Billing

## Billing <a href="#billing" id="billing"></a>

***

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fr3I30CLQPi9LXOYrul3U%2Fbilling-organization.webp?alt=media&amp;token=5dd806a4-c8c7-48d4-b9e4-3003b52b3b27" alt=""><figcaption><p>Who we invoice, and where</p></figcaption></figure>

#### What is billing? <a href="#what-is-billing" id="what-is-billing"></a>

**Billing** holds the details we invoice against: the organization behind your workspace, the email that receives the invoices, the billing address, and the payment methods we charge.

Find it under **Workspace → Subscription**, then the **Billing** tab.

{% hint style="info" %}
Billing is set at the **organization** level. If your organization holds more than one workspace, these details apply to all of them.
{% endhint %}

#### Organization details <a href="#organization-details" id="organization-details"></a>

| Field                 | Description                                                                         |
| --------------------- | ----------------------------------------------------------------------------------- |
| **Organization Name** | The legal name of the organization the workspace belongs to.                        |
| **Billing Email**     | Where invoices are sent. Keep it current — a bounced invoice still becomes overdue. |
| **Address**           | The billing address. Use **Edit Address** to change it.                             |

Click **Save** to apply your changes.

#### Payment methods <a href="#payment-methods" id="payment-methods"></a>

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FMhIchfAqGIAALGBgBA8z%2Fbilling-payment-methods.webp?alt=media&amp;token=d7c377ff-7bfb-41e3-8a1c-6e487e07aba4" alt=""><figcaption><p>The payment methods we charge your monthly invoices to</p></figcaption></figure>

We charge your monthly invoices to the **primary** payment method. Until you add one, the card shows an empty state instead of a list.

1. Go to **Workspace → Subscription → Billing**.
2. Click **Add payment method**.
3. Complete the steps at your bank or card provider.

You always keep at least one payment method — the last remaining one cannot be removed.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details open>

<summary>Which payment method gets charged?</summary>

The one marked as **primary**. Any others sit behind it as alternatives.

</details>

<details open>

<summary>Can I remove my only payment method?</summary>

No. You always keep at least one so your monthly invoices can be charged. Add the replacement first, then remove the old one.

</details>

<details open>

<summary>Invoices are going to the wrong person — how do I change that?</summary>

Update the **Billing Email** on this tab and click **Save**. It is the only address invoices are sent to; it is not tied to any operator account.

</details>

<details open>

<summary>Why do I see another workspace's organization name here?</summary>

Because billing belongs to the organization, not the workspace. Every workspace in the organization shows — and edits — the same organization details.

</details>


# Invoices

#### What are invoices? <a href="#what-are-invoices" id="what-are-invoices"></a>

**Invoices** lists every invoice HolidayHero has issued to your organization, newest first. From here you can check what was charged, pay what is outstanding, and download a copy for your accounting.

Find it under **Workspace → Subscription**, then the **Invoices** tab.

{% hint style="info" %}
Invoices are issued to the **organization**, not to a single workspace. When your organization holds several workspaces, a banner tells you so — the list you see covers every workspace in the organization.
{% endhint %}

#### The invoice list <a href="#the-invoice-list" id="the-invoice-list"></a>

| Column      | Description                                                                               |
| ----------- | ----------------------------------------------------------------------------------------- |
| **Number**  | The invoice number. An **Overdue** badge appears next to it when the invoice is past due. |
| **Status**  | The payment status of the invoice, for example `PAID` or `NOT_PAID`.                      |
| **Amount**  | The total amount including tax.                                                           |
| **Paid**    | When the invoice was paid. Empty while it is still outstanding.                           |
| **Created** | When the invoice was issued.                                                              |

Use the **Filter** and **Sort** controls above the table to narrow the list down.

#### Paying an invoice <a href="#paying-an-invoice" id="paying-an-invoice"></a>

An unpaid invoice shows a **Pay Now** link that opens the payment page in a new tab. Normally you do not need it: we charge the primary payment method on your billing tab automatically.

{% hint style="info" %}
When an invoice becomes overdue, a red **Overdue invoices** banner appears at the top of the page. Pay it before you get locked out of your account.&#x20;
{% endhint %}

#### Downloading an invoice <a href="#downloading-an-invoice" id="downloading-an-invoice"></a>

Click **Download** at the end of an invoice's row to open the PDF in a new tab. The link only appears once the invoice document is available.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details open>

<summary>Why is my invoice list empty?</summary>

Either no invoice has been issued to your organization yet, or your active filters exclude them all. Clear the filters and check again.

</details>

<details open>

<summary>I paid, but the invoice still shows as unpaid.</summary>

Payment status updates once the payment is confirmed by the provider, which can take a moment for bank transfers. The **Paid** column fills in as soon as it settles.

</details>

<details open>

<summary>Why do I see invoices for a workspace I don't work in?</summary>

Because invoices belong to the organization. If the organization holds several workspaces, every invoice for that organization is listed here, whichever workspace it originated from.

</details>

<details open>

<summary>An invoice has no Download link.</summary>

The invoice document has not been generated yet. It appears as soon as the file is available.

</details>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/workspace/subscription/invoices.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Billing

Details of the billing process and details.

***

### Billing Details

At the `Workspaces > Billing` , you can adjust your billing details. &#x20;

### Workspaces vs Organizations

At HolidayHero, a subscription is tied to an organization. An organization can have multiple workspaces. The maximum number of listings is counted across all workspaces within an organization.&#x20;

### Organization Details

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fc48RSUoRp8zsxTNcEDj1%2Fbilling.png?alt=media&amp;token=64e725db-0937-4bbd-9878-b10a8e060500" alt=""><figcaption></figcaption></figure>

Within the organization details, you can adjust your organization name and address.&#x20;

### Mandates

Our billing system is based on automated payments. We will automatically create, invoice, and bill your account. For this, we need mandates.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FIhfctmbt3pd0av1S7pDe%2Fmandates.png?alt=media&amp;token=4b26503a-bc07-42be-af16-fc7f4e7fcd9a" alt=""><figcaption></figcaption></figure>

Once you have created your subscription, we will ask you to create a first mandate. That mandate will be used for billing.

### VAT / Tax Calculation

We will be able to calculate your applicable taxes based on your location and whether you are a business or not. If you have a question about the taxes we have invoiced you for, reach out to <support@holidayhero.com>.

***

### Frequently Asked Questions

<details>

<summary>Can I receive an automated billing email? </summary>

Yes, provide an email address in the billing field, and we will automatically send any invoice to that address.

</details>


# Invoices

Subscriptions result in invoices.

***

### Your Invoices

Each invoice that is generated is available in your invoices overview. <br>

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FP734uE1qZQZCNZrVi8Lz%2Finvoices.png?alt=media&amp;token=2246090a-b27a-43c8-acac-29f440924a93" alt=""><figcaption></figcaption></figure>

***

### Frequently Asked Questions

<details>

<summary>Are invoices automatically emailed? </summary>

Yes, once an invoice is paid, the invoice is automatically emailed to the billing email address as provided in the [Billing Settings](/the-basics/workspace/billing).

</details>

<details>

<summary>Can I download my invoices? </summary>

Yes, follow these steps to download the invoices:

1. Go to Workspaces
2. Go to the Invoice tab
3. Click on `Download`to download your invoice.&#x20;

</details>


# Calendar Events

Each venue, each location can have their own events, all should be distributed among your guests.

#### What are calendar events? <a href="#what-are-calendar-events" id="what-are-calendar-events"></a>

**Calendar Events** let you tell your guests about things that are happening — a local festival, a weekly market, a guided tour, a seasonal opening, or a one-off activity. Each event has a title, a date and time, a description, photos and contact details, and is shown to guests in the calendar of the guest app.

An event can stand on its own, or it can be connected to an [experience](file:///the-basics/experiences.md) or a supplier. You decide which listings see the event — all of them, or a hand-picked selection.

#### Creating a calendar event <a href="#creating-a-calendar-event" id="creating-a-calendar-event"></a>

1. Go to **Calendar Events**
2. Click **Create**
3. Fill in the essentials:
   * **Title** — the name guests see in the calendar
   * **Nickname** — an internal name only visible in the admin, handy when you have many similar events
   * **Category** — pick the category that best describes the event
   * **Starts At** / **Ends At** — when the event begins and ends
4. Save

Once created you land on the event's detail page, where you can add everything else — a description, photos, contact details, an action button, and a connection to an experience or supplier.

{% hint style="info" %}
If you leave **Ends At** blank, the midnight of the start date is used
{% endhint %}

#### Timing and recurring events <a href="#timing-and-recurring-events" id="timing-and-recurring-events"></a>

Set when the event happens under the **Timing** section.

For something that happens more than once, turn on **Recurring event?** and choose the pattern:

1. **Every** — repeat every X **day(s)**, **week(s)**, **month(s)** or **year(s)**
2. **Days** — for weekly events, tick the days of the week it runs on (e.g. Monday and Wednesday)
3. **On** — for monthly events, repeat on the same day of the month (**Start Day**) or on a relative day such as "the 2nd Tuesday of the month"
4. **Ends** — the recurrence runs **Never** (forever) or **On** a specific end date

{% hint style="info" %}
Times are always shown in the event's local timezone. We work this out from the event's address first, then from the connected experience's address, and otherwise fall back to your workspace timezone. This means an event in another country shows the correct local time, no matter where you are.&#x20;
{% endhint %}

#### Description, photos and contact details <a href="#description-photos-and-contact-details" id="description-photos-and-contact-details"></a>

* **Summary** — a short summary shown to guests. This is generated by AI and can be edited.
* **Content** — the full description, written in the rich text editor.
* **Contact Details** — a **Website**, **Email**, **Phone** number and **Address** for the event. The address is also used to work out the event's timezone and to power directions and taxi ordering in the guest app.
* **Photos** — upload up to 100 photos. Drag to reorder them; the first photo is used as the thumbnail.

#### Connecting an experience or supplier <a href="#connecting-an-experience-or-supplier" id="connecting-an-experience-or-supplier"></a>

Under **Experience / Supplier** you can tie the event to something already in your account:

* Connect an **Experience** when the event is run as part of one of your experiences.
* Connect a **Supplier** when an external partner organises it.

{% hint style="info" %}
An event can be connected to **either** an experience **or** a supplier — not both at the same time.&#x20;
{% endhint %}

When an event is connected to an experience, guests will see the event wherever that experience is available — even if you haven't added the event to those listings directly.

#### The guest action button <a href="#the-guest-action-button" id="the-guest-action-button"></a>

The **Action** section controls the button guests see on the event:

* **None** — no button.
* **Form** — guests open a form. Set the **Button Text**.
* **Routing** — guests are sent to a web address. Set the **URL** and the **Button Text**.
* **Experiences** — guests are pointed towards your experiences.

#### Choosing which listings see the event <a href="#choosing-which-listings-see-the-event" id="choosing-which-listings-see-the-event"></a>

Open the **Listings** tab on an event to decide where it shows up:

* **All listings** — the event is shown at every listing.
* **Selected listings** — turn off "All listings" and tick the specific listings that should display it.

{% hint style="info" %}
&#x20;If the event is connected to an experience, any listing where that experience is added will always show the event through the experience — regardless of the listings you pick here.&#x20;
{% endhint %}

#### Documents <a href="#documents" id="documents"></a>

The **Documents** tab lets you attach files to the event — for example a programme, a map, or terms and conditions. Upload, reorder and remove documents here; guests can download them from the event in the app.

#### Managing events from an experience or supplier <a href="#managing-events-from-an-experience-or-supplier" id="managing-events-from-an-experience-or-supplier"></a>

You can also reach an experience's or supplier's events from their own pages:

* On an **experience**, the **Calendar Events** tab lists the connected events, and you can detach an event from there. See [Experience Calendar Events](file:///the-basics/experiences/calendar-events.md).
* On a **supplier**, the **Calendar Events** tab does the same for supplier-organised events.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>What's the difference between the Title and the Nickname?</summary>

The **Title** is what guests see in the calendar. The **Nickname** is an internal name only visible in the admin — useful for telling apart events that share a similar public title.

</details>

<details>

<summary>Why does my event show a different time than I entered?</summary>

Event times are shown in the event's local timezone, which we derive from the event's address (or the connected experience's address). If you haven't set an address yet, we fall back to your workspace timezone. Add or correct the address to make sure the time is shown correctly.

</details>

<details>

<summary>Can one event appear at more than one listing?</summary>

Yes. Use the **Listings** tab to display the event at **all** listings or at a **selected** set. If the event is connected to an experience, it also appears automatically at every listing that offers that experience.

</details>

<details>

<summary>Can I connect an event to both an experience and a supplier?</summary>

No — an event can be connected to either an experience or a supplier, but not both at once. They can be connected to an supplier, through the experience

</details>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/calendar-events.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# API Overview

HolidayHero is built API-first. Everything the product does for you in the dashboard — properties, reservations, guest content, check-in, conversations, upsells — is also available to your own systems and your own developers.

There are two public APIs, and which one you want depends on **who is on the other end**.

<table><thead><tr><th width="184.9375"></th><th width="284.27734375">Connect API</th><th>Guest API</th></tr></thead><tbody><tr><td>Acts on behalf of</td><td>Your business — a workspace</td><td>An individual guest</td></tr><tr><td>Typical use</td><td>Data sync, automation, extending the platform</td><td>A guest-facing app or website</td></tr><tr><td>Sees</td><td>Everything in the workspace it was granted</td><td>Only that guest's own stay</td></tr><tr><td>Built by</td><td>Your PMS, your ops team, an integration partner</td><td>Your web or app team</td></tr></tbody></table>

Both are **GraphQL**. One endpoint, one schema, you ask for exactly the fields you need and nothing else. Both are introspect able, so your developers can explore the whole surface from a GraphQL client without waiting on a reference document.

***

### What people build <a href="#what-people-build" id="what-people-build"></a>

The list is deliberately open-ended — these are patterns we see, not a menu.

**Keeping systems in step.** Your PMS, channel manager or CRM stays the source of truth for properties and bookings, and HolidayHero mirrors it. Reservations arrive as they are made, guest details stay current, cancellations propagate. Nobody rekeys anything.

**Putting your own data to work.** Housekeeping schedules, access codes, loyalty tiers, package inclusions — pushed in so the guest experience and the AI can use them, and read back out when something changes on our side.

**Guest-facing surfaces you own.** Your existing hotel app, your booking confirmation page, your in-room tablet or kiosk. The guest experience runs on our data and our AI, but every pixel is yours.

**Reacting to what happens.** A guest checks in, a conversation opens, an upsell is booked, a task is completed — your systems can be told the moment it happens rather than polling for it.

**Extending the platform.** New content types, new messaging channels, new device integrations, new suppliers. The platform is designed to be added to, not just read from.

**Reporting and analytics.** Pull stays, conversations, engagement and upsell activity into your own warehouse and blend it with everything else you measure.

***

### The mental model <a href="#the-mental-model" id="the-mental-model"></a>

A handful of concepts carry most of the platform. Once these land, the rest of the API is guessable.

* **Workspace** — your tenant. Everything belongs to exactly one, and every credential is scoped to one. A group with several properties may run one workspace or several.
* **Listing** — a property, unit or room type. What a guest stays in.
* **Reservation** — a stay: a listing, dates, and the people on it.
* **Guest** — a person on a reservation. One reservation can have several; one person can have many stays over time.
* **Content** — the things you tell a guest about: house information, local recommendations, amenities, announcements, guides. Written once, attached to the listings it applies to.
* **Conversation** — a thread with a guest, whoever is answering it — your team, the AI, or a messaging channel bridged in from elsewhere.
* **Upsell** — something extra a guest can request or buy during their stay.

***

### Getting started <a href="#getting-started" id="getting-started"></a>

1. **Tell us what you want to build.** We will point you at the right API, and flag anything the platform already does that you might otherwise build twice.
2. **We issue you credentials.** An application, with a client ID and secret, scoped to what it needs. Both APIs authorise with OAuth 2.0 — nobody hands around a permanent key, and access can be withdrawn without changing code.
3. **Explore the schema.** Point a GraphQL client at the endpoint and read the schema itself. Types and fields carry their own descriptions.
4. **Build against a test workspace.** You get a workspace of your own to develop in, so nothing you try lands on a real guest.

Both APIs are versionless and additive: we add fields and types, we do not silently change or remove the ones you already use. Anything that must change is announced ahead of time.

***

### Things worth knowing up front <a href="#things-worth-knowing-up-front" id="things-worth-knowing-up-front"></a>

* **All times are UTC.** Every timestamp you send and every timestamp you receive. Convert for display in your own client, never in transit.
* **IDs are opaque.** Treat them as strings, store them as strings, do not parse or generate them.
* **Writes report their own failures.** A rejected write comes back as a structured error you can act on, not as a crash — so your integration can tell "this input was wrong" from "the call did not go through".
* **Everything is workspace-scoped.** A credential physically cannot reach another customer's data. This is enforced by the platform, not by your query.
* **Multiple languages are first-class.** Content can carry translations, and the guest is served the right one automatically.

***

### Which one do I need? <a href="#which-one-do-i-need" id="which-one-do-i-need"></a>

Ask who the request is being made *for*.

If it is for **the business** — sync a booking, publish content, read a report, automate an operation — that is [Connect](/api/connect-api).

If it is for **one guest, in their own hands** — show them their stay, let them chat, let them check in or buy something — that is [Guest](/api/guest-api).

Plenty of integrations use both: Connect keeps the data flowing behind the scenes, and the Guest API powers the screen the guest actually looks at.

Not sure? Ask us. Describing what you want to happen is usually enough for us to tell you which side of the line it falls on.


# Connect API

## The Connect API <a href="#the-connect-api" id="the-connect-api"></a>

The Connect API acts on behalf of **a business**. An application authorised against a workspace can read and write that workspace's data the same way an operator could in the dashboard — but programmatically, and without a person in the loop.

If you are choosing between APIs first, see [API Overview](/api/api-overview).

Connect is where integrations live: the PMS bridge, the CRM sync, the nightly report, the internal tool that does the thing your team currently does by hand.

***

### What it is good for <a href="#what-it-is-good-for" id="what-it-is-good-for"></a>

#### Keeping data in sync <a href="#keeping-data-in-sync" id="keeping-data-in-sync"></a>

The most common reason to build on Connect. Your system owns something, and HolidayHero should reflect it.

* **Properties** — create and maintain listings, their descriptions, images, documents and the content attached to them.
* **Reservations** — push bookings as they are made, update them when they change, cancel them when they are cancelled. Read them back with everything HolidayHero has added since.
* **Guests** — who is on a stay, how to reach them, what they have told us.
* **Availability and scheduling** — calendar events, tasks and the operational rhythm around a stay.

Sync can run in either direction, or both. Many integrations push reservations in and pull check-in data, conversations and upsell activity back out.

#### Automating operations <a href="#automating-operations" id="automating-operations"></a>

Anything a person does repeatedly in the dashboard can be done for them.

* Create and assign **tasks** off the back of events in your own systems.
* Send messages into a **conversation**, or hand a thread between the AI and a human.
* Manage **check-in**: read submissions, act on them, mark no-shows.
* Publish **announcements** to the right guests at the right moment.
* Drive the **guest journey** — what a guest is shown, and when.

#### Extending the platform <a href="#extending-the-platform" id="extending-the-platform"></a>

Connect is not only a data pipe. Several parts of the platform exist specifically so that an integration can add to it rather than work around it.

* **Custom fields.** Attach your own structured data to almost any record — a housekeeping status, a loyalty tier, a foreign key back into your system — and read it back later. Your data travels with the record and stays yours.
* **Messaging channels.** Bridge a messaging surface we do not natively speak into HolidayHero, so threads from your PMS or OTA land in the same inbox and can be answered by the same people and the same AI. See the [channel integration guide](/api/connect-api/messaging-integration) if this is what you are building.
* **Smart devices.** Register locks, thermostats and sensors, expose them to guests and staff, and log what happened.
* **Suppliers and experiences.** Bring your own inventory of things a guest can book, with your own pricing, and let it be sold through the guest experience.
* **Payment providers.** Connect the account that upsell revenue settles into.

#### Reporting <a href="#reporting" id="reporting"></a>

Read stays, conversations, engagement, check-ins, upsell activity and the audit trail of what happened when, and load it into whatever you already use to measure the business.

***

### How access works <a href="#how-access-works" id="how-access-works"></a>

Access is granted by the customer, per workspace, and can be withdrawn by them at any time.

1. **You get an application.** We register it and issue a client ID and secret. The application declares what it needs — read or write, and over what.
2. **A customer authorises it.** They are shown what the application is asking for and approve it for a specific workspace. That approval is what creates the connection.
3. **You exchange that for tokens.** Standard OAuth 2.0 authorisation code flow, with refresh — your integration keeps working without anyone re-approving it, and access ends cleanly if they revoke.
4. **Every call is scoped to that workspace.** There is no way to reach beyond it, deliberately.

An application can be installed by many customers. Each installation is independent: separate approval, separate tokens, separate data.

***

### Being told when things happen <a href="#being-told-when-things-happen" id="being-told-when-things-happen"></a>

Polling is a poor way to stay current, so you do not have to.

An application can subscribe to the events it cares about — a reservation created or changed, a guest checked in, a conversation or message, an upsell requested or confirmed, content edited, a task completed, and many more. We deliver each one to an endpoint you provide, as it happens, signed so you can verify it came from us.

You choose which events you want. Subscribing to everything is possible and rarely what you want.

***

### Working with it <a href="#working-with-it" id="working-with-it"></a>

* **One endpoint, one schema.** Explore it with any GraphQL client; types and fields describe themselves.
* **Ask for what you need.** A single query can walk from a reservation to its listing, its guest, its content and its conversation without a second round trip.
* **Lists are paginated.** Everything that can return many records does, consistently.
* **Writes tell you what was wrong.** A rejected write comes back with the field and the reason, so your integration can distinguish bad input from a failed call and retry appropriately.
* **Times are UTC**, in and out.
* **Develop against a test workspace.** We give you one, so nothing you try touches a real guest.

***

### Distributing what you build <a href="#distributing-what-you-build" id="distributing-what-you-build"></a>

If what you have built is useful to more than one customer, it can be listed so other HolidayHero customers can find and install it themselves — with their own approval, their own workspace and their own data. Integrations can be free or paid; if paid, billing is handled through the platform rather than by you.

Talk to us early if this is the direction you are heading. What you build for one customer and what you list for everyone are not always the same shape, and it is cheaper to know that at the start.

***

### Where to start <a href="#where-to-start" id="where-to-start"></a>

Tell us what you want to keep in sync, or what you want to add. We will confirm whether it already exists, point you at the parts of the schema that matter, and set you up with an application and a test workspace.


# Messaging Integration

A messaging channel bridges a conversation surface HolidayHero does not natively speak — your PMS inbox, an OTA's guest messaging, your own chat product — into HolidayHero.

Once bridged, those threads land in the same inbox as everything else. The same operators answer them, the same AI can answer them, the same templates and automations reach them. The guest carries on messaging where they already were and never learns anything changed.

This is part of the [Connect API.](/api/connect-api) Read that first if you have not.

***

### Who this is for <a href="#who-this-is-for" id="who-this-is-for"></a>

You have guests messaging you somewhere HolidayHero cannot see, and you want that traffic in one place. Typically:

* **A PMS or channel manager** whose inbox already aggregates guest messages.
* **An OTA integration**, where the booking platform owns the messaging relationship.
* **Your own product**, if you have a guest chat surface you want to keep but not staff separately.

If you just want to send guests messages over email, SMS or WhatsApp, you do not need any of this — those are built in and configured in the dashboard.

***

### What you get <a href="#what-you-get" id="what-you-get"></a>

* **One inbox.** Threads from your surface sit alongside every other conversation, with the same status, assignment and handover behaviour.
* **The AI answers them.** Subject to the same rules and the same handover-to-human logic as any other channel — including escalation when a guest's tone sours.
* **Templates reach them.** Operators build scheduled and triggered messages against your channel the same way they do for any other.
* **Attribution stays honest.** A guest's message reads as the guest, not as your integration. This matters more than it sounds: it is what makes the AI treat it as something to answer.

***

### How it works <a href="#how-it-works" id="how-it-works"></a>

Traffic runs in both directions, and the two directions work differently.

**Outbound — HolidayHero to the guest.** We call you. When something should be sent on your channel, we ask you first whether the reservation is yours, and then hand you the message to deliver.

We have to ask, rather than work it out locally, because we genuinely cannot know. A reservation records which platform a booking *originated* on, but that is analytics — it does not mean the messaging relationship is yours. You are the only party who can answer "is this thread mine", so we ask.

**Inbound — the guest to HolidayHero.** You call us, over the normal Connect API. When a guest messages on your side, you open the thread (or attach to the existing one) and post the message.

The channel is yours: only your application can open conversations on it or read its messages. No other integration, and no other customer, can touch it.

***

### What you need to have <a href="#what-you-need-to-have" id="what-you-need-to-have"></a>

* **A publicly reachable HTTPS endpoint** that we can call. Private, loopback and link-local addresses are refused, and we do not follow redirects.
* **Signature verification.** Every request we send is signed with your application secret over a timestamped payload. It is the same scheme as our event delivery, so if you already verify those, you already have the code.
* **Somewhere to keep two identifiers** — ours for the thread and the message, yours for the same. You will need the mapping in both directions.

Registration of your endpoint is **not self-service today**. You send us the URL and we set it on your application. Until it is set, nothing calls you — which means you can build and test the rest of the integration long before the endpoint goes live.

***

### Decisions to get right early <a href="#decisions-to-get-right-early" id="decisions-to-get-right-early"></a>

These are cheap to decide now and expensive to change later.

**Who your channel addresses.** Most PMS and OTA channels address the person who made the booking, not the individual guests on it. Declare this when you create the channel — operators are held to it, and getting it wrong means they cannot build the templates you are expecting.

**"Not my reservation" is permanent.** When you tell us a reservation is not yours, we believe you and stop asking, for that reservation, for good. A misdeployed endpoint that answers "not mine" by accident will silently suppress that guest's messages for their entire stay. Answer "not mine" only when you mean it; answer with a server error when something is temporarily broken, and we will ask again.

**Retries will happen.** Deliveries carry an idempotency key and are retried on failure. Accepting the same key twice must not send the guest two messages.

**Echoes.** If your platform relays messages it receives back out again, our own outbound message will come back to us as an inbound guest message — and the AI will answer itself. Return your identifier for each message we hand you, then drop anything carrying it on the way back in. Without that identifier an echo is indistinguishable from a real guest.

***

### What we give you <a href="#what-we-give-you" id="what-we-give-you"></a>

* **The full contract** — exact requests, responses, headers, status-code semantics, and reference signature-verification code in PHP and Node. Ask us and we will send it.
* **A test workspace**, so you can drive real message templates at your endpoint without a real guest on the other end.
* **A failure notification.** If your endpoint starts failing, we email the developer address on your application rather than leaving it to be noticed.

***

### Where to start <a href="#where-to-start" id="where-to-start"></a>

Tell us which surface you want to bridge and who it addresses — the booker or individual guests. We will confirm the shape, send you the contract, and set you up with an application and a test workspace.


# Guest API


# MCP

The connected guest experience.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FwkJd3KSjoqHca207UD2h%2Fmcp-connection.webp?alt=media&amp;token=2f464885-7b83-4314-9a57-55ea793b32c2" alt=""><figcaption></figcaption></figure>

#### What is MCP? <a href="#what-is-mcp" id="what-is-mcp"></a>

**MCP** (Model Context Protocol) lets you connect an AI client — such as Claude Desktop, Claude on the web or Cursor — directly to your HolidayHero workspace. Once connected, the AI can read and write your listings, reservations, check-ins, conversations, tasks, amenities, guidebooks, experiences and more, exactly as an operator would from the admin panel.

A few things are true of every connection:

* It is scoped to **one workspace**. A client connected to workspace A cannot see workspace B, even if the same operator belongs to both.
* The AI works through the same rules as the admin panel. Validation applies unchanged — if a change would be rejected in the panel, it is rejected for the AI too.
* When the connected user is an **operator** of the workspace, their permissions are honoured on every tool call. A user who is **not** an operator has full access — see Who can do what.
* Every tool call is written to an audit trail, so nothing happens invisibly.
* Access can be revoked at any time, per user or per client.

Open it from `/mcp` in your admin panel. The page has three parts: **Connection**, **Users** and **Connectors**.

#### Connection <a href="#connection" id="connection"></a>

This is the on/off switch for the whole workspace.

1. Go to the **MCP** page.
2. Click **Enable**.

The card now shows your **Endpoint URL** — the address an AI client connects to. Use the copy icon next to it. The URL contains an opaque, per-workspace code rather than your workspace ID.

Below it, **OAuth discovery document** links to the `.well-known` metadata for clients that configure themselves automatically. Most operators never need it.

To switch MCP off again, click **Disable** and confirm. Every connected client stops working immediately. Enabling again later reactivates the same endpoint URL.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FgOv904ogztZ2S2uQPabo%2Fmcp-users.webp?alt=media&amp;token=2acde96a-f303-45a2-b9d8-69eee3daed1c" alt="Who may connect, and with which level of access"><figcaption></figcaption></figure>

#### Users <a href="#users" id="users"></a>

An MCP **user** is someone who is allowed to connect an AI client to this workspace. Usually that is one of your operators — but being an operator is not enough on its own; they must also be listed here.

There are two ways to add users:

* **Invite by email** — enter an address and click **Send invite**. The person receives an email with a magic link. Opening it confirms the invite and marks them **Active**. The link is valid for **one hour**.
* **Import existing operators** — adds every current operator of the workspace in one go, each receiving their own invite email.

| Column         | Description                                                                                                                                                                                                                       |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Email**      | The address the invite was sent to.                                                                                                                                                                                               |
| **Name**       | The operator's name, when known.                                                                                                                                                                                                  |
| **Access**     | **Operator permissions** when the address belongs to an operator of this workspace — click it to open that operator and review their permissions. **Full access** when it does not (see Who can do what).                         |
| **Status**     | <mark style="background-color:yellow;">Invited</mark> until the magic link is opened, <mark style="background-color:green;">Active</mark> afterwards, <mark style="color:red;">**Revoked**</mark> once access has been withdrawn. |
| **Last login** | When this user's AI client last connected, or **Never**.                                                                                                                                                                          |

**Who can do what**

There are two kinds of MCP user, and the **Access** column tells you which one you are looking at:

| Access                   | Who                                                                                                                                        | What the AI may do                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Operator permissions** | The invited address belongs to an [operator](file:///the-basics/workspace/operators.md) of this workspace.                                 | Exactly what that operator may do in the admin panel. Every tool call is checked against their **Read** / **Write** [permissions](file:///the-basics/workspace/operators/operator-details.md) — an operator with only *Amenities → Read* cannot update a reservation or message a guest over MCP either. Workspace **owners** have unrestricted access, as in the panel. |
| **Full access**          | The invited address does **not** belong to an operator of this workspace — typically HolidayHero staff helping with onboarding or support. | Every tool, with no per-resource limits. There is no operator role to mirror.                                                                                                                                                                                                                                                                                            |

A refused call is not an error you need to fix: the AI receives a clear `permission_denied` reply naming the missing permission, the call is logged in the [Activity](file:///the-basics/workspace/mcp/activity.md) tab, and the AI is told to report it to you rather than retry. A workspace owner can grant the permission on the operator's detail page, after which the next call succeeds.

{% hint style="warning" %}
Because a non-operator gets full access, only invite addresses you trust with the whole workspace. To give a colleague *limited* AI access, add them as an [operator](file:///the-basics/workspace/operators.md) with the right permissions first, then invite that same address here — their role is picked up automatically, even if they became an operator after the invite was sent.&#x20;
{% endhint %}

From the `⋮` menu on a row you can **Resend invite** (issues a fresh one-hour link) or **Revoke access**.

{% hint style="warning" %}
Revoking a user also revokes every connector they created and every token those connectors issued. Any AI client they set up stops working straight away. Revocation is permanent — to let them back in, invite them again.
{% endhint %}

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2Fu2eifPSNDsbeFu8aYoDh%2Fmcp-connectors.webp?alt=media&amp;token=4323b6b5-4c84-4361-b850-eb20a56b502a" alt="One connector per AI client or device"><figcaption></figcaption></figure>

#### Connectors <a href="#connectors" id="connectors"></a>

A **connector** is the credential for one AI client on one device — "Claude Desktop on my laptop", "Cursor at the office". Creating one gives you a **Client ID** and a **Client secret** the AI client uses to prove who it is.

1. Enter a **New connector name** that tells you which client and device it is for.
2. Click **Create connector**.
3. A yellow banner appears with the **Client ID** and **Client secret**. Copy both now.

{% hint style="warning" %}
The client secret is shown **exactly once**. HolidayHero keeps only a fingerprint of it, so it cannot be displayed again. If you lose it, revoke the connector and create a new one.
{% endhint %}

| Column                      | Description                                                                    |
| --------------------------- | ------------------------------------------------------------------------------ |
| **Name**                    | The name you gave the connector.                                               |
| **Client ID**               | Starts with `mcp_`. Click it to copy.                                          |
| **User**                    | The MCP user who created it.                                                   |
| **Created** / **Last used** | When the connector was made, and when its AI client last called the workspace. |

Click **Revoke** at the end of a row to cut off that one client without touching anything else.<br>

#### Connecting Claude <a href="#connecting-claude" id="connecting-claude"></a>

The steps below are for Claude Desktop and Claude on the web; other MCP-capable clients follow the same shape.

1. **Enable** MCP and copy the **Endpoint URL**.
2. Create a connector and copy its **Client ID** and **Client secret**.
3. In Claude, open **Settings → Connectors** and add a **custom connector** with the endpoint URL.
4. When Claude asks you to authenticate, enter the client ID and secret.

Claude now lists the HolidayHero tools and can act on your workspace in conversation. The connection stays live until you revoke the connector or user, or disable MCP.

{% hint style="info" %}
Claude is currently the only AI client whose sign-in callback is allow-listed. Other clients can connect when their callback matches Claude's; if yours does not, contact support.&#x20;
{% endhint %}

#### What the AI can do <a href="#what-the-ai-can-do" id="what-the-ai-can-do"></a>

The AI works through a fixed set of **tools**. Each tool maps onto one thing you can already do in the admin panel — under the connected operator's permissions, or without limits for a user who is not an operator (see Who can do what). Tools are named `resource_action`: `_list` and `_get` read, `_create` / `_update` / `_delete` write. A write that is rejected returns the reason instead of failing silently.

Everything is identified by a HolidayHero ID of the form `gid://holidayhero/Reservation/42` — the AI reads these from a `_list` or `_get` call before writing.

| Area                              | Tools                                                                                                                                                                                                                                                                                                                                                                     |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Listings**                      | `listing_list`, `listing_get`, `listing_create`, `listing_update`, `listing_attach_amenities`, `listing_attach_guidebooks`, `listing_attach_experiences`, `listing_attach_announcements`, `listing_attach_smart_devices`, `listing_section_update` (the **Contact** and **Directions** blocks), plus image and document tools (see below) and `listing_section_*_images`. |
| **Reservations**                  | `reservation_list`, `reservation_get`, `reservation_create`, `reservation_update`, plus document tools.                                                                                                                                                                                                                                                                   |
| **Check-ins**                     | `checkin_list`, `checkin_get`, `checkin_update`, `checkin_mark_no_show`, `checkin_unmark_no_show`.                                                                                                                                                                                                                                                                        |
| **Guest invitations**             | `invitation_list`, `invitation_get`, `invitation_create`, `invitation_update`, `invitation_delete`.                                                                                                                                                                                                                                                                       |
| **Conversations**                 | `conversation_list`, `conversation_get` (a thread with its recent messages), `conversation_message_send`, `conversation_update` (change the status to `FOLLOW_UP`, `PENDING` or `RESOLVED`, or hand a thread from the AI to a human).                                                                                                                                     |
| **Tasks**                         | `task_list`, `task_get`, `task_create`, `task_update`, `task_note_create`.                                                                                                                                                                                                                                                                                                |
| **Amenities**                     | `amenity_list`, `amenity_get`, `amenity_create`, `amenity_update`, `amenity_delete`, plus image and document tools.                                                                                                                                                                                                                                                       |
| **Guidebooks**                    | `guidebook_list`, `guidebook_get`, `guidebook_create`, `guidebook_update`, `guidebook_delete`, plus image and document tools.                                                                                                                                                                                                                                             |
| **Announcements**                 | `announcement_list`, `announcement_get`, `announcement_create`, `announcement_update`, `announcement_delete`.                                                                                                                                                                                                                                                             |
| **Calendar events**               | `calendar_event_list`, `calendar_event_get`, `calendar_event_create`, `calendar_event_update`, `calendar_event_delete`, plus image and document tools.                                                                                                                                                                                                                    |
| **Experiences**                   | `experience_list`, `experience_get`, `experience_create`, `experience_update`, `experience_delete`, `experience_host_note_create`, plus image and document tools.                                                                                                                                                                                                         |
| **Experience products (upsells)** | `experience_product_create`, `experience_product_update`, `experience_product_delete`, `experience_products_reorder`, `experience_product_field_create`, `experience_product_field_update`, `experience_product_field_delete`, `vat_rate_list`.                                                                                                                           |
| **Places**                        | `places_search`, `place_get` — look up a real business on Google Places before creating an experience for it.                                                                                                                                                                                                                                                             |
| **Brands**                        | `brand_list`, `brand_get`, `brand_create`, `brand_update`, `brand_delete`, `brand_art_direction_detect`.                                                                                                                                                                                                                                                                  |
| **Uploads**                       | `upload_target_create` — a one-hour upload slot for a file that has no public URL.                                                                                                                                                                                                                                                                                        |

**Image and document tools** follow one pattern for every resource that has them: `<resource>_create_images`, `_update_images`, `_delete_images`, `_reorder_images`, and the same four with `_documents`. Images and documents are given as URLs; HolidayHero downloads and stores them. Uploading the same file twice is harmless — duplicates are recognised and skipped.

A few tools deserve a note:

* **`experience_host_note_create`** is the only write allowed on an experience that is backed by a Google Place. Its name, address, contact details and pricing come from the shared partner copy and cannot be edited; a host note is how you add your own information for guests.
* **`vat_rate_list`** returns the selectable EU VAT rates. The AI is told to pick from this list rather than compose a rate itself, because a wrong rate is charged to real guests.
* **`brand_art_direction_detect`** reads a brand's website and writes an art-direction brief onto the brand. It runs in the background and overwrites any existing brief.
* **`conversation_message_send`** sends a real message to a guest. Ask the AI to show you the draft first if you want to review it.

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details open>

<summary>Do I need MCP to use HolidayHero's built-in AI?</summary>

No. The AI assistant in the inbox and the workspace agents run inside HolidayHero without any setup here. MCP is only for connecting an **external** AI client — one you already use, like Claude or Cursor — to your workspace.

</details>

<details open>

<summary>Who should I add as a user?</summary>

Only people who will personally connect an AI client. Each user creates their own connectors and every action is traceable back to them. Do not share one connector between colleagues — create one per person and device so you can revoke exactly the right one later. Prefer inviting operators: their workspace permissions then apply to the AI as well. Anyone who is not an operator gets full access.

</details>

<details open>

<summary>Can I limit what the AI is allowed to change?</summary>

Yes — through the operator's permissions. When the connected user is an operator of this workspace, every tool call is checked against their **Read** / **Write** permissions, so the AI can do no more than they can in the admin panel. Open the operator's detail page to adjust them; the change applies to their AI client immediately.

There is no per-connector setting, and a user who is **not** an operator has full access. If you need a limited setup for such a person, make them an operator first with the permissions you want, then invite that address.

</details>

<details open>

<summary>I lost the client secret — can I see it again?</summary>

No. The secret is shown once, at creation, and cannot be recovered afterwards. Revoke the connector and create a new one, then update the AI client with the new credentials.

</details>

<details open>

<summary>The invite link says it has expired.</summary>

Magic links are valid for one hour. Open the `⋮` menu on the user's row and click **Resend invite** to issue a fresh one.

</details>

<details open>

<summary>My AI client stopped working — why?</summary>

In order of likelihood: the connector was revoked, the user was revoked (which revokes all of their connectors), or MCP was disabled for the workspace. Check the **Connectors** and **Users** tables and the **Connection** card. HolidayHero staff who were given access for onboarding or support are also revoked automatically every night, so a staff connection is expected to stop working the next day.

</details>

<details open>

<summary>Does the AI see my other workspaces?</summary>

No. The endpoint URL and its connectors belong to exactly one workspace. To use the AI with another workspace, enable MCP there and add it to your AI client as a separate connector.

</details>

<details open>

<summary>Is there a record of what the AI did?</summary>

Yes. Every tool call — successful or not — is logged with the tool, the user's connector, its input and how long it took. This log is not yet visible in the admin panel; contact support if \
you need to review it.

</details>

<details open>

<summary>The AI says a tool was refused with <code>permission_denied</code> — what now?</summary>

The connected operator's workspace role does not include that permission. Check the **Access** column in the **Users** table: it links to the operator, where a workspace owner can tick the missing **Read** or **Write** permission and save. The AI can then call the tool again — there is nothing to reconnect. The refusal is also visible in the Activity tab as an errored call.

</details>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/the-basics/workspace/mcp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# Activity

An Audit Trail for MCP.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FuOQ4b0xOun9SrChF1YiR%2Fmcp-activity.webp?alt=media&amp;token=dd0e4891-4bbe-485a-9e4b-443e7c3c854a" alt="Every tool call made by a connected AI client, newest first"><figcaption></figcaption></figure>

#### What is the activity log? <a href="#what-is-the-activity-log" id="what-is-the-activity-log"></a>

The **Activity** tab on the [MCP](file:///the-basics/workspace/mcp.md) page is the audit trail of your workspace's MCP server. Every tool call a connected AI client makes — a listing it read, a message it sent, a reservation it created — is recorded here, whether it succeeded or failed. Nothing an AI does through MCP happens invisibly.

Open it from **MCP → Activity**, or jump straight to one user's or one connector's calls from the **Settings** tab (see [Filters](http://localhost:63342/markdownPreview/76401390/markdown-preview-index-b0s3ilug1a3tq7bj4h4mo2tv73.html#filters)).

#### The list <a href="#the-list" id="the-list"></a>

Calls are listed newest first, 25 per page. Use the arrows below the table to page through older calls.

| Column       | Description                                                                                                                                                                                                                                                              |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **When**     | When the call was made, shown in your own timezone.                                                                                                                                                                                                                      |
| **Who**      | The MCP user who made the call and, below it, the connector (AI client) they used. A dash means the call came through a token issued directly for the workspace rather than through a user's connector — typically HolidayHero staff helping with onboarding or support. |
| **Tool**     | The tool that was called, e.g. `experience_product_create`. The full list is under **What the AI can do** on the [MCP](file:///the-basics/workspace/mcp.md) page.                                                                                                        |
| **Duration** | How long the tool took to run, in milliseconds.                                                                                                                                                                                                                          |
| **Status**   | <mark style="background-color:green;">OK</mark> when the call succeeded, <mark style="color:red;">**Error**</mark> when the tool rejected the request or failed.                                                                                                         |

#### Viewing a call <a href="#viewing-a-call" id="viewing-a-call"></a>

Click anywhere on a row to open the call in a side panel, or click **View** to open it as its own page (handy for sharing a link with a colleague).

The detail shows everything the list does, plus:

* **Input** — the exact request the AI client sent to the tool, as JSON. This is what the AI *asked for*, so it is the first place to look when a change is not what you expected.
* **Error** — when the status is **Error**, the message the tool returned explaining why.

{% hint style="info" %}
The input can contain guest-facing text, for example the body of a message sent with `conversation_message_send`. It is shown to anyone with the **MCP → Read** permission.&#x20;
{% endhint %}

#### Filters <a href="#filters" id="filters"></a>

Click **+ Filter** above the table to narrow the list. Active filters appear as chips; click the `×` on a chip to remove it.

| Filter            | Description                                                                     |
| ----------------- | ------------------------------------------------------------------------------- |
| **Tool**          | Only calls to one tool.                                                         |
| **Status**        | **Errors only** or **Successful only**.                                         |
| **MCP user**      | Only calls made through any of that user's connectors.                          |
| **Connector**     | Only calls made through one specific connector.                                 |
| **From** / **To** | Only calls on or between these days (in your timezone). Set either one or both. |

Two shortcuts on the **Settings** tab pre-apply a filter for you:

* **View activity** in the `⋮` menu of a row in **Users** opens the log filtered to that user.
* **Activity** at the end of a row in **Connectors** opens the log filtered to that connector.

Use **Sort** to switch between newest and oldest first.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details open>

<summary>How long is activity kept?</summary>

Calls are kept for a fixed period — **90 days** by default — and then removed automatically. The exact period for your workspace is shown at the bottom of the **Activity** tab. Open a call and note what you need before then if you want a longer record.

</details>

<details open>

<summary>A call shows an error — did anything change?</summary>

No. An **Error** status means the tool rejected the request or failed before completing, so no data was written. Open the call to read the error message; it usually names the missing or invalid field the AI sent.\
\
An error starting with `permission_denied:` means the connected operator's workspace role does not include that permission — see Who can do what

</details>

<details open>

<summary>Who can see the activity log?</summary>

Operators with the **MCP → Read** permission — the same permission that shows the MCP page itself. Workspace owners always have access.

</details>

<details open>

<summary>The "Who" column shows a dash — who made that call?</summary>

The call used a token issued directly for the workspace instead of a user's connector. In practice this is HolidayHero staff who were given temporary access for onboarding or support; those tokens are revoked automatically every night.

</details>

<details open>

<summary>Can I see calls from a revoked user or connector?</summary>

Yes. Revoking stops future calls but does not remove past ones — they stay in the log for the retention period, still attributed to that user and connector.

</details>

***


# PMS Platforms

At HolidayHero, we offer various integrations. Below is an overview of all integrations separated by category.

### Integrations

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td><strong>MEWS</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FI9ahgq0DlZWUJzwFQXjF%2Fmews.png?alt=media&amp;token=9eceed60-fde4-421f-97c7-0417a68c53b7">mews.png</a></td><td></td></tr><tr><td></td><td><strong>Chalet Manager</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F9GeVwdgrTnJ5w8Y4rp2z%2Fchalet_manager.png?alt=media&amp;token=d7ead72e-bdb8-49e0-afce-b8e6ac562884">chalet_manager.png</a></td><td><a href="/integrations/pms-platforms/chaletmanager">ChaletManager</a></td></tr><tr><td></td><td><strong>Lodgify</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FqvT9QYagZQMG3skwK72T%2Flodgify.png?alt=media&amp;token=9fb1c6ab-d418-4f21-90a7-250fe5ea8f13">lodgify.png</a></td><td><a href="/integrations/pms-platforms/lodgify">Lodgify</a></td></tr><tr><td></td><td><strong>Booking Planner</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FtDsyucq3rqeWYAdY5tUS%2Fbookingplanner.png?alt=media&amp;token=0f1c68d8-5edd-4a8a-8c8d-dd647ba68868">bookingplanner.png</a></td><td><a href="/integrations/pms-platforms/bookingplanner">Bookingplanner</a></td></tr><tr><td></td><td><strong>RoomRaccoon</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F64v2POcCrevQUKlKzUpI%2Froomraccoon.png?alt=media&amp;token=49c7d7db-e705-4782-b057-1b26ef975f5b">roomraccoon.png</a></td><td><a href="/integrations/pms-platforms/roomraccoon">RoomRaccoon</a></td></tr><tr><td></td><td><strong>Hostaway</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FUBUrXWwSBNX9PMrtokBc%2Fhostaway.png?alt=media&amp;token=e77275d0-be5a-4931-806c-33dbabe99117">hostaway.png</a></td><td><a href="/integrations/pms-platforms/hostaway">Hostaway</a></td></tr><tr><td></td><td><strong>Bookingmood</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FpT9WppWP8pLM4sKQWGHZ%2Fbookingmood.png?alt=media&amp;token=88ae5242-980c-466e-86e5-d8f7c674ca3a">bookingmood.png</a></td><td><a href="/integrations/pms-platforms/bookingmood">Bookingmood</a></td></tr><tr><td></td><td><strong>HostHub</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F1XQ74y9cYz3zyosVUvVu%2Fhosthub.png?alt=media&amp;token=25fb9d46-ba8a-420e-9a61-621fd1075879">hosthub.png</a></td><td><a href="/integrations/pms-platforms/hosthub">HostHub</a></td></tr><tr><td></td><td><strong>ClockPMS</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F8bo6pHaMgFwlKQ4lpOTb%2Fclock_pms.png?alt=media&amp;token=79fb3262-aa1c-43fa-8e83-ff73cd334a07">clock_pms.png</a></td><td><a href="/integrations/pms-platforms/clockpms">ClockPMS</a></td></tr><tr><td></td><td><strong>Cubilis</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FJs36hqHvpnBnPCAZ2zh4%2Fcubilis.png?alt=media&amp;token=d932d18f-573d-4d3d-b9f5-1b8e9d53f7a8">cubilis.png</a></td><td></td></tr><tr><td></td><td><strong>Eviivo</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FU05bsLC4K5pUEacQwfHK%2Feviivo.png?alt=media&amp;token=c24eb32d-9f5a-468d-ab24-bdc37364c6ea">eviivo.png</a></td><td><a href="/integrations/pms-platforms/eviivo">Eviivo</a></td></tr><tr><td></td><td><strong>Beds 24</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FeOtXiwsoAWJ0attZNwl6%2Fbeds_24.png?alt=media&amp;token=e547ebb1-d54f-440a-ae7a-4050edcbc5c0">beds_24.png</a></td><td></td></tr><tr><td></td><td><strong>MyTourist</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FgN3x4RSYv1Z0zsbSEc37%2Fmytourist.png?alt=media&amp;token=83fdb41b-aac9-41d9-8c4b-34e5e95e18a4">mytourist.png</a></td><td></td></tr><tr><td></td><td><strong>Amenitiz</strong></td><td></td><td><a href="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FjmTP38Wvh12In3Xd3M9N%2Famenitiz.png?alt=media&amp;token=f0af13d3-dc32-4fa4-944b-23e37fb84c67">amenitiz.png</a></td><td><a href="/integrations/pms-platforms/amenitiz">Amenitiz</a></td></tr></tbody></table>


# Amenitiz

Amenitiz is an all-in-one property management system for independent hotels, guesthouses, and bed and breakfasts, widely used across France, Italy, Spain, and Portugal.

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FESVfA8vTxDy4xZE0NC5W%2Fintegrations_header-2.png?alt=media&amp;token=084ba01b-5bb7-46ae-8722-bf149e5b9155" alt=""><figcaption></figcaption></figure>

With the Amenitiz integration, you connect your Amenitiz property management system to your HolidayHero workspace. The integration polls the Amenitiz Vendor API on a regular schedule, pulling your most recently updated bookings into HolidayHero so that messaging, tasks, and smart devices run on the same set of reservations as your front desk. When a new booking arrives, the guest is automatically invited to the HolidayHero guest app.

#### Listings <a href="#listings" id="listings"></a>

Match each HolidayHero listing to the corresponding Amenitiz room on the **Listings** tab. The dropdown shows every individual room in your property, not the room types, so each physical room maps to exactly one HolidayHero listing. Once matched, any booking assigned to that room is automatically synced into the matched listing.

#### Booking sync <a href="#booking-sync" id="booking-sync"></a>

The integration polls Amenitiz every fifteen minutes for bookings updated in the last two days. Each booking is individually queued and synced to HolidayHero. Confirmed and modified bookings are imported, along with checked in, checked out, and completed ones. Cancelled bookings cancel the corresponding HolidayHero reservation automatically.

A booking that covers more than one room becomes one HolidayHero reservation per room, so each room shows up on its own listing.

**Please note:** Amenitiz reports a single total for the whole booking and never a price per room. When a booking covers several rooms, HolidayHero divides that total evenly across them. Your workspace total stays correct to the cent, but the amount on an individual reservation is an even share rather than what that particular room was actually sold for. See the guide below for the detail.

The following guest details are synced when available: first name, last name, email address, phone number, and language. When the booker has no name on the booking, the first guest on the room is used instead.

#### Initial sync <a href="#initial-sync" id="initial-sync"></a>

When you first activate the integration, an initial sync imports bookings with check-in dates from roughly three weeks ago through the next three months, so your HolidayHero calendar is populated from day one without dragging in stays that finished long ago. From then on the integration keeps checking Amenitiz for new and changed bookings, so anything further ahead arrives as soon as it is booked or updated.

***

#### Guides <a href="#guides" id="guides"></a>

<details open>

<summary>How to connect Amenitiz to HolidayHero?</summary>

1. Install the Amenitiz integration from the HolidayHero App Store.
2. Go to **Settings** inside the integration and enter your Amenitiz Vendor API access token and your hotel UUID.
3. Click **Save**, then click **Test Connection**. HolidayHero reads your property from Amenitiz and shows the property name when the credentials work.
4. On the **Listings** tab, match each HolidayHero listing to the corresponding Amenitiz room.
5. Go to **Home** and activate the integration using the toggle.
6. Click **Save**. The first sync runs immediately.

Amenitiz issues the access token and the hotel UUID to you directly. If you do not have them, contact Amenitiz support and ask for Vendor API access.

</details>

<details open>

<summary>Where do I find my access token and hotel UUID?</summary>

Both are issued by Amenitiz. Contact Amenitiz support and ask them to enable Vendor API access for your property. They send you a long access token and the hotel UUID it belongs to. The UUID looks like `1e0d740f-75d5-4535-89da-5fbadcba157d`, not a plain number.

The token does not expire, so you only enter it once. If it ever stops working, ask Amenitiz for a new one and paste it on the Settings page.

</details>

<details open>

<summary>How often does the sync run?</summary>

The integration polls Amenitiz for recently updated bookings every fifteen minutes. Room data is refreshed less frequently. There is no manual trigger, but you can check the **Logs** tab to see when the last sync ran and whether it succeeded.

</details>

<details open>

<summary>What booking statuses are imported?</summary>

The integration imports bookings with the following statuses: **confirmed**, **modified**, **checked in**, **checked out**, and **completed**. Bookings with other statuses are skipped and logged. Cancelled bookings are not imported as new reservations; instead, if a matching reservation already exists in HolidayHero, it is cancelled automatically.

</details>

<details>

<summary>How is the booking value split when a booking covers several rooms?</summary>

Amenitiz sends HolidayHero one total for the whole booking and does not break it down per room. Because each room becomes its own reservation in HolidayHero, that total is divided evenly across them.

The division is exact to the cent. Any leftover cents are given to the first rooms, so the shares always add back up to the original booking total. A booking of 100.00 across three rooms becomes 33.34, 33.33 and 33.33. A booking of 286.00 across seven rooms becomes 40.86 on five reservations and 40.85 on the other two.

Two things worth knowing:

* The figure on a single reservation is an even share, not the real price of that room. Your totals across the workspace are correct, but treat a per room amount as an estimate.
* If Amenitiz has not assigned a room to part of the booking yet, that room has no reservation in HolidayHero and its share is not counted anywhere until the room is assigned. Assign the room in Amenitiz and the next sync picks it up.

If you need the exact price per room, that figure lives in Amenitiz and is not something the Vendor API shares.

</details>

<details open>

<summary>What if Amenitiz returns a temporary error?</summary>

Transient errors such as timeouts, gateway errors, and 5xx responses are retried automatically by the queue. Permanent errors are written to the **Logs** tab so you can investigate. An authentication error means the access token is no longer valid, so it is reported on the Logs tab rather than retried.<br>

</details>

***

**HolidayHero Permissions**

Each integration has its own set of permissions. Please find below what this integration will be able to do.

<table><thead><tr><th width="259">Permission</th><th>Description</th></tr></thead><tbody><tr><td><code>reservation.create</code></td><td>The integration will be able to create reservations imported from Amenitiz.</td></tr><tr><td><code>reservation.update</code></td><td>The integration will be able to update reservations when they change in Amenitiz.</td></tr><tr><td><code>reservation.cancel</code></td><td>The integration will be able to cancel reservations when they are cancelled in Amenitiz.</td></tr><tr><td><code>listing.read</code></td><td>The integration will be able to read your listings to match them to Amenitiz rooms.</td></tr><tr><td><code>invitation.create</code></td><td>The integration will be able to invite guests to a reservation.</td></tr><tr><td></td><td></td></tr></tbody></table>

**HolidayHero Webhooks**

<table><thead><tr><th width="260">Webhook</th><th>Description</th></tr></thead><tbody><tr><td><code>installation.uninstalled</code></td><td>The integration detects when it has been uninstalled and cleans up all associated data.</td></tr><tr><td><code>listing.deleted</code></td><td>Removes connected listings once the listing is deleted. </td></tr></tbody></table>

***

## Agent Instructions: Querying This Documentation <a href="#agent-instructions-querying-this-documentation" id="agent-instructions-querying-this-documentation"></a>

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:

```
GET https://support.holidayhero.com/integrations/pms-platforms/amenitiz.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. 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.


# 365 Villas


# Beds24

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2FE71daQ8vhSgEsw4BmfqJ%2Fheader_beds24.png?alt=media&amp;token=aada8447-2073-483e-bcba-92245403da5b" alt=""><figcaption><p>HolidayHero Beds24 Integration</p></figcaption></figure>

Beds24 is a flexible and cost-effective property management and channel management solution tailored for small hotels, B\&Bs, and vacation rentals. Known for its highly customizable interface, Beds24 allows property managers to automate nearly every aspect of their operation—from bookings and payments to housekeeping and invoicing. It supports complex rate structures, multi-unit setups, and integrations with numerous booking channels. Ideal for tech-savvy hosts who want full control over their workflows without sacrificing affordability.

***

**Category:** `PMS`

***


# Bookingplanner

<figure><img src="https://3950018645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWWiwAsWOs8WeAQ2KJS3%2Fuploads%2F7IsaVRd5WgwPsY7HHmQs%2Fheader_bookingplanner.png?alt=media&amp;token=e1ab04c2-3a2c-4eb2-b1f1-035a71b04e16" alt=""><figcaption></figcaption></figure>

Bookingplanner.com is an all-in-one property management system designed for hotels and vacation rentals. It simplifies daily operations by centralizing reservations, room assignments, and guest communications in one platform. With intuitive tools and automation options, Bookingplanner helps reduce administrative tasks, prevent booking conflicts, and maintain real-time updates across all channels. Integrating Bookingplanner into your property’s routine enhances productivity, making it easier to manage guest stays and maximize occupancy efficiently.

***

#### Categories

`PMS`

***




---

[Next Page](/llms-full.txt/1)

