Here is a use case that frequently comes up for hotels and room rentals using WooCommerce Bookings.
- “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
- 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.
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:
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:
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.
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.
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.