Imagine a guest landing on your hotel website late at night. They like the photos, the rooms look great, and the location is perfect. The only thing they want to know is simple: Is a room available for my dates? If they cannot check availability and book instantly, chances are they will leave and reserve a room somewhere else within minutes. Modern travelers expect the same smooth booking experience they get from major hotel platforms. This is exactly where the WooCommerce bookings plugin can transform your website.
With the right booking for WooCommerce setup, your WordPress site can function like a complete hotel reservation system. A powerful WooCommerce bookings plugin also gives hotel owners full control over how reservations work.
In this step-by-step guide, you will learn how to build a fully functional hotel booking system using WooCommerce bookings. We will walk through installation, room setup, availability management, pricing rules, and customer booking dashboards so your website can start accepting reservations just like a professional hotel platform.
Meet WooCommerce Bookings: The Engine Behind Your Hotel Booking System
WooCommerce Bookings plugin is a dynamic extension that adds robust booking and appointment functionality to your WooCommerce store. While it’s versatile enough for salons, clinics, and rental services, its hotel booking capabilities make it perfect for accommodation providers. The addon allows customers to seamlessly schedule stays, book rooms, or reserve accommodations directly through your website.
Why Use WooCommerce Bookings Plugin for a Hotel Reservation System
The WooCommerce Bookings Plugin allows businesses to accept reservations directly from their website by letting customers select available dates and complete the booking through WooCommerce checkout.
Key capabilities include:
- Hotel-style bookings with check-in and check-out dates
- Real-time availability updates to prevent double bookings
- Custom booking durations (days or time slots)
- Staff, service, and resource assignment
- Integration with Google Calendar, Google Meet, and Zoom
- Built-in booking reports and customer booking dashboards
- Optional cancellation and rescheduling functionality
Customers can view booking details during checkout and later from their account dashboard, making the experience similar to popular hotel booking platforms.
Prerequisites: What You’ll Need
Before setting up your hotel reservation system using WooCommerce bookings, make sure you have the following requirements ready:
- WordPress is installed and running
- WooCommerce add-on activated
- WooCommerce Bookings add-on purchased and downloaded
- Your license key (sent to your email after purchase)

Step 1: Install the WooCommerce Bookings Plugin and Activate Your License
Install the add-ons
- Install and activate WooCommerce if you haven’t already
- Install and activate the WooCommerce Bookings plugin
- You’ll notice two new additions in your admin area:
- A “Booking Settings” tab in WooCommerce Settings

- A “Booking Reports” sub-menu under WooCommerce

Activate Your License
- Navigate to WooCommerce > Settings > Booking Settings > License
- Enter your license key in the provided field
- Click Activate
Pro Tip: Without license activation, you won’t receive important updates and security patches. The license key also ensures you’re eligible for support.
Step 2: Creating Your First Hotel Booking Product Using WooCommerce Bookings
Now for the main event, setting up your accommodation booking system.
Basic Product Setup
- Go to Products > Add New
- Enter your product title (e.g., “Deluxe Room”)

- In the Product Data dropdown, select “Booking Product.”
- In the “Booking Settings” tab, select “Hotel” as your booking type. This unlocks accommodation-specific fields:

Essential Booking Information
- Booking Title / Service Name: Optional display name
- Quick Set Date Range: This time-saver lets you configure availability for long-term bookings. The start date automatically sets to today, and you can select how many years forward to open bookings
- Start Date & End Date: Define your bookable date range
- Booking Duration: Set the default length of stays
- Check-in Time and Check-out Time: Critical for hotel operations, displayed clearly to customers

Backend

Frontend
Guest and Stay Restrictions
- Minimum Stay Duration: Prevent bookings shorter than X days
- Maximum Stay Duration: Limit how long guests can book
- Adult Count Fields: Set minimum and maximum adults per booking
- Child Count Fields: Set minimum and maximum children per booking

- Assigned Resource/Staff: Optional, useful for assigning specific rooms or staff members

Resources Backend

Resources Frontend
Step 3: Setting Up Location Information
When building a hotel reservation system using Booking for WooCommerce, adding accurate location details helps guests trust your accommodation and understand where the property is located.
The Location tab lets you specify where your accommodation is situated:
- Physical Location: Enter your hotel’s complete address
- This information appears on the product page, helping guests verify your location before booking

Step 4: Managing Availability in WooCommerce Bookings Plugin with Blackout Dates
One of the most powerful features in the WooCommerce bookings plugin is the ability to block dates when rooms are unavailable.
Individual Blackout Dates
- Select specific dates where bookings cannot be made
- Perfect for maintenance days, staff holidays, or sold-out periods
Bulk Import Blackout Dates
- Use the “Import” button to upload multiple blackout dates via CSV
- Download the template file using “Download Template” for correct formatting
- This is incredibly useful for blocking entire seasons or yearly closures
Recurring Blackout Rules
Set up pattern-based blackouts:
- Every week on: Block specific weekdays
- Every month on day: Block specific dates month
- Every year on: Block annual dates

