The Elo Cloud family
// CHANNEL MANAGER

Sell every room, everywhere — without leaking commission.

Connect your Booking.com, Expedia, Agoda and Airbnb accounts, reach 400+ OTAs through one SiteMinder link, and sync availability with any platform over universal iCal. Two-way pull & push, room and rate mapping, per-channel commission — and every booking lands in the same reservation ledger your front desk already runs on.

Start Free Trial Schedule a demo
400+ OTAs via SiteMinder Two-way sync ~180-day iCal feed RFC 5545 compliant
Channel Manager · Grand Riviera 6 CHANNELS
Booking.com CPP ACTIVE
Commission 15%Pulled 2m ago · Pushed 8m ago
Expedia EQC ACTIVE
Commission 18%Pulled 5m ago · Pushed 5m ago
SiteMinder 400+ OTAs ACTIVE
Commission 12%Aggregator connection
Agoda YCS PAUSED
Commission 17%Mappings retained
Airbnb API + iCal ACTIVE
Commission 14%Pulled 1m ago
Today's sync
Bookings pulled23
Rates pushed420 rows
Duplicates skipped4
Failed0
// CHANNEL MANAGER 101

What Is a Hotel Channel Manager?

A hotel channel manager is software that connects your property management system to online travel agencies (OTAs) like Booking.com, Expedia, and Agoda. It automatically syncs room availability, rates, and restrictions across all distribution channels in real time — so you update once, and every platform reflects the change instantly.

Without a channel manager, you log into each OTA's extranet separately every time you adjust rates, close rooms, or update minimum-stay rules. For a 30-room property listed on 5 OTAs, a single rate adjustment takes 30–40 minutes of manual data entry. With a channel manager, the same update takes 10 seconds.

How it works:

1

You set rates and availability in your PMS (one time, one place)

2

The channel manager pushes updates to all connected OTAs simultaneously

3

When a booking arrives on any channel, it pulls into your PMS automatically

4

Your PMS adjusts availability across all other channels instantly — preventing overbookings

This is called two-way sync: rates and inventory push out, reservations pull in.

EloPMS's channel manager is built directly into the PMS — no middleware, no third-party bridge, no extra login. Rate changes, room closures, and minimum-stay restrictions propagate to every connected OTA in seconds, not minutes.

// KNOW THE DIFFERENCE

Channel Manager vs Booking Engine: What's the Difference?

A channel manager distributes your rooms to third-party OTAs (Booking.com, Expedia). A booking engine lets guests book directly on your own website — commission-free.

Channel Manager

Pushes inventory to OTAs, pulls reservations back. You pay the OTA's commission (15-25%).

OTA distribution · 15-25% commission

Booking Engine

Sits on YOUR website. Guest books directly. You pay 0% commission.

Direct bookings · 0% commission

You need both.

The channel manager fills rooms through OTA visibility. The booking engine converts your direct traffic into zero-commission revenue. EloPMS includes both — the channel manager AND the commission-free booking engine — in one platform.

// SUPPORTED CHANNELS

One screen to connect and control every channel.

Connect your own OTA accounts through each platform's official connectivity program, or start syncing today over universal iCal with no partnership required. Every channel is scoped to a specific property.

Booking.com

Connect your account via Booking.com's XML Connectivity Partner Program (CPP).

Provider Username · Provider Password · Hotel ID

Expedia

Connect your account via Expedia Quick Connect (EQC).

EQC Username · EQC Password · Expedia Hotel ID

Agoda

Connect your account via Agoda YCS (Your Connectivity Solution).

YCS API Key · YCS API Secret · Agoda Hotel ID

Airbnb

Connect your account via the Airbnb Software Partner API for full integration — or use the simpler iCal route immediately for independent hosts.

OAuth Access Token · Listing ID · or iCal

SiteMinder

A single aggregator connection that reaches 400+ OTAs at once — instead of contracting with each OTA separately.

Hotel Code · API Username · API Password

