Here is a use case that frequently comes up for hotels and room rentals using WooCommerce Bookings.
The requirements
- “Booking should be done 48 hours in advance, hence there shouldn’t be rooms available for same/next day booking.”
- The pricing structure and therefore booking duration is divided into three types:
12h (4h) block stay
Overnight stay
Day stay - Prices increase on weekends.
- Each booking must add the reservation fee
I played through various scenarios where I also thought of using WooCommerce Product Add ons at one point. In the end I managed to do it using WooCommerce Bookings only.
The solutions
Lets go through your requirements one by one:
Booking should be done 48 hours in advance, hence there shouldn’t be rooms available for same/next day booking.
For this requirement I set “Minimum Block bookable” to 2 days in the future:
https://cloudup.com/cgCgA42FcVu
This disallows bookings on the same / next day.
The pricing structure is broken into some types:
– 4 hour blocks with different weekday/FRI-SAT/sunday prices
– Overnight with diff weekday/FRI-SAT/sunday prices : 8pm – 1pm
– 12 hour period with weekday/FRI-SAT/sunday prices : 3pm to 1pm
The check in times for both day and overnight are set. I did not know if the 12h / 4h blocks have flexible check in or not. For managing this I did set it deliberately to 12pm. In order to reflect different check in times, I set the bookable slot to 1 hour and then used availability rules to knock out undesired times. The concept in full is explained in my other blog post here.
Here is what I set:
https://cloudup.com/ir_lPGZPgxS
This produces the following times for each day:
12pm – Check in time for hours stay
3pm – Check in time for day stay
8pm – Check in time for overnight stay
Prices increase on weekends.
Each booking must add the reservation fee
The cost tab adds reservation fees and raises the price on weekends. The initial price is the lowest, for this suite: 140. The cost rules add to the price according to your spreadsheet.
https://cloudup.com/cb5v3yo0UWN
Clicking through the times during the weekend and on weekends now display correctly following the given price rules.
I expected that one booking per day should block the whole day for the suite, so I added adjacent buffer of 8 hours.
https://cloudup.com/cd4pD20X522
This effectively blocks the whole day, if any time slot is booked for that day.
Last but not least I added some info to the product page to explain the concept and checkout times.
That is it.
This realises a WooCommerce Bookings product for one room with varying check in times, varying booking durations along with the required price structure and reservation fees.
Let me know any questions in the comments and all the best for your WooCommerce Bookings scenario.
8 comments
Kevin Coates
If I want to create bookings
eg I want to offer a service where customers can book a service on a chosen day, but I don’t want to block out the chosen day
e.g lets set 1000 bookings available per day (user does not get to choose a time) just the day
can this be done? can you help do it for a fee?
Con Schneider
Hi Kevin,
> eg I want to offer a service where customers can book a service on a chosen day, but I don’t want to block out the chosen day
> (user does not get to choose a time) just the day
For this I would set the bookable slot to 1 day.
> e.g lets set 1000 bookings available per day
For this I would set max bookings per slot to 1000.
Torsten
Hey,
nice tutorial.
I’ve the problem that I’ve different situation and discounts for products but I didn’t know how I can set this. Maybe you have a solution.
For example.
I’ve a boat for booking and its possible to book
2h
4h
1 Day
2 Day (MO-THU)
3 Day (MO-THU)
Mini-Weekend (SA-SU)
Weekend (FR-SU)
7Day
all have different prices but actually I’m not able to display this.
Do you have any tip for me?
Greetings
Con Schneider
Hi Torsten,
Thanks for the comment. I cannot provide support for WooCommerce Bookings plugin here. Please open a ticket instead: https://woocommerce.com/my-account/create-a-ticket/
Kind regards,
Michele Rallo
I’m desperate,
how can i set a hotel with 3 different rooms that have different prices (independently one from each other?) i set them correctly with resources 3 kind of rooms but WC booking allows me to set a fixed prices as difference between the rooms (prices vary independently!
Support say i must create a different product per room but it’s an horrible solution as user experience!!! Users would navigate into several pages to book.:(
Con Schneider
Hi Michele,
Please refrain from swearing. I have edited your comment accordingly. I also don’t see a way without custom coding. You could try and add WooCommerce Product Add Ons to the mix. This will allow you to add more pricing rule variations, but the selection required will be difficult to setup.
camilla rusconi
Hi, do you think i can use this plugin also for a site with multiple villas? So basically instead of booking rooms they are booking villas.
thanks
C.
Con Schneider
Hi Camilla,
Yes, that should work fine. But depending on your requirements can also be tricky. These things are best tested out. You can setup a free test site at http://wcdemo.com.
Cheers,