Booking friction taxonomy

Where AI agents give up on hotel booking sites

A booking page can work perfectly for a guest and still fail for the agent acting on the guest’s behalf.

Vendor neutral · Supervised dry runs · Hard stop before submission

The failure is often silent

The agent does not always meet a clear block. More often a control is missing from the machine readable layer, a value appears to change and then reverts, or the interface changes before the next action arrives.

We observed these mechanisms across modern and older booking surfaces. Named negative findings remain internal. The public taxonomy describes the control failures without turning a small supervised sample into a vendor scorecard.

01

Coordinate dependent calendars

Dates and guest counts appear as custom buttons without usable names or input semantics. An agent must infer where to click from pixels.

02

Accessibility tree invisibility

The visual interface contains a full calendar while the machine readable layer exposes only a few unrelated controls.

03

State reversion

The page changes between observation and action. Coordinates go stale, a modal closes, or a value returns to its default without warning.

04

Hidden pricing

Rates appear only after a calendar or plan is opened, leaving no stable text surface an agent can compare before interaction.

05

Dropped rapid input

Repeated navigation or value changes are silently ignored, so the interface reaches a different date or guest count than the agent intended.

06

Intermittent entry controls

A reservation control works once, then fails without an error. Follow up actions land on background content instead of the booking flow.

07

Navigation dialogs

A leave page dialog or identity wall freezes control before the agent can continue or recover safely.

08

Environment translation errors

Automatic translation changes date text and breaks the widget value. This is an agent environment confounder, not necessarily a vendor defect.

Two confounders belong to the agent side

A visible date field can show the intended value while the booking engine submits a different default. Automatic page translation can also rewrite date labels into values the widget cannot serialize.

These mechanisms matter because they can produce confident wrong outcomes, not just visible failure. Agent readiness testing must verify the resulting state, not merely whether an interaction reported success.

What this means for product design

  • Expose booking controls through stable names and native semantics.
  • Confirm the submitted state after every value change.
  • Keep prices and availability readable outside transient visual states.
  • Separate a recoverable handoff from an unexplained dead end.
  • Record where property authority, identity, and payment properly begin.

Questions and boundaries

Booking friction questions

Why do AI agents fail on modern hotel booking sites?

Common causes include controls missing from the accessibility tree, coordinate dependent calendars, state changes between observation and action, hidden prices, silent value reversion, and payment or identity walls.

Is this evidence about one booking engine?

No. The public taxonomy is vendor neutral. It combines repeated mechanisms observed across several modern and older booking surfaces while keeping named negative findings internal.

Did the agents submit bookings?

No. Every supervised run stopped before submission, payment, or inventory hold.

Where AI agents give up on hotel booking sites · Spann