Price disparity means one stay carrying two different prices in two places. In lodging that usually means your own website asking more than your listing on a booking platform, for the same room, the same dates and the same party, once every mandatory fee and tax is counted. A guest who sees the lower number books on the platform, and you pay commission on a reservation you had already won. Four settings cause most of that gap at a small property: a discount you switched on at the platform and never matched, a child your booking engine bills as an extra guest, a lodging tax added twice, and a final total on your site compared against a nightly rate on the listing. Every one of them is a setting you can check yourself.
Across the first half of 2025 the World Parity Monitor compared hotel listings with the hotels' own websites and found a platform cheaper in 75% of searches. Most properties are in this position.
Undercutting a platform and getting caught is the opposite problem, and it sits in your contract instead of your software. What a parity clause actually covers goes through that side. This one costs you quietly, because the guest who books the cheaper listing never mentions it.
What that gap cost us at our own property
I co-own MINT @Naschmarkt, 18 serviced apartments in five apartment types in Vienna. One identical stay came out at €1,000.34 on our own booking page against €756 through Booking.com, priced before we had fixed either the double counted tax or the extra guest charge. A €150 child fee was most of the difference. Our platform listings never billed children as extra guests, and our own booking engine did it on every family booking. A guest with two tabs open could see us asking more than the platform we pay commission to. Neither system flagged it. We took the fee off our own booking form and left the listings alone.
Cause one: a discount you are funding on the platform
Joining Booking.com's Genius program is optional and the property pays for the discount. Once you are in, 10% comes off your least expensive and most popular room type, at Genius Levels 1, 2 and 3 alike. A 15% discount at Levels 2 and 3 and a 20% one at Level 3 are extras you can switch on, and so are value adds such as breakfast or an upgrade.
The listing then sells at the discount while your own booking page still shows list price, and a guest comparing the two, usually in the strip of channel prices Google puts under a hotel, sees you charging 10% more to book direct. Matching it on your own site keeps you inside the parity clause, because the clause asks for the same or better on the platform and the same price is the same price.
Booking.com also ties eligibility for the program back to your prices. A property needs at least three guest reviews and a review score of 7.5 or better, and in most countries, the United States and Canada included, it needs competitive prices on Booking.com against other sites and against its own website. Leaving your own site above the listing keeps you eligible, which is part of why the gap survives.
Open the Genius section of the extranet, and whatever your other channels call their promotions list. Read the room type each discount is attached to. The 10% lands on one room type rather than across the property, and that room is usually the one a guest is pricing.
Cause two: the child your booking engine bills as an extra guest
Platforms charge for extra guests when you tell them to, which at most small properties is never, because nobody opened that screen. An extra guest fee, in Hostaway's glossary definition, is a per night surcharge that applies once the guest count on a reservation exceeds the base occupancy included in the standard nightly rate, and you set both the count and the amount.
A child rate is the separate setting that prices a child differently from an adult, and small properties skip it. Booking.com is blunt about what follows: if no child rate is configured, every guest is treated as an adult for pricing and room capacity. Whether children are allowed at all is also yours to set in the extranet.
| Where the stay is priced | Does a child escape the extra guest fee automatically? | Who decides |
|---|---|---|
| Booking.com | No. With no child rate configured, every guest is priced and counted as an adult | You, in the extranet |
| Airbnb | No, and there is no platform wide fee to be exempt from. You choose the guest count at which a fee starts and the amount | You, per listing. Children still count toward maximum capacity |
| Vrbo | Nothing published by Vrbo itself. Hostaway groups it with Airbnb and Booking.com as supporting a fee based on the booking guest count | You, per listing |
| Your own booking engine | No. In Hostfully, a fee set to apply per guest is multiplied by the number of guests for the whole stay, with no adult or child split | You, and this is the one nobody rechecks |
Vendor documentation checked on August 2026.
Start with the guest count your booking form sends to your property system when a reservation comes in. If the form sends one total, a family of two adults and two children arrives in the property system as four adults. The extra guest fee then lands on every night of the stay, and your listing charges the same family nothing for it. We fixed ours by splitting that field in two. The form now asks for adults and children separately, and only the adults count against the occupancy the rate already includes.
If you never set a child exemption on the platform side either, your listing bills that child exactly as your own site does, and a gap between the two means something else is wrong.
Cause three: a lodging tax counted twice
Your property system adds the tax, your booking engine adds it again, and neither one can see the other's line. Both screens read as correct, and the duplicate only appears in the guest total.
Hostfully's own fee and tax page describes the first half. A tax you apply to your direct booking channel can be folded into the rent so a guest never sees it as a separate amount. The rate that reaches your booking engine then has the tax inside it, and if the engine prints its own tax line the guest pays it again. Guesty names the same shape on the platform side: a listing's Airbnb tax status reads Stacked when Airbnb already collects some taxes and a tax you sync from Guesty is added on top, with you responsible for the extra.
| System | The setting | What it does to a guest total |
|---|---|---|
| Hostfully | Roll fee into rent | Folds the tax into the nightly rent invisibly. A second tax line from your booking engine is then a double charge |
| Guesty | Airbnb tax status: Stacked | Adds your synced tax on top of what Airbnb already collects, and the extra is yours to remit |
| Guesty | Invoice items to tax | Covers the fare alone or the fare plus fees |
| OwnerRez | Partner tax, passthrough tax | Channel remitted tax sits on its own grid, and OwnerRez does not remit or file for you |
Vendor documentation checked on August 2026. None of them flags the overlap, so catching a duplicate means reading two configurations side by side, which is why one can run for months.
Ours needed no code at all. A city lodging tax was already inside the base rate the property system handed over, the booking engine added a tax line on top of it, and one setting in the property system ended the double charge.
Cause four: two totals that were never the same total
Responsibility for the tax sits in a different place depending on the city and on the channel that sold the stay. Booking.com's US remittance page lists 14 states where it withholds and remits in full and 9 more where remittance is split with the host, Idaho and Illinois the most recent additions, so 23 in all; everywhere else the property remains responsible for the tax itself, and the Texas Comptroller puts a direct booking squarely on the owner. Who collects what, on which channel is worth a grid of its own.
Your own site now has to show the full figure. The FTC's rule on unfair or deceptive fees has covered short term lodging since May 12, 2025, your own website included: any price you display must show the total price, with every mandatory fee inside it, more prominently than the other numbers. Taxes may sit outside that headline figure, and they still have to be shown before the guest pays.
An owner glancing at both screens can be comparing a compliant total against a nightly rate with the cleaning fee three taps away. Compare the last screen before payment on both sides, because that is the only place where the two numbers contain the same things. Google Hotels and Tripadvisor already do this for the guest, listing each channel's price for your property side by side.
When the price is not one you set
If all four settings check out and the listing is still cheaper, look at who else is selling your rooms. Roberto Gobo of Valamar, quoted in the same parity research, put it in one line: "Disparity mostly happens when the hotel doesn't control the payment flow." A rate you released to a company that resells your rooms can appear on a screen at a price you never approved, and nothing in your own software will change it. That one is a distribution question for whoever holds the rate.
Price the same stay both ways
Take one booking that has already happened and price it again yourself, both ways. It takes about an hour.
- Choose a reservation from the past month, preferably a family booking with a child on it.
- Book that stay on your own website as a guest would, in a private browser window, and go as far as the screen before payment.
- Do the same on your biggest platform listing, with identical dates, unit and party, stopping at the same screen.
- Write both down line by line rather than comparing two headline rates.
- If your own total is higher, read the discount line first, then the extra guest line, then the tax line.
- To see what a guest sees without opening every channel, search your own property name in Google, open the panel of channel prices underneath it and set the same dates.
| Line | Your own site | The platform listing |
|---|---|---|
| Dates and number of nights | ||
| Adults and children, as a guest would enter them | ||
| Room or unit type | ||
| Nightly rate before anything is added | ||
| Any discount or member rate the channel applies | ||
| Extra guest or child charges | ||
| Cleaning and other mandatory fees | ||
| Lodging tax, as a named line | ||
| Total the guest pays at checkout |
Test with the party a guest would actually enter. Two adults can price identically at a property where every booking with a child on it is out by the price of a night. Repeat the test after any rate or fee change, because a tax edit does not reach reservations already taken. Clicking your own Book Now is the wider version of the same hour.
If your bookings run below about $350,000 a year, this is an hour of your own time and nobody should be charging you for it. Above that, the same gap repeats on every family booking you take, and if you would rather have somebody who has run this test on their own property run it on yours, book a call.