All guides

    Evidence-reviewed guide

    Breakfast Consistency Across Hotel OTA Listings

    A field-by-field process for auditing breakfast across public hotel listings: why availability, inclusion, price, and hours drift independently, how rate-plan scope creates false conflicts, and how to reconcile the field without breaking a meal plan.

    Reviewed by Lotte · Editorial owner: MisMatchMaker AI · Published 19 August 2026 · Evidence reviewed 27 September 2026

    Direct answer

    To audit breakfast across OTAs, separate it into four facts — whether breakfast exists, whether it is included in the rate being shown, what it costs when it is not, and when it is served — and compare each on at least two readable listings. Most apparent breakfast conflicts are rate-plan scope differences rather than errors, so establish which rate plan each listing is describing before correcting anything.

    Key takeaways

    • Breakfast is at least four independent facts, and each can drift on its own.
    • Inclusion is a property of the rate plan, not of the property, so two channels can both be right.
    • Check which rate plan a listing is displaying before treating an inclusion difference as an error.
    • Price without a basis — per person, per night, child rate — is an incomplete answer.
    • A promotional bundle that is never unwound is a recurring source of stale breakfast data.

    Breakfast is four facts, not a yes or no

    A breakfast audit that compares a single yes/no value will produce confident findings that are wrong. The field is really four: whether the property serves breakfast at all, whether it is included in the rate a particular listing is showing, what it costs when it is bought separately, and when and how it is served. A listing can be internally consistent on all four and still disagree with another channel on one.

    Structured lodging models treat these separately. Google's lodging schema defines distinct values for breakfast availability, free breakfast, and buffet breakfast, which is a useful confirmation that the underlying data model expects them to be maintained independently rather than derived from one another.

    Audit the four facts separately, and record which of them each channel actually exposes as a structured field. Where a channel has no field for a fact, the fact will live in policy text and needs comparing as text.

    The breakfast facts to approve before auditing
    FactApproved valueQuestion to resolve
    ServedYes, no, or seasonalIs it served every day of the week?
    IncludedDepends on rate planWhich published rate plans include it?
    PriceAmount and currencyAdult price; is there a separate child price?
    Price basisPer person per dayIs it charged per person or per room?
    TypeBuffet, continental, à la carteDoes the type change at weekends?
    HoursStart and end, local timeDo weekend or holiday hours differ?
    LocationRestaurant, room, off-siteIs in-room breakfast charged differently?
    Dietary provisionWhat is genuinely availableCan the kitchen actually deliver it daily?

    Inclusion belongs to the rate plan, not the property

    This is the single most misdiagnosed finding in a breakfast audit. Whether breakfast is included is a property of the rate plan being displayed, not of the hotel. Booking.com documents attaching meals to specific rate plans, or offering them as a paid add-on with a price. A property can therefore publish a breakfast-included rate on one channel and a room-only rate on another and be entirely correct on both.

    That makes the comparison harder than it looks. Two listings showing different inclusion values are only in conflict if they are describing the same rate plan. Before recording a finding, establish which rate plan each public page was showing at the moment the evidence was captured — and note that this can change with the dates and occupancy searched.

    The genuine errors in this area are narrower and worth isolating: a rate plan whose name promises breakfast while the meal is not attached, a breakfast-included plan published on one channel only when it was meant to be everywhere, or an add-on price left at an old value.

    • Compare inclusion only between listings showing the same rate plan.
    • Record which rate plan each captured value came from.
    • Check that a rate-plan name promising breakfast actually has the meal attached.
    • Treat an inclusion difference across different rate plans as a scope difference, not a conflict.

    A breakfast price needs a basis

    An amount alone does not tell a guest what they will pay. Breakfast is usually charged per person per day, but it is sometimes quoted per room, sometimes with a separate child rate, and sometimes with children below an age free. A family of four reading a single adult price has not been given the information they need.

    Tax treatment is worth recording too, because it determines whether the published figure is what the guest pays. Where the platform expects a tax-inclusive figure and your source of truth holds a net price, the conversion needs doing once, in the source of truth, rather than repeatedly and inconsistently by whoever edits a listing.

    When comparing channels, treat amount, currency, basis, and child policy as separate values. A channel with the right amount and the wrong basis is a real finding, and it is the one most likely to surface at the desk as a dispute.

    • Publish amount, currency, and basis together.
    • State the child price or the age below which breakfast is free.
    • Record whether the published figure includes tax.
    • Check a worked example — two adults, one child, two nights — against what the desk would charge.
    • Keep the exact public wording beside any normalised value.

    Why breakfast data goes stale

    Breakfast drifts more than most fields because more people can change it. Food and beverage sets the hours and the type, revenue management attaches the meal to rate plans, and marketing bundles it into a promotion. Each of those changes can reach the public listings through a different route, and only one of them usually comes with a checklist.

    The promotional bundle is the most reliable offender. Breakfast is included in a campaign rate for a season, the campaign ends, and the rate plans are unwound on the channels the campaign ran on — but the property-level breakfast attribute, edited at the same time, is left as it was. The listing then advertises free breakfast the property stopped offering.

    Seasonal service changes create the same pattern in reverse. A property that reduces to a continental offer out of season, or moves breakfast hours an hour later, should treat the listing update as part of the operational change rather than a separate task that may not happen.

    • A promotion bundles breakfast and the property-level attribute is never unwound.
    • Hours change seasonally and reach some channels only.
    • The type changes from buffet to continental without the listings following.
    • An add-on price is updated in one extranet and left stale elsewhere.
    • A rate plan is republished and loses its attached meal.

    A repeatable breakfast audit

    Because inclusion depends on the rate plan, the capture step matters more here than in other fields. Search the same dates and occupancy on each channel, record the rate plan alongside the value, and only then compare. An audit that captures different search parameters per channel will generate conflicts that do not exist.

    Correct at the interface that owns each fact — the meal plan for inclusion, the property attributes for availability and hours, the add-on configuration for price — and verify the public result afterwards. A saved rate plan is not evidence that the public page now shows the meal.

    Capturing breakfast evidence that can actually be compared
    1. Fix the search

      Use the same dates and occupancy on every channel before capturing anything.

    2. Capture with context

      Record the value, the rate plan it came from, the wording, and the URL.

    3. Separate the facts

      Compare availability, inclusion, price, and hours independently.

    4. Classify

      Distinguish a genuine conflict from a rate-plan scope difference or missing evidence.

    5. Correct and verify

      Edit at the owning interface, then re-check the public page after publication.

    Frequently asked questions

    Does 'breakfast not mentioned' mean it is not offered?

    No. A missing field means the public evidence is incomplete — the value may never have been set, may be inherited from a connectivity provider, or the page may not have been readable. Confirm the real offer in your own records before changing anything, and record the finding as missing rather than as a conflict.

    Why does one OTA show breakfast included and another does not?

    Usually because they are displaying different rate plans. Inclusion is a property of the rate plan rather than of the hotel, so two channels showing different plans can both be correct. Compare like-for-like rate plans, searched on the same dates and occupancy, before treating the difference as an error.

    Should the breakfast price include tax?

    That depends on what each platform expects and on local rules, so there is no single correct answer to publish everywhere. What matters is that you decide once, record the basis in your source of truth, and apply it consistently — the failure mode is different channels showing net and gross figures that look like a pricing error.

    How should we handle a seasonal change to breakfast hours?

    Treat the listing update as part of the operational change rather than a separate task. Record the new hours in the source of truth with an effective date, update each owning interface, and verify the public pages afterwards. Seasonal changes are the most common reason a published time is months out of date.

    Is a difference in breakfast type worth fixing?

    Yes, if the published type is no longer what the kitchen serves. A guest who booked expecting a buffet and finds a continental tray has been misled by the listing, which is the same class of problem as a wrong price even though no money is involved. It is also one of the easier fields to correct once it has been noticed.

    What breakfast details does MisMatchMaker compare?

    It compares breakfast availability, whether it is included, the price, and the hours published on supported OTA listings, reporting where they disagree and where evidence is missing. It does not evaluate the food, and it cannot tell you which rate plan a platform chose to display.

    Related guides

    Related tools and references

    Hotel child policies across OTAs

    Where each channel draws the child age line, whether a free child counts against occupancy, and the family search test that shows what guests are quoted.

    Expedia Partner Central explained

    One listing, several public brands: what Partner Central controls, what Expedia Group does not document openly, and how to confirm a change landed.

    Hotel OTA listing consistency study

    Original measurements of how often a hotel's own OTA listings disagree, with the selection rule, scan window, mismatch definition and limits published in full.

    Compare the supported fields

    Run a session-only check across supported OTA listings, then confirm any change in your own source of truth.

    Run a free match check

    Not ready to scan? See a sample report or read how the check decides a field disagrees.