Every service-based business running a WooCommerce store eventually hits the same ceiling. You can sell physical products and digital downloads through WooCommerce without any issue, but the moment you need to sell time, whether that is an appointment slot, a rental period, a class session, or a guided experience, the standard WooCommerce product setup simply does not have the architecture to handle it. WooCommerce Bookings is the official extension from WooCommerce that solves this problem by adding a fully featured booking and reservation system directly inside your existing WooCommerce installation.
Developed and maintained by the WooCommerce core team at Automattic, WooCommerce Bookings is the most trusted booking extension in the WooCommerce ecosystem. It brings the reliability and deep platform integration that come from being an official first-party product, and it handles the complete workflow of bookable product creation, availability management, customer booking, payment collection, and confirmation communication without requiring any third-party booking platform or separate system running alongside your store.
What Is WooCommerce Bookings
WooCommerce Bookings is a premium WooCommerce extension that transforms any WooCommerce product into a bookable service with configurable availability, pricing rules, and capacity settings. A bookable product can represent an appointment slot for a consultation, a time block for a rental, a seat in a class or workshop, a table reservation at a restaurant, a room at an accommodation property, or any other time-based offering that needs to be reserved and paid for in advance.
Once a product is configured as bookable, customers see a date and time picker on the product page instead of the standard add-to-cart button. They select their preferred availability, the system checks against your configured rules and existing bookings in real time, and the booking flows through WooCommerce checkout using whichever payment gateway your store already has configured. The result is a complete end-to-end booking experience that lives entirely within your WooCommerce store without any external dependencies.
Key Features
| Feature | Description |
|---|---|
| Bookable Products | Convert any WooCommerce product into a bookable service with date and time selection on the product page |
| Flexible Time Blocks | Configure bookings by minute, hour, day, or custom duration blocks depending on your service requirements |
| Real-Time Availability | Availability updates in real time as bookings are made, preventing double bookings automatically |
| Customer and Admin Bookings | Allow customers to book through the front end or let admins create bookings manually from the dashboard |
| Group Bookings | Configure minimum and maximum party sizes for services that accommodate multiple people per booking |
| Buffer Time | Add automatic buffer periods before and after each booking to allow preparation or travel time |
| Custom Availability Rules | Set available days, time ranges, date ranges, and blackout dates with granular per-product control |
| Pricing by Duration | Configure different prices for different booking durations, days of the week, or time of day |
| Global Availability | Define availability rules at the global level and override them individually per product |
| WooCommerce Integration | Bookings process through the full WooCommerce order system using all existing payment gateways |
Booking Configuration Options
| Configuration | What It Controls |
|---|---|
| Block Duration | The minimum unit of time for a single booking, from minutes to full days |
| Blocks Per Booking | Whether customers can book single blocks or select a custom number of consecutive blocks |
| Minimum Booking Duration | The shortest booking a customer can make for a specific product |
| Maximum Booking Duration | The longest booking a customer can make in a single transaction |
| Minimum Advance Booking | How far in advance a customer must book before the start time |
| Maximum Advance Booking | How far into the future customers can book from the current date |
| Buffer Before and After | Automatic padding time added before or after each booked block |
| Booking Requires Confirmation | Whether bookings are automatically confirmed or held for manual admin review |
| Full Day Bookings | Whether the entire day is blocked when a booking is made for that date |
| Customer Timezone Display | Whether availability is shown in the customer’s local timezone or the store timezone |
Pricing Flexibility Options
| Pricing Rule Type | How It Works |
|---|---|
| Base Price | Standard price applied to every booking of this product by default |
| Price by Duration | Different price tiers applied based on how many blocks the customer selects |
| Price by Date Range | Higher or lower prices applied during specific date ranges such as peak seasons |
| Price by Day of Week | Different rates applied on weekdays versus weekends or specific days |
| Price by Time of Day | Variable pricing for morning, afternoon, and evening time blocks |
| Per Person Pricing | Price calculated per person in the party when group bookings are enabled |
| Minimum Person Surcharge | Additional fee applied when a booking party falls below the minimum size threshold |
| WooCommerce Coupons | Full compatibility with WooCommerce coupon system for booking discounts |
Who Should Use WooCommerce Bookings
Health and wellness practitioners including therapists, physiotherapists, naturopaths, acupuncturists, and personal trainers who already sell products or supplements through a WooCommerce store will find WooCommerce Bookings the most natural way to add appointment booking to an existing setup. Because it runs inside WooCommerce, customer purchase history, order records, and payment processing all remain consolidated in one system rather than being split between a WooCommerce store and a separate booking platform.
Rental businesses offering equipment, vehicles, accommodation, event spaces, or any other time-limited asset will find the day-based and duration-based booking configuration particularly well suited to their requirements. A camera rental shop can configure each camera as a bookable product with daily pricing, availability that updates as each unit is reserved, and buffer days built in for cleaning and inspection between rentals, all without any custom development.
Education and training providers running paid workshops, courses, classes, and coaching sessions who are already using WooCommerce for course sales or merchandise will benefit from keeping all revenue streams inside a single platform. WooCommerce Bookings handles individual session bookings with seat capacity limits, group session pricing with per-person rates, and the standard WooCommerce order confirmation system handles payment receipts and booking confirmations consistently across all product types.
Hospitality businesses including boutique hotels, holiday cottages, bed and breakfast properties, and glamping sites that want an integrated booking and commerce experience will appreciate the date-range booking capability combined with WooCommerce’s existing payment and coupon infrastructure. Guests can reserve a property for a specific number of nights, pay through any supported gateway, and receive a standard WooCommerce order confirmation that doubles as their booking receipt.
Beauty and personal care businesses including hair salons, nail studios, tattoo parlors, and skincare clinics that currently manage appointments through a separate system will find WooCommerce Bookings a clean consolidation option if they are already running WooCommerce for product retail. Moving appointment booking into the same platform where product sales happen simplifies reporting, removes duplicate customer records, and gives clients a single account for managing both their purchases and their appointments.
WooCommerce Bookings vs Other WordPress Booking Solutions
| Feature | WooCommerce Bookings | Amelia | Bookly Pro | Simply Schedule Appointments | YITH Booking |
|---|---|---|---|---|---|
| WooCommerce Native Integration | Yes | With addon | With addon | No | Yes |
| Official WooCommerce Extension | Yes | No | No | No | No |
| Day and Night Bookings | Yes | Limited | No | No | Yes |
| Group and Party Bookings | Yes | Yes | Yes | No | Yes |
| Buffer Time Configuration | Yes | Yes | Yes | No | Yes |
| Pricing by Day of Week | Yes | Yes | Yes | No | Yes |
| Pricing by Duration | Yes | No | Yes | No | Yes |
| Admin Manual Booking Creation | Yes | Yes | Yes | Yes | Yes |
| Google Calendar Sync | With addon | Yes | Yes | Yes | No |
| One-Time Price | Yes | Yes | Yes | Yes | Yes |
Compatible WooCommerce Extensions
| Extension | How It Enhances WooCommerce Bookings |
|---|---|
| WooCommerce Bookings Availability | Displays a public availability calendar for bookable products on any page |
| WooCommerce Accommodation Bookings | Extends Bookings specifically for hotel and accommodation properties with check-in and check-out logic |
| WooCommerce Subscriptions | Combine bookable products with recurring subscription billing for retainer and membership arrangements |
| WooCommerce Product Add-Ons | Add custom options and extras to booking forms such as equipment selection or service upgrades |
| WooCommerce Deposits | Collect a partial deposit at booking time and collect the remaining balance closer to the date |
| WooCommerce Google Calendar Integration | Sync confirmed bookings to a Google Calendar for staff and resource scheduling visibility |
| WooCommerce Conditional Shipping | Apply shipping rules to bookings that include physical products or materials |
How to Install WooCommerce Bookings
Download the WooCommerce Bookings zip file from WPDropzone. Ensure WooCommerce is already installed and active on your WordPress site before proceeding, as WooCommerce Bookings requires WooCommerce as a dependency. Navigate to Plugins in your WordPress admin panel, click Add New, then Upload Plugin, and select the downloaded zip file. Click Install Now and activate the plugin once installation completes. After activation, navigate to WooCommerce and then Products and create a new product. In the product data panel you will find a new Bookings product type option in the product type dropdown. Select Bookable Product, configure your availability settings, pricing rules, and booking duration options in the tabs that appear, and publish the product. The booking date and time picker will immediately appear on the product page for customers to use.
Frequently Asked Questions
Does WooCommerce Bookings prevent double bookings automatically? Yes. WooCommerce Bookings tracks all confirmed and pending bookings in real time and removes booked time slots from the availability calendar as they are reserved. When a customer begins the booking process, the availability they see reflects the current state of all confirmed bookings at that moment, and the system prevents two customers from completing a booking for the same slot simultaneously through a reservation lock during checkout.
Can I require admin approval before a booking is confirmed? Yes. WooCommerce Bookings includes a booking requires confirmation setting that places new bookings in a pending state rather than automatically confirming them. The admin receives a notification for each pending booking, reviews it, and manually confirms or cancels it from the WooCommerce orders interface. The customer receives a confirmation notification only after the admin approves the booking.
Does WooCommerce Bookings work with all WooCommerce payment gateways? Yes. Because WooCommerce Bookings processes through the standard WooCommerce order and checkout system, it is compatible with every payment gateway that WooCommerce supports. Stripe, PayPal, Square, Authorize.Net, and all other WooCommerce payment extensions work with bookable products exactly as they do with standard products.
Can I set different prices for weekends and peak periods? Yes. WooCommerce Bookings includes pricing rules that allow you to configure different rates based on the day of the week, specific date ranges, and time of day. You can set a higher weekend rate for rental properties, a peak season surcharge for holiday periods, or a discounted early morning rate for appointment-based services, all configured within the individual bookable product settings.
Can customers reschedule or cancel their own bookings? Customers can view their bookings through the WooCommerce My Account page and the cancellation behavior follows the standard WooCommerce order cancellation settings. Rescheduling requires admin action by default, though the WooCommerce Bookings system supports admin-initiated date changes on confirmed bookings from the order management interface. For customer-facing rescheduling functionality, additional configuration or a companion plugin is typically used.
Is WooCommerce Bookings suitable for accommodation and multi-night stays? WooCommerce Bookings supports day-based booking with date range selection that works well for accommodation properties. For businesses that specifically need check-in and check-out logic, room type management, and accommodation-specific features, the WooCommerce Accommodation Bookings extension builds directly on top of WooCommerce Bookings and adds the hospitality-specific functionality that standard booking configuration does not cover out of the box.
⚠️ Disclaimer: This plugin/theme is for personal use and practice only. Run a malware scan before use. For commercial use, purchase a license from the official website.