Step 5: Dynamic Pricing Rules
The Advanced Rules tab in the WooCommerce bookings plugin offers powerful pricing flexibility for hotel reservations.
Creating Pricing Rules
- Rule Name: Give your rule a descriptive name (e.g., “Summer Premium”)
- Enable the Rule:
- Check the box: Rule applies immediately in price calculations
- Uncheck the box: Rule applies on the frontend as customers select duration
- Rule Order: Rules process from lowest to highest number, plan accordingly
Rule Types Available
- Range of Months: Premium pricing during peak months (e.g., January in ski resorts)
- Booking Duration (Days): Discounts for longer stays (e.g., 10% off for 7+ nights)
- Custom Date Range: Special pricing for specific date ranges (e.g., holiday periods)
- Advance Booking Time: Early bird discounts or last-minute premiums
Price Adjustment Options
- + Add: Fixed amount added per day (e.g., +$20 × booking duration)
- – Subtract: Fixed amount subtracted per day (e.g., –$10 × booking duration)
- +% Add Percentage: Percentage added once to total (e.g., total +20%)
- –% Subtract Percentage: Percentage subtracted once from total (e.g., total –15%)

Advanced Rules Backend

Advanced Rules Frontend
Step 6: Customer Cancellation Settings
Recent updates have significantly enhanced cancellation capabilities:
Enable Cancellations
Check “Allow customers to cancel their bookings” to give guests self-service options.
Cancellation Deadline
Set how many days before check-in customers can cancel. For example:
- If check-in is January 17, 2026, and the deadline is 1 day
- Customers can cancel until January 15, 2026
- After that, the “Cancel” button disappears from their dashboard
Cancellation Policy Text
Enter the policy text displayed in:
- Booking Cancelled emails (to customers)
- Admin Booking Cancelled emails (to you)
- Cancellation pop-up in the customer dashboard
Check “Enable to show this policy text in cancellation modal” to display it during cancellation

Step 7: Customer Rescheduling Options
For maximum flexibility, enable rescheduling:
Enable Rescheduling
Check “Allow customers to reschedule their bookings.”
Allowed Order Statuses
Select which order statuses display the “Reschedule” button. Common selections include:
- Completed
- Processing
- Confirmed
Reschedule Deadline
Similar to cancellations, set how many days before check-in customers can modify their booking:
- If check-in is January 17, 2026, and the deadline is 2 days
- Customers can reschedule until January 15, 2026

Step 8: Auto-Cancellation of Abandoned Bookings
The “Auto-cancel pending/failed orders after 24 hours” feature is a game-changer for inventory management:
- Pending or failed orders automatically cancel after 24 hours
- Dates immediately become available for other customers
- Prevents rooms from being held indefinitely by incomplete bookings

Step 9: Display Customer Bookings Using a Shortcode
You can display all bookings for logged-in users using the User Bookings shortcode.
Shortcode
[user_bookings]

Add this shortcode to a page such as My Bookings.
Logged-in users will see:
- Upcoming reservations
- Past bookings
- Booking search functionality

Logged-out users will be prompted to log in before viewing bookings.
Conclusion: Your Hotel Booking System Is Ready to Work for You
Setting up a professional reservation system does not require complex development or expensive software. With WooCommerce bookings by WooNinjas, you can turn your WordPress website into a complete hotel booking platform where guests can check availability, choose their stay dates, and confirm reservations instantly.
Using the right booking for WooCommerce setup allows you to manage room availability, pricing rules, blackout dates, cancellations, and rescheduling directly from your dashboard. Instead of handling reservations manually, your website automatically manages bookings for you.
A reliable WooCommerce bookings plugin gives you the flexibility to grow your booking system over time while providing guests with the smooth and convenient reservation experience they expect. With the right configuration, your website becomes a powerful booking engine that works around the clock to bring in new reservations.
Turn Your Website Into a 24/7 Hotel Reservation Machine With WooCommerce Bookings
The key to success is methodically configuring each section: start with basic settings, add your blackout dates, implement pricing rules, and finally enable the customer management features. Test thoroughly before launching, and don’t hesitate to adjust settings based on real-world booking patterns.
Remember that WooCommerce Bookings integrates smoothly with the entire WooCommerce ecosystem, so you can enhance functionality with payment gateways, email marketing tools, and accounting plugins as your booking business grows.
Setting up a hotel booking system doesn’t require a custom-coded solution. By using the WooCommerce Bookings Add-on by WooNinjas, you get a specialized hotel interface, advanced duration rules, and customer-facing management tools right out of the box.


