19

Case Study – A B&B Booking System with Joomla

In the previous chapter, we explored a case study in which Joomla was powering an online academy.

In this chapter, we’ll explore another case study, showing how Joomla has been used to build a Bed & Breakfast (B&B) website and handle bookings.

After reading this chapter, you will be able to do the following:

  • Understand how Joomla can manage an accommodation booking website
  • Understand how to integrate the bookings calendar with third-party services

Introduction

In this case study, we’ll learn how Joomla can be used to develop a website for a B&B/tourist rental, to show the apartment and allow potential guests to book their stay.

The website was a brand-new development, to be done right after the renovation of the apartment, with the start of renting activities. Let’s look at the goals of the project.

Note

The website analyzed in this case study is available in the Italian language only.

Project goals

The apartment owner wanted to have a website for his tourist rental and set the following requirements:

  • Allow potential guests to see the apartment with presentation pages that included pictures
  • Allow guests to book their stay through a professional reservation system that shows apartment availability in real time
  • Keep the availability calendar in sync with third-party specialized portals

The website was meant to be very simple with a couple of pages to present the apartment, the booking system, and a contact page.

The most complex feature would have been the booking system, integrated with external services.

In the next section, we’ll see why Joomla was selected to create the website.

Why Joomla?

The owner already had a Joomla 3.x website for another of his properties, where the same features were already deployed successfully. The adoption of Joomla 4 was the evolution of an already reliable technical solution, which we’ll analyze in the next section.

The solution

The website was to have two main purposes:

  • Exhibit the apartment
  • Manage bookings and availability

To quickly build layouts and customize the graphics, the team chose to use Helix Ultimate as a template framework, together with SP Page Builder. Thanks to the visual layout builder offered by the page builder, the page structure was created easily, as shown in Figure 19.1:

Figure 19.1 – SP Page Builder | page layout builder

Figure 19.1 – SP Page Builder | page layout builder

The page builder, together with the template framework, gave the website a modern and clean design, highlighting the images of the apartment thanks to carousels, alternated with text descriptions, as shown in Figure 19.2:

Figure 19.2 – Home page | layout with text and images

Figure 19.2 – Home page | layout with text and images

SP Page Builder also offers some graphics effects that can be applied to images, such as the parallax effect, which was deployed for large images at the bottom of the home page and on other pages, making the image scroll with the mouse.

The Open Street Maps technology has been integrated into the contact page to show the position of the apartment on an interactive map. This is draggable and zoomable and perfectly integrated into the layout of the website, as shown in Figure 19.3:

Figure 19.3 – Contact page | interactive map

Figure 19.3 – Contact page | interactive map

Another page has been built with SP Page Builder to illustrate details of the entire apartment. On this page, each room of the apartment has been described, accompanied by the related photos, which can be zoomed out in a popup after they’ve been clicked, as shown in Figure 19.4:

Figure 19.4 – The apartment | layout text with thumbnails

Figure 19.4 – The apartment | layout text with thumbnails

To manage bookings and apartment availability, the team used Solidres, an online booking and reservation system for Joomla. Solidres allows you to create and manage one or multiple properties, as well as define the characteristics, pricing, and availability of each property.

A property in Solidres is used to manage general rules, addresses, and tax setup, describe the property, set the payment methods, and much more.

Within a property, it’s possible to create one or more accommodation solutions, such as rooms. A room is a rentable unit, in which it’s possible to set up occupancy numbers and limits, price plans, and specific fields, such as equipment and facilities. The availability calendar is tied to the room, as a property may have additional rooms to rent and each of them has a different availability, as shown in Figure 19.5:

Figure 19.5 – Solidres | availability calendar

Figure 19.5 – Solidres | availability calendar

In this case, there’s only one apartment so the apartment has been set up both as a property and as a room within the property.

Solidres also allows you to close rooms to block bookings in certain periods. This may be useful when the room is not available due to maintenance or landlord unavailability. The system also allows you to manage discounts and coupons and accommodate promotional initiatives, and can also handle complex configurations in terms of stay length and periods.

Through a dedicated plugin, Complex Tariff, the system can manage special offers and composite calculation methods for the rental fee based on the number of guests, nights, and eventual options.

Solidres is also able to calculate taxes, such as VAT and tourist tax, which is mandatory in many cities in Italy. For example, in this case, Tourist Tax gets calculated for each stay, based on the number of guests and number of nights.

Nowadays, apartments for tourist rentals should also be published on dedicated portals such as Airbnb and Booking.com to increase the number of reservations received and maximize occupancy rates. Being published on these websites requires the owner to manage multiple availability calendars, with the risk of overbooking or missing reservations. To solve these issues, Solidres offers a plugin, iCal, that allows the owner to keep the availability calendar of the website synchronized with the ones on Booking.com and Airbnb.

This plugin regularly pushes changes in availability in both ways, so in case a reservation is made in any of the three endpoints, the availability is updated across the three websites. This resulted in increased efficiency, removing the need to manually check and updates calendars, and maximized the room occupancy rates, thanks to the additional exposures. This sync is done through the iCal export and import features offered by the iCal plugin, given that portals such as Booking.com and Airbnb also offer calendar sync features through the iCal format, as shown in Figure 19.6:

Figure 19.6 – Solidres | iCal import and export features

Figure 19.6 – Solidres | iCal import and export features

To manage the sync activity, a cron was created in the Joomla Scheduled Task feature, which we explored in Chapter 9, Planning Operations with Scheduled Tasks. A GET Request type of task that’s executed regularly every 10 minutes ensures the sync between booking systems, as shown in Figure 19.7:

Figure 19.7 – Scheduled Tasks | task to sync iCal endpoints

Figure 19.7 – Scheduled Tasks | task to sync iCal endpoints

Even though Solidres can manage multiple payment methods, including payments by credit/debit cards, the owner decided to only implement offline payments with bank transfers. At the end of the booking, the system shows the user how to make the payment by bank transfer, including the details in the confirmation email. The owner can track the payment status of each reservation, adding notes and registering the date and the amount received by each guest, as shown in Figure 19.8:

Figure 19.8 – Reservation payment tracking and notes

Figure 19.8 – Reservation payment tracking and notes

The system can generate receipts and invoices, as well as customizable email notifications to landlords and guests. Furthermore, it’s available as a mobile app for Android and iOS, with which the landlord can view and manage reservations from a mobile device thanks to QR codes added to reservation confirmation emails, as shown in Figure 19.9:

Figure 19.9 – Preview of a reservation confirmation email

Figure 19.9 – Preview of a reservation confirmation email

In the frontend, the booking system proposes a few steps to allow guests to select the room, the desired period of stay, and the offer, as shown in Figure 19.10:

Figure 19.10 – Frontend booking flow

Figure 19.10 – Frontend booking flow

The system offered all the needed features to handle reservations professionally and keep the availability in sync with external booking websites, reducing the amount of effort needed by the landlord.

In the next section, we’ll discover which extensions were used for the project.

Extensions used

For this website, the list of extensions that were used is very short:

  • Solidres: Used to manage reservations, with plugins such as iCal and Complex Tariff
  • SP Page Builder: Used to build pages quickly

Now that we’ve looked at the list of extensions used on the website, we have completed this case study.

Summary

In this chapter, we went through a case study that showed how to implement Joomla 4 to manage a tourist rental solution and its reservations.

With this case study, we have completed our journey of learning Joomla. There are still a few more topics, which can be explored at https://docs.joomla.org. Joomla has a rich roadmap ahead with many interesting new features planned for the next versions.

I hope you found this book interesting and that you learned the basics of Joomla.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset