Study Parameters
- Testing method: Python/Playwright automated browser testing with event-based instrumentation (zero hardcoded overrides)
- Testing dates: May 6-7, 2026 (pre-registered protocol)
- Platforms tested: Plekify, NightsBridge, ResRequest, RoomRaccoon, Cloudbeds, Airbnb, Booking.com
- RoomRaccoon: CAPTCHA present — tested with human-in-the-loop assist
- Cloudbeds: All public reservation URLs return 404 — no testable booking engine
- Airbnb & Booking.com: Bot detection blocks headless automation — metrics based on documented UX patterns
- Test inputs: 2 adults, 0 children, check-in +7 days, check-out +8 days, desktop viewport (1280×720)
- Stop condition: Testing stopped at payment page (no bookings completed)
- PMS click methodology: All PMS systems assume the guest journey starts on the property website. The first click — Book Now or equivalent — navigates to the PMS booking engine. This +1 click is included in all PMS counts. OTAs and direct booking (Plekify) do not require this handoff.
- Plekify note: Properties use ResRequest demo sandbox for inventory. Booking mechanics (Shopify checkout, Shop Pay, autofill) are production-identical.
Metrics Measured
- Clicks to payment (C): Total clicks from landing to payment page — measured via Playwright click events. PMS systems include the initial Book Now click from the property website.
- Domain handoffs (H): Count of cross-origin navigations — measured via framenavigated events
- Form fields (Fld): Required input fields — measured via DOM inspection (HTML5 required attribute)
- Page loads (P): Full navigation events and SPA route changes — measured via load events
- Inquiry-only (I): Whether booking engine forces inquiry instead of instant book
- Autofill score (A): 0-5 based on autocomplete attributes
- Accelerated checkout (Acc): Shop Pay, Apple Pay, Google Pay availability
Friction Score Formula (Locked v3.0)
F = (Clicks × 1.0) + (Handoffs × 5.0) + (Fields × 0.5) + (Pages × 0.5) + (Inquiry × 3.0) − (Autofill × 0.5) − (Accelerated Checkout × 3.0)
Formula locked at pre-registration (2026-05-06). No post-hoc changes permitted. Higher handoff weight (5.0) reflects documented abandonment impact of brand context loss.
CAPTCHA as a Friction Point
- RoomRaccoon: CAPTCHA challenge appears at landing page — adds cognitive load and potential abandonment before guest can see availability
- Measurement approach: Human-in-the-loop mode pauses automation, records solve time, then continues instrumented measurement
- Limitation: Same human solved all CAPTCHAs — solve times may not represent typical guest experience
What This Framework Does NOT Capture
- Human time estimation: Removed in v3.0 — requires empirical human subjects validation
- Abandoned checkout recovery: Plekify (Shopify) automatically emails abandoned checkouts — no PMS in matrix offers this
- App ecosystem: Shopify's 21,000 apps extend functionality — no competitor matches this
- Single-page flow quality: Visual hierarchy and cognitive load are not instrumented
- Bot detection on OTAs: Airbnb and Booking.com block headless automation — metrics are not independently verified via Playwright
Industry Context Citations
- [C1] Baymard Institute: Every extra field reduces checkout completion by ~25%. baymard.com
- [C2] Baymard Institute: 18% of users abandon checkout because the process is too long or complex. baymard.com
- [K1] Kalibri Labs (2025): Direct booking retention is 95.82% vs 82.06% for OTA-redirected flows. kalibrilabs.com
- [H1] Industry benchmarks: Travel cart abandonment averages 87.1% — highest across e-commerce verticals.
Data Availability
Raw testing data, Playwright scripts, protocols, and full analysis available under MIT License: github.com/Matthew-Swart/booking-flow-friction-study