# Step 3b Teardown — Viator/Tripadvisor · KKday/rezio · Headout

Compiled 2026-07-26. Tiers: **A** = filings, IR, earnings transcripts, official docs, live product · **B** = credible trade press · **C** = blogs, LinkedIn, vendor marketing.
Status markers: `[SHIPPED]` = observably live · `[ANNOUNCED]` = stated, not verified live · `[SPECULATION]` = inference, labelled.

---

## 0. Grounding corrections to the brief

| Brief said | Verified | Evidence |
|---|---|---|
| Headout acquired Dabble ~**2026-06-17** | ❌ **Mid-2024; announced May 2024.** Headout's own press-coverage rail dates the Skift and Moneycontrol pieces "May 2024"; PhocusWire/YourStory/Tracxn all 2024-05; Headout's own Jan-2025 release says "in mid-2024". The 2026 date is a re-crawl artifact of the newsroom CMS asset path (`/content/images/2026/07/`). | A |
| Viator **300,000+ experiences / 50,000+ operators** (10-K) | ⬆️ **Superseded.** Q4 2025 call: **425,000+ products from 70,000 suppliers.** Keep the 10-K figure only if citing the 10-K date. | A |
| Palliser pushing spin-off (undated in brief) | Campaign public from **2025-08-05** (Bloomberg/Boston Globe), amplified **2025-08-20** (Skift). CIO **James Smith**. | A/B |
| rezio "built in-house" | ⬆️ **Stronger than in-house — same legal entity.** rezio.io/about names the operator as **"Kkday.com International Company Limited (Taiwan)", est. 2014-05-13, capital NT$1bn, rep. CHEN MING MING.** rezio is not a subsidiary; it is a product line of the KKday company itself. | A |

---

# 1. AI MATURITY

Scale: **0** absent · **1** rules · **2** classical ML · **3** GenAI-assisted · **4** agentic (system takes multi-step action against a goal without a human in the loop).

## 1.1 Viator / Tripadvisor

Sources: Q4 2025 earnings call (2026-02-12) and Q1 2026 earnings call (2026-05-07/08) — both Tier A. `docs.viator.com/partner-api/technical` (live, Tier A). Certification pages at partnerresources.viator.com (live, Tier A).

