Vince's Blog

Keeping you up-to-date (Jim Beam not included)

Channel Management Framework - First look

Followers of the Jomres project will have noticed over the last few months a rise of mentions in changelogs and commits referring to the Channel Management Framework.

What is this framework?

I don't want to go into too much detail here, I'm working on a more complete article that describes the rationale behind it, which will be released later this week. To give you a very brief overview, however, it is a new Jomres product that is designed to expose Channel Management functionality through thin plugins and the REST API.

Visualise that you have an OTA (Online Travel Agency such as etc). When a booking is made on those OTAs, the booking is then sent to a Channel Manager, which then sends the booking details onwards to other OTAs. This allows you to use a single interface to manage availability, property information and pricing across all OTAs.

Currently you can only connect Jomres to the Beds24 Channel Manager. While this solution works for many of my clients, other users have requested over the years to be able to connect to other Channel Managers. The problem is that the Beds24 plugin has taken a lot of work to build, so building more plugins for other Channel Managers would result in a maintenance load that would be impossible to manage. I realised a while ago that the only viable solution would be to build a Channel Management Framework which would allow thin plugins to then access the Jomres system via the REST API (more on the reasoning for that in a moment).

How will it work?

The simplest way to explain it is through flows of data.

A booking is taken on Scheduled tasks in Jomres CMF call the remote OTA requesting update information. The new booking is found, and the thin layer pulls the booking information down, hands this off to the CMF which in turn uses it's companion CMF REST API functionality to import the data into Jomres.

Why the REST API? Couldn't the CMF just import the data directly?

Yes, it could, however that closes off Channel Management functionality to the rest of the world.

What do you mean by that?

Over time the CMF REST API functionality will offer all of the features required for channels to connect directly to a Jomres installation. Indeed, the existing REST API functionality already does that, but it's not complete enough. It makes sense, therefore, to make all of the CMF interactions with the Jomres system itself work through the newer CMF REST API. Right now I'm working on a Rentals United thin layer that uses the CMF main plugin to synchronise dictionary items (working), import properties (working) and soon import and export bookings and availability (still under development). Once this is functional, I will add a couple more Channel Manager thin plugins, and then finally a Jomres2Jomres plugin that uses the same functionality to share properties and bookings between individual Jomres sites.

AT THE SAME TIME, other Channel Management companies will be able to utilise the CMF REST API plugin to bypass the need for the Thin layer > CMF plugin interactions and use the CMF REST API to interface with Jomres installations directly. All they will need is a valid OAuth key/secret pair from the Jomres server they want to connect to. They'd build their own logic on their own systems and connect to yours.

Why are you telling us this now?

The existing functionality is, I estimate, about 40% complete. I've been working on this for the last year, but the main efforts up until now has been figuring out how to architect the system to maximise it's usefulness. Now that most of the architecture is in place it's a case of attaching nuts to bolts and making things work, which is why if you've been following the CMF REST API documentation you will have seen that endpoints are being added more frequently recently.

What is the estimated timeline?

I'm always reluctant to give fixed dates to any new product. There's just one of me, and I have to split my time between maintenance of and it's servers, provide support through tickets for Jomres Core and it's plugins, the mundane but necessary parts of running a business (Paperwork, is that you calling me again? Oh, Bless you my old enemy) as well as actually building this new code. Nevertheless, my goal is to have this system available as Release Candiate before or around about July. I'm not going to guarantee it, but that's my goal.

Vince' Wooll





  • Created on .


vince picDeveloped and maintained by Vince Wooll, Jomres was initially conceived in early 2005 as a Mambo based solution to a client’s hotel management needs. While it wasn't originally expected to be an online booking system it quickly morphed into one as users requested more and more features.

As the number of feature requests grew Vince knew that he would need to dedicate more time to the project and in July 2005 Jomres was released as a commercial project. Since then Jomres has become the world's oldest online booking plugin for any PHP CMS. It has been used in Joomla 1.0, 1.5, 2.5, 3 & 4 and WordPress 4, 5 & 6.

Aladar joined the project in 2010 after using Jomres for his own projects. He was active on the forum, helping other members of the community and eventually Vince invited him to join the team. Between 2010 and 2018 he was an integral part of the project and made many significant contributions.

Whilst not formally part of the Jomres project, Rodrigo Rocco and Vince have become firm friends. Rod is a freelancer who specialises in doing custom work for Jomres users and developing custom plugins for the system that take advantage of it's modular design. He has built many useful extensions including his fabulous Valentina Template Override Package.

Jomres and the Jomres Logo is trademarked and can't be used without written consent from the owner. is not affiliated with or endorsed by the Joomla! Project, Open Source Matters or the WordPress project. The Joomla! & WordPress names and logos are used under a limited license granted by Open Source Matters and the WordPress Projects.

© Copyright 2005 - 2022 Vince Wooll