Custom Booking and Reservation plugin

Hi, this is a short overview of the booking plugin that was created by our team recently.

This Booking plugin is dedicated to organise an easy process of reservation of items based on time, dates and additional statuses. This presented version is a basic version which could be extended and modified by YSBM Group engineers on request.

This plugin also is an experience that could be shared when building other similar systems of even bigger complexity and functional scale.

Setting up.

When setting up the Booking plugin additional tables are being created in the database. This allows to reduce mess in receiving right data. After removal of the plugin all additional tables that were created by the plugin are being removed in order to have database clean from outdated data(and decrease load). After setting up in the Wordpress admin panel for work with plugin a special menu is being created.

Front-end of the Booking plugin.

In order to output the booking plugin interface on the front-end user only needs to use a short-code. When it is shown on the front-end of the website it works according to all settings of the plugin and allows to track all bookings from inside the administration panel and through email notifications.

For output of this block on the frontend jQuery UI - datepicker library was used. When choosing a date it is being compared with schedule that was set in the plugin’s settings, and displays available for booking dates and times. The booking block is responsive and cross-browser and is usable on all devices(desktop and mobile).

Reservations.

This page has an appearance in Wordpress styles which helps a user to work in natural environment.

For output of the table jQuery-datatable library is used. It increases performance by sorting elements and processing the search without reload of the page. There are some habitual for Wordpress users elements, like Edit button, with a convenient improvement that all actions happen without page reload in modal window. This interface allows to operate with bookings by sending emails to the customer, changing status of the reservation, notifying customers and administrator about changes. There is also custom message that is being attached to the reservation and might contain some additional information like that a customer might have an allergy, or would like to order a table near to the window etc.

Settings.

There are three functional tabs in settings menu: General, Reservation schedule, Notifications.

1. General:

Each row has question mark near to it ‘?’ which explains the purpose of each field/row. At the bottom part of settings there is an opportunity to manage available types of reservations(like dinner, supper or breakfast).

Plugin also contains a block which allows an administrator to customise the visual appearance of the booking interface on the frontend, which he can modify by adding custom CSS styles(after saving there will be created a new style file with code from this block).

2. Reservation schedule:

This section is dedicated to main reservation settings of availability of products/services and creating available booking schemes: time schedule of working hours, time till which a customer will be able to make a booking.

First is scheduling: a new field will contain time rules when a booking feature will be available on the site, so a customer will be able to make reservation only according those rules. Exception allows to add to schedules special cases of working time of the booking provider(like short working days, holidays, etc.). These exceptions will interact with the main schedule so a customer will get a correct rule on the interface( he won’t be able to book anything during a day off even if the main rule allows it). Third subsection is blocking: these fields are for setting what period is allowed to book upfront, and till what time a customer is able to make a booking today.

3. Notifications:

This section allows to customise content of the service notifications, sender address, subjects of requests. For convenience each template supports HTML editor inside of it. All fields have standard Wordpress visual view for convenience.

If this plugin contains functionality that you are interested in and/or you would like to extend it with more features please write us!

If you need a custom booking system please write us more details and receive a free consultation!


Request free consultation