| Stage | Score | Evidence |
|---|---|---|
| Supply sourcing | **1** | No named AI. Growth described as "strategic supply expansion"; supply grew to 425k products / 70k suppliers (Q4'25 call). Mechanism is BD + self-serve, not AI. |
| **Onboarding & catalog production** | **3** | `[SHIPPED]` Q1'26 call: **"AI-assisted sign-up to speed the process, which has more than doubled sign-up conversion."** ⚠️ **Attribution caveat:** the quote sits in a passage that also discusses TheFork restaurant acquisition; I could not isolate whether it refers to Viator supplier sign-up or TheFork restaurant sign-up. Treat the *metric* as verified, the *segment* as unverified. |
| Feed ingestion | **1** | Purely contractual/rules. Partner API mandates fixed polling cadences (see §2.1). No AI in mapping or normalisation exposed anywhere. |
| Catalog scale ops | **2** | `[SHIPPED]` Q4'25 call: product **"quality scores rising ~20% YoY, approaching 4.5+ stars"** — a scored ranking system applied across 425k products. Method undisclosed; classical ML is the conservative read. `/products/recommendations` endpoint exists in the public API; method undisclosed. |
| Availability | **1** | Fully deterministic. Availability is expressed as `bookableSeasons` + `unavailableDates` + `pricingRecords.timedEntries`. No forecasting surface. |
| Pricing | **1** | Supplier-set. API returns `recommendedRetailPrice` and `partnerNetPrice`; docs carry an explicit **"Low-margin products"** concept. No dynamic/AI pricing disclosed. |
| B2B rate mgmt | **1** | Static net-rate model with a price floor rule (see §2.1). No AI. |
| Partner onboarding | **0–1** | ⚠️ **Manual and email-based.** Certification is two PDF/web forms emailed to `affiliateapi@tripadvisor.com`; human review; "a couple of days" per round. The most operationally expensive step in the whole funnel has zero automation. |
| Partner dashboard | **1** | Not publicly inspectable beyond the Partner Resource Center. No AI features documented. |
| API/connectivity | **1** | 33 REST endpoints, API-key auth, no OAuth, **no MCP server, no natural-language endpoint, no tool manifest.** `/search/freetext` is keyword, not semantic. The B2B surface is entirely pre-LLM. |
| **Demand gen (AI channels)** | **3** | `[SHIPPED]` Q4'25: **Viator app live in ChatGPT**; all three brands (Tripadvisor, Viator, TheFork) shipped as OpenAI apps. Q4'25: "significant increases in traffic coming from LLMs with higher revenue per visitor." Q1'26: **"conversion is already among the highest of any channel in our portfolio."** `[ANNOUNCED]` Amazon, Microsoft, Snap ("exploring multimodal"), **Anthropic ("which we are excited to get working with" — future tense, not shipped)**, Perplexity ("early deal around AI-first search to learn"). Score 3 for what Tripadvisor built; the *agentic* layer (4) lives at the counterparty, not in Tripadvisor's stack. |
| **Discovery & conversion** | **3** | `[SHIPPED]` Q4'25: **"AI-native MVP"** — an AI-first product with personalization, real-time recommendations, **GeoAware suggestions**, proactive offers; "multiples higher engagement" vs prior efforts. Q1'26: scaled to **"half of our web traffic in English-speaking markets."** Separately, Tripadvisor POS delivered **">20% growth in conversion over the last 2 quarters."** |
| Itinerary planning | **3** | `[SHIPPED]` Part of the AI-native MVP — "planning and destination-phase use cases." Q4'25 framing: closing the gap between **<50% of travellers using AI to plan and <10% booking via AI.** |
| In-destination | **3** | `[SHIPPED]` Q1'26: **"AI-enabled prebooking chat on the Viator app."** GeoAware suggestions (Q4'25) are destination-phase. |
| Payments/fraud | **1** | Rules-based and pushed onto the partner: cert requires partners populate `subChannelId`, `agencyId`, `agentId`, `voucherDeliveryType`, `voucherDisplayedPostPayment`, `customerMemberSince` "for fraud prevention", plus a JS device-fingerprint library. No AI claimed. |
| Post-trip | **1** | Reviews collection; no AI named. |
| **Customer service** | **3** | `[SHIPPED]` Q1'26: **TheFork — "approximately 40% of B2C customer support queries now handled through AI."** ⚠️ **No equivalent Viator figure was disclosed.** Do not transfer this number to Viator. |
| Supplier ops | **1** | The API's supplier-communication design is a rules-based relay ("CLC" — customer-liaison contact — enabled/disabled per booking via a request flag). No AI. |
| Trust & safety | **2** | Docs section "Review authenticity — Viator performs checks on reviews." Method undisclosed; classical ML is the conservative read. Cert forbids selective display of high-rated reviews. |
| **Internal ops** | **3** | `[SHIPPED]` Q1'26: **"5 to 7x increase in average engineering output in one of our recent AI-native pilots."** Note the hedges — *one* pilot, *average* output. |

**Shape of it:** Tripadvisor is a **3 on the consumer surface and a 1 on the supply/B2B surface.** Every named, dated AI shipment faces the traveller or the LLM. Nothing AI-shaped has been shipped into ingestion, availability, pricing, partner onboarding or the connectivity API. The one supply-side exception (AI-assisted sign-up) is the one whose segment attribution is ambiguous.

## 1.2 KKday / rezio

⚠️ **Tier-A AI evidence is close to nil.** KKday is private with no earnings calls; the rezio marketing site, pricing page and the full 752 KB OpenAPI spec contain **zero AI features, zero AI endpoints and no AI SKU.** I am not scoring stages on absence of marketing copy; I am scoring on absence of any observable artefact in the products I could inspect.

| Stage | Score | Evidence |
|---|---|---|
| Supply sourcing | **1** | rezio Channel Manager + direct sales. No AI artefact. |
| Onboarding & catalog production | **1** | Fully scriptable but deterministic: `POST /v1/product/create` plus **18 `PUT` sub-resource endpoints** (intro, itinerary, location, image, cover, video, guide, tag, pickup, extras, fees, policies). High automation *ceiling*, zero AI in it. |
| Feed ingestion | **1** | Channel Manager pushes to KKday/GetYourGuide/Viator; UI-configured mapping. |
| Availability / Pricing / B2B rate mgmt | **1** | `pricePolicy`, `feeNdTax`, `session` seat/price writes — all explicit rules objects. No optimisation surface. |
| Partner onboarding | **1** | Self-serve: upgrade to SCALE tier, collect key from `admin.rezio.io`. No approval queue, **no certification, no documented sandbox.** |
| API/connectivity | **1** | ~60 REST operations, `X-Auth-StoreUuid` + `X-Auth-Key`. No MCP, no semantic search, no agent surface. |
| Discovery & conversion · itinerary · in-destination · post-trip · CS · trust & safety · internal ops | **0–1 / unverified** | No Tier-A artefact found. KKday's consumer app was not inspected in this pass. **Record as unverified, not as zero.** |
| Payments/fraud | **1** | `depositPolicy`, payment notes — bookkeeping primitives, not risk scoring. |

