An open, pre-registered study

The lowest measured friction score of 12 systems

We tested 12 hotel booking systems the same way: automated runs, pre-registered, raw data public. Plekify scored 10.9 on the friction index, the lowest measured. 19 seconds, search to confirmed booking, zero handoffs, on the hotel's own domain.

Recipe

Shopify checkout, the Plekify app, Apaleo: the recipe that scored lowest.

Shopify checkout: the conversion layer

250M+ buyers already use Shop Pay. Shop Pay converts up to 50% higher than guest checkout. Checkout is one page, hosted on the hotel's own domain, secured to PCI-DSS Level 1. This is the layer where bookings are won or lost.

Plekify: the bridge

Plekify connects PMS inventory to a Shopify storefront on the hotel's own domain. Zero handoffs. 19 seconds to a confirmed booking. Friction index 10.9, the lowest of 12 systems measured in this study.

Apaleo: the system of record

Rates, availability and operations stay in the PMS, exactly where hoteliers expect them. Plekify is the booking engine; Apaleo is the system of record, run on an open API. Read more about how Apaleo works.

Together, Shopify checkout, Plekify and Apaleo form the highest-conversion recipe measured in this study.

Findings

Three headline results

Shopify checkout, the Plekify app and Apaleo produced a 19 second checkout, 0 handoffs and a friction index of 10.9. Shop Pay's 250M+ buyers and its up to 50% higher conversion than guest checkout complete the recipe.

Off-domain booking engines, NightsBridge's included, carry a handoff penalty: 1 handoff, 16 form fields, friction index 22.9 vs 10.9. Industry data puts direct bookings more than 60 percent above OTA value ($519 vs $320), with cancellation rates of 10.6 percent vs 21.8 percent. See /pages/nightsbridge.

Most systems score at or below 2.0; agents get blocked at the cart (Cloudbeds) or at identity walls (OTAs). Only Plekify scores Open, 3.0 — the agent-readiness story continues at /pages/mcp.

The table

All 12 Systems, Side by Side

Friction index: lower is better. Agentic-readiness score: higher is better. Form fields, handoffs, outcome, and payment method are reported as measured, no adjustment.

System Friction (LFI) Fields Domain hand-offs Outcome Payment ARS Apaleo IBE †
Plekify 10.9 0 (Shop Pay) / 22 (guest) 0 reached payment · 19s Shop Pay · Apple Pay · Google Pay · card 3.0
Mews 16.6 1 reached payment · 67% card (Mews Payments) 1.9
NightsBridge 22.9 16 1 reached payment card · EFT 1.35
SiteMinder 29.4 14 1 reached payment card (property gateway) 1.5
Cloudbeds agent-blocked at cart (isTrusted guard) 2.0
RoomRaccoon agent-blocked (kept as exhibit) 1.4
Booking.com API gated · bot-defended 1.8
Airbnb closed API · login-walled 1.25
Expedia hard bot-wall 0.6
Travelstart bot-walls · login-walls 1.4
Stayntouch 1.6
OPERA-ecosystem 1.2
Apaleo IBE 0 (API-driven, same domain) no public demo IBE to walk card via Apaleo Pay (Adyen Drop-in)

† Apaleo IBE not scored. Apaleo is the system of record in this study; Plekify is the booking engine tested.

Provisional: 3-run morning sample. Full-day sampling to follow.

Methodology

Methodology

Friction index: lower is better. Agentic-readiness score: higher is better. Form fields, handoffs, outcome, and payment method are reported as measured, no adjustment.

01What we measured

We measured real booking flows on one test property, in one market, using automated runs. Every run's raw output is posted to a public GitHub repo. The protocol was pre-registered before any run took place, so the metrics, formula and scope were fixed in advance, not fitted to the results afterward. This page reports what that protocol produced. Nothing here was measured retroactively or adjusted after the fact.

02The systems under test

We tested 12 systems spanning four categories: hotel IBEs, PMS booking engines, channel managers and OTAs. Each system completed the same booking task on the same property, dates and party size. The set was chosen to represent how hoteliers actually sell today, not to isolate a single competitor. Full system names and configurations are listed in the public repo alongside the raw run data.

03The friction formula

