> For the complete documentation index, see [llms.txt](https://docs.hostelmate.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hostelmate.co/finance-management/property-setup/booking-engine.md).

# Booking Engine

Set up your hostel's direct booking page in Hostel Mate. Add property details, rooms, prices, payments, guest ID details, your own after-booking message and Google Analytics.

Your booking engine is the page where guests book directly with you, without going through Booking.com, Hostelworld or any other booking site. Direct bookings carry no commission, so the more guests you bring here, the more of each booking you keep.

Everything about that page is set up in one place in the Finance portal: open **Booking Engine** from the side menu.

## Finding your way around the page

The list on the left follows the same order a guest goes through when they book: first they read about your property, then pick a room, add extras, enter a coupon, pay, and finally receive their confirmation. Click any item and its settings open on the right.

Each item has a short summary under its name, such as "2 of 2 rooms on sale" or "Pay on arrival", so you can check your whole setup without opening every section. An orange dot means you've made changes that aren't saved yet. A red dot means something needs your attention, for example no payment method is switched on.

When you change a setting, a **Save** bar appears at the bottom of the screen. You can move between sections before saving and your changes will still be there when you come back, as long as you stay on the page.

Two buttons at the top help you check your work:

* **Copy link** copies the address of your booking page, ready to paste into your website, Instagram bio or a message to a guest.
* **Open booking page** shows the page exactly as guests see it.

{% hint style="info" %}
If you want the booking page inside your own website instead of on a separate link, see [Embedding the Booking Engine](https://docs.hostelmate.co/finance-management/property-setup/pages/BXsAGrRIos7TW4JkTj2N#id-4.-embedding-the-booking-engine-in-your-website).
{% endhint %}

## Property details: description, amenities and photos

This is what guests read before they decide to book, so it's worth spending a few minutes on it.

| Setting                   | What guests see                                                                                                              |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **City and country**      | Where your property is.                                                                                                      |
| **Phone and website**     | How to reach you with questions before booking.                                                                              |
| **Short tagline**         | One line under your property name, for example "Rooftop bar and dorms five minutes from the old town".                       |
| **Description**           | A few paragraphs about your place, the neighbourhood and what staying with you is like.                                      |
| **Amenities**             | The facilities you offer, such as Wi-Fi, lockers, a shared kitchen or air conditioning.                                      |
| **Address and map links** | Your address, a Google Maps link for the **View on map** button, and an optional **How to reach us** link (Waze works well). |
| **Hero photo**            | The large photo at the top of the page. Pick a wide, bright shot, at least 1280×720.                                         |

Room photos are added to each room separately, in [Room Inventory](/finance-management/property-setup/room-management.md).

## Rooms & pricing: what you sell online and for how much

**Rooms on the booking page.** Click a room to show or hide it. Hiding a room only removes it from your booking page. It stays on sale on your other channels and at the front desk, which is useful if you'd rather keep a private room for walk-ins or long-stay guests.

**Price adjustments.** These are percentage rules that apply to your booking page only. A common use is offering direct guests a small discount compared to the booking sites, so they have a reason to book with you. Your prices on other channels don't change.

**Booking tax.** If you need to charge tax, enter the percentage here. It's added on top of the price and shown to the guest as its own line at checkout. Leave it at 0 if you don't charge tax.

Your base room prices aren't set here. You manage them on the [Pricing](/front-desk/pricing.md) screen in the Front Desk app.

## Add-ons: extras guests can buy with their stay

Add-ons let guests add things like breakfast, an airport pickup or bike rental while they book. You decide the price, whether it's charged per night per guest or once per booking, and how many a guest can order. See the [Add-ons guide](/finance-management/property-setup/booking-engine/booking-engine-upsells.md) for details.

## Coupons: discount codes for direct bookings

Coupons are codes guests type in at checkout for a discount, handy for returning guests, partner promotions or quiet periods. You set the discount and the conditions a booking has to meet. See the [Coupons guide](/finance-management/property-setup/booking-engine/coupons-and-discounts.md) for details.

## Checkout & payments: how guests pay

### Choosing payment methods

Switch on the ways you want guests to pay:

| Method             | How it works                                                                              |
| ------------------ | ----------------------------------------------------------------------------------------- |
| **Card (Stripe)**  | The guest pays the full amount online by card. You'll need to connect Stripe first.       |
| **Pay on arrival** | The guest reserves now and pays when they check in.                                       |
| **Card on file**   | The guest leaves their card details and you charge the card later from your own terminal. |

For **Pay on arrival** and **Card on file**, you can also switch on **Hold in waitlist**. Bookings made that way won't be confirmed automatically. They go to your [waitlist](/finance-management/payment-processing/waitlist.md) and wait for you to confirm them, which gives you a chance to check the guest before the bed is blocked. Card bookings are paid up front, so they're always confirmed straight away.

{% hint style="warning" %}
At least one payment method needs to be on. If all of them are off, guests can't complete a booking.
{% endhint %}

### Connecting Stripe for card payments

You only need this if you want to take card payments online. Setup has two steps: paste your Stripe secret key, then add our webhook in your Stripe account so we're told when a guest has paid. The status bar at the top shows whether you're connected and to which Stripe account.

Below that, **Checkout options** lets you pass Stripe's processing fee on to the guest, choose the name that appears on the guest's card statement, and add your logo to the payment page.

The [Stripe setup guide](/finance-management/payment-processing/stripe.md) walks you through each step.

### Asking guests for their ID and where they live

If you need a guest's ID or passport number, or the city and country they live in, for example for invoices or guest registration, ask for it while they book. Under **Guest details** you'll find four fields:

| Field                     | Notes                                                                                        |
| ------------------------- | -------------------------------------------------------------------------------------------- |
| **ID or passport number** | Saved to the guest card.                                                                     |
| **ID type**               | Passport, national ID, driving licence or other. Only available when you ask for the number. |
| **City of residence**     | Saved to the guest card.                                                                     |
| **Country of residence**  | The guest picks it from a list. Saved to the guest card.                                     |

Set each one to **Don't ask**, **Optional** or **Required**. A required field has to be filled in before the guest can book.

A few things worth knowing:

* Guests who have booked with you before are only asked for what you don't have yet. If you already have their ID, they won't be asked again.
* If a guest already has a value on their card, booking online won't change it. Your team can correct it on the guest card at any time.
* Bookings from booking sites don't include these details, so your team fills them in on the guest card.
* You can ask for the same details on your [Self Check-In](/finance-management/settings/self-check-in.md) form too. Whichever the guest fills in first is saved to their card.

## After-booking message: what guests read when they finish

Right after booking, guests see a confirmation screen. By default it says "Confirmed" when the guest has paid online, and "Booking received" for every other booking, because those still need something from you or from the guest.

If your process is different, write your own. For example, if you take a deposit before a booking counts as confirmed, you could write: *"Request received. We'll contact you shortly to arrange your deposit."*

Open **After-booking message**. The list on the left shows each kind of booking:

| Kind of booking    | When guests see it                             |
| ------------------ | ---------------------------------------------- |
| **Paid online**    | The guest paid by card.                        |
| **Pay on arrival** | The guest chose to pay at the property.        |
| **Card on file**   | The guest left card details for you to charge. |
| **Waitlist**       | The booking went to your waitlist.             |

For each one you can change:

* **Badge**, the small label at the top (for example "Request received").
* **Title**, the big line under it.
* **Message**, a few lines of text. Line breaks are kept.
* **Button label**, the text on the button the guest presses to book (for example "Send booking request" instead of "Confirm & Pay at Property").

Write `{property}` anywhere and it's replaced with your property's name. Anything you leave empty keeps our text, and our text is shown in the guest's language. The preview shows exactly what the guest will see. **Use ours** puts a booking type back to our text.

{% hint style="info" %}
Write your message in the language most of your guests speak: it's shown as you wrote it, whatever language the guest picked.
{% endhint %}

## Policy: cancellation and refund terms

Here you write your terms for cancellations, no-shows, refunds and changes to a booking. Guests can read them on your booking page before they pay. Only admins and managers can see and edit this section. See [Writing your cancellation policy](/finance-management/property-setup/booking-engine/cancellation-policy.md).

## Booking emails: the confirmation guests get when they book online

When someone books on your booking page, they get a confirmation email straight away. If the booking goes to your waitlist instead of being confirmed, they get a waitlist email telling them you'll be in touch. Both are always sent and can't be switched off, because a guest who has just booked, and often paid, online needs to hear from you.

These two emails are separate from the ones on the [Email Notifications](/finance-management/notifications/email-notifications.md) page, which cover bookings from booking sites and bookings your team adds at the front desk. So if you've already written your own confirmation email there, guests who book on your website won't get it until you add it here as well.

### Writing your own confirmation email

Open **Booking emails**. At the top you'll see **Confirmation** and **Waitlist**, each marked either "Our default" or "Your own". Pick one and change the subject line or the email itself. Until you do, the editor shows our standard email, so you can see exactly what guests are getting today.

If you already have a confirmation email on Email Notifications, click **Copy from Email Notifications** and it's brought over for you. Read it through, then save.

Placeholders work the same way as on Email Notifications: click one in the list on the right to copy it, then paste it where the guest's details should go, for example `{{guest_name}}` or `{{start}}`. The list here is a little shorter, because these are the only details we have at the moment a guest books online. Switch to **Preview** to see the email filled in with sample details.

{% hint style="info" %}
Our standard emails are in English. If most of your guests speak another language, write your own so the first email they get from you is in their language.
{% endhint %}

### Going back to our email

Click **Use our default** and save. You can also leave just the subject empty: guests then get our subject line with your own email text.

Only admins and managers can see and edit this section.

## After booking: confirmation emails and check-in

Once a guest has booked, a few things happen automatically. They're set up on their own pages, and this section links you to each one:

* **Confirmation email.** Every online guest gets one straight away. You can write your own in [Booking emails](#booking-emails-the-confirmation-guests-get-when-they-book-online). If you don't, they get ours, which uses the address, phone number and check-in times from your [Property Profile](/finance-management/property-setup/property-information.md).
* **Pre-arrival and post-stay emails.** Scheduled [emails](/finance-management/notifications/email-notifications.md) sent before and after the stay. The pre-arrival email includes the self check-in link.
* **Self check-in form.** Your house rules, check-in instructions and the details guests fill in before they arrive. See [Self Check-In](/finance-management/settings/self-check-in.md).
* **Owner alerts.** Who on your team is told about new online bookings, and how. See [Owner Notifications](/finance-management/settings/owner-notifications.md).

## Analytics: see your booking page in your own Google Analytics

If you use Google Analytics 4, you can have your booking page's visits and bookings sent to your own GA4 property, so you can see where your direct bookings come from.

1. In Google Analytics, open **Admin → Data streams**, pick your website stream and copy the **Measurement ID**. It starts with **G-**.
2. In Hostel Mate, open **Booking Engine → Analytics**, paste the ID and switch on **Send to my Google Analytics**.
3. Save.

You'll see page views, searches, the checkout steps and completed bookings. Guests' names, emails, phone numbers and card details are never sent. In the EU, the UK and Switzerland, visits are counted without cookies.

To stop for a while, switch it off. The ID stays saved for when you turn it back on.

{% hint style="info" %}
Only GA4 measurement IDs (starting with G-) work. Google Tag Manager and older Universal Analytics IDs aren't supported.
{% endhint %}