**Shape of it:** rezio is a **1 across the board with an unusually high automation ceiling.** It is the most *programmable* supplier backend in this teardown and the least *intelligent*. Everything an AI layer would need — write access to products, sessions, prices, seats, orders — is already exposed. Nobody has put an AI layer on it.

## 1.3 Headout — cautionary case

| Stage | Score | Evidence |
|---|---|---|
| Customer service | **2–3 (self-reported, unnamed)** | 2025-01-15 release: "AI-powered customer support." No product name, no deflection rate, no date. |
| Pricing / catalog ops | **2–3 (self-reported, unnamed)** | Same release: "smarter inventory and pricing systems", "AI is now deeply embedded across our platform." |
| Discovery / in-destination | **1, direction only** | Dabble (CV + spatial computing + AR/VR, Toronto, YC-backed, founders Neil Mathew / Prasenjit Mukherjee / Yan Ma) acquired mid-2024 "to help structure our overall efforts towards AI." Dabble's stated domain is **computer vision and spatial computing, not LLMs** — a different bet from everyone else's. **No shipped Dabble-derived product has been announced in the 26 months since.** |
| Everything else | **unverified** | Nothing dated, nothing named. |
| **API/connectivity** | **0–1 · 🔴 the cautionary datum** | `github.com/headout/api-docs` is public but **last pushed 2024-07-29 — ~24 months stale as of today.** `partner.headout.com` is an affiliate program, not a reseller funnel. Supply funnel is `hub.headout.com`. |

**Shape of it:** Headout has an **AI narrative with no named shipped feature and a public API that visibly stopped being maintained.** Nothing here is falsified — the claims may all be true internally — but from outside, the entire AI posture is Tier-A-source vendor prose. The Dabble acqui-hire is the sharpest signal: **26 months, no shipped output.** Two years is long enough that the honest reading is a talent absorption, not a product roadmap.

---

# 2. B2B DISTRIBUTION TEARDOWN

## 2.1 Viator Partner API v2.0 — the industry default, read properly

**Surface.** 33 endpoints, `Redocly`-rendered, downloadable OpenAPI spec, CC BY 4.0. Last spec change **2026-05-05** (product-option-level logistics object) — actively maintained.

| Group | Endpoints |
|---|---|
| Products (7) | `GET /products/modified-since` · `POST /products/bulk` · `GET /products/{product-code}` · `GET /products/tags` · `GET /products/booking-questions` · `POST /products/search` · `POST /products/recommendations` |
| Attractions (2) | `POST /attractions/search` · `GET /attractions/{attraction-id}` |
| Availability (4) | `POST /availability/check` · `GET /availability/schedules/{product-code}` · `POST /availability/schedules/bulk` · `GET /availability/schedules/modified-since` |
| Bookings (13) | `POST /bookings/cart/hold` · `/cart/book` · `/hold` · `/book` · `/status` · `GET /bookings/cancel-reasons` · `GET /bookings/{ref}/cancel-quote` · `POST /bookings/{ref}/cancel` · `GET /bookings/modified-since` · `POST /bookings/modified-since/acknowledge` · `GET /amendment/check/{ref}` · `POST /amendment/quote` · `POST /amendment/amend/{quote-ref}` |
| Payments (1) | `POST /v1/checkoutsessions/{sessionToken}/paymentaccounts` |
| Auxiliary (6) | `POST /search/freetext` · `POST /locations/bulk` · `POST /exchange-rates` · `POST /reviews/product` · `POST /suppliers/search/product-codes` · `GET /destinations` |

**Auth.** Single header `exp-api-key`. No OAuth, no rotation flow documented. Key issued by "your business development account manager" — **there is no self-serve key.**

**Tiering — four levels, with a published endpoint × tier matrix (Tier A):**

