Guest Booking Flow
Every step a guest takes on your booking site, from dates to confirmation email, and how the booking lands in the PMS as a Direct reservation.
It helps to know exactly what a guest sees, because that is what you will be asked about on the phone. This page walks the funnel in order, then shows where the booking surfaces in the PMS.
Nothing can be booked from a draft. Quotes and bookings always read the published configuration, so a room type you selected but have not published is not for sale, and one you deselected stops selling the moment you publish.
1. Landing and search
The guest arrives on your storefront — your-slug.book.innvera.io, your own domain, or a link from your website. The hero carries your headline and a search bar with two controls and a button:
- Dates — a calendar that opens on the next two nights by default. Past dates cannot be picked.
- Guests — steppers for Adults (1–16), Children (0–10, labelled "Age 12 and under") and Rooms (1–8).
- The button reads Add dates until both dates are chosen, then takes the label you set as the CTA — Check availability by default.
Stays longer than 30 nights are refused with "Stays longer than 30 nights need to be booked with us directly."
The header also carries a Book now link and jump links to Rooms, About, Amenities, Gallery and Contact.
2. Room and rate selection
Searching lands the guest on Choose your room, with the search bar pinned above the results and a summary line of the stay — dates, nights, adults, children, rooms.
Each bookable room type shows a photograph, its name, and a row per rate plan carrying the rate name, its meal arrangement, and the total for the stay.
Rooms and rates that cannot be sold for those dates are not hidden. They appear under "Not available for these dates" with the reason, because a reason is something a guest can act on:
| Shown to the guest | Cause |
|---|---|
| Sold out for these dates | Not enough units free on one or more nights |
| Not available for these dates | Stop-sell on the rate plan |
| Closed to arrival on this check-in date | Closed-to-arrival restriction |
| Closed to departure on this check-out date | Closed-to-departure restriction |
| Does not meet the minimum stay | Minimum stay on the arrival date |
| Exceeds the maximum stay | Maximum stay on the arrival date |
| Occupancy exceeds room capacity | More adults or children than the room type allows |
If nothing at all is free the guest sees "Nothing free for those dates" and a prompt to shift the stay or reduce the number of rooms. All of this comes from the same inventory, rates and restrictions the front desk and the channel manager use — see Availability and rate sync.
Picking a rate asks the server for a quote: a priced, signed, single-use reference to that exact selection. It is valid for 20 minutes. The browser never carries a price of its own.
Extras and add-ons — coming soon
There is no extras step. The rate plan's own meal arrangement is shown on the rate row, but add-ons, upsells and separately priced meal plans are not part of the funnel yet.
3. Guest details
The Your details page shows the form on the left and a stay summary on the right — room, rate, dates, check-in and check-out times, line items and total.
| Field | Required | Notes |
|---|---|---|
| First name | Yes | |
| Last name | Yes | |
| Yes | "Your confirmation and any changes go here." | |
| Country | Yes | Chosen from a list |
| Phone | Yes | Digits, spaces and hyphens only |
| Estimated arrival time | No | Reaches the PMS as the reservation's arrival time |
| Anything we should know? | No | Up to 500 characters; becomes the reservation's special requests |
| Booking conditions tick box | Yes | "I've read and accept the booking conditions and cancellation policy." |
A panel above the button states the payment position plainly: Pay at the property — "Nothing is charged now. You'll settle the full amount when you check in."
If the quote timed out while the guest was filling the form, the same selection is re-priced before anything is confirmed and an amber notice says either "We refreshed your price" (unchanged) or "The price changed", showing the old and new totals. The guest is never charged a number they were not shown.
4. Payment
There is none. Phase one of the booking engine is pay-at-property throughout: no card is taken, no deposit is collected, and no payment page exists. The guest settles at the property and the amount posts to their folio like any other stay.
5. Confirming
Pressing Confirm booking sends the quote, the guest's details and a retry key — and nothing else. The server then re-checks everything before it writes a reservation, and refuses if:
- the quote has been used, or has expired beyond the refresh above — "This quote has expired — please search again";
- the room type or rate plan is no longer published — "This room and rate plan are no longer offered — please search again";
- the room is no longer available, with the same reasons listed above;
- the freshly computed price differs from the quoted one at all.
Pressing the button twice, or a network retry, cannot create two reservations: the same attempt returns the same booking.
6. Confirmation page
The guest lands on You're booked, with:
- the confirmation code — eight characters from an alphabet with no
0,O,1,IorL, so it can be read out over the phone without confusion; - hotel, room, rate, dates and nights, guests and rooms, check-in and check-out times, guest name and any special requests;
- the priced lines and Total, payable at the hotel, and the cancellation terms that apply;
- Add to calendar, and a Cancel this booking button when the policy still allows it;
- your phone and email for anything else.
The page is reached by a private link containing a token. That token is the guest's only credential — there is no account and no login — and it is what lets them come back to the booking later.
7. Confirmation email
Provided the guest gave an email address, a confirmation is queued immediately after the reservation commits. A mail problem never fails a booking that already exists; the message is retried in the background.
Subject: Your booking at [property] is confirmed — [code]. It carries the confirmation code, room, check-in date and time, check-out date and time, the guest summary, the total, the note that no payment was taken online, the cancellation position in plain words ("Free cancellation until…", or what cancelling now would cost), and a private link to view or cancel the booking.
The link in the email is the guest's only copy
The token is issued once and never re-issued. If a guest loses the email they cannot reach their booking online — look it up in the PMS for them instead. The email itself warns them not to forward it, because anyone holding the link can cancel the reservation.
How it lands in the PMS
The booking is created through exactly the same path the front desk uses, so nothing about it is a special case downstream:
| In the PMS | Value |
|---|---|
| Source | Direct |
| Status | Confirmed |
| Confirmation code | The eight-character code the guest was shown |
| Guest | Matched to an existing guest by email within your property, or created |
| Rates | The nightly rates the server computed, not anything the browser sent |
| Folio | Opened with the stay's room charges and taxes posted |
| Inventory | Taken for every night of the stay |
| Channels | The reduced availability is queued to your OTAs straight away |
Find it under Bookings, on the Calendar, or from the arrivals list on the day — see Managing direct bookings.
Tips
- Test the funnel after every publish. Book a room on your own site, then cancel it from the emailed link — two minutes, and it exercises the whole chain.
- Watch the "Not available" block. A room permanently listed there usually means a restriction on the rate plan, not a sold-out property.
- Keep check-in and check-out times right. They appear on the stay summary, the confirmation page and the email, and they decide the moment after which a guest can no longer cancel online.
Related
Custom Domain
Serve your booking site from your own hostname — adding the domain, the DNS records the PMS gives you, verification, HTTPS and each status.
Managing Direct Bookings
Where direct bookings show up in the PMS, what the guest can do for themselves, how cancellations and changes work, and what the property has to handle by hand.

