InnveraDocs
Booking Engine

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.

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 guestCause
Sold out for these datesNot enough units free on one or more nights
Not available for these datesStop-sell on the rate plan
Closed to arrival on this check-in dateClosed-to-arrival restriction
Closed to departure on this check-out dateClosed-to-departure restriction
Does not meet the minimum stayMinimum stay on the arrival date
Exceeds the maximum stayMaximum stay on the arrival date
Occupancy exceeds room capacityMore 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.

FieldRequiredNotes
First nameYes
Last nameYes
EmailYes"Your confirmation and any changes go here."
CountryYesChosen from a list
PhoneYesDigits, spaces and hyphens only
Estimated arrival timeNoReaches the PMS as the reservation's arrival time
Anything we should know?NoUp to 500 characters; becomes the reservation's special requests
Booking conditions tick boxYes"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, I or L, 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 PMSValue
SourceDirect
StatusConfirmed
Confirmation codeThe eight-character code the guest was shown
GuestMatched to an existing guest by email within your property, or created
RatesThe nightly rates the server computed, not anything the browser sent
FolioOpened with the stay's room charges and taxes posted
InventoryTaken for every night of the stay
ChannelsThe 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.

On this page