The CMF plugins - an overview

The Jomres Channel Management Framework is a collection of different Jomres plugins. In this article I will describe their roles. These plugins are installed through the Jomres Plugin Manager.

The plugins are as follows :

  • API Feature CMF
  • Channel Management Framework
  • Channel Management Rentals United

 

API Feature CMF

This plugin uses the Jomres REST API and offers endpoints that are typically available in Channel Managers. The endpoints allow authorised users to create, edit and delete properties within the Jomres installation.

Thin plugins, such as the Channel Management Rentals United plugin, use features from the Channel Management Framework to perform these tasks, however it is not necessary to have a thin plugin to administer properties. The thin plugins make use of a convenient UI (provided by the main Framework plugin) to manage a lot of the logic required for property administration but it's entirely possible that other channels have their own logic to perform these same tasks. For example, Beds24 are developing their own functionality for connecting to their existing Jomres users but they will not need any thin plugins of their own to make use of the Jomres CMF endpoints. The logic is handled at their end.

Channel Management Framework

This plugin provides a variety of features and functions that give thin plugins the ability to perform actions on properties on a Jomres installation. This allows the thin plugins to contain a minimal amount of code to perform property creation, administration and deletion tasks. It also allows site administrators to cross reference remote channel's dictionary items, such as property features, room features etc with Jomres items.

Another example of some of the functionality provided by this plugin is the ability to connect to the API Feature CMF plugin. This removes the need for thin plugins to maintain their own code for connecting to the REST API, and it also provides functionality for importing images from remote servers.

It intercepts webhook notifications which are then handed off to thin plugins, if they provide the code. This allows the thin plugin to automatically update the thin plugin's remote service with updates to the property, for example if a new booking is created.

It handles cron tasks which are then handed off to thin plugins.

Finally, it provides a unified User Interface for property managers to add and delete properties via the frontend. Again, the prevents the need for thin plugins to do too much heavy lifting with respect to managing properties.

Channel Management Rentals United

This plugin is the first of the CMF thin plugins.

It makes heavy use of the Channel Management Framework's functionality, allowing this plugin to be as light as possible. It's purpose is to be an interface between the Jomres system, via the REST API, and the Rentals United service. RU presents information in XML format, whilst the Jomres REST API, being a more modern API, handles information in JSON format. This plugin therefore translates information offered by RU and gives it to Jomres in a language that Jomres understands.

It performs a number of different tasks.

Firstly it provides information that the CMF plugin uses to allow property managers to link Rentals United dictionary items with a Jomres installation's items. This means that when a property is automatically imported from Rentals United, then the new property's features, room types etc are automatically populated to match those on the Rentals United's service.

It receives webhook notifications from the Channel Management Framework, so for example if a booking is made in the Jomres system, then that booking is then sent onwards to Rentals United to ensure that there are no double bookings across the different channels.

When cron tasks are called will call Rentals United to find out if any of the properties that have been imported into the system have had their details, including pricing and availability, changed. If they have then that change item is added to a queue that the Channel Management Framework monitors, and then this plugin is again called to import those changes into the local property.

Finally, it offers information to the Channel Management Framework's UI that allows the property manager to import properties from the Rentals United services into the Jomres installation.