Friction is scored as `F = C + 6.6H + Fld_excess + P + 9.8I − 3.7A − 5.4Acc`. Each letter corresponds to a measurable step in a real checkout: clicks, domain handoffs, excess form fields, page-load time, interactive interruptions, address autocomplete and accelerated checkout. The formula is pre-registered and frozen. We disclose a known discrepancy in panel 4 rather than silently reconcile it.

F = C + 6.6H + Fld_excess + P + 9.8I − 3.7A − 5.4Acc

04The weights

Weights: C clicks 1.0 · H domain handoffs 6.6 · Fld_excess form fields beyond 8, 1.0 · P page-load seconds 1.7 · I interactive interruption (CAPTCHA or challenge) 9.8 · A address autocomplete −3.7 · Acc accelerated checkout (Shop Pay, Apple Pay, Google Pay) −5.4. Weights are calibrated to the Form-Field Unit, where one field equals 4.1% relative conversion loss. Disclosure: the displayed formula string shows P unweighted, while the pre-registered protocol carries P at 1.7. The string is frozen as originally published; the discrepancy is disclosed here rather than silently reconciled.

SignalWeight
C — clicks1.0
H — domain hand-offs6.6
Fld_excess — form fields beyond 81.0
P — page-load seconds1.7
I — interactive interruption (CAPTCHA/challenge)9.8
A — address autocomplete−3.7
Acc — accelerated checkout−5.4
05The agentic-readiness rubric

Agentic readiness is scored as `ARS = 0.20·SD + 0.15·BM + 0.20·CW + 0.15·AP + 0.20·API + 0.10·PA`, on a 0–3 scale. Signals: SD structured data, BM robots/bot posture, CW CAPTCHA/WAF friction, AP express payments, API public API, PA protocol adherence. "Agent-ready" means an autonomous agent can discover and complete a booking on the open web without a private commercial agreement. This is separate from the friction score and measures a different property of each system.

SignalWeight
SD — structured data0.20
BM — robots/bot posture0.15
CW — CAPTCHA/WAF friction0.20
AP — express payments0.15
API — public API0.20
PA — protocol adherence0.10
06Intent-to-treat and outcomes

We used intent-to-treat: every system starts every run, with no exclusions after assignment. Timeouts score the maximum penalty rather than being dropped from the sample. Each run resolves to one of four outcomes: reached payment, redirected off-domain, agent-blocked, or errored. This taxonomy is applied consistently across all 12 systems so partial failures are counted, not discarded.

07Matching the properties

All compared systems were tested against the same property, the same dates and the same party size. This holds the booking task constant across systems so differences in friction and outcome reflect the checkout path itself, not variation in what was being booked. Property details and configuration are published in the repo.

08The statistics

Friction times are modeled as lognormal. Confidence intervals use cluster bootstrap with bias-corrected acceleration and 10,000 resamples. We also ran a sensitivity analysis on the un-recalibrated click weight to check whether results depend on that calibration choice. Full statistical code is in the public repo alongside the raw runs.

09Ethics

No real bookings were completed during any run. No CAPTCHA solving was performed. No terms-of-service violations occurred in the course of testing. Where a system presented a CAPTCHA or similar challenge, that run was scored as an interactive interruption and stopped there.

10Limitations and conflict of interest

This study covers one test property and one market; results may not generalize beyond that scope. The Mews result is provisional, based on a 3-run morning sample. Plekify sponsored this study and topped the table. We mitigate this conflict with a pre-registered protocol, a public repo of raw runs, and an open invitation to replicate or challenge the results.

11Replicate it

The full protocol, raw run data and scraper are published in the public GitHub repo. Anyone can rerun the study, audit the scoring, or extend it to another property or market. We built it this way because a friction study that cannot be checked is not evidence. Replication attempts and disputes are welcome.

Sources

Every Figure, Sourced

Each number on this page links to an inline popover citing its source. The full study, methodology, and raw runs sit in a public GitHub repo, open for inspection and replication.

  1. The open repository — pre-registered protocol, raw runs, code
  2. Shop Pay buyer network — Shopify Editions
  3. Shop Pay conversion lift vs guest checkout — Shopify Editions
  4. Direct vs OTA booking value — SiteMinder channel data
  5. Cancellation rates by channel — Cloudbeds Hospitality Industry Report
  6. Protocol & raw runs — the open repository
  7. PCI-DSS Level 1 — Shopify security
  8. Shopify uptime commitment
  9. Shop Pay network size — Shopify Editions
  10. Apaleo developer documentation — the open, API-first PMS platform

