> For the complete documentation index, see [llms.txt](https://docs.guestway.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.guestway.io/settings/organization-settings/guest-journey.md).

# Guest Journey

Use **Guest Journey** to build the check-in form your guests complete in the **Guest Portal**. A focused journey captures everything you need before arrival — guest details, ID checks, damage protection, signed agreements, fees and upsells — without slowing the guest down.

## Overview

A guest journey controls three things:

* **What information** you collect from each guest during pre-check-in.
* **Which optional steps** (agreement, protection, upsells, fees, ID verification) are part of the flow.
* **What the guest can do at check-in and check-out**, including buying upsells in-house and completing check-out themselves.

The editor is organised by phase — **pre-check-in**, **check-in** and **check-out**. Pick a phase, then a step within it, and configure the step on the right.

Pre-check-in steps run in this order: **Guest Information → Trip Details → Agreement → Protection → Upsells → Fees → ID Verification**. ID verification is deliberately last: guests settle protection, fees and extras before they're asked to verify, so fewer abandon verification part-way and leave payments unfinished.

> Guests who leave pre-check-in and come back resume from the latest completed step. They aren't sent back through steps they've already finished.

You can run more than one journey at a time:

* **Build multiple journeys** and apply them to different properties.
* **Duplicate** a journey to test changes on a single property before rolling them out.
* Set a **Default** journey for any property without a specific one.
* Use **Preview guest portal** to open the pre-check-in flow with the current journey configuration, including your **House rules** and **Rental agreement** content, so you can read what guests will read before you publish. The button is available once the journey is saved; some reservation and pricing data in the preview is mocked.
* Set the **Guest-facing currency** and an optional **Redirect URL** for when pre-check-in is complete.

{% hint style="info" %}
**Channel configuration is per step.** On any step you can choose **All** channels, **Include only** selected channels, or **Exclude** selected channels (for example, exclude Airbnb from the Protection step). The step is then shown or hidden based on each reservation's booking channel.
{% endhint %}

## Guest Information

<figure><img src="https://3944456244-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBrW4TrHoVgRLXkGBzLVy%2Fuploads%2FJiysNeXjXNo4CxMk72qg%2Fimage.png?alt=media&amp;token=de1f9729-2c28-4b1c-8fc2-e042a7aa2aa7" alt=""><figcaption></figcaption></figure>

Collect only what you need. Common fields include:

* Name
* Contact information
* Country

Decide what happens when the guest count doesn't match the booking:

* Allow the guest to proceed
* Warn the guest about the mismatch
* Block the guest until every guest is accounted for

## Trip Details

<figure><img src="https://3944456244-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBrW4TrHoVgRLXkGBzLVy%2Fuploads%2FKxFeQGa86khV8F0evhr2%2Fimage.png?alt=media&amp;token=00012da9-02f8-4522-a040-536a7bece4d6" alt=""><figcaption></figcaption></figure>

Collect trip-related details. Common fields include:

* Purpose of stay (trip type)
* Special requests
* Estimated arrival and departure times

### Billing details

Billing fields live inside Trip Details. Set the requirement for each, and they appear in the Guest Portal **only when the guest selects a Business trip type**:

* **Company name**
* **VAT number**
* **Billing address**

Collecting these during pre-check-in means your invoicing is complete from the start, with no follow-up after arrival.

## Agreement

The **Agreement** step presents documents the guest reads and accepts before arrival. It sits directly after **Trip Details**, matching the order guests experience during pre-check-in.

The step holds two sections you can enable independently:

| Section              | Use it for                                                                                                       |
| -------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Rental agreement** | The contract the guest accepts before arrival — terms, liability, cancellation. Optionally captures a signature. |
| **House rules**      | The rules of the property the guest acknowledges — noise, pets, smoking, visitors, waste.                        |

Enable one, the other, or both. Both sections support **rich formatting and images**, and both accept booking details that fill in automatically from the reservation, so a single agreement covers every property and stay without manual editing.\
\
Set up the Agreement step:

1. In the Guest Journey editor, select the **Agreement** step.
2. Enable the step.
3. Turn on **Rental agreement** and write or paste your agreement content.
4. Set **Collect signature**. When **Active**, guests see a signature field and must complete it before they can continue the step. When **Inactive**, guests accept the agreement without signing — use this where acceptance is enough and a drawn signature only adds friction.
5. Turn on **House rules** and write your rules as a separate section.
6. Set the **Channel configuration** — **All**, **Include only**, or **Exclude**.
7. Save the journey.

> Splitting house rules out of the rental agreement means guests read the rules as rules, rather than skimming past them inside a legal document. If you previously pasted your house rules into the bottom of the rental agreement, move them into the **House rules** section.

<figure><img src="https://3944456244-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBrW4TrHoVgRLXkGBzLVy%2Fuploads%2Fm6K5qRpgXci42rxdz9IC%2Fimage.png?alt=media&amp;token=c371e31c-f14e-4bd7-aac2-f2f225069dc2" alt=""><figcaption></figcaption></figure>

## Protection

The **Protection** step lets each guest choose how they cover accidental damage during their stay: buy a **Damage Waiver** or leave a **Security Deposit**. Instead of risking a large refundable deposit, a guest can pay a small fee that waives accidental damage — and you earn on every waiver sold while staying protected.

{% embed url="<https://www.loom.com/share/09c79abab75e4caf9aa85cce75678b34>" %}

### How protection works

* A **Damage Waiver** is a small fee a guest pays so accidental damage is waived — no large deposit hold on their card. The classic case: a family worried a child might mark a wall would rather pay €40 for a 4-night stay than risk a €1,000 deposit.
* Behind the scenes, **Truvi** (the insurance partner) runs an automatic background check on the guest using the name and details captured in the check-in form. It usually resolves in moments and approves the vast majority of guests.
* The guest pays directly into **your Stripe account**. At the end of the month, GuestWay charges you the insurance premium — you don't handle anything else. There's no extra charge for the background check on approved guests, because you're already paying Truvi for the insurance. Truvi only charges a small administration fee (about €0.25) when a guest is **rejected**.

{% hint style="info" %}
Insurance premiums are priced in **euros**. If your guest-facing currency is different, the profit figures in the editor are approximate.
{% endhint %}

### Before you begin: readiness checklist

When you open the Protection step, expand the **readiness alert** at the top. It flags anything still missing before damage waivers can go live, with **Fix** and **Re-check** buttons for each item.

| Check               | Requirement                                                                                                  | How to fix                                                                                                                                |
| ------------------- | ------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Billing account** | A connected, usable Stripe account set as the organization default                                           | **Settings → Billing**. If you have no Stripe account yet, you'll be guided through setup — allow time, as Stripe must approve you first. |
| **Listings**        | Every subscribed listing needs a complete address (street, city, **zip code**, country) and a **pet policy** | Click **Fix** on a listing, or use **Set pet policy** to bulk-apply a policy to all listings missing one.                                 |
| **Branding**        | Your default branding needs a **company name** and **contact email**                                         | Open **Branding** settings and complete both fields.                                                                                      |

{% stepper %}
{% step %}

### Step 1 — Turn on Protection

1. In the Guest Journey editor, select the **Protection** step.
2. Enable the step. The Damage Waiver and Security Deposit cards appear below.
3. Clear any items in the readiness checklist above before continuing.
   {% endstep %}

{% step %}

### Step 2 — Set up the Damage Waiver

1. Tick the **Damage Waiver** card to enable it.
2. Turn on **Charge to guest** to show the waiver as an option in the pre-check-in flow.
3. Choose a **Pricing type** and enter the **Amount**:

| Pricing type             | The guest is charged                |
| ------------------------ | ----------------------------------- |
| **Flat fee**             | one fixed amount for the whole stay |
| **Per night**            | amount × nights                     |
| **Per adult**            | amount × adults                     |
| **Per adult per night**  | amount × adults × nights            |
| **Per person**           | amount × all guests                 |
| **Per person per night** | amount × all guests × nights        |

4. Edit the **Guest-facing description** (a starter template is pre-filled). This is the message guests read when choosing the waiver.

{% hint style="success" %}
**💡 Academy Tip:** State in the description that the guest is **covered up to €1,000**. On the rare flagged booking, coverage is reduced — describing the lower figure keeps your promise accurate without inviting careless damage.
{% endhint %}

#### **Choose a protection level**

Under **Protection type**, pick how you're insured. The editor shows the live per-night insurance price and your resulting profit for each option.

| Type                 | What it covers                                                 | Your cost                                                |
| -------------------- | -------------------------------------------------------------- | -------------------------------------------------------- |
| **Full protection**  | Full coverage from €0 to €50,000 per night                     | Higher per-night premium                                 |
| **Basic protection** | €500 excess, up to €50,000 — damage under €500 isn't claimable | Lower per-night premium (most popular)                   |
| **Self Insured**     | No third-party insurance — you cover any damage yourself       | A platform service fee only (a % of the fee you collect) |

Most managers pick **Basic protection** so they replace small items (a plate, a few forks) themselves rather than filing tiny claims, and earn more per night. **Self Insured** suits large portfolios willing to carry the risk in exchange for higher margin.

> **Renamed in July 2026.** **Full protection** was previously *Per Night* and **Basic protection** was previously *Per Night (Excess)*. The names now match what guests see when they choose their protection.

The **cost breakdown** under the options shows the fee charged to the guest, the **Insurance premium** deducted, and your final **Property manager profit**. Example from the video: charge **€10/night**, keep about **€5/night** in profit after the premium.

#### Always protect

{% hint style="warning" %}
**Always protect insures every reservation in this journey — even when a guest skips the waiver or chooses a deposit.** That means you (the property manager) pay the premium on every booking, so GuestWay bills you accordingly. You must confirm an **"I understand"** dialog to enable it, and **Self Insured** is not available while it's on.
{% endhint %}

Two common ways to use **Always protect**:

* **Guaranteed coverage** — every booking is insured automatically. Useful during busy periods or in higher-risk buildings.
* **Always charge the guest** — pair Always protect with a damage-waiver fee that's added to every booking, just like a cleaning fee. The guest pays it on every reservation, so you stay protected **and make money on every single stay**.

Test it safely by duplicating a journey onto a single property first.

> If the Damage Waiver is enabled but neither **Charge to guest** nor **Always protect** is on, the waiver is **inactive** — guests won't see it and nothing is covered.
> {% endstep %}

{% step %}

### Step 3 — Set up the Security Deposit

The security deposit is the alternative guests can choose instead of a waiver.

1. Tick the **Security Deposit** card to enable it.
2. When **Inherit from property** is on, the deposit comes from each property's **Default security deposit** (set on the property's General page — see [General (Listings Details)](https://docs.guestway.io/guestway-platform/properties/general-listings-details#default-security-deposit)). The editor warns you about any properties in this journey that don't have a deposit configured, and names them. The warning updates as you change which properties the journey targets, so you can see the gap without cross-checking each listing yourself. Properties still missing a deposit fall back to the amount you set below.
3. Choose a **Pricing type** (a flat fee is most common for deposits) and enter the **Amount**.
4. Edit the **Guest-facing description** (a starter template is pre-filled).
5. Choose a **Charge method**:

| Charge method       | How it works                                                                                   | Notes                                                                                                                                                              |
| ------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Charge & refund** | The card is charged now and refunded after checkout                                            | A Stripe processing fee (\~2%) applies. Refund is **Auto-refund** (0–7 days after check-out) or **Manual refund**.                                                 |
| **Hold only**       | The card is saved and a hold is authorized at the chosen time, then captured or released later | No Stripe charge fee. Release is **Auto-release** (0–30 days after check-out) or **Manual release**. Optionally **extend the hold if Stripe's window is shorter**. |

{% hint style="info" %}
**Hold only** is the default. It avoids the Stripe processing fee and is the most popular choice for deposits — the guest's card is saved and authorized rather than charged, so no money moves unless you capture it.
{% endhint %}

{% hint style="info" %}
If the guest already has a usable card on file for the reservation, they may not need to re-enter it before the hold is placed.
{% endhint %}
{% endstep %}

{% step %}

### Step 4 — Allow skip and limit by channel

* **Allow skip** — when off (**No skip**), guests must choose a protection option before continuing in the Guest Portal. When on (**Skippable**), they can move past the step.
* **Channel configuration** — at the bottom of the step, choose **All**, **Include only**, or **Exclude** to control which booking channels see this step. Many managers exclude **Airbnb** here.

Save the journey, and the Protection step is live.

### Track protection in the Inbox

Once a guest completes pre-check-in, open the reservation in the **Inbox** to see its protection status at a glance. Click it to open **Protection Details**, including the coverage period, who paid, the Truvi verification, and a link to the broker.

| Status                | What it means                                               | What to do                                                                                            |
| --------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| **Covered**           | Background check passed; the guest is insured up to €50,000 | Nothing — enjoy the peace of mind.                                                                    |
| **Pending**           | The check hasn't finished yet                               | Wait; it usually resolves within moments.                                                             |
| **Covered (flagged)** | Insured, but with reduced coverage (e.g. up to €1,000)      | Stay aware — this guest had a minor prior issue.                                                      |
| **Rejected**          | Truvi won't insure this guest (the rare \~0.001%)           | Consider cancelling the booking. You pay no premium — only the small \~€0.25 admin fee for the check. |

To file a claim after damage, open the reservation's **Protection Details** and click **Open in Truvi**. Upload before-and-after photos and describe what happened; Truvi pays out within a few days.

### What the guest sees

In the pre-check-in flow, guests reach a **Protection** step and choose **Damage Waiver** or **Security Deposit** (with the price and your description). They pay as part of pre-check-in and see a summary of what they purchased before submitting — all before they reach the final Guest Portal with their access codes. After Protection, guests continue to Upsells and Fees, then ID verification if it's enabled.
{% endstep %}

{% step %}

### Step 5 - Deposit Activity

Deposit activity also appears on the reservation as it happens: when a guest **saves a card**, when a **hold succeeds or fails**, when funds are **captured or released**, and when a **refund or expiry needs attention**. When plans change, you can **pause or resume** a scheduled release or refund.
{% endstep %}
{% endstepper %}

## Upsells

The **Upsells** step offers guests early check-in and late check-out, priced per time window. It appears twice in the editor — in **Pre-check-in** (bought during registration) and in **Check-in** (bought while guests are in-house).

Upsell offers themselves are configured once for the organisation in **Settings → Organization → Upsells**; see [Upsells](https://docs.guestway.io/settings/organization-settings/upsells). The step in the journey just turns them on for this journey's properties.

1. In the Guest Journey editor, select the **Upsells** step in the phase you want.
2. Enable the step.
3. Click **Manage upsells** to review the offers that will appear here, or **Create a new upsell** to add one. Upsells created from this button inherit the journey's **Guest facing currency** and linked properties.
4. Set the **Channel configuration** — **All**, **Include only**, or **Exclude**.
5. Save the journey.

> An upsell is only offered in a journey when the two share the same **Guest facing currency**. The readiness alert on the upsell lists journeys that don't match.

#### What the guest sees

During pre-check-in the guest reaches an **Upsells** step listing early check-in and late check-out with the price for the time they pick. Names, prices, requested times, totals and approval status read the same in the basket, on the payment screen and in the registration summary, so the guest knows whether a request is confirmed, pending or waiting on your approval.

## Fees

The **Fees** step shows the guest what they owe before arrival and lets them pay it as part of pre-check-in — city tax, tourist tax, cleaning, or any charge you'd otherwise chase after check-in.

<figure><img src="https://3944456244-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBrW4TrHoVgRLXkGBzLVy%2Fuploads%2FphrKrtyMOZuCbK5Gmf6S%2Fimage.png?alt=media&amp;token=0443c573-50e4-437c-81ac-68a79c8cfb9b" alt=""><figcaption></figcaption></figure>

#### Step 1 — Turn on the Fees step

1. In the Guest Journey editor, select the **Fees** step.
2. Enable the step.
3. Set **Allow skip** — when off, guests must clear the step before continuing; when on, they can move past it.
4. Set the **Channel configuration** — **All**, **Include only**, or **Exclude**. Exclude channels that already collect these charges themselves.

#### Step 2 — Add a fee

Add one entry per charge.

| Field                | What it does                                                                                                                                                                                                                   |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Display name**     | The name the guest sees for this fee during pre-check-in.                                                                                                                                                                      |
| **Pricing type**     | How the amount is calculated — see the table below.                                                                                                                                                                            |
| **Amount**           | The value. A currency amount for fixed types, or a percentage for **Percentage of stay** — decimals are allowed (for example **7.5**), up to two decimal places, between 0.01 and 100. Type the decimal with a dot or a comma. |
| **VAT %**            | The VAT rate applied to the fee, so it lines up with the rest of your chargeable items. Whole numbers only.                                                                                                                    |
| **Sync to PMS bill** | Writes the fee to the guest's bill in your connected property system. When on, also set the **PMS name** used on the bill line.                                                                                                |

**Pricing types**

| Pricing type             | The guest is charged                                                                                                         |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| **Flat**                 | one fixed amount for the whole stay                                                                                          |
| **Per night**            | amount × nights                                                                                                              |
| **Per adult**            | amount × adults                                                                                                              |
| **Per adult per night**  | amount × adults × nights                                                                                                     |
| **Per person**           | amount × all guests                                                                                                          |
| **Per person per night** | amount × all guests × nights                                                                                                 |
| **Percentage of stay**   | a percentage of the accommodation fare — use this for anything that scales with the booking, city tax being the obvious case |
| **No charge**            | nothing — the fee isn't offered to the guest at all                                                                          |

> **Percentage of stay** accepts decimals such as 7.5%. If the value doesn't validate you'll see *Max 2 decimal places* or *Must be between 0.01 and 100*. The separate **VAT %** field still takes whole numbers only (*Must be a whole number*).

> **No charge** is how you suppress a fee rather than delete it. Selecting it disables the fee, so the guest never sees it. Use it when a charge doesn't apply to a particular channel or period but you want to keep the configuration in place.

New fees default to **Per night**.

#### Step 3 — Override a fee per booking source

Channels differ in what they already collect. Add a **channel override** on any fee to change — or switch off — that fee for a specific booking source.

1. On the fee, add an override and pick the **channel**.
2. Set whether the fee is **enabled** for that channel.
3. Set the override's own **pricing type** and **amount** — decimal percentages work here too.

The override replaces the fee's default pricing for reservations from that channel. Everything else falls back to the fee's own settings.

> A common setup: charge city tax at a percentage of the stay on direct bookings, and set an override to **No charge** on channels that already collect and remit it.

#### Step 4 — Pull unsettled items from your PMS

Turn on **Fetch unsettled items from PMS** to show the guest charges that already exist on their bill in your property system, alongside the fees you configured here. Give this its own channel scope if you only want it on some booking sources.

#### What the guest sees

During pre-check-in the guest reaches a **Fees** step listing each applicable fee with its name and calculated amount, plus any unsettled PMS items, and pays the total without leaving the journey.\
![](https://3944456244-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBrW4TrHoVgRLXkGBzLVy%2Fuploads%2FS1YjNiP3CpDEhVGIqpaq%2Fimage.png?alt=media\&token=4994f690-787f-4929-9a1f-6f940a113af1)

## ID verification

ID verification is the last pre-check-in step. Guests reach it after Protection, Upsells and Fees, so payment is already settled when they're asked for a document.

<figure><img src="https://3944456244-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBrW4TrHoVgRLXkGBzLVy%2Fuploads%2F2zXNewcujtFWjpjECr1T%2Fimage.png?alt=media&amp;token=d5abe3ec-1c20-4261-b147-7bbb60c04039" alt=""><figcaption></figcaption></figure>

For properties that require an identity check. Two capture settings are available:

* **Selfie required** (Premium) — match a selfie against the document photo for extra security.
* **Allow gallery images** — let guests select an existing photo from their device instead of using the camera.

*ID verification capture settings. ID verification is not required for damage waivers.*

ID verification is billed per completed verification and charged automatically each month:

| Option                                             | Cost per verification |
| -------------------------------------------------- | --------------------- |
| ID verification                                    | €0.49                 |
| ID verification with **Selfie required** (Premium) | €0.99                 |

## Self check-out

Enable **Self check-out** so guests can complete their own check-out on departure day instead of waiting for your team to close the stay. The guest reviews your check-out instructions from their booking screen in the **Guest Portal** and confirms check-out; the completed check-out is then recorded on the reservation.

#### Set up self check-out

1. In the Guest Journey editor, open the **Check-out** phase and select the **Self check-out** step.
2. Enable the step.
3. Write your **Instructions** — what you want the guest to read and act on before they leave. Keep it to the things that actually matter operationally: where to leave keys, windows and doors, waste, and what time they need to be out by.
4. Set the **Channel configuration** — choose **All**, **Include only**, or **Exclude** to control which booking channels see the step.
5. Save the journey.

> Instructions are optional in the form, but a self check-out step with no instructions gives the guest nothing to confirm against. Write them before you enable the step.

#### What the guest sees

On departure day the guest's booking screen shows your check-out instructions and a control to complete check-out.

#### Tracking check-out

Once the guest confirms, the check-out is recorded against the reservation with a **completed by guest** action and a timestamp, alongside the pre-check-in step timestamps. Use this to confirm a unit is genuinely free before releasing it to housekeeping.

<figure><img src="https://3944456244-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBrW4TrHoVgRLXkGBzLVy%2Fuploads%2FonkaWBEjCfqWWL3CQYJ8%2Fimage.png?alt=media&amp;token=77a52a47-0744-454a-b876-bdd3f36c81de" alt=""><figcaption></figcaption></figure>

## Tips

{% hint style="success" %}
**💡 Academy Tip — keep the journey short.** Shorter flows get better completion rates. Only ask for what you truly need at check-in. If a field isn't driving a decision, a task, or a legal requirement, leave it out.
{% endhint %}

{% hint style="success" %}
**💡 Academy Tip — price the waiver below the deposit.** If the waiver fee feels too close to the deposit, guests default to the deposit. A modest per-night fee (around €10) is a common sweet spot.
{% endhint %}

## Related

* [Upsells](https://docs.guestway.io/settings/organization-settings/upsells) — configure the early check-in and late check-out offers shown in the Upsells step.
* [Branding](https://docs.guestway.io/settings/organization-settings/branding) — set up the branding used across your guest journey (required for damage waivers).
* [Guest Portal](https://docs.guestway.io/guestway-platform/guest-portal) — the guest-facing web app where your journey is displayed.


---

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

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

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

```
GET https://docs.guestway.io/settings/organization-settings/guest-journey.md?ask=<question>&goal=<endgoal>
```

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

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

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