Please note! This plugin is not (yet) compatible with the October CMS 2.0. This plugin will be upgraded in the future.
If you have never used a Booking Engine or if you have become frustrated with other Booking Engines, this is the Booking Engine for you! Try the ONLINE DEMO. The demo resets every hour, on the hour. Questions or feedback? Just send me a message!
A website, a booking engine, a channel manager, a property management system, commissions to online travel agencies like Booking.com, the costs of being online as a small B&B or hotel can quickly add up. This plugin brings an extremely versatile booking system for B&B's and smaller hotels to October CMS.
Online demo
I have begun using this demo to preview and field-test upcoming releases using Katalon. This means that you may stumble upon an occasional error but that this error will likely be fixed before a new release and does not exist in the current release.
Try the ONLINE DEMO. The demo resets every hour, on the hour. Questions or feedback? Just send me a message!
Features
Please note that the recommended way to handle payments is through my free Omnipay plugin. The native integration with Mollie is now deprecated.
STATUS | FEATURE |
---|---|
YES | RESPONSIVE DESIGN (bootstrap 4) |
YES | MULTILINGUAL |
YES | OPTIONAL SEASONAL PRICING (default, low season, high season) |
YES | OPTIONAL DISCOUNTS OR SURCHARGE FOR SINGLE OCCUPANCY |
YES | PACKAGES (per room) |
YES | LIMIT CHECKIN/CHECKOUT DAYS |
YES | AVAILABILITY CHECKER |
YES | OPTIONAL BOOKING ENGINE |
YES | CHANNEL MANAGER (syncing iCal feeds between OTA's like Booking.com and AirBnB) |
YES | WEBHOOKS TO NOTIFY OTHER SITES OF A DIRECT BOOKING |
YES | EVENTS (briddle.book.booking, briddle.book.paid, briddle.book.imported) |
DEPRECATED | OPTIONAL NATIVE ONLINE PAYMENTS THROUGH MOLLIE (iDeal, Creditcard, Paypal, etc.) |
FREE | OPTIONAL ONLINE PAYMENTS THROUGH PAYPAL AND MOLLIE USING MY FREE OMNIPAY PLUGIN |
FREE | SUPPORT FOR MY PAGEGUIDE LITE SITE TOUR PLUGIN |
NO | SUPPORT BOOKING MULTIPLE ROOMS AT ONCE |
NO | OFFER ROOMS IN QUANTITIES BASED ON ROOM TYPE |
Support
Please use the Support Forum (on the left side of the page for any theme or plugin) or send me a message. I also offer design and development services. You can visit my website for more information. Do not use reviews to ask for support.
IMPORTANT NOTICE! All my activities on October CMS are suspended indefinitely after my second burn-out. I do not offer any support or updates
Why is this a paid plugin?
Someting that is free has little or no perceived value. Users do not commit to free products and only use them untill something else that looks nice and is free comes along. When I invest my time in the development of a new plugin or theme I commit to supporting and maintaining it. I ask my customers to do the same. I do not make money from this plugin by advertisements, upgrades or additional services like hosting or setup. I simply sell the software.
Did you know that only about 30% of my plugins are paid (70% of my plugins are free) and that 30% of your purchase or donation goes to help fund the October Project?
My plugins take many hours to develop (10-120+) and even more hours to document and maintain. My paid plugins have to pay for both this time and the time I am spending on free plugins and less successful paid plugins. This means that it will take even a successful plugin years to become profitable. Please consider buying an extended license if you want me to continue to maintain these plugins for the very small fee I ask in return or hire me for adding functionality that you feel is missing but valuable.
Like this plugin?
Did you know that only about 30% of my plugins are paid (70% of my plugins are free) and that 30% of your purchase goes to help fund the October Project? If you purchase this plugin, you can help me to develop it further, provide support for it or make new plugins.
My other plugins include:
- CRM Pro (Customer Relation Management)
- Room Booking Pro (Room Booking engine)
- Members Pro (Member subscriptions)
- Invoice Pro (Invoicing)
- Webmail Lite (Webmail)
The following plugins are required
Translate
Enables multi-lingual websites and translate website contents.
Translate
Enables multi-lingual websites and translate website contents.
SnappyPDF Lite
Integrates the barryvdh/laravel-snappy PDF / Image generation libraries into OctoberCMS.
SnappyPDF Lite
Integrates the barryvdh/laravel-snappy PDF / Image generation libraries into OctoberCMS.
This plugin is also included into the following bundles
Room Booking Engine
The best Room Booking plugin for October CMS (accept online payments & synchronise bookings)
Room Booking Engine
The best Room Booking plugin for October CMS (accept online payments & synchronise bookings)
- Room Booking Pro
- Room Booking
- Omnipay Lite
- Gallery Lite [DEPRECATED]
- + 2 more
Plugin Megapack
All my commercial plugins for an unbeatable price
Plugin Megapack
All my commercial plugins for an unbeatable price
- Members Pro
- CRM Pro
- Room Booking Pro
- Room Booking
- + 6 more
The following theme uses this plugin
Please note! This plugin now targets the new October CMS 2.x (paid) version. This plugin will be upgraded in the near future to use Bootstrap 5 and Bootstrap 5 icons.
Hello, I am Wiego. Please start by reading the whole documentation! If you have any questions, find a bug or experience difficulties getting the plugin to work please use the Support Forum. Only leave a Review if you are happy with the plugin or are still unhappy with the plugin after reaching out to me in the Support Forum. Thank you!
Why is this a paid plugin?
Something that is free has little or no perceived value. Users do not commit to free products and only use them until something else that looks nice and is free comes along. When I invest my time in the development of a new plugin or theme I commit to supporting and maintaining it. I ask my customers to do the same. I do not make money from this plugin by advertisements, upgrades or additional services like hosting or setup. I simply sell the software.
Did you know that only about 30% of my plugins are paid (70% of my plugins are free) and that 30% of your purchase or donation goes to help fund the October Project?
My plugins take many hours to develop (10-120+) and even more hours to document and maintain. My paid plugins have to pay for both this time and the time I am spending on free plugins and less successful paid plugins. This means that it will take even a successful plugin years to become profitable. Please consider buying an extended license if you want me to continue to maintain these plugins for the very small fee I ask in return or hire me for adding functionality that you feel is missing but valuable.
Table of contents
- Installation
- Getting started
- List of Widgets & Components
- Bookings & Payments
- Rooms & Packages
- Guests
- Seasons
- Channels & Webhooks
- Translations
- Permissions
- Omnipay PSP gateway
- Support
Installation
You need an account on octobercms.com to install this plugin.
- Sign in and click on the Add to Project button on the product page for the plugin in the marketplace.
- Select the project you wish to add the plugin to (or create one).
- Install the 3rd-party plugins this plugin depends on
- Make sure you have attached this project to your website in the backend of your website in order to pull in the new plugin (Settings > Updates & Plugins). Don't worry, attaching or detaching your website to a project will never delete anything!
- Make sure you allow short_open_tag
Getting started
I recommend you also add the free sample template (Booktheme) to get started! This implements the below setup for you.
- Let's begin by adding some pages:
- The homepage (/)
- A page for syncing bookings on 3rd-party sites (e.g. /cronjob)
- A page for syncing bookings on your site with 3rd-party sites (e.g. /ical/:slug)
- A detail page for rooms (/room/:slug)
- A detail page for packages (/package/:slug)
- Next, we need to add some components to these pages:
- Your homepage will generally use the Components Availability, Book (place at bottom), Paid (place at bottom)
- Add the component Cronjob to the page for syncing bookings on 3rd-party sites (e.g. /cronjob)
- Add the component Export to the page for syncing bookings on your site with 3rd-party sites (e.g. /ical/:slug)
- Add the components Availability, Room, Book (place at bottom) and Calendar (place at bottom) to the detail page for rooms (e.g. /room/:slug)
- Add the components Availability, Package and Book (place at bottom) to the detail page for packages (e.g. /package/:slug)
- Now include the Twig tags {% styles %} and {% framework extras %} and {% scripts %} into your layout or page. Setup the jQuery-UI datepicker for the Availability component. Bootstrap 4, FontAwesome, jQuery and jQuery-UI are all also required in your theme:
<html> <head> <title>{{ this.page.meta_title|_ }}</title> <meta name="description" content="{{ this.page.meta_description|_ }}"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/ui-lightness/jquery-ui.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> {% styles %} </head> <body> {% page %} <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous" ></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous" ></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" ></script> {% framework extras %} {% scripts %} (...) </body> </html>
- Setup the mail template This plugin sends confirmation mails so don't forget to configure mail preferences in Settings > Mail > Mail configuration!
You can use the following variables inside the mail template:
- {{ room }} - ID of the room
- {{ package }} - ID of the package
- {{ description }}
- {{ arrival }}
- {{ departure }}
- {{ name }}
- {{ currency }}
- {{ amount }}
- {{ street }}
- {{ housenumber }}
- {{ zipcode }}
- {{ city }}
- {{ country }}
- {{ email }}
- {{ phonenumber }}
- {{ remarks }}
List of widgets & Components
There are several widgets & components available for your pages and layouts.
Component/Widget | Description |
---|---|
calendar | This dashboard widget shows booked dates for your rooms |
availability | This component includes an availability checker on your page (requires a DIV with ID #myRooms. It either shows all availability or if a :slug parameter is found just the availability of a certain room or package. |
book | This component saves the booking in our database and redirects the guest to our Payment Service Provider (place at bottom). |
paid | This component is used to mark a booking as paid after returning from our Payment Service Provider mollie (place at bottom). |
room | This component is used on a separate page (e.g. /room/:slug) and creates a SEO optimised page for every room. |
package | This component is used on a seperate page (e.g. /package/:slug) and creates a SEO optimised page for a package. |
calendar | Show an availability calendar (requires a DIV with ID #calendar). It either shows all bookings or if a :slug parameter is found just the bookings for a certain room. |
menu | This component adds a responsive Bootstrap menu to your page with links to your rooms and packages. |
cronjob | This component is used on a separate page (e.g. /cronjob) and imports iCal feeds with bookings from OTA's (like Booking.com) in your database. |
export | This component is used on a seperate page (e.g. /ical/:slug) and generates an iCal feed per room with the bookings for OTA's (like Booking.com). |
Including widgets
- Go to the Dashboard page in the Backend.
- Click on the Manage widgets > Add widget button.
- Select the widget from the list.
Including components
- Go to the CMS page in the Backend.
- Open a page or layout
- Under Components Select the component and drag it into your page or layout.
You can overwrite a component's partial without editing the partials inside the plugin so your changes will not be lost when you update. Simply add the partial inside a subfolder named after your plugin and component (e.g. book/availability/default.htm).
Bookings & Payments
When guests book on the site we save this transaction as a new booking. You can also:
- add bookings manually
- download PDF invoices for a booking
Manage custom integrations with other Payment Service Providers (PSP's)
Please note that the recommended way to handle payments is through my free OMNIPAY PLUGIN. The native integration with Mollie is now deprecated.
By default, the Room Booking plugin uses the API of Payment Service Provider Mollie (mollie.com) for handling online payments. It has been brought to my attention that Mollie is only available for payments within the EU. I have implemented three events (briddle.book.booking, briddle.book.paid and briddle.book.imported) and a new setting allowing you to switch the integration with mollie off (Settings > Bookings) or implement your own integration with a PSP.
PLEASE NOTE Under NO circumstances should you collect (let alone store) creditcard details on your website. ALWAYS redirect your guests to the website of your Payment Service Provider and let them handle payments.
- Go to Settings > Bookings and select that you want to use a custom integration to handle online payments
- This will still prevent the room from getting booked by another guest and will still send an email confirming the booking to your guest with instructions how to pay.
- Create a page on your website that guests will be redirected to that will handle payments (e.g. /redirect) on your website
- Guests will now be redirected to the page /redirect on your website (or select another page in Settings > Bookings)
- Add the following code to the Code section of your page or layout :
function onStart() { use Briddle\Book\Models\Payment; Payment::pay(function($vars) { //print_r($vars[0]); }); }
This callback function will return the following object for you to use in your custom integration:
- id
- room_id
- amount
- currency
- method
- issuer
- remarks
- ispaid
- guest_id
- startdate
- enddate
- paymentid
- confirmed
- created_at
- updated_at
- comments
- persons
- source
You can also subscribe to the new briddle.book.booking event (fired just after creating the booking and sending the mail but before handling online payment), the briddle.book.paid event (fired after marking the order as paid) and the briddle.book.imported event (fired after importing an event in the cronjob) in your own plugin. These events can be used to add asynchronous functionality to the Room Booking Plugin (events are asynchronous and do not allow redirecting users or sending feedback to them).
Manage custom booking forms
You can switch the modal dialog for the booking form off (Settings > Bookings) to implement your own booking form. This replaces the modal dialog when a user clicks the "Book now" button with a $_POST request to the redirect page.
The following fields will be posted and this data can be used to populate your own booking form:
- arrival
- departure
- room
- price
- description
- persons
- nights
- package
Please note that the recommended way to handle booking form is through the default modal dialog! If you choose to implement your own form, bookings are NOT automagically stored in the database and NO mails will be sent. You have to store the booking yourself!
Rooms & Packages
The plugin assumes you are offering unique rooms and does not support offering collections of identical rooms like you might see at larger hotels. A package is linked to a number of nights. If the number of selected nights is lower (or higher) the departure date will be updated to match the number of nights in the package.
You can specify what days of the week are available for checkin and checkout in Settings > Booking
The checkin- & checkout-day restriction is not enforced in the backend. It is only enforced in the frontend by the jQuery-UI date picker (usually this is sufficient). Please look at the free sample template.
Example
Let us suppose that you only want to accept guests for weekends, midweeks or weeks. You allow checking in on wednesdays and fridays and checking out on sundays and wednesdays. Guests can stay from:
- fri - sun (weekend)
- fri - wed (midweek)
- fri - sun (week)
- wed - sun (midweek)
- wed - wed (week)
This requires you to add some code to the onStart() function in the Code section of your page or layout:
use Briddle\Book\Models\Settings; function onStart() { $this['checkindays'] = json_encode(Settings::get('hotel_checkindays')); $this['checkoutdays'] = json_encode(Settings::get('hotel_checkoutdays')); }
And some javascript at the bottom of your HTML:
var checkindays = {{ checkindays|raw }}; var checkoutdays = {{ checkoutdays|raw }}; var dateToday = new Date(); $("#startInputDate").datepicker({ dateFormat: 'yy-mm-dd', minDate: dateToday, onSelect: function(dateText, inst){ $("#endInputDate").datepicker("option","minDate", $("#startInputDate").datepicker("getDate")); }, beforeShowDay: function(date) { var day = date.getDay(); for (var i=0;i<checkindays.length; ++i) { if(jQuery.inArray(day.toString(), checkindays) !== -1) { return [true]; } } return [false]; } }); $("#endInputDate").datepicker({ dateFormat: 'yy-mm-dd', minDate: +1, beforeShowDay: function(date) { var day = date.getDay(); for (var i=0;i<checkoutdays.length; ++i) { if(jQuery.inArray(day.toString(), checkoutdays) !== -1) { return [true]; } } return [false]; } }); $("#startInputDate").prop("readonly", true); $("#endInputDate").prop("readonly", true);
Guests
When guests book on the site we save this information in a profile.
We only create a profile if we do not have a record for the supplied combination of an email address and a zipcode.
Seasons
Seasonal pricing allows you to specify a low season and a high season.
You can enter a low season price and a high season price at the room level.
Example
- Let us suppose we specify a low season from September 1st - September 9nth.
- Let us suppose we specify a high season from September 9nth - September 30th.
- Let us suppose a customer books a room from September 8th - September 10th.
- Let us suppose the normal price is 100, the low season price is 50 and the high season price is 200.
In this example the customer will check in on September 8th and check out on September 10th so the customer will pay for 2 nights (September 8th/September 9th and September 9th/September 10th).
- The first night (September 8th/September 9th) is in the low season (50).
- The second night (September 9th/September 10th) is in the high season (200).
- The customer will be charged 250.
Channels & Webhooks
Channels allow the Room Booking plugin to act as a Channel Manager. You can trigger other websites that support it to update their availability when a direct booking is made on your site. There are currently no OTA's that support this but you can use webhooks on sites like IFTTT.
Including the cronjob component
Many Online Travel Agencies (OTA's) like Booking.com and AirBnB give you access to an iCal feed (.ics) for each room. You can use these feeds to periodically update October CMS with bookings made on OTA's.
This requires you to setup a cronjob to wget -O - https://yoursite.com/cronjob >/dev/null 2>&1.
OTA's that support webhooks can also use this page to force an immediate update of your website after a guest made a booking on the website of the OTA.
- Create a new page in October CMS (CMS > Pages)
- Add the Component Cronjob to this (empty) page (without a layout)
- October CMS will sync with your channels each time you load this page
Including the export component
You can also allow Online Travel Agencies (OTA's) like Booking.com and AirBnB to periodically update the availability of your rooms on their system by entering an iCal feed (.ics) for each room. You can also use this feed to update a Google calendar but this requires you to add .ics to the end of the URL.
- Create a new page in October CMS (CMS > Pages)
- Add the Component Export to this (empty) page (without a layout)
- The URL of this page should contain a :slug (e.g. /ical/:slug). Each room has it's own iCal feed
Translations
You can allow translation with RainLab Translate plugin. For translations to work there must be a localePicker component included in your layout/page.
- After installation of Translate plugin, please add at least two languages in Settings > Translate > Manage languages.
- Go to Settings > Translate > Translate messages to translate messages.
- In the Rooms and Packages forms you can translate the relevant fields.
Permissions
You can set permissions to restrict access in Settings > Administrators:
- Manage room features
- Manage high and low season
- Manage packages
- Manage rooms
- Manage guests
- Manage payments
- Manage 3rd-party iCal feeds for syncing
Omnipay PSP gateway
Please note that the recommended way to handle payments is through my free OMNIPAY PLUGIN. This plugin handles the functionality below for you automagically.
If you do not want to use Mollie you can also add ignited/laravel-omnipay package and omnipay gateway packages to the composer.json file of your project and implement your own PSP through Omnipay.
You can specify the API-credentials for your PSP in Settings > Booking but you will need to implement them in your own code
{ "require": { "league/omnipay": "^3", "omnipay/paypal": "^3.0", "omnipay/mollie": "^5.0", "omnipay/stripe": "^3.0" } }
Execute at the root of your project:
composer update
You can also install just the required packages and their dependencies without updating your other packages:
composer require league/omnipay
https://github.com/thephpleague/omnipay (or https://github.com/ignited/laravel-omnipay)
Add the following code to the Code section of your custom integration page (e.g. /redirect):
function onStart() { use Illuminate\Support\Facades\DB; use Briddle\Book\Models\Payment; Payment::pay(function($vars) { // Setup payment gateway use Omnipay\Omnipay; $gateway = Omnipay::create('Mollie'); $gateway->setApiKey('test_12345'); //$gateway->setTestMode(true); $response = $gateway->purchase( [ "amount" => $vars[0]->amount, "currency" => $vars[0]->currency, "description" => "Order", "returnUrl" => "https://www.yoursite.com/?id=" . $vars[0]->id ] )->send(); // Reference to order $transactionReference = $response->getTransactionReference(); Db::table('briddle_book_payment')->where('id', $vars[0]->id)->update(['paymentid' => $transactionReference]); if ($response->isSuccessful()) { // Payment was successful: not used here because we redirect } elseif ($response->isRedirect()) { $response->redirect(); } else { // echo $response->getMessage(); } }); }
Add the following code to the Code section of your return URL (e.g. /):
function onStart() { use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Event; $id = isset($_GET['id']) ? $_GET['id'] : false; $booking = Db::table('briddle_book_payment') ->leftJoin('briddle_book_guest', 'briddle_book_guest.id', '=', 'briddle_book_payment.guest_id') ->select( 'briddle_book_payment.paymentid' ) ->where([ ['briddle_book_payment.id',$id] ]) ->first(); // Setup payment gateway use Omnipay\Omnipay; $gateway = Omnipay::create('Mollie'); $gateway->setApiKey('test_12345'); $response = $gateway->completePurchase(array( 'transactionReference' => $booking->paymentid ))->send(); if ($response->isSuccessful()) { // mark as paid Db::table('briddle_book_payment')->where('id', $id)->update(['ispaid' => 1]); $this->page['paid'] = 'yes'; Event::fire('briddle.book.paid',$booking); } else { // NOT paid $this->page['paid'] = 'no'; } }
Support
Please use the Support Forum (on the left side of the page for any theme or plugin) or send me a message. I also offer design and development services. You can visit my website for more information. Do not use reviews to ask for support.
IMPORTANT NOTICE! All my activities on October CMS are suspended indefinitely after my second burn-out. I do not offer any support or updates
-
This plugin has not been reviewed yet.
-
1.3.6 |
!!! Various bugfixes for October CMS 2.x May 15, 2021 |
---|---|
1.3.5 |
!!! Full revision for October CMS 2.x May 15, 2021 |
1.3.4 |
Cleanup Jul 31, 2019 |
1.3.3 |
Updated table briddle_book_payment Jul 31, 2019 |
1.3.2 |
Updated table briddle_book_package Jul 31, 2019 |
1.3.1 |
Default content for mail template and backend translations Jul 31, 2019 |
1.3.0 |
Cleanup Feb 26, 2019 |
1.2.9 |
Added setting to allow custom booking forms instead of the default modal dialog Feb 26, 2019 |
1.2.8 |
Added setting to allow custom booking forms instead of the default modal dialog Feb 26, 2019 |
1.2.7 |
Fixed translation bug in guest controller and added support for german Feb 25, 2019 |
1.2.6 |
Added support for Pageguide Lite site tour for the backend pages Dec 29, 2018 |
1.2.5 |
Bug during installation fixed. Dec 17, 2018 |
1.2.4 |
Change title of dashboard widgets, only show dashboardwidgets for users who have permission, updated in-app documentation Oct 28, 2018 |
1.2.3 |
Added extra permissions Sep 28, 2018 |
1.2.2 |
Improved configuration of permissions Sep 28, 2018 |
1.2.1 |
Added translations for backend Sep 28, 2018 |
1.2.0 |
!!! 'Added configuration for availability and calendar component and changed the default view for the room component' Sep 28, 2018 |
1.1.5 |
Added exports of all guests (.csv), Added help section Sep 19, 2018 |
1.1.4 |
When using a custom integration to handle online payments allow selecting a page Sep 18, 2018 |
1.1.3 |
Added event briddle.book.imported Sep 18, 2018 |
1.1.2 |
Only fire event briddle.book.paid when the order is first marked paid Sep 17, 2018 |
1.1.1 |
Added a callback function to allow custom integrations with other Payment Service Providers (PSPs) Sep 15, 2018 |
1.1.0 |
Added listeners briddle.book.booking and briddle.book.paid, added mail template, allow switching payments through mollie off, prepared adding PSP through plugins Sep 15, 2018 |
1.0.103 |
Added webhooks to cronjob Sep 12, 2018 |
1.0.102 |
Packages now show nights and persons, added checkin- and checkout-days to settings, added jqueryUI datepicker that restricts arrival and departure dates Sep 12, 2018 |
1.0.101 |
Updated table briddle_book_room Sep 12, 2018 |
1.0.100 |
Updated table briddle_book_room Sep 12, 2018 |
1.0.99 |
Added settings for PDF invoices Sep 11, 2018 |
1.0.98 |
A couple of minor bugfixes, renamed payment to booking and added PDF invoices Sep 11, 2018 |
1.0.97 |
Show bookings per channel Sep 10, 2018 |
1.0.96 |
Updated table briddle_book_payment Sep 10, 2018 |
1.0.95 |
Updated table briddle_book_payment Sep 10, 2018 |
1.0.94 |
Modified docs Sep 10, 2018 |
1.0.93 |
Added webhooks Sep 10, 2018 |
1.0.92 |
Created table briddle_book_webhook Sep 10, 2018 |
1.0.91 |
Added docs Sep 10, 2018 |
1.0.90 |
Performance enhancements to import and export of iCal feeds and new date checks in booking process Sep 10, 2018 |
1.0.89 |
Bugfix iCal feed import not showing double bookings in calendar widget dashboard Sep 10, 2018 |
1.0.88 |
Bugfix Mollie onpaid for non-existing id Sep 09, 2018 |
1.0.87 |
Style change to availability search Sep 09, 2018 |
1.0.86 |
Updated table briddle_book_channel Sep 08, 2018 |
1.0.85 |
Bugfix iCal feeds Sep 08, 2018 |
1.0.84 |
Fixing bug introduced when switching to Query Builder Sep 08, 2018 |
1.0.83 |
Show revenue and stays per guest and in total for this year and the year before. Added required fields for payments Sep 08, 2018 |
1.0.82 |
Updated table briddle_book_room Sep 08, 2018 |
1.0.81 |
Icons instead of Switches in lists, required fields Sep 08, 2018 |
1.0.80 |
Updated table briddle_book_guest Sep 08, 2018 |
1.0.79 |
Updated table briddle_book_guest Sep 08, 2018 |
1.0.78 |
Updated table briddle_book_guest Sep 08, 2018 |
1.0.77 |
Updated table briddle_book_room Sep 08, 2018 |
1.0.76 |
Updated table briddle_book_room Sep 08, 2018 |
1.0.75 |
Updated table briddle_book_room Sep 08, 2018 |
1.0.74 |
Bugfix in links to rooms and packages when using another language Sep 06, 2018 |
1.0.73 |
Added translations of room and package descriptions Sep 06, 2018 |
1.0.72 |
Added currency field for Mollie Sep 06, 2018 |
1.0.71 |
Added menu component Sep 06, 2018 |
1.0.70 |
Added more... link to packages Sep 06, 2018 |
1.0.69 |
Added comments to slug field, fixed bug is calculating low season pricing, return error if arrival date is after departure date, feedback on no availability Sep 05, 2018 |
1.0.68 |
Some minor changes Sep 01, 2018 |
1.0.67 |
Some minor changes Sep 01, 2018 |
1.0.66 |
Some minor changes Sep 01, 2018 |
1.0.65 |
Some minor changes Sep 01, 2018 |
1.0.64 |
Some minor changes Sep 01, 2018 |
1.0.63 |
Some minor changes Sep 01, 2018 |
1.0.62 |
Some minor changes Sep 01, 2018 |
1.0.61 |
Some minor changes Sep 01, 2018 |
1.0.60 |
Some minor changes Sep 01, 2018 |
1.0.59 |
Some minor changes Sep 01, 2018 |
1.0.58 |
Some minor changes Sep 01, 2018 |
1.0.57 |
Some minor changes Sep 01, 2018 |
1.0.56 |
Some minor changes Sep 01, 2018 |
1.0.55 |
Some minor changes Sep 01, 2018 |
1.0.54 |
Some minor changes Sep 01, 2018 |
1.0.53 |
Some minor changes Sep 01, 2018 |
1.0.52 |
Some minor changes Sep 01, 2018 |
1.0.51 |
Some minor changes Sep 01, 2018 |
1.0.50 |
Some minor changes Sep 01, 2018 |
1.0.49 |
Some minor changes Sep 01, 2018 |
1.0.48 |
Some minor changes Sep 01, 2018 |
1.0.47 |
Some minor changes Sep 01, 2018 |
1.0.46 |
Some minor changes Sep 01, 2018 |
1.0.45 |
Some minor changes Sep 01, 2018 |
1.0.44 |
Some minor changes Sep 01, 2018 |
1.0.43 |
Some minor changes Sep 01, 2018 |
1.0.42 |
Some minor changes Sep 01, 2018 |
1.0.41 |
Some minor changes Sep 01, 2018 |
1.0.40 |
Some minor changes Sep 01, 2018 |
1.0.39 |
Some minor changes Sep 01, 2018 |
1.0.38 |
Some minor changes Sep 01, 2018 |
1.0.37 |
Some minor changes Sep 01, 2018 |
1.0.36 |
Some minor changes Sep 01, 2018 |
1.0.35 |
Some minor changes Sep 01, 2018 |
1.0.34 |
Some minor changes Sep 01, 2018 |
1.0.33 |
Some minor changes Sep 01, 2018 |
1.0.32 |
Some minor changes Sep 01, 2018 |
1.0.31 |
Some minor changes Sep 01, 2018 |
1.0.30 |
Some minor changes Sep 01, 2018 |
1.0.29 |
Some minor changes Sep 01, 2018 |
1.0.28 |
Some minor changes Sep 01, 2018 |
1.0.27 |
Some minor changes Sep 01, 2018 |
1.0.26 |
Some minor changes Sep 01, 2018 |
1.0.25 |
Some minor changes Sep 01, 2018 |
1.0.24 |
Some minor changes Sep 01, 2018 |
1.0.23 |
Some minor changes Sep 01, 2018 |
1.0.22 |
Some minor changes Sep 01, 2018 |
1.0.21 |
Some minor changes Sep 01, 2018 |
1.0.20 |
Some minor changes Sep 01, 2018 |
1.0.19 |
Some minor changes Sep 01, 2018 |
1.0.18 |
Some minor changes Sep 01, 2018 |
1.0.17 |
Some minor changes Sep 01, 2018 |
1.0.16 |
Some minor changes Sep 01, 2018 |
1.0.15 |
Some minor changes Sep 01, 2018 |
1.0.14 |
Some minor changes Sep 01, 2018 |
1.0.13 |
Some minor changes Sep 01, 2018 |
1.0.12 |
Some minor changes Sep 01, 2018 |
1.0.11 |
Some minor changes Sep 01, 2018 |
1.0.10 |
Some minor cleanup and usability improvements Sep 01, 2018 |
1.0.9 |
Created table briddle_book_season Sep 01, 2018 |
1.0.8 |
Created table briddle_book_package Sep 01, 2018 |
1.0.7 |
Created table briddle_book_channel Sep 01, 2018 |
1.0.6 |
Created table briddle_book_feature_room Sep 01, 2018 |
1.0.5 |
Created table briddle_book_feature Sep 01, 2018 |
1.0.4 |
Created table briddle_book_room Sep 01, 2018 |
1.0.3 |
Created table briddle_book_guest Sep 01, 2018 |
1.0.2 |
Created table briddle_book_payment Sep 01, 2018 |
1.0.1 |
Initialize plugin. Sep 01, 2018 |
Upgrading
1.1.0
- You can now switch the integration with mollie off (Settings > Bookings). This will still prevent the room from getting booked by another guest and will still send an email confirming the booking to your guest with instructions how to pay.
- You can subscribe to the new briddle.book.booking event (fired just after creating the booking and sending the mail but before handling online payment), the briddle.book.paid event (fired after marking the order as paid) and the briddle.book.imported event (fired after importing an event in the cronjob) in your own plugin. These events can be used to add asynchronous functionality to the Room Booking Plugin (events are asynchronous and do not allow redirecting users or sending feedback to them).
Please note that the recommended way to handle payments is through my free OMNIPAY PLUGIN. The native integration with Mollie is now deprecated.