| Tier | Gets | Notably denied |
|---|---|---|
| Basic-access Affiliate | Product detail, tags, search, attractions, single-product schedules, freetext, destinations, locations, exchange rates | ❌ **all ingestion endpoints** (`modified-since`, `bulk`), ❌ reviews, ❌ `availability/check`, ❌ recommendations |
| Full-access Affiliate | + all ingestion, `availability/check`, reviews, recommendations, `suppliers/search/product-codes` | ❌ all booking endpoints |
| Full-access + Booking Affiliate | + `bookings/cart/hold`, `cart/book`, status, cancel, amendments, **and the Payments endpoint** | ❌ `bookings/hold`, ❌ `bookings/book` (single-item booking is merchant-only) |
| **Merchant** | Everything **except** the Payments endpoint | — |

🔴 **Read this matrix carefully — it is a commercial instrument disguised as a permissions table.** The catalogue you need to run a real storefront (`/products/modified-since` + `/availability/schedules/modified-since`) is denied at Basic. You cannot even *build* a competent catalogue without being commercially promoted first. And Merchant is denied the Payments endpoint precisely because a merchant of record processes its own money.

**Invoicing currency asymmetry.** Merchants may be invoiced in **GBP, EUR, USD, CAD, AUD only** — five. Affiliates may transact in **27** currencies including IDR. 🔴 **IDR is not a merchant invoicing currency.** An Indonesian merchant partner carries the full USD/IDR exposure between booking and settlement. This is a real, quantifiable cost, not a technicality.

**Rate limits.** Per API key, **rolling 10-second window** (worked example in docs: `RateLimit-Limit: 16`, i.e. 16 req/10 s on that endpoint). HTTP 429 returns `RateLimit-Limit`/`-Remaining`/`-Reset`/`Retry-After`. Separately, a **system-wide concurrency limiter** can return **HTTP 503 + `Retry-After: 60`** even when you are within your own quota — you can be throttled for someone else's traffic. Endpoint timeout: **minimum 120 s** required on the partner side.

**Ingestion contract — mandated, not advisory.** These cadences are cert-enforced:

