# Step 3 Teardown — Klook & GetYourGuide
Compiled 2026-07-26. Evidence tiers: **A** = filings/IR/official docs/engineering blogs/live product · **B** = credible trade press · **C** = blogs, LinkedIn, vendor marketing, listicles.
Status labels: `[SHIPPED]` = live product, public API docs, or dated product/engineering blog · `[ANNOUNCED]` = press release / roadmap statement · `[BETA]` = disclosed limited release · `[SPECULATION]`.

---

## 0. Evidence-base asymmetry (read this before the scores)

| | Klook | GetYourGuide |
|---|---|---|
| Public engineering blog | **None.** `klook.tech` returns `getaddrinfo ENOTFOUND` (2026-07-26). No Klook Engineering publication found on Medium. | **Yes, prolific.** `getyourguide.careers/category/tech-engineering` (formerly *Inside GetYourGuide*) — ~40 dated Engineering / Data Science / Data Analytics posts 2023-10 → 2026-04. Tier A. |
| Public outbound distributor API | **None** (confirmed prior). `klook.gitbook.io/openapi` is supply-INBOUND ("API for Merchants"). `partner.klook.com` OAuth-gated. | **Yes.** `code.getyourguide.com/partner-api-spec/` + Apache-2.0 repo `getyourguide/partner-api-spec` (360 commits, last push 2026-07-21). |
| Primary AI evidence source | Google Cloud co-marketing newsroom posts + Skift interviews. Mostly `[ANNOUNCED]`. | Dated engineering posts with failed-experiment detail. Mostly `[SHIPPED]`. |

**Consequence:** Klook's AI story reads bigger than GYG's in press and smaller than GYG's in verifiable artefacts. Do not treat the two evidence bases as equivalent. Where Klook has no Tier A artefact, this teardown scores what is evidenced, not what is claimed.

---

## 1. AI maturity by stage

Scale: **0** absent · **1** rules · **2** classical ML · **3** GenAI-assisted · **4** agentic.

### 1a. GetYourGuide