This study covers one test property in one market. Plekify sponsored the study and topped the table. The protocol was pre-registered before testing began, raw runs are public, and we invite replication by any hotelier, technologist, or competitor.

Trust

Pre-registered protocol, raw runs public
PCI-DSS Level 1 certified
99.9% uptime
250M+ Shop Pay buyers

See it on your own inventory

Plekify is the live two-way bridge between your Apaleo PMS and Shopify — your rooms, your rates, your checkout, on your own domain.

See the live demo Book a 20-minute intro Read the repo ↗ No sign-up required, runs in your browser

The race

Six checkouts. One race. Time decides.

Each bar shows time to a confirmed booking. Plekify's 19 seconds is real measured time; other bars derive from each system's friction index. Mews (16.6) is provisional, from a 3-run morning sample, and flagged accordingly. The race replays continuously. With reduced motion enabled, it shows the final state only.

Cloudbeds and the OTAs (Booking.com, Expedia) stopped the automated runner at the cart step, before a measurable time-to-booking could be recorded.

Plekify On-domain · Shop Pay · UCP agent-ready 10.9 · 19s0 hand-offs · Shop Pay
19s✓ done
Mews Provisional · channel handoff · ARS 1.9 16.61 hand-offPROVISIONAL · n=3
29s✓ done
NightsBridge Channel handoff · ARS 1.35 22.91 hand-off · 16 fields
40s✓ done
SiteMinder Channel handoff · ARS 1.5 29.41 hand-off · 14 fields
51s✓ done
Cloudbeds agent-blocked at cart (isTrusted guard) · ARS 2.0 agent-blocked
30s
OTAs · Booking / Airbnb / Expedia / Travelstart agent-blocked — bot-walls, login-walls, closed APIs · ARS 0.6–1.8 agent-blocked
30s
  • C clicks
  • H domain handoffs
  • Fld_excess fields beyond 8
  • P page-load seconds
  • I interactive interruption (CAPTCHA/challenge)
  • A address autocomplete
  • Acc accelerated checkout
Plekify 10.9
10.9 · 19s
19s✓ done
Mews 16.6PROVISIONAL · n=3
16.6
29s✓ done
NightsBridge 22.9
22.9
40s✓ done
SiteMinder 29.4
29.4
51s✓ done
Cloudbeds agent-blocked
agent-blocked
30s
OTAs · Booking / Airbnb / Expedia / Travelstart agent-blocked
agent-blocked
30s

SiteMinder reaches the payment page a few seconds faster in raw time — but at higher friction (one domain hand-off, no express checkout, no agent-readable surface). The grounded formula weights hand-offs at 6.6× and interruptions at 9.8×, so the on-domain, zero-handoff, Shop Pay path wins.

Agent readiness

Can an AI agent actually book you

Agentic readiness measures whether an autonomous agent can see live rates, reach payment, and complete a booking on its own, without human intervention or a private commercial deal. Bar height shows the score out of 3. Higher means more agent-ready.

3.0
Plekify
2.0
Cloudbeds
1.9
Mews
1.8
Booking.com
1.6
Stayntouch
1.5
SiteMinder
1.4
RoomRaccoon
1.4
Travelstart
1.35
NightsBridge
1.25
Airbnb
1.2
OPERA-ecosystem
0.6
Expedia

Rubric, raw signals and run data are public in the open repository.

3.0

Open: agents can discover, price, and book without a private deal.

2.0

Partial: agents can see some data but hit friction before booking.

1.0

Gated: access requires negotiation, credentials, or a commercial agreement.

0

Blocked: agents cannot meaningfully discover or transact with the system.

Universal Commerce Protocol as defined by Shopify.

Talk to us

A small first cohort, shaping the product with us.

We're taking on a small first group of properties and collections who want to shape the product with us. Tell us about your property and your current stack; the founder reads every submission.

Tell us about your property

Your details are reviewed by the founder only. Not shared. Not sold.

Plekify is an independent software platform developed by Plekify. Plekify integrates with Shopify to provide travel commerce functionality. SHOPIFY, the Shopify logo, and related marks are registered trademarks of Shopify Inc. Plekify is not endorsed by, sponsored by, or affiliated with Shopify Inc. All other trademarks and registered trademarks are the property of their respective owners.