| Endpoint | Required cadence |
|---|---|
| `/products/modified-since` | every **15–30 min** (cert floor: hourly) |
| `/availability/schedules/modified-since` | every **15–30 min** (cert floor: hourly) |
| `/bookings/modified-since` | **every 5–10 min** for merchants (suppresses Viator's supplier-cancellation emails); hourly otherwise. Never faster than 10 s. |
| `/bookings/modified-since/acknowledge` | immediately after ingest, by the `acknowledgeBy` timestamp |
| destinations · attractions/search · products/tags · products/recommendations · reviews/product · suppliers/search | **weekly full pull** |
| locations/bulk · products/booking-questions · bookings/cancel-reasons | **monthly full pull** |
| exchange-rates | **daily**, plus on-demand at expiry |

**Explicitly prohibited:** using `/products/search` or `/search/freetext` for ingestion; using `/availability/check` for ingestion; full re-ingestion when a delta would do; >50 results per search page; >500 location refs per `/locations/bulk`; placing a booking hold to check availability ("holds only with strong intention to purchase").

**Sandbox.** Yes, and it is honest about its own limits. Manual-confirmation products return `CONFIRMED` by default; you must set header **`exp-demo: false`** to get realistic `PENDING`. 🔴 **To drive the booking to a final `CONFIRMED` or `REJECTED` you must email `apitechsupport@viator.com` with the `bookingRef` and ask a human to flip it.** The manual-confirmation lifecycle — the exact path that matters most for long-tail supply — **cannot be tested end-to-end without a human in Viator's loop.**

**Certification — actual steps and what it gates.** Two forms (back-end and front-end) emailed to `affiliateapi@tripadvisor.com`. Feedback in "a couple of days" per round. Gates go-live.

*Back-end checks:* ingestion-cadence adherence · delta-only discipline · no search-as-ingestion · mandatory real-time `/availability/check` **after** date+pax selection and before booking · hold discipline and hold-expiry handling · currency in the supported list · payment integration (either `PARTNER_FORM` token flow with `x-trip-clientid`/`x-trip-requestid` headers and JS device fingerprint, or the Viator iframe with `onSubmitSuccess`/`onSubmitError`) · booking-ref/hold-ref consistency · fraud fields populated · ≥120 s timeouts · status polling at ≥1-min intervals, hourly for PENDING · cancellation via `cancel-quote` before `cancel` with a reason from `/bookings/cancel-reasons` · supplier-cancellation ingestion every 5 min + acknowledge · **PCI DSS compliance**.

*Front-end checks — this is the part people underestimate:* you must ship **four search methods** (destination, attraction, product code, freetext); **eight filters** (category/tags, attraction, price, review rating, duration, time of day, cancellation policy, special offers, plus "likely to sell out"/"excellent quality"); **five sort orders with `DEFAULT` as the default**; clickable country→region→city breadcrumbs; **eleven mandatory product-detail fields** (title, images, description, inclusions, exclusions, additionalInfo, cancellationPolicy, languageGuides, itinerary, ticketInfo, logistics.start/end); age-band display with `startAge`/`endAge` and enforcement of per-band and per-booking min/max plus `requiresAdultForBooking`; a calendar built from `bookableSeasons` minus `unavailableDates` across overlapping bookable items with lowest-ADULT-price fallback chain (SENIOR→YOUTH→CHILD→INFANT); UNIT vs PER_PERSON pricing maths; conditional booking-question logic including the `TRANSFER_ARRIVAL_MODE` → pickup-type tree (docs note **>50% of Viator products offer pickup**, and explicitly tell you not to exclude them); verbatim cancellation-policy text; **all** reviews displayed, not selectively, with provider attribution; a confirmed **live test booking and a live test cancellation**; voucher delivery; HTTPS; Viator branding compliance.

🔴 **Two front-end rules are strategically decisive, not cosmetic:**
1. **"Protected Viator unique content must not be indexed"** — attraction data and reviews must be rendered non-indexable. **The API contractually denies you SEO value from Viator's content.** You may resell the inventory; you may not rank on it.
2. Merchant price floor: **"Partner prices ≥ `partnerTotalPrice` (unless intentional discount)"** — a *cost floor*, not rate parity. Viator does not force you to match its retail price. There is **no rate-parity clause in the certification requirements.**

**Commercial model.** Merchant partners are merchant of record, own all monetary transactions, own customer support, and are **"invoiced periodically by Viator for all product sales"** — i.e. a **credit line, not prepay**; amount and terms undisclosed. Qualification requires demonstrating "access to the appropriate infrastructure to effectively support the requisite business operations." Merchants may set their own cancellation terms but **are invoiced on Viator's** — so any consumer-friendly refund policy you offer is funded off your own balance sheet. Docs note ~85% of products are STANDARD (24 h free cancellation, 100% penalty inside 24 h).

**Channel-conflict stance.** *Structurally permissive, commercially self-serving.* Affiliates are redirected to viator.com and paid a cookie commission — pure channel conflict, by design. Merchants sell in their own storefront under their own brand at their own price with only a net-cost floor — minimal price conflict. **The conflict Viator actually manages is SEO, not price**: the non-indexing rule ensures a merchant partner can never out-rank Viator on Viator's own content.

**Time-to-first-booking.** Registration → qualification (Viator decides which program you get) → development → certification (two forms, iterative, "couple of days" per round) → Viator-side production config incl. **product mapping** → scheduled go-live "initially for a small number of products". **No self-serve path exists at any step.** Realistic: weeks to months, gated on a human account manager throughout.

**Where AI appears in the B2B surface.** 🔴 **Nowhere.** One `POST /products/recommendations` endpoint of undisclosed method. `/search/freetext` is keyword. No semantic search, no MCP server, no tool manifest, no natural-language endpoint, no agentic booking flow. **The most AI-forward consumer company in this teardown ships a completely pre-LLM B2B API.** Its agentic exposure is entirely outbound — being a callable app inside ChatGPT — and its partners get none of it.

## 2.2 rezio Open API — the inverse of Viator

**Surface.** OpenAPI 3.0.3, `api.rezio.io` v1.0.0, ~60 operations, rendered with Scalar, spec at `developer.rezio.io/sources/open-api/en.yaml` (752 KB), EN + zh-TW. Public, no login.

**Auth.** `X-Auth-StoreUuid` (your store UUID) + `X-Auth-Key` (from `admin.rezio.io`) + `X-Lang`. **Store-scoped** — the API can only ever see one operator's own data.

**Groups:** System (`/v1/config`, `/v1/dataOption`) · Shared Settings — 9 reusable objects each with list/create/get/update (`pricePolicy`, `feeNdTax`, `cancelPolicy`, `depositPolicy`, `bookingInfo`, `bookingField`, `pickup`, `extra`, `resource`) · Products (`list`, `detail`, `salesOption`, `mediaInfo`, `create`, plus 18 `PUT` sub-resources) · Publish (`sessionSetting` create/get/update, `session` get/update price & seats, `session/{uuid}/active`, `calendar`) · Orders (`list`, `detail`, `create`, `status`, `payment` note, `note`, `contact`, `bookingInfo`) · `GET /v1/redeem/list` · `POST /webhook` (product events).

🔴 **What is conspicuously absent tells you what rezio is.** There is **no distributor catalogue search, no net-rate/contract endpoint, no commission object, no cross-store discovery.** This is **not a distribution feed.** It is an **operator-side back-office write API** — an ERP for one store. You cannot source inventory through it.

**So how does rezio distribute?** Through the **first-party Channel Manager**, a UI-configured feature that pushes an operator's products to **KKday, GetYourGuide and Viator** — gated at the PLUS plan. The Open API builds the catalogue; the Channel Manager sells it. The two never touch.

**Onboarding, sandbox, time-to-first-call.** Upgrade plan → collect key from the admin console. **No certification. No documented sandbox. No approval queue.** Days, on a credit card. But the "first booking" it produces lands in *your own* store, not in a marketplace — so it is not comparable to Viator's time-to-first-booking at all.

**Where AI appears.** Zero occurrences in the spec, the pricing page or the site.

**Head-to-head:**

| | Viator Partner API | rezio Open API |
|---|---|---|
| Direction | Read the catalogue, sell it | Build the catalogue |
| Scope | Global, 425k products | One store |
| Write access | Bookings only | **Products, prices, sessions, seats, orders** |
| Access | BD-issued key, 4 tiers, human qualification | Self-serve, plan-gated |
| Certification | **Mandatory, ~90 checks, gates go-live** | None |
| Sandbox | Yes, with a human-in-the-loop gap on manual confirmation | Not documented |
| Rate limits | Published (10 s rolling window) | Not documented |
| Commercial | Net rate + credit invoicing | Flat SaaS subscription |
| AI | None | None |

## 2.3 Headout — brief

`github.com/headout/api-docs` public, **last pushed 2024-07-29 (~24 months stale)**. `partner.headout.com` = affiliate program. Supply funnel = `hub.headout.com`. Terms are hosted at `hub.headout.com/terms-and-conditions/`. **Tiering, credit terms, certification, sandbox and time-to-first-booking: all unverified — there is no maintained public artefact to read.** That absence is itself the finding: a stale public API repo is a costless, high-fidelity signal that a company's B2B distribution is not a priority, because keeping docs current is the cheapest thing a serious API programme does.

---

# 3. 🔴 rezio — "build the plumbing and sell it": does it work as a business?

**The precedent, stated precisely.** rezio is the only case in this study where a marketplace productised its supplier backend as a separately-priced, publicly-marketed SaaS **whose channel manager distributes to the parent's direct competitors — GetYourGuide and Viator.** Not as a concession. As a headline feature.

**Commercial model (Tier A, rezio.io/pricing, live 2026-07-26):**

| Plan | Price | Gates |
|---|---|---|
| **BASE** | **US$49.90/mo** | Multi-currency booking site, order mgmt, resource mgmt, sales reports, marketing-code embed, rezio App, online training, **60 min onboarding** |
| **PLUS** ("most popular") | **US$99.90/mo** | + multi-language site, custom voucher design, e-ticket, 🔴 **OTA Channel Manager**, **B2B agent portal**, 1-on-1 consultant, unlimited onboarding |
| **SCALE** | **US$216.60/mo** | + on-site keyword search, URL redirection, 🔴 **B2B API integration key**, social buttons |

⚠️ The page also shows US$59 / US$119 / US$259 columns labelled as the annual-plan monthly rate, which read *higher* than the monthly prices — the presentation is internally contradictory. Quote the tier structure and the ~US$50/100/217 ladder; **do not assert an annual discount.**

**No commission. No transaction fee. No take rate. No setup fee. No free tier.** Pure subscription.

**Does it work as a revenue business? Almost certainly not — and the arithmetic is not close.**

- Disclosed scale: **5,000+ operators** across TW/HK/JP/KR/SG/MY/TH/VN.
- All-PLUS ceiling: 5,000 × US$99.90 × 12 ≈ **US$6.0M ARR**.
- Implausible all-SCALE ceiling: 5,000 × US$216.60 × 12 ≈ **US$13.0M ARR**.
- Against KKday's **~US$70M Series D (2024-12-05)**.

`[SPECULATION, labelled]` A realistic blend skewed to BASE/PLUS lands nearer **US$4–5M ARR** — a rounding error against a company that just raised US$70M, and one that a direct sales team calling on eight markets would struggle to cover, let alone profit from. rezio has **no separate legal entity** (it trades as *Kkday.com International Company Limited*), **no separately reported revenue**, and **no separate P&L in anything public.**

**Verdict: rezio is a supply-acquisition subsidy with SaaS cost recovery, not a revenue line.** The subscription exists to make the operator feel like a customer rather than a captured supplier, and to filter out operators too small to matter. What KKday buys for ~US$1,200/operator/year is far more valuable than the US$1,200: **the operator's system of record** — true availability, true cost price, true order state, live, first-party, continuously.

**And the competitor-distribution question answers itself.** rezio *must* push to GetYourGuide and Viator. An operator will not run their entire business on a booking system that only sells to one OTA — that is a channel, not a system of record. Multi-channel distribution is the **price of admission** to the operator's back office. KKday pays that price knowingly, because the position it buys is structurally better than exclusivity: KKday sees the operator's real inventory and real cost basis in real time, and is the default, zero-friction, already-configured channel. Every competitor reached through rezio is reached through a pipe KKday owns, on data KKday already has.

🔴 **The transferable lesson is the inversion.** The plumbing is not the product and it is not the revenue. **The plumbing is the customer-acquisition cost, and the data position is the return.** Anyone evaluating "build the plumbing and sell it" as a *business* is reading the precedent backwards. The only known instance of it prices at roughly cost and books no separate revenue.

---

# 4. 🔴 Viator's real economics — and the Klook cross-check

## 4.1 What the activists actually disclosed

Honest finding first: **the activist filings are weaker on unit economics than the brief anticipated.** Palliser's campaign (public 2025-08-05, Bloomberg/Boston Globe; Skift 2025-08-20) is a **sum-of-the-parts valuation argument**, not a margin disclosure. It discloses Palliser's position, not Viator's cost structure.

| Palliser claim | Figure |
|---|---|
| Viator standalone value | **up to US$2.5B** |
| Whole-company value if restructured | **US$3.7B** |
| TRIP market cap at time of letter | **under US$2B** |
| Ask | Strategic committee; focus on Viator + TheFork; **re-examine management incentives**; reassess capital allocation |
| CIO quote (James Smith) | *"The company is caught between two fundamentally different strategic identities… This internal conflict is holding back its most promising venture – Viator, stifling growth and innovation, weakening its competitive edge and costing it the investor attention and valuation it should command."* |

Starboard Value (~9%, letter 2026-02-17, settled via board expansion) likewise produced no segment-margin disclosure I could verify.

🔴 **The correction to the brief's premise: the richest public source on whether a TAA marketplace is a good business is not the activist deck. It is Tripadvisor's own segment reporting** — which the activists are pointing at, not supplementing. Segment disclosure is good enough that the activists do not need to add to it.

## 4.2 The actual numbers (Tier A — Tripadvisor Q4 2025 and Q1 2026 earnings calls)

| Metric | FY2025 | Q4 2025 | Q1 2026 |
|---|---|---|---|
| Experiences revenue | **US$924M** (+10%) | **US$204M** (+10%) | +8% (+4% cc) |
| Experiences GBV | **~US$4.7B** (+~13%) | **~US$980M** (+16%) | consol. GBV ~US$1.2B (+13%) |
| **Implied take rate** | **19.7%** | **20.8%** | — |
| Experiences adj. EBITDA | **US$91M** | **US$15M** | **−US$19M** |
| — as % of revenue | **9.8%** | 7% | **−11%** |
| 🔴 **— as % of GBV** | **🔴 1.94%** | **1.53%** | negative |
| Supply | 425,000+ products / 70,000 suppliers | | |
| Marketing | "% of GBV flat YoY" | flat YoY despite revenue deleverage | flat YoY; paid channels peaked at 24% Jan–Feb |
| Guidance | | **+300–400 bps margin expansion in 2026** | |
| Channel | SEO expected **<10% of GBV by end-2026**; direct/app growing fastest; repeat bookings are the majority of GBV and the fastest-growing cohort | | |

Company-level context (stockanalysis.com, FY2025): revenue **US$1,891M**, gross profit **US$1,746M**, **gross margin 92.3%**, operating income **US$80M**, net income **US$40M**.

## 4.3 🔴 The one number that answers the question

> **Viator converts a 19.7% take rate into a 1.94% EBITDA margin on GBV.**
>
> **~90% of the take rate is consumed before it reaches EBITDA.** At the scale of 425,000 products, 70,000 suppliers and US$4.7B of GBV — the largest pure-play tours-and-activities marketplace in the world, twenty-plus years in — the business retains **under two cents of every dollar booked.**

And the seasonality is brutal in a way the annual figure hides: **Q1 2026 Experiences ran a −11% EBITDA margin.** A business whose peak-quarter margin is 7% of revenue and whose trough quarter is negative has almost no absorptive capacity for a bad season. Note also that Q1 2026 revenue grew 8% headline but only **4% in constant currency** — half the growth was FX.

## 4.4 Cross-check against Klook (F-1: gross profit = 11.2% of GTV)

| | Klook | Viator FY2025 |
|---|---|---|
| Gross profit / GTV | **11.2%** | revenue/GBV **19.7%**; at the group's 92.3% gross margin, gross profit/GBV **≈ 18.2%** |

**They do not agree — Viator's is roughly 1.6× Klook's.** Three reasons, and only the third is comforting:

1. **Geography and product mix.** Viator is North America/Europe-weighted, dominated by high-take third-party tours. Klook is Asia-weighted with heavy volume in low-take transport, attraction passes and rail — categories that carry a few points of margin, not twenty.
2. **⚠️ Accounting is not comparable.** Tripadvisor's cost of revenue is thin (7.7% of revenue) and **excludes all sales and marketing**. Klook's gross profit line, per its F-1, sits after payment processing and elements of fulfilment. **Klook's 11.2% and Viator's 18.2% are not the same line item.** Treat this as directional only.
3. **The comparison that *is* clean, and the one that matters:** both companies end up in the low single digits of GBV at the profit line. Viator's **1.94% EBITDA/GBV** at US$4.7B scale is the honest floor of what this business model yields. The gross-profit gap is real but it is not where the economics are decided — **marketing is.**

## 4.5 What this means about the model

`[SPECULATION, labelled — inference from Tier A figures, not a disclosed statement]` The gap between a 19.7% take rate and a 1.94% EBITDA margin is almost entirely demand acquisition. Every disclosed strategic move confirms this is the binding constraint: pushing **SEO below 10% of GBV**, growing **direct and app** fastest, celebrating **repeat cohorts** with "lower acquisition costs beyond their first booking", and chasing **AI channels because their conversion is "among the highest of any channel."** All four are the same move — **escape paid acquisition.** Tripadvisor's AI strategy is not, at root, a product strategy. It is a CAC strategy, and the 1.94% is why.

---

# 5. Closing — one line per company

*Directions per `00-scope.md`: **D0** curated Pass · **D1** horizontal catalog · **D2** partner dashboard · **D3** reseller API.*
*These are notes with reasons, not recommendations.*

**Viator / Tripadvisor → the strongest available argument against D1 at SatuSatu's scale, and a specific warning on D3.** The world's largest TAA marketplace runs a 19.7% take rate down to 1.94% of GBV, went EBITDA-negative in Q1 2026, and is being publicly dismantled by two activists over exactly that — so a horizontal catalog (D1) built on Pool A's ~10% gross / ~7% post-payments has *less* take rate than Viator and would have to beat Viator at the one thing consuming Viator's entire spread, which is paid demand acquisition. On D3: Viator's certification is ~90 published checks including a full merchandising front-end, a live test booking and cancellation, PCI DSS, and a rule that its content must be non-indexable — that is the industry default a SatuSatu reseller API would be benchmarked against **with no dedicated engineering capacity**, and IDR is not even an accepted merchant invoicing currency.

**KKday / rezio → the precedent that reframes D2, and the only one that survives contact with SatuSatu's constraints.** rezio proves a marketplace can put its supplier backend in front of operators and win their system of record, but it also proves the price of that: **~US$50–217/month, no commission, no separate entity, no separate revenue, a ceiling around US$6M ARR on 5,000+ operators** — a partner dashboard is a supply-acquisition subsidy, not a revenue line, and it only works if it distributes to your competitors too. The transferable read for D2 is that the return is the **data position on Pool B's 27%-margin direct-contracted Balinese operators** — their real availability and real cost basis — and if D2 is justified on subscription revenue instead, the only known precedent says the arithmetic does not clear.

**Headout → the cautionary case that prices the *maintenance* burden SatuSatu has no capacity to carry.** A profitable, US$130M-revenue, 400+-city company that acqui-hired an AI team in mid-2024 has shipped **no named AI feature in 26 months** and let its public API docs go **~24 months stale** — and Headout has engineers. With **zero dedicated engineering capacity**, SatuSatu should read a stale API repo as the *expected* end state of any D3 build it undertakes, and weight buy/partner accordingly; the AI posture (Dabble's computer-vision/spatial bet, not an LLM bet) is also the one direction in this teardown that nobody has validated.
