The last screen
A guest picks the cottage advertised at £95 a night, chooses three nights, enters their details, and arrives at a total of £441. The nightly rate was £95, but there is a £65 cleaning fee, a £25 booking fee, and a card surcharge. Nothing was hidden in a legal sense. Every line was disclosed. The guest still closes the tab, because they feel caught.
This is drip pricing, and it is the most reliable way a hospitality website loses a booking it had already won. The guest who abandons rarely complains. They go back to the marketplace, where the total was on the card in the search results, and book there instead.
Where the surprises come from
- Cleaning and changeover fees on holiday lets and glamping units.
- Booking or service fees added by the engine rather than the business.
- Resort or facility fees on hotels.
- Tax quoted separately, particularly where the engine defaults to net rates.
- Card or payment surcharges.
- Per-person supplements on tours, pitches and activity sessions.
- Minimum spends on private dining and group bookings, discovered at the enquiry stage.
- Deposits that the guest did not expect to pay today.
- Peak or seasonal loading that makes the "from" price unavailable on the dates they want.
None of these are wrong to charge. All of them are wrong to reveal last.
What consumer law expects
In most countries the total price a consumer must pay, including tax and any mandatory fee, has to be shown up front rather than added at the end. The UK, the EU, Australia, Canada and a growing number of US states have all moved in the same direction, and hotel and ticketing fees have been the specific target. The detail differs by country, but the direction is one way.
Treat inclusive pricing as the rule and optional extras as the only thing that can be added later. That is compliant nearly everywhere and resented nowhere.
Fix one: prices as records, not as text
Every priced thing on the site becomes a record with fields: name, the inclusive price or price range, what the price includes, what is genuinely optional, the season or dates it applies to, the minimum stay or party size, the deposit, and the cancellation terms. Room pages, pitch pages, tour pages and menu items all render from those fields.
This matters because it makes the site's price a single value that one person edits, rather than a number typed into six pages that drift apart. A holiday let with the cleaning fee as a field can show "from £95 a night, £441 for three nights including cleaning" without anyone doing arithmetic by hand.
Fix two: make the page total match the engine total
Take your own booking flow on a phone. Write down the number on the page, then the number on the payment screen. If they differ, the page is wrong, not the engine.
The engine is the source of truth for money, so configure it to display gross, tax-inclusive rates and to fold mandatory fees into the rate where it allows. Then set the site's records to match. Where fees cannot be folded in, list them on the page in the same words the engine uses, so the guest recognises the line rather than meeting it.
Fix three: explain "from" honestly
"From" prices are legitimate for seasonal accommodation and variable tours, and dishonest when the from-price applies to two nights in February. Beside every from-price, say what it is from: "From £95 a night, midweek off-peak; £140 in August. Three-night minimum in school holidays." Campsites with seasonal pitch pricing and boutique hotels with rate plans both need this line, and neither loses bookings by writing it.
Fix four: put the fee table where the doubt is
One short block on every priced page, and again on the prices page:
- What the price includes.
- Any mandatory fee, named and priced.
- The deposit and when the balance is due.
- The cancellation and refund policy in one sentence.
- Optional extras with prices: dogs, cots, late checkout, equipment hire, pitch electricity.
Guests read this block. It is often the last thing between them and the Book button.
Fix five: no surcharges the guest did not agree to
Card surcharges are restricted or banned in several markets and always disliked. If your engine adds a booking fee you do not control, either absorb it into the rate or state it in the same breath as the price. A restaurant charging a service charge should say the percentage and whether it is discretionary before the booking, not on the bill.
Fix six: mark the prices up for search
Prices held as fields can be output as structured data on room, tour and menu pages, so search results can show a total that matches the page. A search result showing an inclusive price attracts the guest who was going to compare anyway, and it sets the expectation correctly before they arrive.
The test
Book your own business as a stranger on a phone, on a busy date, for a party of four. Note every number you see. If the last screen introduces anything the first screen did not, that is the leak, and it is costing you the guests who were furthest through the process and closest to paying.
Where this sits
Inclusive prices held as records, matched to the booking engine and stated with the deposit and cancellation terms beside them, are part of every hospitality business website we build. It is the least glamorous work on the project and the one that most often turns an abandoned checkout into a booking.