Operator Pages

MVC Enhancement

Operator pages are webpages which display content pulled from Bookit's system, and also include an Item Details Gadget (which includes booking buttons for rooms or tours with that operator).
Ensuring all available content in Bookit is pulled onto your operator pages is incredibly important and will vastly affect booking conversion. You will not be provided with certification until operator pages have been sufficiently integrated into your site.
To create operator pages, the following need to occur:
1. Create a custom route / routing mechanism within your CMS website.  
Each operator within Bookit (associated with the VCID setting you are using), must have its own individual webpage & URL.  Note that these webpages can be constructed dynamically in your CMS website, and there is no need for you to build any administration interface for admin users to manage these pages.  You only need a custom route for these pages on the frontend.  All content for these operator pages will be pulled via Bookit (and that content will be updated regularly through the Bookit system, there is no need for admin users to manage anything in your website relating to operators).
2. Each operator page, using custom code that you write in your own CMS system, needs to display both operator content (see below), and a single Item Details Gadget.
Typically, operator pages will display a small subset of content at the top of the page (e.g. operator Trading Name and Address), followed by an Item Details Gadget, followed by all the remaining content (e.g. Point Of Difference, Description, image gallery, Cancellation Policy, etc).  The Item Details Gadget includes default CSS styling (but you can override those styles as necessary).  The operator content does not contain any significant CSS styles by default, so you will need to apply your own CSS - the visual implementation of the operator pages is entirely up to you, though feel free to refer to our existing integrated websites, which provide great examples (and a good starting point for how to approach the layout and design, if you haven't yet completed graphic design for these pages).
3. Ensure that a Cart Gadget is included somewhere on all operator pages.  When users go to book a product (e.g. a room or a tour), this Cart Gadget will display a modal lightbox popup on the screen, which will let them proceed to the Booking page.  If the Cart Gadget is missing from operator pages, users won't see that modal lightbox popup, and they won't be able to book anything.
Regarding point 2 above, in order to display the operator content, your CMS system must include code which retrieves JSON data from our API system, and presents that on the operator pages. 
For developers who are working on a PHP-based website (Wordpress / Joomla / etc), feel free to refer to our sample PHP class, which you can include in your project.  That code is really just a starting point to get you going.  You can customise this code as needed to suit your specific implementation.
If you are a highly experienced developer or if you are using a different technology stack (not PHP), you may instead refer to our API documentation website for all the technical details on the various endpoints which are available. We recommend looking at the "Operators" section to get started. At a minimum, consider these endpoints:  Get Operators Details Short, Get Operators Information, and Get Operator Images.
WARNING:  you should ensure that all operator content (text and images) retrieved from the API is cached on your server for at least 4 hours.  Failing to do so may unnecessarily increase the loading time of webpages on your website, which would be a negative effect for SEO purposes, and might also turn away existing visitors, leading to reduced bookings.  The PHP sample API class provided includes caching by default (so developers using the sample code shouldn't need to worry about that), however developers who are implementing their own API calls will need to implement their own caching mechanisms.  Note that the "Get Operator Modification Dates" API endpoint can assist with delivering an effective caching strategy.