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 Booking.com/AirBNB 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 Booking.com. 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 Jomres.net 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.
- Created on .