> 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/upsells.md).

# Upsells

Use **Upsells** to sell **early check-in** and **late check-out** to guests, priced per time window. Guests buy them during pre-check-in in the **Guest Portal** (and, for late check-out, during the stay), pay through your connected billing account, and the change is written to the reservation in your PMS.

## Overview

An upsell definition controls three things:

* **What is offered** — an early check-in or late check-out, with an internal name and a guest-facing name.
* **When and at what price** — one or more time ranges across the day, each with its own price.
* **How it is confirmed** — instantly on payment, or after your team approves the request.

Guests see the offer as part of registration, with the price for the time they request. Once purchased, the upsell appears on the reservation, in the inbox activity feed, and on the Pre-check-in card.

{% hint style="info" %}
**Where upsells fit in the Guest Journey.** Upsells are configured here, once for the organisation. The **Upsells** step in each [Guest Journey](https://docs.guestway.io/settings/organization-settings/guest-journey) only switches the step on and links back to this page. An upsell is offered in a journey only when the journey's **Guest facing currency** matches the upsell's currency.
{% endhint %}

## Opening Upsells

Go to **Settings → Organization → Upsells**. The overview shows one card per upsell with its **Active** / **Inactive** badge, the visibility badges (**Before stay**, **During stay**, **After stay**), a **Needs approval** icon where relevant, and a **Price timeline** of the configured time ranges.

> Viewing this page requires the *upsells read* permission; editing requires *upsells edit*. See [Users](https://docs.guestway.io/settings/organization-settings/users).

## Creating an upsell

{% stepper %}
{% step %}

### Step 1 — Pick the upsell type

Click **Add Upsell**. On **What would you like to add?**, choose a type:

| Type               | What it does                                         |
| ------------------ | ---------------------------------------------------- |
| **Early check-in** | Let guests arrive before the standard check-in time. |
| **Late check-out** | Let guests stay past the standard check-out time.    |

Tiles for **Extra night**, **Parking**, **Pet fee** and **Breakfast** are shown with a **Coming soon** badge and can't be selected yet.

> You can have one upsell of each type per property. If a property is already linked to an early check-in upsell, you'll see *Properties already linked* when you try to add another.
> {% endstep %}

{% step %}

### Step 2 — Name it and choose where it applies

In the left panel:

| Field                     | What it does                                                                                                                                                  |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Internal name**         | The name your team sees in Guestway. Required.                                                                                                                |
| **Guest-facing name**     | The name shown to guests in the Guest Portal. Required.                                                                                                       |
| **Description**           | Optional text shown to guests under the name.                                                                                                                 |
| **Guest facing currency** | The currency guests are charged in. Must match the guest journeys that should offer this upsell.                                                              |
| **Properties**            | The listings, multi-units or complexes this upsell is offered on. Select at least one.                                                                        |
| **When guests can buy**   | **Before check-in**, **During stay** or **After check-out**. Early check-in is always **Before check-in**; late check-out can also be bought **During stay**. |

> **Tip:** open the editor from the **Upsells** step of a guest journey (**Create a new upsell**) and the currency and linked properties are prefilled from that journey. A toast reads *Guest journey applied*.
> {% endstep %}

{% step %}

### Step 3 — Decide how requests are confirmed

| Toggle                                                         | On                                                                                                                                   | Off                                                                     |
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- |
| **Enabled**                                                    | Guests can purchase this upsell.                                                                                                     | The upsell is saved but not offered.                                    |
| **Needs approval**                                             | The request must be approved by your team before it is confirmed. The guest pays first and the request shows as **Awaiting review**. | Guests book instantly without approval.                                 |
| **Auto-refund on decline** *(shown when Needs approval is on)* | The guest is refunded automatically when you decline.                                                                                | Declining keeps the payment; the status reads **Declined (no refund)**. |
| {% endstep %}                                                  |                                                                                                                                      |                                                                         |

{% step %}

### Step 4 — Set time-based pricing

Under **Pricing → Available times**, build the timeline of when guests can request the upsell and what each window costs.

* Click **Add time range** to add a range. New upsells start with one range from **11:00** to **15:00** at price 0.
* Drag a range to move it, drag its edge to resize it, or use the **−** / **+** buttons to nudge an edge in 15-minute steps.
* Type the **price** for each range in the row below the timeline.
* Hover a segment to read *€X from HH:MM up to HH:MM*.
* Click the bin icon (**Remove range**) to delete a range.

| Rule                     | Detail                                                                                                                                                                          |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Ranges must be connected | Adjacent ranges share an edge, so moving one moves its neighbour. If a gap appears you'll see *Time ranges must be connected before you can save.* and **Save** stays disabled. |
| Maximum five ranges      | At the cap the hint reads *Maximum of 5 time ranges. Remove one to add another.*                                                                                                |
| Full day                 | The timeline covers 00:00 to 00:00. When there's no room left: *Timeline is full. Shrink a range to add another.*                                                               |

> A typical early check-in setup: **11:00–13:00** at a higher price, **13:00–15:00** at a lower price, standard check-in from 15:00. The guest picks their arrival time and sees the price for that window.
> {% endstep %}

{% step %}

### Step 5 — Sync the charge to your PMS

Still in the **Pricing** card, turn on **Sync to PMS folio** to write the charge to the guest's bill in your property system after payment.

| Option                       | What it does                                                                                                                                           |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **VAT percentage**           | Tax rate included on the synced charge (0–100).                                                                                                        |
| **Sync as bill line**        | Adds a bill line for the amount on the folio, then records the guest's payment.                                                                        |
| **Sync as service template** | Applies a [Service Template](https://docs.guestway.io/guestway-platform/service-templates), which adds the folio line for you and records the payment. |

Click **Create** (or **Save**). A toast confirms *Upsell created*.
{% endstep %}
{% endstepper %}

## Readiness check

The alert at the top of the editor validates your setup before guests can buy:

| Check                      | Requirement                                                                                               | How to fix                                                                    |
| -------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| **Billing account**        | A connected, usable billing account.                                                                      | **Fix** opens **Settings → Billing**.                                         |
| **PMS folio capabilities** | Your PMS must support syncing payments and charges to the folio and applying check-in/out changes.        | Shown per PMS; if unsupported, the upsell is sold but not written to the PMS. |
| **Guest journeys**         | Lists journeys whose **Guest facing currency** doesn't match this upsell — those journeys won't offer it. | **View** opens the journey to change its currency.                            |

Click **Re-check** after fixing an item. The alert reads **Upsell setup ready** when everything passes.

## Handling requests

Open the reservation (Inbox → **Reservation** tab, or the [Reservation Panel](https://docs.guestway.io/guestway-platform/reservation-panel)) and expand **Upsells (n)**. Each request shows **Definition**, **Requested time**, **Price**, **Requested on** and a status:

| Status                                           | Meaning                                           |
| ------------------------------------------------ | ------------------------------------------------- |
| **In basket**                                    | Added by the guest, not yet paid.                 |
| **Awaiting payment**                             | Guest is at the payment step.                     |
| **Awaiting review**                              | Paid; waiting for your **Approve** / **Decline**. |
| **Purchased**                                    | Paid and confirmed.                               |
| **Declined (refund)** / **Declined (no refund)** | Declined by your team, with or without a refund.  |
| **Cancelled by guest**                           | The guest withdrew the request.                   |
| **Reverted**                                     | The purchase was undone.                          |

Click **Approve** or **Decline** on a request marked **Awaiting review**. **Approved by** / **Declined by** records who acted.

Hover the calendar icon on the reservation for **Upsell availabilities** — how many early check-ins and late check-outs are already booked on the arrival and departure day, so you can judge whether to approve another.

Every change also appears in the conversation as an activity item — see [Unified AI Inbox](https://docs.guestway.io/guestway-platform/unified-ai-inbox#upsell-activity).

## Tips

{% hint style="success" %}
**💡 Academy Tip — use Needs approval for early check-in only when turnover is tight.** Instant confirmation converts better. Turn on approval where the cleaning window is short and keep **Auto-refund on decline** on so declines don't create refund tickets.
{% endhint %}

{% hint style="success" %}
**💡 Academy Tip — price the earliest window highest.** Guests self-select: a steep 09:00–11:00 price and a modest 13:00–15:00 price captures both the guest who must arrive early and the one who'd just like to.
{% endhint %}

## Related

* [Guest Journey](https://docs.guestway.io/settings/organization-settings/guest-journey) — enable the **Upsells** step in the pre-check-in and check-in phases.
* [Guest Portal](https://docs.guestway.io/guestway-platform/guest-portal) — where guests buy upsells.
* [Unified AI Inbox](https://docs.guestway.io/guestway-platform/unified-ai-inbox) — approve requests and read upsell activity.
* [Billing](https://docs.guestway.io/settings/organization-settings/billing) — the billing account that collects upsell payments.


---

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