Dokan Bookings allow vendors to create bookable products and customers to customize their booking orders within the store.
To make this feature available, you’ll need to use these four plugins below. However, 3 of them require licenses.
How to Use the Dokan WooCommerce Booking Module
Let’s check out below how to use Dokan WooCommerce module on your marketplace:-
Navigate to your WP dashboard->Dokan->Modules. Find WooCommerce Booking Integration and turn on the toggle button on the top right to activate this module.
Important fact: Dokan Bookings is based on the features provided by WooCommerce Bookings. So, we advise you to read the WooCommerce Bookings documentation and definitions first before you begin here. We have just made the features compatible with a frontend interface and tried to make the user experience easier.
Usage – Frontend – Vendor
Go to Vendor dashboard → Bookings to see available options.
Create a new Booking product
Click on Add new product, a form similar to the new product form will appear with a different looking section below the basics. We will break each section down for your easy understanding. This might get a little complicated so pay attention. Booking is a very much customizable product with a high level of relations.
This is the very basic section. Nothing too hard.
What is Booking Duration?
This field allows you to define a duration of your product. The duration of each product your customers will be buying. Suppose you own a motel and don’t want to rent your best room unless someone wants it for three days. So you put three days as your block duration. But when you are creating bookings for your regular rooms, you are putting one day.
What’s Calendar display mode?
The calendar on the product page displays availability on a calendar. So this field simply on/off for the calendar be already expanded or appear as a clickable button.
This is where the things start to get a little complicated. This section deals with the availability in four different ways – frequency, capacity, range and time.
What is a Block?
Understanding this makes the following things a lot more easier. A block is the minimum unit of your product which you are making available for booking. As most booking products are unlike regular products, which are not time dependent. But booking products are time dependent, subject to maintenance and usually do not have any shipping.
What is max bookings per block?
This field allows you to book the product multiple times within the available time frame. Say, I have 2 of the Luxury suites and I want to rent them both. So, with this single bookable product I can manage both.
What is minimum booking window?
It is the minimum duration of time during which a customer will have to book your next available product. Say, your next available product is on 17th of this month, but you want at least 2 days before that day to allow for booking.
What is maximum booking window?
The maximum range of available booking for the product from the next available date. So, if your next available booking for your product is on 17th this month and the maximum booking window is 7 days, then on the product page a customer will be shown booking availability up to 24th.
Here is an example on a calendar how these dates will work.
What is Require a buffer period of?
The you need some time to refresh your asset / product after completion of each order / service.
If you have multiple booking blocks allocated in a single day, probably you will need some time in between to do some maintenance. This is what buffer time is. Say, if you want to clean up your Luxury Suite and change the towels before you hand it over to the next customer, you may set a buffer time of 30 hours. Leave it on 0 for no delay.
The unit for buffer period changes automatically with your block unit duration.
What if I set All dates are – to “not available by default”?
Your customized settings for availability ranges will become active.
Set availability range
Each field is tagged with a (?) hint text which explains each field.
Fix the range for your booking availability according to days months hours or minutes and many other ways. You can add and reorganize priority by dragging too. Please take reference for the rules from the WooCommerce Bookings documentation.
This section is pretty much straight forward. There is always a base cost of the product, block costs are based on order volume and display cost is something which you can display initially as the lowest limit perhaps. If you leave it empty, the cost will become adaptive as the customer modifies his order. So, you can also use the display cost as a minimum cost per order in that sense.
What is Has Persons?
Check this option if your product can be booked according to several person groups. As you can see, you can also set seat limit and cost depending on person group.
What is Has Resources?
If you want to add additional resources to your product. For example, on my luxury suite, I have added a resource if they want to use a home theater system for viewing movies to be set up.
These resources can be set to automatically assigned or customer selected. As you see, you can charge for your resources as both initiation costs and for the length they use it.
1. Enter the resource cost.
2. Select the resource from the drop down menu.
Resources can also have their ranges depending on various attributes. You can set them from a different menu.
Creating a resource
Go to Vendor Dashboard → Bookings → Click on Manage Resources
Now, click on Add New Resource to create a new resource. Click on Edit / Remove for changing a resource properties.
Usage – Frontend – Customer
After selecting a product or service that can be booked from your Dokan store, customer has to perform following actions.
Choosing from the options
Your customer will get the options you have set at the time of creating the product or service. They have to choose between minimum and maximum amount of person and also the types of resources that you have created.
After selecting a number of person and type of resource (if required), they have to select the available date of booking. They have to click on Choose button to view the calendar and select the suitable date.
If the date is available, the Check Availability button will become active. Then they have to click on the button and it will redirect them to order page.
Now, the customer should provide necessary information for ordering the product or service. After filling the order form, they have to click on the Request Confirmation button and this will create a new order.
A customer can cancel the order by navigating to My Accounts → Orders and click on the cancel button.
Create Bookings Manually
Vendors can create bookings manually from the front end for their customers.
Click on the Add New Booking button from the Booking option from the vendor dashboard.
Vendors can search for a new customer by typing their name or leave it as guest. Then they need to select the bookable product from the dropdown box (For vendors they will find their bookable product in the dropdown menu, admin will see all bookable products).
Now they will get 3 types of booking. You can create,
New: Create a new order, which vendors must process and complete before it is active.
Addition: Add the order to an existing booking, and enter that ID.
No order: Create booking only.
Next, vendors need to select the date and time from the booking calendar. Click on Add Booking to finish.
Then vendors will be redirected to the Manage Bookings section and they will see that the booking is created.
Note: We don’t provide support for the RMA and Addons, as WooCommerce doesn’t provide support for these as well.
You can create accommodation booking products that make it possible to rent and lease hotel rooms, homes, apartments, or other spaces to customers.
To create an accommodation booking product, select the Accommodation option when creating a bookable product.
When you select the accommodation product, you will see some new fields.
Minimum number of nights allowed in a booking: Choose the minimum number of nights customers need to choose to place a booking.
Maximum number of nights allowed in a booking: Choose the maximum number of nights customers can select to place a booking.
Checkin Time: Choose the check-in time
Checkout Time: Choose the check-out time
Calendar Display Mode: Select if you want to display the calendar upon click or if the calendar should always be visible.
Requires Confirmation: Check this box if the booking requires your confirmation or not.
Can be Cancelled: Check this box if the booking can be cancelled by the customer after a certain period of time.
Booking Can be Cancelled: If you check the ” Can be Cancelled” box then you will get this option.
Number of rooms available: Add the number of rooms available for this booking.
Minimum / Maximum booking window ( into the future ): If today is March 1 and you set the minimum block bookable to 1 month into the future, then the first date a customer could book would be April 1. The same goes for the maximum booking window.
Restrict start and end days?: If you have a weekly rental, but you only allow customers to start their rental on Fridays, Saturdays, Sundays, etc. This does not affect availability; other days are still available, they just cannot be selected as the day(s) that bookings start on.
Set Availability Range: You can set up specific availability rules, such as availability for:
- Day of the week
- Specific date
Standard room base rate: It is applied regardless of a customer’s choices on the booking form.
Standard room block rate: It is the cost per block that was assigned in the General tab. If a customer books multiple blocks, this cost is multiplied by the number of blocks booked.
Display cost: The cost is displayed to the user on the front end. Leave blank to have it calculated for you.
Creating Accommodation Booking Product for Admin
Admins can also create accommodation booking products from the backend. They will get the same options as the vendor.
Now, customers can book products from the fronted,
Quick overview of the module
The following tutorial will make things more easier and help you understand the overall customer experience.
Translation Text Domain