Channel Manager Stub · Documentation
Overview
What Channel Manager Stub does in the ecosystem, how it connects, and what is simulated.
← Channel Manager StubWhat it does
Channel Manager Stub stands in for the OTA/channel-manager seam every real hotel platform has: it pushes rates and availability out to distribution channels and pulls external bookings back in. It is intentionally a stub — its job is to give the rest of the Revenue & Distribution cluster a believable second source of bookings (channel-origin, with the occasional sync conflict) without any real integration. The roster is six simulated channels — Booking.com, Expedia, Airbnb, Agoda, MakeMyTrip and Google Hotels — each with a kind (OTA / Metasearch) and a commission %.
Operators push rates + availability (which writes labelled entries to the sync log) and pull bookings (which ingests a small deterministic set of channel-origin bookings). The owner can toggle individual channels on or off; with three or more channels live, a pull deterministically surfaces a rate-mismatch conflict so the cockpit's overbooking path has something real to show.
How it connects
It reads the shared rate plans (priced by Dynamic Pricing #10) and inventory, and writes channel-origin bookings into the shared-core booking table — so a pulled booking appears in the Booking Operations Cockpit #20 as a 'channel' source and lands on the PMS #30 arrivals board. On the event spine it emits rate.pushed and channel.synced (push), and booking.ingested + booking.created (pull). The simulated conflict a pull can create is the seed for the cockpit's channel-collision overbooking exception.
What is simulated
Everything external. No real OTA, GDS or metasearch endpoint is contacted; no real rates, availability, money or inventory move. Every channel, push, pull, sync-log entry and conflict is marked simulated — on the surface (an app-level 'simulated' reality badge and a sync note) as well as in the dark 'Behind the scenes' inspector. There is no metered AI and no cost: the app is deterministic and $0 in both Cloud and OSS modes.
Honesty + reality contract
Synthetic data only — channel-origin bookings are generated deterministically (fixed-seed) and labelled Synthetic, like every record in the ecosystem. The data invariant holds: an owner's channel toggles and pulled bookings are canonical, while a viewer's push/pull/toggle effects are own-credential-scoped, ephemeral, and cleared when their access window resets. No real brands are integrated, no PII, and no proprietary connectors or metrics appear anywhere; channel names are used only as recognisable labels for a clearly-simulated seam.