Channex (channel manager)

Updated on 2026-09-12

Channex is the channel manager BedFlow uses to sync Booking.com, Airbnb, Expedia, OpenGDS, HRS, Check24 and Weekendesk. Without Channex you would have to maintain availability and prices manually per OTA.

Supported channels (via Channex)

| Channel | Code | Region / type | Default commission | |---|---|---|---| | Booking.com | BDC | Worldwide | 18% | | Airbnb | ABB | Worldwide | 15% | | Expedia (incl. Hotels.com / Vrbo) | EXP | Worldwide | 20% | | OpenGDS | GDS | EU + sub-channels (VIPIO, Charmant Hotel) | 22% | | HRS | HRS | DACH corporate / business travellers | 15% (typical) | | Check24 | CCK | Germany metasearch | 10% (typical) | | Weekendesk | WKD | BE/NL/FR weekend & short-break | 17% (typical) |

Each channel is opt-in per property (RateRule + room mapping in Connections). Source-of-truth for channel metadata lives in App\Enums\Channel.

What does Channex do for BedFlow?

  • Availability push: when a room is blocked in BedFlow → within seconds it is also blocked at Booking.com
  • Price push: rate changes go to all OTAs automatically
  • Booking import: new OTA bookings come in via webhook → BedFlow automatically creates a Booking + Debtor

Adding a channel that has no tile yet

Under Settings → Integrations the common channels are shown by default (Booking.com, Airbnb, Expedia, Vrbo, Google, OpenGDS, HRS, Check24, Weekendesk). BedFlow reaches seventy-odd through Channex — the full list is in All integrations. Missing one, e.g. Hotelbeds, Reconline or Trip.com:

  1. Click Add channel at the top of the Channels section.
  2. Type the name and pick the channel. Click Add tile — the tile is there right away.
  3. Open the tile, enter your property ID at that channel (from their extranet or partner portal) and click Save.
  4. Click Connect in Channex, pick the channel in the list and go through the wizard (mapping your rooms, see Setup below). Then click Done — close and refresh status.
  5. The channel confirms the connection on their side, usually within one to three working days; the status switches to Active by itself.

OpenGDS partners (Natuurhuisje, Weekendjeweg.nl, HotelSpecials, Vipio, …) get no tile of their own: you activate them in your OpenGDS account and link them here through the OpenGDS tile — step plan in Connecting OpenGDS.

Setup

  1. Create a Channex account (staging.channex.io for testing, app.channex.io for production)
  2. Connect your existing OTAs in Channex (Booking.com extranet credentials, Airbnb, etc.)
  3. In BedFlow: Settings → Integrations → Channex tab — fill in API key + property ID
  4. Go to Room types — per room fill in the Channex Room Type ID and per channel the Rate Plan ID
  5. Activate Channex via the toggle on the Connections page
  6. Click Synchronise channels at the top right to run a first full sync

Automatic events

  • Booking createdPushRoomAvailabilityJob per affected room
  • Cell toggled in Room overview → the same job
  • Rate changedSyncRoomPricesJob
  • Daily at 06:00: full price sync for all rooms (365 days ahead)
  • Daily at 06:30: competitor prices scrape (informational)

Rate limiting

Channex has a rate limit:

  • Staging: 1 request / 7 seconds
  • Production: 1 request / second

BedFlow's ChannexService throttles automatically. Jobs run sequentially via the --queue=channex worker (not in parallel).

Webhooks (inbound)

Channex sends webhooks to /api/channex/webhook for:

  • booking.new — new OTA booking
  • booking.modified — OTA booking changed
  • booking.cancelled — OTA booking cancelled

Signature validation via a shared secret in settings.

Check the connection yourself

Not sure everything is set up right? Both checks live right inside BedFlow, at the top right of Settings → Connections:

  • Test connection — instantly checks whether the link with the channel manager works and shows how many room types and rate plans were found for your property. If something is off, the notification tells you what.
  • Synchronise channels — pushes availability and prices to all connected channels again. You follow the progress in the bar at the top of the page.

First Test connection, then Synchronise channels — if something still does not come through, e-mail support@bedflow.eu.