| # | Stage | Score | Evidence |
|---|---|---|---|
| 1 | Supply sourcing | **2** | `[SHIPPED]` "From Zero to Hero: GetYourGuide's intelligent approach to new activities", 2025-08-20 (A, title+tag `Cold Start Problem`). `[SHIPPED]` "From grape stomping to gorilla trekking: AI-driven discovery of novel interests", 2025-11-24 (A) — demand-side interest discovery that feeds sourcing gaps. Full text not read; scored at title/tag level. |
| 2 | **Onboarding & catalog production** | **3** 🔴 | `[SHIPPED]` "Revolutionizing the Experience Marketplace: The dual impact of Generative AI on Suppliers and Consumers", 2025-04-23 (A). Verbatim mechanics: 16-step product-creation wizard; providers "were sometimes spending up to an hour"; supplier pastes existing content "such as from their own website" into an input box; LLM generates long-form description **and fills structured fields** (transport type, location tags); **"The AI auto-completes 8 key steps."** Adoption ~60% of exposed cohort in pre-tests. First full experiment (75/25 split) **FAILED** — submission rate fell, cause was UX/trust not model quality. Second test after UI + microcopy fixes cut drop-off **5 percentage points**; observed 14-minute end-to-end creation; rolled out to **100%**. |
| 3 | Feed ingestion | **1** | Connectivity spec + tiered certification (see §2). No AI evidence. Rules/schema mapping. |
| 4 | **Catalog scale ops** (search / ranking / enrichment / dead-SKU) | **3** 🔴 | `[SHIPPED]` "From Text to Context: How We Introduced a Modern Hybrid Search", 2024-11-20 (A) — hybrid lexical+semantic retrieval; tags `Semantic Search`, `Query understanding`, `OpenSearch`, `Apache Lucene`. `[SHIPPED]` "Powering Millions of Real-Time Rankings with Production AI", 2024-05-22 (A). `[SHIPPED]` "From trees to transformers: adopting deep learning for activity ranking", 2025-12-11 (A) — GBDT → transformer. `[SHIPPED]` "How We Use AI to Optimize Travel Images", 2024-01-17 (A) + "replacing intuition with data in visual selection", 2025-12-04 (A). `[SHIPPED]` "Powering traveler curiosity: the four pillars of 'good' Search", 2026-02-19 (A). |
| 5 | Availability | **1** | No public AI evidence. Partner API exposes `/tours/{id}/availability` as a real-time read. |
| 6 | Pricing | **1** | No published pricing-ML work in ~40 engineering posts. Partner API exposes `POST /tours/{id}/price-breakdown` — computation, not optimisation. Notable absence. |
| 7 | B2B rate mgmt | **1** | No public evidence. |
| 8 | Partner onboarding (distribution) | **1** | Docs + sandbox + wiki are excellent; zero AI in the funnel. |
| 9 | Partner dashboard | **1** | `partner.getyourguide.com` affiliate portal; `[SHIPPED]` Supplier Portal Nuxt3 migration 2025-02-27 (A) — usability work, not AI. |
| 10 | API / connectivity | **0** | AI absent. (Engineering maturity high — see §2 — but that is not AI.) |
| 11 | Demand gen | **2** | `[SHIPPED]` "Primus: GetYourGuide's Answer to Unified Marketing Analytics", 2023-12-05 (A); "how we developed and scaled marketing experimentation tooling", 2025-11-12 (A); open-source `gaql-cli` for Google Ads. Classical analytics/experimentation, not GenAI. |
| 12 | Discovery & conversion | **3** | `[SHIPPED]` Spring release 2026-04-22 — AI review summaries + AI search (established prior). Plus hybrid search and transformer ranking above. |
| 13 | Itinerary planning | **0** | No GYG trip-planner / itinerary-builder product found. Absent. |
| 14 | In-destination | **0–1** | Unverified. No public artefact. |
| 15 | Payments / fraud | **0** | No public evidence in engineering blog or API surface. |
| 16 | Post-trip | **1** | Reviews collected and exposed via `/reviews/tour/{id}`; AI summarisation of them is a discovery-side feature, scored at #12. |
| 17 | Customer service | **1** | No public LLM CS agent. Care volume appears in the 2025-04-23 post only as *the problem* AI content quality was meant to reduce ("a high ratio of travelers needing to contact our care department"). |
| 18 | Supplier ops | **3** | Same artefact as #2 — supplier-facing GenAI shipped to 100% of the supplier base. |
| 19 | Trust & safety | **1** | Content-quality guardrails described qualitatively; no AI moderation artefact. |
| 20 | Internal ops | **3** | `[SHIPPED]` "AI Week at GetYourGuide: what happened when we paused everything to go all-in on AI", 2026-02-25 (A). `[SHIPPED]` "Achieving real growth in the age of AI: guardrails Junior Engineers live by", 2026-04-09 (A). Supporting platform: Databricks migration 2025-01-29, dbt 2025-07-17, Airflow+Astronomer Cosmos 2026-02-02, `DDataflow`/`basemath` open source. |

**GYG total ≈ 30 / 80.** Shape: **deep and verifiable in retrieval, ranking and supplier content production; visibly empty in pricing, payments/fraud, itinerary and customer service.**

### 1b. Klook

