Channex daily operations: inventory, reservations, and the embedded UI
After connect-and-map, Channex day-to-day reduces to a handful of actions. This guide is the operator's reference — what each button does, when to use which, and how to read the embedded Channex UI without leaving HotelBee.
Where everything lives
Two areas: Settings → Integrations → Channel Managers is the configuration card (activate, register, sync, disconnect). Channel Manager → (sub-pages) is the daily operations area with the embedded Channex iframe pages — Properties, Rooms, Channels, Bookings, Inventory/Rate Calendar.
The four daily action buttons
Send Inventory
Force-pushes your current HotelBee rates, availability, and restrictions to Channex (and from there to every connected OTA). Normal saves push automatically; use this button when you suspect a sync gap, after a bulk import, or when Channex support asks. Confirms with "inventory refreshed successfully." The push is asynchronous — wait a minute for the channels to update.
Pull Reservations
Fetches recent bookings from Channex into HotelBee. Returns a summary: total / created / updated / failed. Use as a safety net after a known outage, or weekly as a habit. Failures are listed with the bookingId and reason — usually rate plan mapping issues. Don't run this on a busy minute; it can pull dozens of records in a burst.
Pull Unacked Reservations
Like Pull Reservations but scoped to bookings that HotelBee never acknowledged — typically because the real-time webhook failed (network blip, our server restart). Channex keeps an unacked queue for exactly this case. This is the right button when you hear "there's a Booking.com reservation that never showed up in HotelBee." Run it, check the failed list, escalate any errors.
Disconnect (super-admin only)
Removes the integration on HotelBee's side. Channex itself, your channels, and your bookings on the OTAs are untouched. After disconnect, no syncs happen until you reconnect and re-map. Hidden behind super-admin because reconnecting is non-trivial — there's a confirmation dialog, but if you're not the person who set this up, ask before clicking.
The embedded Channex pages
Channel Manager mounts five Channex pages directly inside HotelBee via signed iframe tokens — you stay logged in to HotelBee but see the real Channex UI. Each is a focused workspace:
- Properties — the property-level Channex settings, contact info, currency, time zone.
- Rooms — the room types as Channex sees them, with their own descriptions and amenities.
- Channels — register/unregister Booking.com, Expedia, Airbnb, etc. This is where new OTA connections start. Each channel has its own onboarding flow inside Channex.
- Bookings — the OTA booking list with full guest detail. Useful for inspecting an exact incoming payload when a booking landed weird in HotelBee.
- Inventory (rate calendar) — Channex's own rate-and-availability grid. Compare side-by-side with HotelBee's rate calendar to confirm a push went through.
If a page fails to load, click the Refresh button on the iframe header — the iframe token expires after a session and a refresh fetches a new one. The iframe language follows your HotelBee language where possible (English, Italian, German, Spanish, Portuguese supported by Channex; everything else falls back to English).
Adding a new OTA channel — full click-by-click
This is the flow you'll do every time you add Booking.com, Expedia, Airbnb, Agoda, Hotelbeds, or any other OTA. Same steps in slightly different shapes per channel. Before starting, make sure the room types and rate plans you want to sell on this OTA are already registered to Channex (see the mapping flow below — that is a prerequisite, not optional).
- From the HotelBee left menu, open Channel Manager. The page loads with sub-tabs across the top — Properties, Rooms, Channels, Bookings, Inventory. This is the embedded Channex UI inside HotelBee.
- Click the Channels tab. The Channex Channels list loads in the iframe — empty if this is your first channel, or showing your existing channels with a colored status (green = active, yellow = pending, red = error).
- Click "Create Channel" (top-right of the Channex Channels page). A picker appears with logos for every supported OTA — Booking.com, Expedia, Airbnb, Agoda, Hotelbeds, Vrbo, Despegar, and dozens more. Pick the one you're connecting.
- Enter the channel-specific identifier and credentials. The exact fields depend on the OTA:
- Booking.com: Hotel ID (the 6–8 digit code from your extranet URL) plus an XML username/password generated by Booking.com support. Channex emails Booking.com on your behalf to enable XML if not already enabled.
- Expedia: Property ID + your Expedia Partner Central credentials. Expedia activates the connection within 24–48h after Channex submits the request.
- Airbnb: OAuth — Channex redirects you to Airbnb to authorize, you log in, click Allow, you come back. No manual ID needed.
- Agoda / Hotelbeds / Vrbo / Despegar: a property ID plus a partner code or API key from that OTA's extranet.
- Save. The channel appears in the Channels list with status "pending activation." For most OTAs this clears within minutes; Booking.com and Expedia can take up to 48 hours because the OTA side has to enable the XML/API contract.
- Click into the channel. Two mapping tables appear: Room Mapping and Rate Plan Mapping. These are the join tables between Channex and the OTA — Channex already knows about your rooms (you registered them earlier from HotelBee), now you tell each one which OTA-side room it represents.
- Room Mapping: for each Channex room (left column), pick the matching OTA room from the dropdown (right column). The dropdown is populated from the OTA's API — you'll see the room names exactly as the OTA has them. Match "Standard Double" on your side to "Double Room" on Booking.com if that's what they call it.
- Rate Plan Mapping: for each Channex rate plan (left), pick the OTA rate plan (right). "Best Available Rate" → "BAR" or whatever the OTA labels it. If the OTA has rate plans you didn't create on Channex (e.g. Genius, Mobile), leave them unmapped — they'll continue to apply OTA-side discounts on top of what you push.
- Save the mapping. Channex confirms with green checkmarks per row.
- Push your inventory: go back to HotelBee → Settings → Integrations → Channel Managers → click Send Inventory. This forces a full push of rates and availability through Channex to the new OTA. (Or wait — the next save in HotelBee will trigger an auto-push.)
- Verify on the OTA side: log into the OTA extranet (Booking.com extranet, Expedia Partner Central, etc.), open the rate calendar, confirm the rates and availability match what you have in HotelBee. First-push verification matters because mapping mistakes don't surface until a real value flows through.
- Test a booking (optional but recommended): place a real low-cost booking through the OTA, confirm it lands in HotelBee within minutes via Pull Reservations or the webhook. Cancel/refund the test once verified.
The mapping flow (one-time per room type / rate plan)
When you add a new room type or rate plan in HotelBee, it isn't automatically pushed to Channex — you opt-in per item. Open Settings → Integrations → Channel Managers, find the Channex card:
- In Room Types section, tick the unregistered ones (synced ones are greyed with a "synced" badge).
- Click Register Room Types. Each becomes a Channex room with a channexId stored on the HotelBee side.
- In Room Rates section, tick the rate plans (only those whose room type is already registered are eligible — rest are disabled).
- Click Register Room Rates. Each becomes a Channex rate plan, mapped via channexRatePlanId on the rate side.
- Now go to the Channels embedded page and register the OTA connections that should sell this room/rate combination.
Status badges to watch: "synced" (fully mapped), "partially synced" (some of the room types under this rate are mapped, others not — finish mapping all eligible ones), no badge (not yet registered).
Multi-property setup (extra accounts)
If you operate two or more properties on one HotelBee tenant, click "+ Add Channex Account" on the configuration page. Each card binds to one Channex propertyId. The first card is the primary; subsequent ones are extras. Practical caveats:
- Only the primary card can register room types/rates from the HotelBee UI — for extras, use Channex's own UI.
- Send Inventory is also primary-only here; extras sync inventory through their own iframe controls.
- Pull Reservations works on any activated card — the pulled bookings are scoped to that property.
- Email field on each card receives Channex's invitation/login email. Use a real address, not a shared inbox you don't read.
When something looks wrong
- Booking missing in HotelBee → Pull Unacked Reservations.
- Rate wrong on Booking.com → check rate calendar in HotelBee, then in Channex Inventory iframe, then OTA. The first place values don't match is where it broke.
- Room sold out but you have rooms → Send Inventory to force a push, then check AVL on Channex Inventory.
- New room type not appearing on OTA → confirm channexId is set, then register the rate plan, then check the channel registration in Channex.
- If none of the above resolves it, see the Channex troubleshooting article.
Frequently asked questions
Was this helpful?
Related articles
How to connect Channex
Step-by-step Channex onboarding — credentials, mapping, channel registration.
Channel ManagerTroubleshooting: Channex isn't syncing
OTA not reflecting changes? Check connection → mapping → rate-plan setup, in that order.
Channel ManagerChannel Manager overview
How HotelBee connects to OTAs — the Channex-centric model and supported alternatives.
Channel Manager

