QloApps Tours and Packages is an addon that will unlock a whole new dimension of the hotel business for the admin. Using this addon, the admin will be able to sell tours and packages from his website and not just hotels.
The tours and Packages option on a hotel booking website is always one of the USPs for that website.
People prefer booking tours instead of making all the bookings separately due to many reasons. It saves them time and money and is very convenient. And that is why they are more attracted to the websites that offer tours and packages.
The decision to offer tours and packages on the hotel websites is very fruitful. It helps the admin to fill out the inventory quickly, and also earn some extra revenue on the services offered in the package.
So let’s explore the features and workings of this addon.
Note: You have to make the below-mentioned changes in QloApps only if you are using QloApps version 1.5.0 or less.
Before you install the QloApps Tours and Packages addon you must make a few changes in the core for the proper functioning of the module.
The step is very simple, you just have to locate the following paths and replace the mentioned codes.
Open the hotel commerce folder –> modules–> hotelreservationsystem then open the hotelreservationsystem.php file.
Now go to the line number 362 and replace the following code:
$orderProducts = $order->getProducts();
replace this code with the following code.
$orderProducts = $order->product_list;
Open hotel commerce folder –> modules–> hotelreservationsystem–> classes then open the HotelBookingDetail.php file.
The change the code from line no 348 to 350
$sql = 'SELECT ri.`id` AS `id_room`, ri.`id_product`, ri.`id_hotel`, ri.`room_num`, ri.`comment` AS `room_comment` FROM `'._DB_PREFIX_.'htl_room_information` AS ri WHERE ri.`id_hotel`='.(int)$hotel_id.' AND ri.`id_product`='.(int)$room_type['id_product'].' AND ri.`id_status` != 2 AND ri.`id` NOT IN ('.$exclude_ids.')';
will be replaced by:
$selectAvailRoomSearch = 'SELECT ri.`id` AS `id_room`, ri.`id_product`, ri.`id_hotel`, ri.`room_num`, ri.`comment` AS `room_comment`'; $joinAvailRoomSearch = ''; $whereAvailRoomSearch = 'WHERE ri.`id_hotel`='.(int)$hotel_id.' AND ri.`id_product`='.(int)$room_type['id_product'].' AND ri.`id_status` != 2 AND ri.`id` NOT IN ('.$exclude_ids.')'; $groupByAvailRoomSearch = ''; $orderByAvailRoomSearch = ''; $orderWayAvailRoomSearch = ''; Hook::exec('actionAvailRoomSearchSqlModifier', array( 'select' => &$selectAvailRoomSearch, 'join' => &$joinAvailRoomSearch, 'where' => &$whereAvailRoomSearch, 'group_by' => &$groupByAvailRoomSearch, 'order_by' => &$orderByAvailRoomSearch, 'order_way' => &$orderWayAvailRoomSearch, 'params' => array( 'id_hotel' => $hotel_id, 'id_product' => $room_type['id_product'], 'date_from' => $date_from, 'date_to' => $date_to ) ) ); $sql = $selectAvailRoomSearch; $sql .= ' FROM `'._DB_PREFIX_.'htl_room_information` AS ri'; $sql .= ' '.$joinAvailRoomSearch; $sql .= ' '.$whereAvailRoomSearch; $sql .= ' '.$groupByAvailRoomSearch; $sql .= ' '.$orderByAvailRoomSearch; $sql .= ' '.$orderWayAvailRoomSearch;
Open hotelcommerce folder –> modules–> hotelreservationsystem–> classes then open the HotelCartBookingData.php file.
Paste the following code under the “if condition” of line number 815 to 974.
if ($roomDetail = $objRoomType->;getRoomTypeInfoByIdProduct($product['id_product'])) { //place code from line no. 815 to 974 under this condition }
Open hotelcommerce folder –> themes–> hotel-reservation-theme–> js–> modules –> blockcart then open the ajax_cart.js file.
Paste the following code under the “if condition” of line numbers 813 to 822:
if (cart_booking_data[key].date_diff !== 'undefined') { // Place code from line no. 815 to 974 under the below if condition } Place code from line no. 849 to 858 under the below if condition https://prnt.sc/w5dyzq if (cart_booking_data[key].date_diff !== 'undefined') { // Place code from line no. 815 to 974 under the below if condition }
The installation of any module is very simple in QloApps.
Now that you have installed the module. So, let us check the module configuration.
The configuration of this addon is very simple. As the module is installed we will have a tab in our menu bar by the name of manage packages.
Now, first let us check how we create activities, transport facilities, special events, nearby attractions, themes, and inclusions for the packages.
Then we will check how to create a package and use the above-mentioned features in the package.
This section will help you add the activities that you can offer in a package.
Just go to the Manage Package tab and select Package Activities.
Now you can add or edit Package Activities.
Now, when you click on Add New Facility, the following page will appear which has three tabs for configuration.
Here you have to enter the basic information about the Activity.
Here you have to select what is included in the activity and what is not.
In this tab, you will be able to Add Activity images
This option will allow you to create all the transportation facilities you offer in your packages so that you can choose which transport facility you want to offer in which package.
Just go to the Manage Package tab and select Package Transport Facility.
When you click on the Add New transport facility, you will have the following page with two tabs.
Enter the basic information about the Transport Facility that you provide.
Here you have to select what is included in the Transport Facility and what is not.
Here you can create and manage special events that can be included in a package.
When you click on the Add New, the following page will appear.
Enter the basic info of Special Events.
Here you have to select what is included in the Special Events and what is not.
Upload the images of the special events here:
With the help of this option, you will be able to add nearby attractions that can be added to a package.
Here to create a nearby attraction, you just have to enter some basic information and upload the images.
Here you can create the Inclusions that can be added to a package.
Just go to Manage Package and select Package Inclusion.
Click on Add new Inclusion to create one.
Themes define a package. They tell us what kind of package it is. So here we can create themes and then select a theme in a package.
Just click on Add a new theme to create one, then you will have the following page.
Here you can upload the header image of the Tours and Packages landing page.
You can choose whether the landing page destination slider should display available packages based on City and Country.
Here you can upload the image of the package destination.
You can upload images for package destination based on the destination type and destination. You can select different images for each package destination.
Once you click on the Manage Packages option, you will see a list of all created packages.
After creating all the required options for a package, you can start creating a package in QloApps.
To create a new package, click on “Add New Package”.
Now, you have to enter details in various tabs. Let us understand each tab in detail.
In this tab, you will have to fill out the basic details of the package.
Fill in the following details in the information section:
In this tab, you will be able to add all the locations available in the packages along with the hotels and room types included in this package.
In this tab, you can list down all the services that are included and excluded from the package.
In this tab, you can define the itinerary of the whole tour. You will have to define each day’s curriculum.
Once you land on this page you will see the list of the day-wise itinerary.
Now to create a day’s itinerary just click on Add New and fill out the following details:
Here you can add all the inclusions that you provide with the package and add a suitable image for each inclusion.
Just click on Add new Inclusion, write its title, and upload the image.
This tab will allow you to manage the pricing of the package.
Using the commissions option, you can also set and record the commission you are receiving from your partner hotel.
The commission you have earned from the hotel will be calculated on the room type price. The room type booking amount will be sent to the hotelier after the deduction of your commission amount and the rest amount of the package will be transferred to you.
You can price the package on three basis:
In this tab, you can offer a discount on dynamic prices. So if you are using per-person pricing then you can offer a discount on the basis of the number of people.
Ex: If 10 people are included in a booking then offer a 10% discount.
The same can be done for room-wise pricing. No discounts can be applied in case of fixed pricing.
In this tab, you can add the theme of the tour. You will have to write the name of the theme and upload its icon and cover image.
Here you will have to upload all the images that you want to show in the package.
You can enter the available quality of this package.
In this tab, you can define all the terms and policies of the package. You can define the Payment Policy, Cancellation Policy, Documents, and Terms and Conditions.
In this tab, you have the option to decide the maximum occupancy that this package can accommodate.
To book the tours the user will have to click on the Tour and Packages button on your website homepage.
Once the user clicks on the Tours and Packages button, after which he will land on the Tours and Packages landing page.
Now once the user searches for a package on the basis of location and date then he is directed to the package search result page.
The user now clicks on View Details in order to proceed to book a process.
In the itinerary section, the user has the option to customize the room types he wants to book in the package.
The user can also customize the transport facility offered in the package.
Now the user can either Book the package or Enquire about the package.
To book a package the user will have to click on Book Now as shown in the above screenshots.
Once the user clicks on Book Now the system will ask him to add rooms in the package and select occupancy in each room.
The user cannot add more rooms than the limit selected by the admin. And he cannot add more occupancy than the limit set by the admin.
Once you click on submit you will have the details of your booking and then you will have to click on Proceed to Checkout.
Once you click on Proceed to Checkout, you will be directed to QloApps default checkout page where you can make the payment and book the package.
When a user clicks on Submit Query a form opens up where the user to enter his details and queries and submit them for the admin to take action.
Once the user submits a query, it will be raised at the backend for the admin to take action.
All the orders placed by the guest of the packages are visible on the “Package Orders” Page.
To view all package orders, click on the orders menu from the menu bar and then select the “Package order” option from the drop-down.
The package order page displays the list of all the booked packages. You can view all the details of the package order, by clicking on the “view” button.
On the package order details page of each order, all details are shown.
NOTE: For each hotel that will provide a stay for a particular package order, a different order will be created for that particular hotel. Hoteliers can view and edit the booking order of their room type on the hotel orders page.
The admin can check Package Enquiries in the Manage Package tab –> Package Enquiries.
Then he will see the list of inquiries submitted by the users. He can click on it to check the details.
Once the admin clicks on View, he can view the details submitted by the user and then change the status of the query.
So, this was all from QloApps Tours and Packages. Hope I was able to explain the module to you.
If you want to learn about the functionality of QloApps then you can visit this link: QLO Reservation System – Free Open-Source Hotel Booking & Reservation System
In case of any query, issue, or requirement please feel free to raise it on QloApps Forum.
Current Product Version – V1.1.0
Supported Framework Version – QloApps 1.6.x