Online booking system for hotels: direct bookings, built your way

Stanislav TyshchenkoIndustry Guide9 min read
A boutique hotel at night drawn as a cut-away front elevation: eighteen lit rooms, each tagged with something a guest can book with the stay (breakfast, sea view, late check-out, spa for two, promo code, airport pick-up, winter rate), under the headline Every room, booked your way, with an Opencals hotel booking engine sign on the roof

Search for an online booking system for hotels and open the first four results side by side, and you'll find they aren't four versions of the same thing. One is a booking engine, one is a channel manager, one is a property management system, and one is all three with the price behind a demo call. What almost none of them offer is a booking flow you can shape: the stay, the extras, the pricing and the guest account exactly the way your hotel sells, on your own website.

That second part is what we built Opencals for, so I'll be clear about the angle. This guide explains what each kind of hotel software does and what the suites charge, and then shows how a hotel can run its direct bookings on Opencals and connect everything else around it.

"Hotel booking system" means three products: a booking engine (guests book on your own website), a channel manager (keeps Booking.com, Expedia and your site in sync) and a PMS (runs the front desk). Hotel suites bundle them with fixed booking flows; among those that publish prices, Sirvoy starts at €12 a month, Beds24 at €15.50 and eviivo at $50 (checked 27 October 2026). Opencals takes the other approach: a fully customisable booking engine with nightly pricing, room types, extras, add-ons, discounts and guest accounts, on your own site, with integrations to housekeeping, PMS or channel tools built on our API. In the EU, Booking.com can no longer stop you pricing lower on your own site.

Three products get sold under one name

The vocabulary matters more than any feature list.

A booking engine is the "Book now" part of your own website: the date picker, the room choice, the extras, the payment. It's how a guest books you directly instead of through a platform.

A channel manager connects your rooms to the platforms that sell them: Booking.com, Expedia, Airbnb and the rest. When a room sells on one, it tells the others it's gone. Sirvoy's own definition is the clearest I found: when a room is booked on one site, it lets the other connected channels know, so availability updates everywhere.

A property management system (PMS) runs the hotel itself: the reservation list, check-in, housekeeping, guest emails, payments taken at the desk.

The suites bundle these differently on each plan, and that's where a cheap plan turns out to be missing the part you needed. It's also why the booking engine tends to be the weakest of the three in a bundle: it's a fixed form the vendor designed for every hotel at once.

What the hotel suites charge, checked October 2026

I checked each vendor's own pricing page on 27 October 2026. Where a price isn't public, or the page didn't show it, the table says so rather than repeating a figure from a third-party blog.

VendorPublished priceBooking engineChannel managerFee on direct bookings
SirvoyFree (1 room), Starter €12/mo, Pro €44/moAll plansConfirmed on Pro0% commission
Beds24From €15.50/mo, scales with roomsIncluded€0.55/mo per channel linkNone
eviivoSingle property from $50/mo, scales with bedroomsIncludedIncludedNone; $0.50 per booking if you use their messaging or payment services
Little HotelierCalculator on the page; amount didn't displayBoth plansBoth plansBasic plan: 1% of gross reservation value
SiteMinderPriced per property; amount didn't displayPlus plan onlyBase planDescribed as commission-free
CloudbedsQuote onlyOne and Experience plans, not FlexOne and Experience plans, not FlexNone stated
MewsQuote only, priced per roomPro planPro planNot stated; payment fees separate

Two details are worth knowing before you compare monthly prices. Little Hotelier's Basic plan adds a 1% booking fee on the gross value of reservations, online and offline, according to its own pricing page: on €300,000 a year of bookings that's €3,000 on top of the subscription. And SiteMinder's base plan is a channel manager and PMS without a booking engine, which comes with the Plus plan. If direct bookings are the reason you're shopping, check which plan you're being quoted.

A direct booking can carry more than an OTA listing

On Booking.com every hotel sells the same way: a room, a rate, a date range, a short list of options the platform allows. Your own website doesn't have to. This is the part I care about most, because it's where a direct booking earns more than the same night sold through a platform.

On Opencals, a hotel's booking flow can include:

  • Stays priced by the night, with fixed check-in and check-out times the API enforces, and minimum and maximum stay lengths.
  • Room types and rate options, modelled as products and their variants, so a guest chooses the room and how they want to book it.
  • Seasonal schedules and variable pricing, so August and February don't have to cost the same.
  • Extras and add-ons sold with the stay: breakfast, airport transfers, parking, a spa treatment, late check-out. Add-ons can be charged once per stay or once per night.
  • Discounts and promo codes, automatic or entered at checkout.
  • Checkout questions for arrival time, flight number, the occasion or anything else you need before the guest arrives.
  • Guest accounts with passwordless sign-in, upcoming and past stays, and self-service date changes and cancellations inside your policy window.
  • Payment through Stripe into your own account, with the totals, taxes and the last day of free cancellation shown before the guest pays.

None of that is a template you fill in. The front end is yours, built on the Storefront API and SDK, so the booking page can look and work exactly like the hotel. Our Bali Villas template is a full example: a resort site with nightly stays, stay extras, a two-month availability calendar and a guest trip page, MIT licensed, that a developer can start from instead of an empty file.

Housekeeping, PMS and channel managers connect through the API

A hotel's booking engine never works alone. Housekeeping needs to know who's leaving today, the front desk needs the arrivals list, and if you sell on travel agencies, something has to keep their calendars in step with yours.

Opencals doesn't ship a housekeeping board or a channel manager of its own. What it has is the integration route Shopify made familiar: Shopify apps work with a store through Shopify's Admin API, and an Opencals integration works with a store the same way, through our admin API. That can be a connection to the PMS or channel manager you already pay for, a housekeeping tool, a custom report, or something nobody else sells because only your hotel needs it.

The admin API isn't publicly exposed yet. If you're a hotel or an agency planning one of these integrations, contact us and we'll open it up for your project and work through the integration with you.

Your own website is allowed to be cheaper, at least in the EU

For years the argument against pushing direct bookings was parity: Booking.com contracts could stop a hotel offering a lower rate on its own website. In the EU that changed. The European Commission designated Booking as a gatekeeper under the Digital Markets Act on 13 May 2024, and Booking.com had to comply by November 2024. Under the DMA its parity clauses are prohibited, and it can't punish a hotel for offering a lower price on its own site. Separately, the EU Court of Justice ruled in September 2024 that both wide and narrow parity clauses hinder competition.

Booking.com doesn't publish a standard commission. Its partner help pages say the rate varies by country and is set in your contract, and that Genius, Preferred Partner and Visibility Booster can raise what you pay. Whatever your contract says, a guest who books direct saves you that percentage. If your rate is 15%, every €120 night booked direct keeps €18 that would have gone to the platform. Some of it can go back to the guest as a lower price or a free breakfast added as an extra, and you still come out ahead. Outside the EU, read your contract before you undercut the platforms.

Google helps with the other half. Its hotel search shows free booking links, and Google's help pages say there's no cost for clicks on them. A hotel's own booking site can sit next to the travel agencies with its room rate. The usual way in is through a reservation system already connected to Google, and that connection is one of the integrations worth planning early.

No commission on the stay, per booking or monthly

From opencals.com/pricing, checked 27 October 2026. Elastic is $0.99 per booking with no monthly fee. Build your plan is $14.98 a month including 300 bookings, then $0.20 each, with features as add-ons: multi-night stays use Flexible duration ($9.98 a month) and guest self-service is $14.99 a month, so a stay-based setup on the monthly plan is $39.95.

There's no commission on the stay value, so a €900 week costs the same per booking as a single night. You can build the whole site free on a development store, which runs in test mode and can't take real payments until you switch it to a live store.

If I were planning this for a hotel, I'd start from what makes a direct booking worth more than the OTA version: which extras the hotel sells, how its rates change through the year, what it needs to know before arrival. Build that booking flow first, then list the systems it has to talk to, and get in touch about the integrations. The booking flow is the part guests see, and it's the part every suite on that table gives you the least control over.

Frequently Asked Questions

Get started

Ready to transform your service business?

Join 150+ businesses already using Opencals. Start on a free development store with every feature unlocked, and only pay once you go live.

No credit card required
Setup in 10 minutes
Cancel anytime