| # | Stage | Score | Evidence |
|---|---|---|---|
| 1 | Supply sourcing | **1** | No evidence. |
| 2 | Onboarding & catalog production | **3** | `[SHIPPED]` Klook newsroom 2024-10-24 (A, co-marketing with Google Cloud): GenAI "to help create and localize content for Klook's travel pages – which has **slashed production times by more than 80%** while also boosting translation accuracy and content quality." Gemini replaced PaLM-2 for translation. Caveat: this is Klook's own destination/travel pages, **not** the supplier-facing product wizard GYG shipped — a different and easier problem. |
| 3 | Feed ingestion | **1** | Merchant API (`klook.gitbook.io/openapi`, A) supports bulk + real-time content/availability/pricing retrieval, availability holds, price locking. Schema/rules. No AI. |
| 4 | Catalog scale ops | **3** | GenAI localization at 4,200-destination scale (2024-10-24, A). Search/ranking ML **unverified** — no public artefact. Score carried by enrichment/localization alone. |
| 5 | Availability | **1** | Merchant API holds + price lock — rules. |
| 6 | Pricing | **1** | Merchant API supports "dynamic pricing calculations for different traveler types and product options" — deterministic computation, not ML. No pricing-ML evidence. |
| 7 | B2B rate mgmt | **1** | No evidence. |
| 8 | Partner onboarding | **1** | Dual funnel at `klook.com/en-US/partner/` (one form, two radio options); OAuth-gated `partner.klook.com`. No AI, no sandbox disclosed. |
| 9 | **Partner dashboard / merchant insights** | **3** 🔴 | `[SHIPPED-pilot]` 2024-10-24 (A): "A recent initiative that summarizes user reviews into constructive feedback for travel merchants has already led to significant service level improvements across partners involved in Klook's early pilots, **with one merchant using this feedback to craft a new attraction-related product that now comprises 24% of the attraction's total revenue**." Broader merchant insight suite = `[ANNOUNCED]`. |
| 10 | API / connectivity | **0** | AI absent; no outbound API at all. |
| 11 | Demand gen | **3** | `[SHIPPED]` "Let Loose the Goose" AI-powered campaign, Skift 2025-06-27 (B). `[SHIPPED]` GenAI-assisted SEO tooling, 2024-10-24 (A). Klook Kreators creator-affiliate programme (B). |
| 12 | **Discovery & conversion** | **3** (trajectory → 4) 🔴 | `[SHIPPED]` **K.AI** trip-planner / interactive Q&A assistant, launched at Klook's 9th anniversary (B: WiT, PhocusWire). `[ANNOUNCED]` GenAI "shopping guide" — summarises reviews and "establish[es] common factors to aid in complicated comparison–a first for any online travel agent (OTA) platform in Asia", 2024-10-24 (A). `[BETA]` **AI shopping agent** — Skift exclusive 2026-06-09 (B), Eric Gnock Fah: collapses fragmented booking interfaces "into a single conversational layer"; designed to "understand customer intent, surface relevant products, **complete bookings**, and handle post-sale service"; "currently being tested with a select group of users". **That is agentic (4) but not GA — do not score it as shipped.** |
| 13 | Itinerary planning | **3** | K.AI trip planner `[SHIPPED]` (B). |
| 14 | In-destination | **1** | Only support is a 2026 Singapore Business Review award citation describing an "AI-first approach to in-destination travel discovery" (C). Unverified. |
| 15 | Payments / fraud | **0–1** | No evidence. Finance-side automation is bill reconciliation (internal ops), not fraud. |
| 16 | Post-trip | **2** | Review pipeline feeding merchant feedback loop (2024-10-24, A). |
| 17 | Customer service | **3** | K.AI reported to have "reached a higher increase in the accuracy of responses to customers and managing **up to four times more queries** coming in" (Klook-sourced, A-self-reported). `[BETA]` shopping agent to "handle post-sale service" (B, 2026-06-09). |
| 18 | Supplier ops | **3** | Review-derived merchant feedback, pilot-shipped with a quantified outcome (see #9). |
| 19 | Trust & safety | **1** | `[ANNOUNCED]` Google Cloud co-development of an AI infrastructure layer "focusing initially on capabilities to validate the accuracy and reliability of all generative AI outputs" (2024-10-24, A). Roadmap, not product. |
| 20 | Internal ops | **3** | `[SHIPPED]` 2024-10-24 (A): Gemini Code Assist in testing and code generation; "engineering teams have also **increased the efficiency of their code review processes by 60%** while improving platform performance by up to 70%". Marketing + finance automating SEO and bill reconciliation. |

**Klook total ≈ 33 / 80.** Shape: **broad, consumer-facing and agentic-forward, but the depth is asserted rather than demonstrated.** Klook's single strongest verifiable AI asset is the **review corpus → merchant feedback loop**, which is a supply-side moat, not a consumer one.

### 1c. Head-to-head read

- **Both are 3s, not 4s, in production.** Neither has a GA agentic booking surface as of 2026-07-26. Klook is closest (closed beta, disclosed 2026-06-09).
- **Both are ~1 on pricing and ~0–1 on payments/fraud.** Two of the largest players in the category have shipped no publicly evidenced AI in the two functions that most directly move gross margin. That is a real gap in the category, not just in these two companies.
- **The one stage where an incumbent has decisively shipped and quantified GenAI is supplier-side catalog production** (GYG, 8 of 16 wizard steps auto-completed, 100% rollout, 2025-04-23). This is the single most transferable finding in this teardown.

---

## 2. B2B distribution teardown

### 2a. GetYourGuide — Partner API (outbound / distribution). Tier A, read directly from `spec/api.yaml` and path files.

**Transport & auth**
- Production `https://api.getyourguide.com` · **Testing `https://api.gygtest.net`** — a sandbox is declared as a first-class server in the OpenAPI document.
- OpenAPI 3.0.0, Apache-2.0. `X-ACCESS-TOKEN` header (apiKey), **not** OAuth. Two mandatory query params on every GET: `currency`, `cnt_language`.
- **Rate limit 130 calls/minute; breach blocks all calls for 5 minutes.** Explicit anti-caching clause: "We encourage to access the API in real-time; please do not scrape the API in an attempt to cache its output."

**What it actually exposes** (15 paths, verbatim from the spec)

| Surface | Endpoints | Notes |
|---|---|---|
| Configuration | `GET /configuration/{version}`, `GET /{version}/configuration/payment` | Version/status/base-URL discovery; payment methods + credit-card encryption public key + supported card brands by country. |
| Catalog | `GET /{version}/tours` (`ToursQuery` — "by different parameters such as a query or geographical coordinates"), `GET /{version}/tours/{tour_id}`, `GET /{version}/tours/{tour_id}/options`, `GET /{version}/options/{option_id}`, `GET /{version}/categories`, `GET /{version}/categories/{category_id}`, `GET /{version}/suppliers/{supplier_id}` | Full search + taxonomy + supplier identity. Schemas include `itinerary`, `location`, `picture`, `day_breakdowns`, `metadata`. |
| Reviews | `GET /{version}/reviews/tour/{tour_id}` | Social proof is redistributable. |
| Availability | `GET /{version}/tours/{tour_id}/availability` | Real-time. |
| Pricing | `POST /{version}/tours/{tour_id}/price-breakdown` — "Find pricing information for a tour by date." | POST because it takes a participant-mix body. |
| Cart | `POST /{version}/carts` (`CartsConfirm`), `GET /{version}/carts/{shopping_cart_hash}` | **Multi-item cart is native.** A booking either creates a cart or joins an existing `shopping_cart_hash`. |
| Booking | `POST /{version}/bookings`, `GET /{version}/bookings/{booking_hash}` | Body carries `external_reference_id` (partner's own ref), `option_id`, `datetime`, `price`, `categories[]` with `category_id` + `number_of_participants`, `booking_parameters`, `questions`. Response carries `reservation_expires_at` — **a hold, not an instant commit.** |
| Cancellation | `DELETE /{version}/bookings/{booking_hash}` — "Delete (Cancel) a booking." | First-class. |
| **Vouchers** | **Absent from the public spec.** | 🔴 No ticket/voucher/barcode/QR/PDF endpoint. Redemption artefact delivery is not part of the documented outbound contract. |

**Access tiering — hard evidence.** `ConfigurationPrivilegeResponse.privileges[].name` is an enum: `LIMITED_READ, READ, BOOKING, BOOKING_CANCEL`. GYG grades partners in four steps from browse-only to full transact-and-cancel. A new partner can be given read access without booking rights.

**Commercial model, inferred from the payment schema (spec is silent on rates).** Two mutually exclusive paths are encoded:
1. **GYG-as-merchant-of-record / commission.** `encrypted_credit_card` (partner encrypts the traveller's card with GYG's `public_key`), or two-step redirect flows (`PaymentProcess.payment_url` / `return_url` / `cancel_url`, PayPal and 3DS examples). Money settles to GYG; partner earns commission. `CouponInfo` supported.
2. **`MasterBill` — "MasterBill payment method, requires MasterBill API access."** Boolean flag on checkout, plus `invoice_reference` on the confirmed payment object. This is the invoiced / net-rate / credit-terms path, and it is **gated behind separate access**. Credit terms, tiering thresholds and rate-parity language are not public — sales-gated.

🔴 **Currency trap for an Indonesian reseller.** Display currencies include **IDR**. Checkout currencies are **only** AED, AUD, CAD, CHF, EUR, GBP, NZD, PLN, SEK, USD. **IDR is not a settlement currency.** Any Indonesian partner transacting on this API eats an FX leg on every booking — directly relevant to a business already losing ~3pts of a ~10pt gross margin to payments+FX.

**Onboarding.** Sales-gated. Spec `contact` points to `https://partner.getyourguide.com/`; the public API index says "Contact us to create a partner account and gain access." But the *technical* onboarding is best-in-class self-serve: public OpenAPI, Apache-2.0 repo, GitHub wiki getting-started with curl examples, Postman collection release, `openapi-generator` client codegen instructions (go / typescript-node / ruby). **Time-to-first-booking is gated by the commercial conversation, not the integration** — a competent engineer could generate a client and hit the sandbox in an afternoon. Actual TTFB unverified.

**Where AI appears in GYG's B2B surface: nowhere.** No AI endpoint, no semantic search parameter, no natural-language query field, no MCP/agent-facing manifest. `ToursQuery` takes a query string and coordinates — the hybrid semantic search GYG shipped internally in 2024-11 is not exposed as a distinguishable capability to partners. **The AI is in the storefront, not in the pipe.**

### 2b. GetYourGuide — Supplier / Connectivity API (inbound). 🔴 **Prior agent's flag: CONFIRMED TRUE.**

GYG operates **two distinct APIs**, and conflating them was the prior error.

| | Partner API (outbound) | Supplier / Connectivity API (inbound) |
|---|---|---|
| Audience | Distributors, affiliates, resellers | Suppliers, reservation systems, channel managers |
| Docs | Public, Apache-2.0, `code.getyourguide.com/partner-api-spec/` | Help-centre only, `supply.getyourguide.support` — no public OpenAPI found |
| Portal | `partner.getyourguide.com` | `supplier.getyourguide.com` (suppliers) + **`integrator.getyourguide.com`** (systems) — live, JS-gated |
| Documented capabilities | See table above | Products List; **Pricing Categories** endpoint — "allows GetYourGuide to import and manage price category data for a specified product, accepting only supported categories and **requiring feature activation via the Manage Feature panel**"; Reservation Expiration; Error Codes |

**Sequencing rule that matters:** "You must create your product in the **Supplier Portal** before connecting it to your reservation system." GYG's catalog is the system of record; the channel manager syncs against it. It is not the other way round.

**What this changes:** GYG is *not* a passive tenant of other people's plumbing. It authors the ingestion contract, runs a certification programme, and grades the systems that implement it. See §4.

### 2c. Klook — B2B distribution

- **No public outbound distributor API exists.** Re-confirmed. `klook.gitbook.io/openapi` self-describes: "This specification is intended for **merchants, reservation systems & channel managers** who are looking to integrate with Klook" — supply-inbound only. `partner.klook.com` is OAuth-gated with no public documentation.
- Inbound merchant API capabilities (Tier A, gitbook): product content retrieval, availability and pricing **both bulk and real-time**, dynamic pricing per traveller type and product option, **availability holds**, **price locking during booking**, and cancellation.
- Distribution reach claimed to suppliers: "our website, mobile app, **Redbook, TikTok**, and more" — Klook's own channel network is the product it sells to supply. Redistribution *out* of Klook to third-party resellers is not a public offering.
- Onboarding: single dual-funnel form at `klook.com/en-US/partner/` with two radio options (merchant vs. partner), then sales. No sandbox disclosed publicly. Klook's own gitbook names "Integration Complexity" as challenge #1: "Each partner has unique technical requirements, which can introduce delays and elevate development costs."
- Commercial model, tiering, credit terms, rate parity: **entirely undisclosed.** Klook's F-1 gives the only hard number — **gross profit 11.2% of GTV on $3.04bn GTV** — which is the blended take-rate ceiling for the whole aggregated-distribution model, not a partner rate card.
- **Where AI appears in Klook's B2B surface:** one place, and it is real — the **review-summarisation → merchant feedback** loop (§1b #9). Klook is turning demand-side data exhaust into a supply-side product. That is the correct move and it is the thing to watch. Everything else B2B is rules.

### 2d. Channel-conflict stance

- **Klook:** structurally conflict-free because it does not redistribute. Klook takes supply in and sells it only through Klook-controlled surfaces. Its conflict is with *suppliers' own direct channels*, managed by rate/inventory terms that are not public.
- **GYG:** actively courts distributors (four-step privilege ladder, public spec, affiliate portal) *and* takes supply from systems owned by Tripadvisor and Booking. It runs both sides. No public rate-parity clause was found in the spec, the wiki, or the README — the parity question lives in the sales-gated contract. Unverified.

---

## 3. 🔴 Klook Bali Pass — reverse-engineered mechanic

**Identity.** Activity ID **68512**, `klook.com/en-US/activity/68512-bali-pass/`. On-page title: **"Bali City Pass [Bundle & Save!]"**. Deep link `klook://activity/68512`. Published in **25 locale variants** of the same activity ID (en-US, en-SG, en-AU, en-GB, en-IN, en-MY, en-PH, en-HK, en-CA, en-NZ, id, ja, ko, th, vi, ms-MY, zh-CN, zh-TW, zh-HK, de, fr, es, it, pt-implied, ru). **One SKU, global demand, single ops overhead.**

**Structure.** `[SHIPPED]`, verbatim from the live PDP (A): *"Explore Bali's top activities and save up to 45% Klook Bali Pass. **Choose 2, 3, 4 or 5 of your favorite activities from a list of over 40 top activities in Bali.**"* Four tiers, buyer-composed.

**Price.** `product:price:amount = 46.85`, `product:price:currency = USD` — the lead-in (2-activity tier) price as of 2026-07-26. Per-tier price ladder is rendered client-side and was not machine-readable; **unverified**.

**Discount claim has been ratcheted.** Klook's own blog (2025-02-18, A) says "**save up to 42%**". The live PDP (2026-07-26, A) says "**save up to 45%**". The headline discount has increased ~3pts over ~17 months.

**Redemption flow** — verbatim from Klook's own blog (A, 2025-02-18):
1. Log in to Klook account (web or app).
2. Purchase the pass.
3. "Go to '**Bookings**' to **activate** your pass and **redeem** your visit to any listed activity that is included in the type of pass you purchased."
4. "You'll then **receive a voucher**." — a per-redemption voucher, issued at redemption time, not at purchase.
5. Proceed to the activity.

**Key architectural read:** purchase, activation and redemption are **three separate events**. Klook holds the cash from purchase, defers the supplier liability to redemption, and only mints the redeemable artefact at step 4. Breakage on unredeemed slots accrues to Klook. Activation gates the validity clock, so the traveller controls when the window opens — which removes the main objection to date-bound passes.

**Validity: 30 days from redemption/activation** — reported consistently across secondary sources (B/C). The PDP T&C block is JS-rendered and was not retrievable; treat the exact figure as **unverified at Tier A**. The *shape* (activation-triggered rolling window, multi-day, one visit per activity, different activities on different days) is consistent across all sources.

**Composition — the actual pool (33 inclusions read off the live PDP, A).** Grouped by economic role:

| Role | Items |
|---|---|
| **Anchors** (branded, high-intent, real gate cost) | Waterbom Bali · Bali Zoo · Bali Safari · Garuda Wisnu Kencana · Uluwatu Kecak fire dance · Trans Studio Bali · Bali Bird Park |
| **Adventure** (operator-run, moderate marginal cost) | Nusa Penida day trip · Mount Batur sunrise trek (×2 listings) · Ayung white-water rafting · ATV quad · Bali Swing (Tegalalang) · jungle swing · surf lesson · discover-scuba · snorkelling (3 spots) · Tanjung Benoa water sports |
| **Near-zero marginal cost / long tail** 🔴 | **Nine+ distinct spa operators** — Lluvia Spa Seminyak (120 min) · Taman Air Spa · Ubud Traditional Spa · Hua Spa Jimbaran · in-villa/in-hotel spa · Melah Spa (Jambuluwuk Oceano rooftop) · Radha Spa (Sankara Ubud) · ZEN Family Spa Nusa Dua · Jasmine Aromatic House (transit spa) · plus Ubud yoga class · Ubud cooking class |
| **Non-activity filler** 🔴 | **XL Axiata 4G SIM/data** · **Viufinder photographer** · Jimbaran seafood dinner · Atlas Beach Fest · GWK+Kecak+Jimbaran combo |

🔴 **The mechanic, stated plainly.** The 40+ pool is *majority* low-marginal-cost, weak-brand, high-availability inventory — spas, a SIM card, a photographer, yoga. The anchors (Waterbom, Bali Zoo, Bali Safari, GWK) do the acquisition work in the merchandising; the redemption mix is where the unit economics survive. Klook is funding a 45% headline discount out of **long-tail supplier margin and redemption-mix skew**, not out of its own take rate. A Tier C source references "up to 2 super saver activities" as a sub-tier within the pool — consistent with a two-class inventory design, but **unverified**.

**Merchandising against the standalone catalog.** The pass is a *separate PDP* that sits beside, not inside, the standalone catalog. It is fed by a dedicated promo hub (`klook.com/en-US/tetris/promo/klook_pass_bali/` — "Bundle and save up to 45%, up to 40 activities in one pass") and the Bali deals hub (`/tetris/promo/bali-deals/`). Every constituent activity remains individually bookable at full price. Klook's own blog sells the pass on five benefits, and the fourth is explicit: *"**The pass helps with itinerary planning** … This pass will help you with your itinerary planning by giving you a headstart."*

**Why this is the threat.** Klook is not competing on the individual SKU. It is competing on **trip composition** — and it does so with a mechanic that needs no engineering (a bundle SKU + a redemption state machine), converts a shopping decision into a single purchase, defers supplier cost to redemption, and localises to 25 markets off one product record. It is the cheapest possible way to own the hero position in a destination.

---

## 4. 🔴 GYG's connectivity dependency — reassessed

**The premise needs correcting.** GYG owns no channel manager and routes supply through systems owned by Tripadvisor (Bókun) and Booking Holdings (FareHarbor). That is true. But GYG is **not** a tenant. It owns the ingestion contract.

**Evidence of control, not dependency:**
1. **GYG authors the spec and runs certification.** `integrator.getyourguide.com` is a live Integrator Portal. `getyourguide.supply/connectivity/connectivity-partners` runs a "Connectivity Partner Program" with filters for Ticketing System / Channel Manager / Reservation System, and pitches systems on joining: "Showcase your booking solution, attract new suppliers, and benefit from exclusive partner resources and incentives."
2. **GYG publicly grades its competitors' products.** Supply help centre, **last updated 2026-02-10** (A):
   - **Premium partners: Bókun, Rezdy, Ventrata**
   - **Advanced partners: bookingkit, FareHarbor, Regiondo, LinkTwist, TourCMS / Palisis Group, TrekkSoft / ExperienceBank**
   🔴 **Bókun (Tripadvisor-owned) is Premium; FareHarbor (Booking-owned) is only Advanced.** A dated, GYG-authored public ranking that places one competitor's system above the other's. This is the closest thing to a public friction signal that exists — GYG is comfortable telling suppliers that Booking's channel manager is second-tier on its platform.
3. **GYG keeps the catalog as system of record.** "You must create your product in the Supplier Portal before connecting it to your reservation system." The channel manager syncs availability, price categories and bookings against a record GYG already owns. If a connector is lost, the catalog survives.
4. **GYG built its way around the content dependency.** The 2025-04-23 AI product-creation wizard (§1a #2) means a supplier can build a complete, high-quality GYG listing directly in GYG's portal in ~14 minutes, from a paste of their own website. That is a deliberate reduction in the value of channel-manager-mediated content onboarding — and it shipped to 100%.
5. **Portfolio dilution as strategy.** Nine+ named Premium/Advanced systems plus a long tail. No single connector is load-bearing.

**Evidence of friction, cost, or strategic conflict: none found publicly.** Searched; nothing. No dispute, no deprecation notice, no acquisition of a channel manager, no public complaint. **Unverified whether GYG pays anything per booking** — in this category connectivity vendors typically charge the *supplier*, so GYG's cost is plausibly engineering + partner support rather than per-transaction rent. **Unverified; do not assert.**

**The precedent, stated correctly.** GYG's position is not "partner for the plumbing." It is: **own the spec and the catalog record; let other people's software implement your spec; grade them publicly; never build the channel manager.** That is a materially cheaper posture than either building connectivity or surrendering the catalog to a connector. It also required a decade and a Supplier Portal to establish — the ownership of the record is what makes the rest safe.

---

## 5. What this implies for SatuSatu at its actual scale

*Note, with a reason. Not a recommendation. SatuSatu: 253 SKUs, Bali-focused, Pool A ~10% gross / ~7% net, Pool B ~27%, no dedicated engineering capacity, no disclosed funding since Nov 2022.*

**Klook —** The Bali Pass is the only competitor mechanic in this teardown that SatuSatu could actually build, because it is a merchandising construct (bundle SKU + purchase/activate/redeem state machine) rather than an AI or platform construct — but Klook is running it on 40+ Bali activities against SatuSatu's 253 total SKUs and funding a 45% headline discount out of long-tail supplier margin SatuSatu does not have on Pool A, so the honest read is that this argues for a **narrow Pool-B-only pass at 27% gross where the discount is affordable** (a D0/D1-shaped move), and argues *against* trying to match Klook's breadth from a D2/D3 platform build the team has no capacity to extend.

**GetYourGuide —** The one transferable, quantified, Tier A finding is that supplier-side GenAI catalog production works and pays (8 of 16 wizard steps auto-completed, 100% rollout, ~14-minute listing creation) — but GYG spent multiple quarters and four teams on it and failed the first experiment on UX rather than model quality, so for a company with no dedicated engineering capacity this is **not a build; it is at most an off-the-shelf-LLM internal ops habit for producing Pool B listing copy faster** (D0/D1), while GYG's actual distribution posture — own the catalog record, publish a spec, let other people's software implement it, never build the channel manager — is the D2 design principle worth copying **only** if the D2 build is already committed, because the expensive half is the catalog system of record, not the API.

---

## Open questions carried forward
1. Klook Bali Pass per-tier price ladder and full T&C (JS-rendered; Klook blocks non-browser UA with HTTP 403 — needs a headless browser, not curl/WebFetch).
2. Bali Pass 30-day validity — confirm at Tier A from the PDP T&C block.
3. "Up to 2 super saver activities" sub-tier — Tier C only; confirm or drop.
4. GYG Partner API commercial terms (net vs commission split, MasterBill credit terms, tier thresholds, rate parity) — sales-gated, not obtainable from public sources.
5. GYG voucher/ticket delivery — absent from the public spec; is it a private extension, or does GYG simply not redistribute redemption artefacts?
6. GYG Supplier/Connectivity API — no public OpenAPI found; only help-centre prose. Confirm whether a spec is published to certified integrators only.
7. Klook search/ranking ML — no public artefact at all. Genuinely unknown.
8. Whether GYG pays Bókun/FareHarbor anything per booking. Unverified.
