With PrestaShop Marketplace Booking and Reservation System you can convert your PrestaShop store into a multivendor booking marketplace.
This module allows your vendors to add booking products on the online marketplace and receive bookings 24 hours a day. Sellers can add various benefits/features/discounts with the booking product.
Note:
- PrestaShop Marketplace Booking and Reservation System module is compatible with PrestaShop framework version 8.x.x.
- The module is compatible with PrestaShop Advanced Multi-Vendor Marketplace version 7.x.x.
Features of the module
- Admin has an option to consider the last date for the price calculation of a booking product or not.
- Admin can add booking products on behalf of the seller as well.
- Set Monday as the first day of week from the configuration.
- Add booking price rule on behalf of seller to their products.
- Display Google Maps on the booking product page to show the location.
- Sellers can add the date range and time slots booking product type.
- Sellers can disable booking of a product for special days(i.e. Mon, Tue, Wed, Thu, Fri etc) by selecting the days.
- Disable bookings for specific dates by setting up the date range.
- View total available quantity, total booked quantity and price of a booking product for specific dates or special days under “Availability & Rates” tab.
- Seller and admin can set the quantity in each slot of time slot type booking.
- Also, add multiple time slots for different date ranges.
- Display the regular price of product in strike through if price rule is added to the booking product.
- View all the booking products under “Booking products” option.
- Search the booking products by applying the filters.
- Admin and sellers can set the time to close the booking of a product, before the starting time of booking product.
- For different time slots, add different prices for booking a product.
- Disable the time slots for booking a product for special days(i.e. Mon, Tue, Wed, Thu, Fri etc).
- Disable the time slots for booking a product for specific dates.
- View available quantity, price, booked quantity and status of a booking product for different time slots for a specific date and special days under Availability & Rates tab.
- Booking price rule functionality which allows the seller to provide various features, benefits, and discounts to the customers for booking the product(s).
- Add booking price rule for a specific date range or specific date.
- Set special days for which booking price rule(made for a date range) will be applicable.
- A customer can view booking products on the category page and book it anytime 24*7 as per their convenience.
- Both admin and seller can create the order for booking products on customer’s behalf.
- Also, a customer can view the booking product information in order confirmation email.
- Booking product information will also be mentioned in the invoice of an order.
- A customer can avail various benefits and discounts by booking the products online.
- Restore the quantity of the product on order cancellation.
- The module is multi-shop compatible with PrestaShop Advanced Multi-Vendor Marketplace version 5.4.0/3.4.0 and above.
How to install the module?
In order to install the module, you need to install the PrestaShop Advanced Multi-Vendor Marketplace module first.
After installing the marketplace module, you can now proceed to install the PrestaShop Marketplace Booking and Reservation System module.
- Firstly, go to the module manager in the back office and click on ‘upload a module’.
- After that, drag and drop the module file or select the file from the system.
- In this way, the module installation will be successful.
Note
1}
For proper functioning of the “PrestaShop Marketplace Reservation and Booking”, we had to override some PrestaShop core files in this module. The name of such files are as follows:
- PrestaShop/themes/classic/templates/customer/history.tpl
- PrestaShop/themes/classic/templates/checkout/cart.tpl
- PrestaShop/themes/classic/templates/checkout/order-confirmation.tpl
- PrestaShop/themes/classic/templates/customer/order-detail
- PrestaShop/themes/classic/templates/catalog/_partials/quickview.tpl
- PrestaShop/themes/classic/templates/checkout/checkout.tpl
- PrestaShop/classes/Cart.php
- PrestaShop/classes/PaymentModule.php
- PrestaShop/classes/pdf/HTMLTemplate.php
2}
For PrestaShop Advance Marketplace version below 5.1.4 [For PrestaShop 1.7.x.x] and for PrestaShop Advance Marketplace version below 3.1.4 [For PrestaShop 1.6.x.x]
Add the below hook:
Hook::exec( 'actionSellerProductsListResultModifier', array('seller_product_list' => &$mpProducts) );
File name – modules/marketplace/classes/WkMpSellerProduct.php
Hook Position – Inside getSellerProduct() function, After below line – $mpProducts = Db::getInstance()->executeS($sql);
How to configure the module?
After the successful installation of the module, an admin needs to configure the module.
Configuration
- Consider Price For ‘Date To’- Enable to consider ‘Date To’ or ‘Last Date’ for calculating the price while booking. For example, if you book a hotel room which costs $100 a day for the date range 20th – 23rd September. If ‘Consider Price for Date To’ is enabled the number of days would be 4(23rd September included).
If “Consider Price for Date To” is disabled, then the number of days would be 3(23rd September not included).
- Show booking price rules to customers– If enabled by admin, then booking price rules will be visible to the customers on a product page at the Front End.
- Is Monday the first day of the week?– If enabled then Monday will be the starting day of the week.
- Display booking products link– If enabled then an option “Booking Products” will display in the header. By clicking on this option the customers can able to see all the booking products available in the store.
- Display regular price after discount to customers– If enabled then the customer will be able to view the price of the product before the discount in strikethrough.
Manage Booking Products
After the installation of the module, new tabs become available on the seller panel.
Adding a booking product
After the successful installation of the module, a new tab “Booking” gets available on the update product page. Under this tab, the admin can choose whether he wants to add this product as a booking product or not.
Booking product information
Under booking product information tab, the admin can:
- Select the booking product type (date range or time slots) he wants to add.
- Set how many hours before the customer can book the product.
Product Booking Type – Date Range
After selecting the booking product type and setting the hour, when admin clicks on ‘save & stay’ button, three new tabs get available under Booking.
Location
Under this tab, the seller can set the coordinates to display the location on Google Maps on the booking product page.
Front End View
On the product page, the customer can view the location on Google Maps.
Disable Dates/Slots
Under this tab, the admin can select special days (Mon, Tue, Wed, etc) and specific dates for which he wants to disable the booking.
Disable Special Days
Front–End View
Once a seller has disabled the booking of a product for special days, then a customer cannot book that product for the days disabled by a seller.
Disable Specific Dates
After selecting the date range for which the seller wants to disable bookings he has to click on Save button so that bookings get disabled for the specified date range.
Front–End View
Once a seller has disabled the booking of a product for a specific date range, then a customer cannot book that product for days disabled by the seller.
Availability & Rates
Product Booking Type – Time Slots
Time slots booking plans
A seller can add booking time slots by adding the
- Date range of the slots
- Time from & Time to of the booking product
- Price for the slots
- Quantity of the booking product.
A seller can set different prices for different slots, enable or disable a slot, and delete the slots.
Front – End View of Time Slots Booking Product Type
A customer can book a slot for a particular date by selecting the time slot and booking quantity for that particular time slot.
Disable Dates/Slots
Once the seller has added the time slots he can disable it for special dates or a specific date range.
1. Disable Special Days
A seller can disable the time slots for booking a product for special days. Once a seller has disabled the booking of a product for special days, then customers cannot book that product for time slots for the days set by the seller.
2. Disable Specific Dates
A seller can disable the time slots for booking a product for specific dates.
When a seller clicks on the “Save” button a pop up appears on the screen where he has to select the slots which he wants to disable and then clicks on the “Done” button.
After selecting the date range for which the seller wants to disable bookings he has to click on Save button so that bookings get disabled for the specified date range.
Front–End View
Once a seller has disabled the booking of a product for a specific date range, then a customer cannot book that product for days disabled by the seller.
After selecting the time slots and clicking on the “Done” button, then a customer cannot book a product for the disabled time slots for a specified date range.
Once the specific dates have been set by a seller to disable selected slots, he can enable the time slots he disabled while setting up the specific dates or he can disable the time slots which were enabled by clicking on the ‘edit’ button.
Front-End View
Once the seller has disabled the time slots for booking a product for the specific dates, then a customer cannot book a product for those time slots of specific dates.
The time slot 13:00 – 13:30 is not visible to a customer as it has been disabled by a seller for specific dates.
Availability & Rates
Under the “Availability & Rates” Tab, a seller can view time slots, total available quantity, total booked quantity, and the price of a booking product by clicking on a date.
Special days and specific dates which have been disabled by the seller for booking a time slot of a product are visible as faded on the calendar.
Booking Price Rules
A seller can add booking price rules to the products by clicking on the “Booking Price Rules” tab under “My Shop”.
A seller can add a new booking price rule by clicking on the “Add Booking Price Rule” button.
- Booking Product Name – In this field, a seller has to enter the name of a booking product for which he wants to add a booking rule.
- Booking price rule name – In this field, a seller has to enter the name of booking price rule which will be visible to the customers at the Front End. The seller can add booking price rule name in multiple languages.
- Date Selection type – In this field, a seller can add a booking price rule for a specific date range or a specific date.
- For Special Days – The seller can set special days in a date range on which the booking price rule will be applicable. For example, a seller has set a date range 07/10/22 – 12/10/22 and special days as Fri and Sat, now booking price rule will be applicable on Fri and Sat lying in the date range 07/10/22 – 12/10/22.
- Impact Way – In this field, a seller has to select whether the booking price rule will increase the price or decrease the price while booking a product.
- Impact Type – In this field, a seller has to select whether the price set for the rule will be a fixed price or in percentage.
- Impact Value – in this field, a seller has to set the value of the booking price rule.
Once a seller has saved booking price rule details, he can view them under the “Booking Price Rules” tab as shown below:
Admin can also view booking products price rules by navigating through Marketplace -> Booking Price Rules.
Admin can add booking price rule on behalf of a seller to his products by clicking on “Add booking price rule” button.
Booking price rules added by the sellers to their products will be visible to the customers if “booking price visibility to the customer” has been enabled by the admin from the backend.
Front End View
A customer can view a booking price rule applicable to a product.
Date Selection type
In PrestaShop marketplace Reservation and Booking system, a seller can add a booking price rule to the product for a specific date range or specific date.
- Adding a booking price rule for a date range
The seller can add a booking price rule for a specific date range by setting ‘Date From’ to ‘Date To’. The booking price rule will be applicable to the date range set by a seller.
For example, a seller has added a booking price rule to a product for the date range 7th October to 12th October and the customers who will book a hotel room during this duration will get a 10 percent discount on booking.
Front End View
The booking price rule to a product will be applicable if a customer books a product during the date range set by a seller.
- Adding a booking price rule for a Specific Date
A seller can add a booking price rule for a specific date. The booking price rule will be applicable for the date set by the seller.
For example, a seller has added a booking price rule to a product for date 12th October and set $15 fixed off, then the customers who will book a product on 12th October will get a discount of $15 while booking a product.
Front End View
Booking price rule will be applicable if a customer books a product on the specific date set by a seller.
- Adding a booking price rule for special days in a date range
A seller can add a booking price rule for special days which lies in a date range set by him. The booking price rule will be applicable for the special days lying in a date range set by the seller.
For example, a seller has added a booking price rule to a product for the date range 17th October to 31st October and special days Friday, and Saturday.
The seller has set a $20 discount in the “Impact Value” field. Now the customers who will book a product on special days lying in a date range will get a $20 discount while booking a product.
Front End View
The booking price rule will apply if a customer books a product on special days Fri and Sat between 17-31 October.
Booking Price Rules Priority
Under “Booking price rules priority”, the admin can set booking price calculation priorities so that if a customer fits into multiple booking price rules then the booking price rule with the highest priority will be considered at the time of booking.
For example, a seller has added 3 booking price rule on a product.
- A booking price rule for date range 23rd September – 31st October and discount is $15.
- Another booking price rule for a specific date 10th October and the discount is 20%.
- And, 3rd one is the booking price rule for special days Fri and Sat between 01st October – 22nd October, and the discount is $ 15.
And the Priority set by admin for booking price calculation is: Specific Date>Special Days>Date>Date Ranges.
A customer can view all the booking price rules applicable to a product at the Front End and the priority according to which he will get discount if he fits into multiple booking price rules.
- In case if Customer books a product on Specific Date
If a Customer books the product on 10th October, then he will get 20% discount according to the booking price rule added to the product and booking price rule priority set by the seller.
- If a customer books a product on Special Days
Say, a customer books the product on special days i.e. Fri and Sat between 01st October – 22nd October, then he will get 15% discount according to the booking price rule added to the product and the booking price rule priority set by a seller.
- If the Customer books a product in a Date Range
If a Customer books the product between 23rd September – 31st October, then he will get $15 fixed discount according to the booking price rule added to the product and booking price rule priority set by the seller.
Front End Workflow
A customer can view the booking products on the category page at Front End.
A customer can also book a product by clicking on the “Quick view” button as shown below:
When a customer clicks on “Quick View” button, a pop-up will appear on the screen and he can book the product by clicking on “BOOK NOW” button.
Booking Products
The users can view all the booking products available on the store by clicking on the “Booking products” option available in the header bar of the store’s website and also can apply the filters to search the products as per the availability.
1. Adding a Date Range Booking Product Type to Cart
While booking a product for a specific date range or special days a customer can:
- View the available quantity of a booking product
- Set the date range for booking a product
- Enter the quantity of a booking product
2. Adding a Time Slots Booking Product Type to Cart
While booking a product for a time slot or different time slots a customer:
- Has to set a date for booking a product in time slots.
- Can view total quantity available in time slots of a selected date.
- Has to enter the quantity for booking a product in time slots.
Now when a customer clicks on “BOOK NOW” button he gets redirected to cart page where he can view the booking product details.
Once the order gets confirmed, a customer can view booking product details on the Order history page.
Once the customer has ordered the booking products, then he/she will get an order confirmation email in which the booking information will be mentioned.
A customer can also view the booking product information in the invoice of order.
A seller can view booking product details of his products ordered by a customer under the orders tab.
Also, the admin can view the details of the seller’s booking products under “Orders” of the Seller’s booking tab.
Booking Product Orders
All the orders for booking products also show under the tab “Booking Orders” on the seller end.
Similarly, they are available at the admin end too in a separte section.
Add product on customer’s Behalf- Seller
The sellers can also create the order on the customer’s behalf from Booking Orders tab -> Add New Order.
After clicking on the Add new Order option the seller need to fill the required information of the customer to create the order.
After clicking on the add button the admin needs to select the payment method and the status of the order to create the order.
The seller can view the order created by him on customer’s behalf under the booking orders tab.
So, this was all about the PrestaShop Marketplace Booking and Reservation System module. I hope this document will help you in checking the functionality of the module in a better way.
Also, do let us know about your views in the comments.
Support
For any kind of technical assistance or query, please raise a ticket at http://webkul.uvdesk.com or send us a mail at [email protected]
Also, please explore our PrestaShop development services & vast range of featureful PrestaShop Addons.
Current Product Version - 5.0.1
Supported Framework Version - 8.x.x, 1.7.x.x
For example, if the booking product is hotel, then there will be showing what is included in the hotel facilities and allow the seller to fill in or add in to show customer