iCal · Universal Sync

Works today with no partnership required — against any platform that exports or imports iCalendar feeds (Airbnb, Booking.com, Vrbo, Agoda and more).

Availability sync · no credentials

Direct Website

Your own commission-free booking channel, feeding the same reservation ledger.

Other

A generic slot for any additional channel you need to track.

// SETUP & CREDENTIALS

Add a channel in seconds — no generic JSON editing.

Pick the platform, give it a display name, set the commission percentage, and toggle it active to enable sync. The form renders exactly the right credential fields for the channel you chose.

Add Channel · Expedia (EQC) SANDBOX
Complete Expedia's EQC certification before live trading. Toggle Sandbox to validate against staging endpoints first.
EQC USERNAME
grand_riviera_eqc
EQC PASSWORD
e••••••••••2
MASKED
EXPEDIA HOTEL ID
EXP-4471902
COMMISSION
18%
STATUS
Active
Test Connection Save
Connection OK · auth + parse verified
Adapter-aware forms — the UI renders exactly the right fields for each platform, with inline help explaining each provider's certification and partnership path. No generic JSON editing.
Sandbox / test-environment toggle per channel, so you can validate a connection against the OTA's staging endpoints before going live — required for certification with most OTAs.
Rotate one credential at a time — a dedicated credentials endpoint deep-merges new keys into the existing set, so refreshing a single token never wipes the rest.
Credential security — secrets are never returned to the channel list view, and when a channel is opened stored values are shown masked, with only the first and last characters visible.
Test Connection exercises the full live HTTP + authentication + parse path and reports a clear success or failure message; if credentials are missing it prompts you to configure them rather than throwing an error.
Pause or reactivate any channel instantly — paused channels stop syncing but retain all mappings and history.
// ROOM & RATE MAPPING

Map your rooms and rates to each channel's side.

Line up every PMS room type and rate plan with the IDs the OTA uses, edit inline row by row, and let unmapped rates fall back to your Best Available Rate automatically.

Booking.com · Mapping 4 ROOM · 3 RATE
Room-type mapping
Deluxe King → 1204501SAVED
Executive Suite → 1204509SAVED
Standard Twin editing…SAVE
Rate-plan mapping
BAR Flexible → RP-STDSAVED
Non-Refundable → RP-NRSAVED
Corporate unmapped→ BAR FALLBACK
Room-type mapping — map each PMS room type to the room ID the OTA uses on its side, with an optional label of the OTA's own room name for reference.
Rate-plan mapping — map each local rate plan to the channel's rate plan; if a rate is left unmapped, the system falls back to your property's BAR (Best Available Rate) plan automatically.
Inline editing — per-row editing with individual save controls; each mapping can be independently activated or removed.
Live counts — the channel overview shows how many room mappings, rate mappings and sync events exist for each connection at a glance.
// TWO-WAY SYNC

Pull bookings in, push rates and inventory out.

Fetch new reservations on demand and send current rates and availability back out — with duplicate-safe imports, oversell protection and per-channel commission carried onto every booking.

Pull Reservations · Booking.com INBOUND
12
New
4
Duplicates
0
Failed
BK-9920481 · A. KhanConfirmed
Deluxe King → mapped · BAR fallbackComm 15%
BK-9920488 · new guestCRM created
Inventory consumed · oversell blockedComm 15%
Push rates & inventory · 07 Jul → 06 Aug · 310 rows sent

Pull reservations (inbound)

Fetch new bookings from a channel on demand. The system creates a local reservation for every new booking, maps the OTA room to your room type, resolves the rate plan (mapped or BAR fallback), and finds-or-creates the guest's customer record — then attaches the channel ID, the channel's reservation ID and the channel commission to the reservation.

Duplicate-safe & oversell-proof

Bookings already imported (matched by the channel's reservation ID) are skipped, and every pull returns a clear summary — "X new / Y duplicates / Z failed." Inbound OTA reservations land as confirmed and immediately consume sellable inventory, preventing oversell.

Push rates & inventory (outbound)

Send current rates and availability out to a channel for a chosen date window, with a returned summary of rows pushed. Per-channel commission is recorded on every channel and carried onto imported reservations, so you always know the true net value of OTA business.

// SYNC LOG & AUDIT TRAIL

Every exchange, logged and searchable.

Every inbound and outbound exchange is written to a per-channel sync log — so you can always see what happened, when, and why.

Full detail per row — timestamp, direction, event type, status (success / failed / pending), a reference key and a human-readable summary — or the error message on failure.
Filter & refresh — filter the log by status and direction; the most recent events surface first, with a one-click refresh.
Last pulled / last pushed — timestamps are shown on each channel card at a glance.
Sync Log · All channels ↻ REFRESH
All Inbound Outbound Failed
IN ✓ Booking.com · pull_reservations — 12 new / 4 dup 2m
OUT ✓ Expedia · push_rates — 310 rows 5m
IN ✓ Airbnb · pull_reservations — 3 new 1m
OUT ✕ Agoda · push_inventory — auth failed 18m
OUT … SiteMinder · push_rates — pending now
// UNIVERSAL iCAL ENGINE

Stop cross-platform double-bookings — no partnership needed.

The built-in iCalendar engine works in both directions and is production-ready today. Publish one tokenized feed to every OTA, and read their calendars back in as availability holds.

Published iCal Feed · Grand Riviera ~180 DAYS
TOKENIZED FEED URL
https://e.eloerp.net/ical/grand-riviera/feed/8f3a··c1e7.ics
Copy Rotate token
BEGIN:VEVENT
SUMMARY:Reserved
DTSTART;VALUE=DATE:20260707
DTEND;VALUE=DATE:20260710
UID:elopms-RES-42@elopms
END:VEVENT
RFC 5545 CRLF endings 75-octet folding NO PII

Publish your availability (export)

The PMS publishes a per-property iCal feed at a tokenized URL. Paste this one URL into the "import calendar" field of every OTA — Airbnb, Booking.com, Vrbo, Agoda and any other iCal-aware platform — and they poll it on their own schedule, blocking your reserved dates automatically. It publishes the next ~180 days of confirmed, checked-in and checked-out reservations as all-day "Reserved" blocks; no guest personal data ever leaves the feed — only blocked date ranges and an internal reservation reference.

Rotate & standards-compliant

Generate or rotate the feed token with one click — rotating instantly invalidates the old URL — and a copy button makes distribution to each OTA effortless. Output is standards-compliant RFC 5545 iCalendar with correct CRLF line endings, 75-octet line folding and exclusive DTEND semantics that match hotel check-out dates.

Read OTA calendars (import)

Add each OTA's iCal export URL as an inbound feed, tagged with a name and mapped to one of your room types. EloERP fetches those feeds, parses the blocked ranges and creates channel-block reservations so the nights drop out of your sellable inventory. Fetching is robust — connection timeouts, automatic retries and a custom user agent — and a single unreachable feed is logged and skipped without breaking the rest of the sync.

Loop-safe & PII-free

The importer recognizes and ignores blocks that originated from EloERP's own published feed, so re-imported events never create phantom bookings. iCal blocks are treated purely as availability holds — no money or guest PII — keeping the calendar the single source of truth across every platform.

// EVERYTHING IN THE BOX

The full distribution capability list.

Every capability of the Channel Manager and iCal sync engine, at a glance.

One-screen controlEvery channel managed here, each scoped to a property
Native OTA connectorsBooking.com CPP, Expedia EQC, Agoda YCS, Airbnb, SiteMinder
Extra channelsUniversal iCal, commission-free Direct Website, generic Other
Add in secondsPlatform, display name, commission %, active toggle
Adapter-aware formsRight fields per platform, inline help, no JSON editing
Sandbox toggleValidate against staging endpoints before going live
Rotate one credentialDeep-merge keeps the rest of the key set intact
Credential securitySecrets never returned; stored values shown masked
Test ConnectionLive HTTP + auth + parse; prompts if credentials missing
Pause & reactivateInstant; paused channels keep mappings and history
Room-type mappingTo the OTA's room ID, optional OTA room-name label
Rate-plan mappingAutomatic BAR fallback for any unmapped rate
Inline row editsIndividual save; each mapping active or removed
Live countsRoom mappings, rate mappings and sync events per channel
Pull reservationsCreates booking, maps room, resolves rate, finds guest
Provenance taggedChannel ID, reservation ID & commission on every import
Duplicate-safe importsMatched by reservation ID; X new / Y dup / Z failed
Oversell protectionInbound bookings land confirmed and consume inventory
Push rates & inventoryOutbound for a chosen window, with rows-pushed summary
Commission trackingPer-channel, for the true net value of OTA business
Per-channel sync logTimestamp, direction, event, status, ref key, summary
Log filtersBy status and direction, most-recent-first, one-click refresh
Sync timestampsLast-pulled and last-pushed on every channel card
Tokenized iCal feedNext ~180 days as all-day Reserved blocks
No guest PIIFeed carries only blocked ranges and a reservation ref
Token rotationOne click invalidates the old URL; copy button included
RFC 5545 outputCRLF endings, 75-octet folding, exclusive DTEND
Import iCal feedsTagged and mapped to a room type as channel-block holds
Robust fetchingTimeouts, retries, custom UA; unreachable feeds skipped
Loop-safe importerIgnores EloERP's own feed blocks; iCal as holds only
// KEEP EXPLORING

Distribution connects to everything.

// FAQ

Frequently Asked Questions

Common questions about hotel channel managers and how EloPMS handles distribution.

What is a channel manager in the hotel industry?+

A channel manager is software that connects a hotel's property management system to multiple online travel agencies (OTAs) like Booking.com, Expedia, and Agoda. It automatically synchronizes room availability, rates, and restrictions across all distribution channels in real time, so one update in your PMS is instantly reflected everywhere. This eliminates the need to log into each OTA separately and dramatically reduces the risk of overbookings.

How does a channel manager prevent overbookings?+

When a booking arrives on any connected channel, the channel manager pulls it into your PMS and immediately reduces available inventory across all other channels. This two-way sync happens in seconds, closing the window where two guests could book the same room on different platforms. EloPMS also marks inbound OTA reservations as confirmed on import, so inventory is consumed the moment the booking is received.

How many OTAs does EloPMS connect to?+

EloPMS connects directly to Booking.com, Expedia, Agoda, and Airbnb through each platform's official connectivity program. Through the SiteMinder aggregator integration, your property can also reach 400+ additional OTAs with a single connection. Any platform that supports iCal can also be synced immediately using EloPMS's universal iCal engine — no partnership required.

Is the EloPMS channel manager included in the subscription?+

Yes, the channel manager is built directly into EloPMS and included in your subscription at no extra cost. There is no separate module to purchase, no third-party middleware, and no additional login — rate changes, room closures, and inventory updates propagate from the same interface you already use for front desk operations.

Can I use EloPMS channel manager without the PMS?+

No, the EloPMS channel manager is natively integrated into the property management system and cannot be used as a standalone product. This tight integration is what enables real-time two-way sync — rates and availability flow directly from your PMS data, and inbound bookings land directly in your reservation ledger without any manual import.

What is two-way sync in a channel manager?+

Two-way sync means data flows in both directions between your PMS and connected OTAs. Outbound, your rates and availability are pushed to every channel when you make a change. Inbound, new reservations from OTAs are pulled into your PMS automatically, updating your inventory across all other channels in real time.

Fill every room, from every channel.

Connect your OTA accounts, sync availability everywhere over iCal, and watch every booking flow into one ledger — see it running on your own property in minutes.

Start Free Trial Schedule a demo
Schedule a demo