Skip to Content
Guests online

Distribution: channel manager, OTA bookings and iCal calendars

One connection per counterparty. The Channex connection pushes availability, rates and restrictions to Booking.com, Expedia, Agoda, Airbnb and the rest, and turns their booking revisions into reservations with the right source, account, rate plan, nightly prices and guarantee. An iCal connection trades a calendar per unit with Airbnb or Vrbo — the free tier for a village chalet. Simulate mode shows the whole flow before a single credential exists.

For:Revenue managerReservations agentProperty IT administratorGeneral manager

Where:Distribution › Dashboard · Connections · ARI Queue · Channel Bookings · iCal Feeds · Configuration

The dashboard: connections, the ARI queue, bookings and revenue by channel.
The dashboard: connections, the ARI queue, bookings and revenue by channel.
A Channex connection: mode, credentials, the webhook URL, mappings and its log.
A Channex connection: mode, credentials, the webhook URL, mappings and its log.
The outbound queue: what changed, when it was sent, and the payload that went.
The outbound queue: what changed, when it was sent, and the payload that went.
Booking revisions as the channels sent them, and the reservations they became.
Booking revisions as the channels sent them, and the reservations they became.
Export and import calendars per chalet.
Export and import calendars per chalet.

Before you start

Unit types and rate plans under Rates.
The OTA sources and accounts under Guests › Accounts (Booking.com, Expedia, Agoda…) with their commission.
For a live Channex connection: the Channex API key and the property ID from the Channex back office.

How to

Connect a channel manager

  1. Distribution › Connections › New: name, property, kind Channex, mode Simulate to start (nothing leaves the server; every push is logged with the payload it would have sent), then Connect.
  2. Rate plans to distribute: the plans the OTAs sell (usually BAR and a non-refundable plan); the default plan is used for a booking whose plan is not mapped.
  3. Fetch / propose mappings: the channel's room types and rate plans are matched to your unit types and rate plans by name; confirm the proposed rows or pick the right unit type.
  4. Push everything now sends the next 365 days of availability, rates and restrictions for every mapped unit type; from then on every reservation, rate or restriction change queues a delta and the scheduled action sends the queue every five minutes.
  5. To go live: switch the mode to Live, enter the API key and the external property ID, Connect again and paste the Booking Webhook URL into the channel manager.
Dispatch "at once, in a background job" needs a queue-job worker; "every five minutes, batched" works everywhere.

Follow the ARI queue

  1. Distribution › ARI Queue: one row per change — availability after a booking or a check-in, a rate after a price edit or a derived-plan change, a restriction after a stop-sell or a minimum stay, a full refresh after the night audit rolls the business date.
  2. A delta is queued, then sent (with the payload it carried) or failed with the channel's answer; failed deltas are retried five times and can be re-queued by hand.
  3. The connection's Log keeps every request and answer for ninety days.

Receive OTA bookings

  1. The channel posts booking revisions to the webhook (or the connection pulls its feed); each revision lands under Channel Bookings as new, modified or cancelled.
  2. Applying a revision creates the reservation: the OTA source and account (commission follows the account), the mapped rate plan, the channel's price for every night, the guarantee (guest card, virtual card, prepaid) and the channel's reference; a modification updates the stay, a cancellation cancels it.
  3. A stay the property cannot honour (no availability, a restriction) is never refused: the reservation is created unconfirmed with the reason on it, and the booking shows "needs attention".
  4. Simulate an inbound booking (on the connection, or under Configuration) fabricates a revision and applies it — the demo's proof.
Card details never land in GoHotel: only the card type, the last four digits and whether it is a virtual card.

Trade iCal calendars per chalet

  1. Distribution › Connections › New: kind iCal calendars, the village, Connect; Create export feeds makes one calendar per unit — paste its URL into Airbnb or Vrbo as an imported calendar.
  2. For each channel calendar: iCal Feeds › New, direction Import, the unit, the channel name and the .ics address the channel publishes; Fetch now reads it, and the scheduled action re-reads it every hour.
  3. Each event becomes a confirmed stay of source iCal for a placeholder guest ("Airbnb guest") at price 0; a moved event moves the stay, a vanished event cancels it. Replace the guest at check-in.

Questions the desk asks

Which price does an OTA booking get?

The channel's price for each night, in the property's currency; the rate plan is only the fallback for nights the channel did not price.

Does a booking taken at the desk reach the OTAs?

Yes — every stay created, confirmed, moved, checked in, cancelled or no-showed queues an availability delta for its unit type and dates.

We have no worker for background jobs.

Leave Dispatch on "every five minutes, batched": the scheduled action sends the queue, applies received bookings and reads the calendars.

SiteMinder?

On the roadmap; the connection kind exists but cannot be connected yet.

See also: Rate plans, rates, restrictions and allotments Reservations and the tape chart The property website and online booking