Direct answer: when an AI quote engine, chat booking assistant or agentic itinerary builder shows a UK consumer a price for a flight, hotel, villa, package or tour, that first priced invitation must present the **total price** — including unavoidable booking fees, taxes and mandatory local charges the consumer will necessarily pay — not a headline figure that drips mandatory costs later. A model may help assemble itinerary options and draft explanations. It must not invent a cheaper-looking base fare, bury mandatory fees in later turns, or treat partitioned component lines as a substitute for a clear total.
That is the operator question Kaize is answering here. We are a UK AI product studio for travel and hospitality: we help hotels, villa managers, tour operators, DMCs and travel-tech teams put AI into real booking and operations systems without creating compliance or trust failures. Price presentation is a product-component problem, not a prompt-engineering tip.
Primary evidence is first-party UK material: the Competition and Markets Authority’s price transparency guidance (CMA209) and its summary on providing clear and accurate information about prices, read alongside the CMA’s unfair commercial practices guidance (CMA207) under the Digital Markets, Competition and Consumers Act 2024 (DMCC Act). Those sources make drip pricing — showing an initial price then adding mandatory charges later — an explicit enforcement focus.
Why this is a quote-engine problem, not a prompt problem
CMA209’s summary is blunt: traders must provide total prices up front; it is illegal to hide additional fees, taxes or other charges the customer will have to pay until later in the purchase process. An “invitation to purchase” is broader than a final checkout button — it includes online marketing, emails, social posts and website pages that tell a customer about a product **and its price**. The total price must be presented clearly and in a timely way the customer is likely to see; otherwise the information is treated as omitted.
Mandatory charges that normally belong in the total include booking fees, VAT and other unavoidable payments required to buy or receive the product. Mandatory local charges such as resort fees and taxes should be included in the invitation to purchase and, where they can reasonably be calculated, in the total price itself. “From” or indicative prices (for example a holiday based on a 7-night stay for two between stated dates) should still include applicable taxes and charges. Where part of the price is paid locally, consumers need clear pay-now / pay-locally amounts **in addition to** the overall total.
A large language model that “mentions fees somewhere in the chat” does not satisfy “total price up front” in a clear, timely, likely-to-be-seen form. Conversational UIs that reveal the booking fee on turn four, or show a partitioned list of components without a prominent total, recreate classic drip and partitioned pricing inside a new interface. That is a booking-component contract problem — the same class of failure as bolting AI onto journeys that break in production after looking fine in demos.
What changes for AI quotes, chat and assisted booking
AI compresses the funnel. The first message that attaches a selectable or comparable price is already an invitation to purchase for DMCC purposes. Optional extras (seat selection, next-day delivery-style add-ons, genuinely optional insurance) can stay separate. Mandatory per-transaction booking fees and unavoidable taxes cannot wait for a later “fees apply” footnote.
What the assistant may draft
- Candidate itinerary narratives and comparison explanations once a **pricing component** has already computed and bound the total price from systems of record.
- Plain-language breakdowns that sit **beside** a prominent total (pay now / pay locally, what’s included), without replacing the total.
- Questions that collect customer requirements needed to calculate a price that genuinely cannot be fixed until those requirements are known — with calculation method shown as prominently as any partial figure.
What the assistant must not own
- Inventing or rounding down a headline price that excludes mandatory booking fees, taxes or calculable local charges.
- Streaming a “great deal” figure first and revealing unavoidable fees in a later turn, modal or checkout step.
- Presenting only partitioned lines (fare + tax + fee) without a clear total the consumer is likely to see at the same moment.
- Treating supplier net rates, marketing “from” copy or incomplete channel feeds as consumer-facing totals without a deterministic inclusion ruleset.
That split matches how Kaize thinks about controlling AI agents that access booking and customer systems: generation is optional; price truth and mandatory disclosures are not.
Build the total-price card as a product component
Treat CMA209’s total-price rules as a booking-component contract, not a content guideline for the model.
- Source mandatory fees and taxes from finance / rating / tax tables — not from freeform model output.
- Compute `total_price`, `pay_now`, `pay_locally` and currency/FX metadata in application code before any assistant message that invites purchase.
- Render a dedicated total-price card (or equivalent structured UI) in every path that can show a selectable price: web checkout, mobile, call-centre assist, chat, and agent tools.
- Refuse to emit a priced invitation if required mandatory inputs are missing; ask for requirements or show calculation method with equal prominence instead of guessing.
- Log whether the total-price component rendered with the invitation — instrument the UI event, not only the prompt transcript.
Wire the component into every channel that can create a priced invitation, including supplier-fed and OTA-style surfaces. Incomplete channel data is not an excuse to drip mandatory charges; it is a reason to block the invitation or show calculation method clearly until the total can be calculated.
Adjacent controls — do not confuse total price with ATOL choice disclosure
DMCC total-price rules sit beside, not instead of, ATOL invitation-to-choose disclosures. If the consumer is invited to choose an ATOL-protected flight or package, AST 1.4A–1.4C still require protection awareness and key flight facts beside price before choice. Showing a compliant total price does not satisfy ATOL proximity rules, and showing ATOL badges does not satisfy DMCC total-price rules. Package-journey changes under UK Package Travel Regulations are a third, related layer for organisers.
How this fails when AI is bolted on
The failure mode is familiar: marketing wants a sharp headline figure; the model obliges with a net-looking fare; booking fees and resort taxes appear after the consumer has mentally committed; compliance discovers the gap in a CMA enquiry or complaint file. Chat makes it worse because “later in the journey” can be three conversational turns later with no stable price card.
Instrument priced invitations. Log the bound total, mandatory-charge breakdown IDs, whether pay-locally was shown, and whether the assistant was blocked from emitting a price when inputs were incomplete. Pair that with the same production discipline used for AI rebooking boundaries: prepare and explain, do not silently own regulated consumer-facing facts.
What Kaize will and will not claim
This article is systems and product guidance for UK travel operators, OTAs, agents and travel-tech teams implementing AI-assisted quotes and booking. It is not legal advice, not a substitute for counsel, and not a claim that Kaize has audited any named client’s pricing UI. CMA209 and the DMCC Act remain the primary sources; your compliance owners decide how they apply to your channels.
If you want a structured review of where AI belongs in booking journeys — and which price and disclosure components must stay deterministic — start with Kaize’s AI Opportunity Review or the practical framing in AI for Travel.
FAQ
Can we show a low headline fare and list fees underneath without a single total?
CMA209 treats showing component parts without an overall total as partitioned pricing risk. Separating mandatory charges is not normally enough: the consumer needs the total price presented clearly and in a timely way they are likely to see. A fee list without a prominent total is the failure mode, not the fix.
Does a chat reply that eventually mentions the booking fee comply?
Unlikely if the first priced invitation omitted mandatory charges the consumer will necessarily pay. Drip pricing is about introducing mandatory charges later in the purchase process — including later conversational turns. Bind and show the total when the price is first invited.
What if local resort taxes depend on party size we do not know yet?
Where the nature of the product means you cannot reasonably calculate part of the total until customer requirements are known, CMA209 expects you to give the information needed to calculate that part, with prominence equal to the calculable portion — not to invent a tidy low total. As soon as you can reasonably calculate the charge, include it in the total.
Is this legal advice?
No. Price-transparency compliance remains with your trading, compliance and legal owners. This page explains how AI quote and booking UIs interact with published CMA guidance under the DMCC Act.