Bookings for WooCommerce - Plugin
Accept bookings and rentals with the Bookings for WooCommerce plugin
Create bookable products for users to book, hire, rent or reserve

Rent properties, equipment, services - accept calendar-based bookings for all kinds of WooCommerce products
Sell date-based bookings for all kinds of rentals
- Create bookable products in WooCommerce
- Automatically calculate the cost of the booking
- Set available quantity for each product
- Sync with ical including Airbnb, Booking.com, VRBO

Advanced front-end features
- Separate start and end calendars
- Book daily, overnight or weekly
- Allow buffer periods before and after bookings
- Availability search by start and end dates

Flexible and easy to use
- View availability in a backend calendar
- Perfect for non-coders, developers and clients
- Simple and intuitive settings

What customers say about our Bookings for WooCommerce plugin
I am using the plugin for a client that rents salon suites to health and beauty professionals, so they can in turn service their own clientele. Your plugin was a perfect fit.

Very easy to setup, and is the only plugin I found that allows you to set a stock level. This plugin solved a problem I had for this client who needed to allow people to not only select the days, but also a number of people for those days.

Bookings for WooCommerce plugin features
The best plugin for any kind of rental business requiring a WooCommerce bookings calendar
Set different booking units
Offer bookable products by day, overnight, or weekly
Maximum bookings per unit
Set a limit on the number of bookings per time unit
Set minimum/maximum durations
Define a minimum and/or maximum duration for each booking
Choose a start day
Optionally define a day of the week for each booking to start
Postpone booking starts
Avoid last minute bookings so you're not taken by surprise
Buffer periods
Set a period after rentals to give you preparation time between bookings
Single day bookings
Display a single calendar for one-day events
Multiple day bookings
Specify fixed durations - or let users choose start and end dates
Daily / overnight / weekly units
Define bookings per day, overnights, or weekly
Display availability to customers
Show when dates are fully or partly booked, or completely booked out
Show prices per unit
Display prices on the calendar for user's convenience
Filter all products by date
Add calendar to shop page to allow users to filter all products by their required dates
Single global calendar
View global availability calendar for bookings from one place
Block out days and dates
Ensure products and services are unavailable for certain dates
Automatic email notifications
Remind users when they've got a booking coming up
Sync with third party platforms
Sync your bookings with listings on Airbnb and Booking.com
Differential price rates
Set price rules for high season, low season, high demand, etc
Discount booking price
Change the price of the booking based on duration
Block dates
Set dates to unavailable for each bookable product
User-role pricing for bookings
Set different prices for different user roles for your bookings

Go further with WooCommerce bookings
Bookings for WooCommerce works brilliantly with themes and plugins
Upsell options
Let users choose extra options for their bookings
Add surcharges
Include extra items for additional costs, like cleaning fees etc
Charge per unit or fixed rate
Charge add-ons fees per booking unit or as a single fixed fee
Take deposits on your bookings
Set an initial payment to make the booking then collect the rest later
Send email reminders
Automatically send reminders to customers when a payment is due
Specify deposit amounts
Set percentage or fixed deposits, optionally offer a discount for payment in full
Themes and page builders
Bookings for WooCommerce works with all themes (including block themes) and page builders
WooCommerce Product Add-Ons Ultimate
Use Product Add-Ons Ultimate to add extra options and fees to your bookings
WooCommerce Deposits and Part Payments
Take deposits on your bookings and rentals; collect the balance later
Pricing
All purchases are covered by a 14 day money back guarantee. Prices are in US Dollars.
Yearly licences renew annually - cancel anytime
Lifetime licences are a one-time payment
Basic
$59.00 + VAT *
Use on a single siteUse this plugin on one production site
Renews annuallyThis plugin will automatically renew every year. If you cancel it, you can continue to use the plugin but will not receive support or updates
14 day money back guaranteeIf the plugin isn't what you want, just drop us a line within 14 days for a full refund
Pro
$99.00 + VAT *
Use on unlimited sitesUse this plugin on as many sites as you like
Renews annuallyThis plugin will automatically renew every year. If you cancel it, you can continue to use the plugin but will not receive support or updates
14 day money back guaranteeIf the plugin isn't what you want, just drop us a line within 14 days for a full refund
Basic
$149.00 + VAT *
Use on a single siteUse this plugin on one production site
One-time paymentThis is a single one-time charge. You'll recieve support and updates for the lifetime of the product
14 day money back guaranteeIf the plugin isn't what you want, just drop us a line within 14 days for a full refund
Pro
$249.00 + VAT *
Use on unlimited sitesUse this plugin on as many sites as you like
One-time paymentThis is a single one-time charge. You'll recieve support and updates for the lifetime of the product
14 day money back guaranteeIf the plugin isn't what you want, just drop us a line within 14 days for a full refund
A full refund if you're not happy
I built this plugin myself and my team and I are available to support you personally. We want you to be 100% satisfied with your purchase so if, for any reason, this plugin doesn't meet your expectations over the next 14 days, let us know and we'll give you a full refund.
Your customer support team is absolutely superb. I have worked with Collins and Clint, and they have been helpful, patient, and incredibly easy to work with.

Why buy the Bookings for WooCommerce plugin?
Streamline and simplify the booking process for your services, appointments, or rentals. Install the WooCommerce Bookings plugin and benefit from automation that reduces administrative tasks, minimizes booking errors, and enhances the customer experience by providing a seamless, self-service option for booking and managing appointments, ultimately driving higher customer satisfaction and repeat business. Install the plugin today!
FAQs
Changelog for Bookings for WooCommerce
= 2.1.2, 4 August 2025 =
* Fixed: incorrect order URL in the Availability calendar on the Edit Product page when HPOS is not enabled
* Fixed: fatal error when creating a manual booking
* Fixed: empty product categories in plan causes error
* Fixed: fatal error when adding new order from backend
= 2.1.1, 24 July 2025 =
* Fixed: parse error in booking-search-form.php
= 2.1.0, 24 July 2025 =
* Added: setting to disable days of the week per booking
* Added: option to display single calendar for bookings of one day or one week only
* Added: labels settings for booking details
* Fixed: fatal error when sending a test email in WooCommerce
* Updated: automatically hide 'Duration' row when using single calendar option
= 2.0.19, 8 May 2025 =
* Fixed: incorrect customer names in the global calendar if a date has a mix of orders and manual bookings with no orders attached
= 2.0.18, 23 April 2025 =
* Fixed: fatal error when adding a variable product to the cart using WooCommerce Product Table Ultimate
= 2.0.17, 14 April 2025 =
* Fixed: fatal error in the Bookings admin calendar if data contains an invalid order
* Fixed: calendar does not block other days when making a manual booking using a product with 'Week' booking unit
= 2.0.16, 3 February 2025 =
* Fixed: fatal error on some non-English sites due to date conversion
= 2.0.15, 18 December 2024 =
* Fixed: incorrect discount amount if Apply From is Partial and discount type is fixed or per unit
* Updated: compatibility with Product Add-Ons Ultimate repeater fields
= 2.0.14, 21 October 2024 =
* Added: attach an order to a manual booking
* Added: bfwc_date_formatter_pattern
* Fixed: fatal error in sites using Lithuanian language
= 2.0.13, 10 October 2024 =
* Fixed: custom prices not getting displayed in calendar when editing a booking
* Fixed: price displayed as false when editing a booking that has a per-week booking product
= 2.0.12, 7 August 2024 =
* Added: bfwc_booking_cost filter
* Fixed: external calendars 3 and 4 are not getting saved in the backend
* Fixed: end date buffer not getting saved when adding or editing a booking in the admin area
* Fixed: buffer in booking products not getting used if max bookings per unit is greater than 1
* Fixed: PHP deprecated warnings in PHP 8.2
* Fixed: checkout dates are sometimes not selectable in the frontend and when making a manual booking in the backend
* Updated: ICS parser for compatibility with PHP 8.2
= 2.0.11, 15 May 2024 =
* Fixed: cannot add more than 2 Booking products even if bfwc_max_bookings_in_cart filter is used
* Fixed: cannot add more than 2 Booking products if Product Add-Ons Ultimate is active
= 2.0.10, 1 May 2024 =
* Fixed: tags in booking emails are not getting replaced
* Fixed: custom pricing does not work if the dates are entered manually
* Fixed: some issue with date conversion if site's date format is m/d/Y
= 2.0.9, 27 March 2024 =
* Added: bfwc_discount_rates filter
* Fixed: error when modifying a Booking made using a language different from the admin user's language
= 2.0.8, 1 March 2024 =
* Fixed: currency in Booking page is not converted correctly
= 2.0.7, 28 February 2024 =
* Fixed: Booking product price is converted to a different currency multiple times
= 2.0.6, 21 February 2024 =
* Added: bfwc_multiple_bookings_per_order filter
* Fixed: PHP error when using date format d/m/Y
* Fixed: compatibility with Aelia also converts non-booking product types
= 2.0.5, 31 January 2024 =
* Added: bfwc_max_bookings_in_cart filter
* Added: bfwc_discount_rate_max filter
* Added: start date and end date in Booking Details in the Edit Order page
* Added: bfwc_postpone_start filter
* Added: compatibility with Aelia Currency Switcher
* Fixed: booking details in global and product calendar show undefined for missing data
* Fixed: PHP warning if a booking product is embedded in a post or page
* Fixed: maximum check out date bypasses Last Bookable Date settings
* Updated: PHP 8.2 compatibility
= 2.0.4, 23 October 2023 =
* Added: bfwc_disable_tax_adjustment_create_order filter
* Fixed: created order from manual booking is double taxed on certain WooCommerce tax settings
* Fixed: bfwc_booked_days post type sometimes loses data when updating a booking
* Fixed: deleted bookings are not removed from notices
* Fixed: double colons in Quantity label in the cart
* Fixed: quantity in manual booking is not used in calculation of cost
* Fixed: fatal error when a Booking was created on a site that was using the d/m/Y format
* Fixed: there should only be one booking product in the cart
* Fixed: last Custom Pricing data not getting removed after updating product
* Updated: clean up function for booked days
* Updated: bfwc_num_bookings record was missing if bfwc_get_max_bookings() was not set
= 2.0.3, 12 September 2023 =
* Updated: compatibility with WooCommerce High-Performance Order Storage
= 2.0.2, 2 July 2023 =
* Fixed: error with Y-m-d dates in external calendars
= 2.0.1, 21 June 2023 =
* Fixed: parse error with dates in d/m/Y format
= 2.0.0, 19 June 2023 =
* Added: sync with external services like Airbnb and Booking.com
* Added: bookings now fully editable and can be added manually
* Added: front-end search feature to find availability by date
* Added: automated emails before and after bookings start and end
* Added: new Bookings menu item
* Added: filter bookings by user and product
* Added: cart expiry setting
* Added: bfwc_auto_set_end filter
* Added: debug corrupted dates option in WooCommerce > Status > Tools
* Fixed: bfwc_discount_type default to percentage
* Fixed: partial discounts doubling
* Fixed: percentage discounts not returning correct values
* Updated: Bookings screen layout
* Updated: improved booking editing
* Updated: notes feature in bookings
* Updated: navigation and layout in Product data section for bookings settings
* Updated: page title of booking when booking is updated
= 1.4.10, 16 May 2023 =
* Fixed: issue with booking dates not updated when editing order
= 1.4.9, 12 May 2023 =
* Fixed: AJAX error when editing booking in non-English language
* Updated: licence updater
= 1.4.8, 24 April 2023 =
* Added: French translation
* Added: bfwc_discount_type filter
* Fixed: get_page_by_title function is deprecated by WordPress
* Updated: bookings.js
= 1.4.7, 23 March 2023 =
* Added: bfwc_enable_all_dates_non_standard_costs filter
* Fixed: fields in Non Standard Costs are not editable in mobile
* Fixed: cannot select checkout dates on some settings
* Fixed: availability is not restored to a date if a booking is removed from the cart
= 1.4.6, 1 February 2023 =
* Added: initial support for datepicker localisation
* Added: option to define first day of the week
* Added: display booking cost with correct number of decimal places
* Updated: additional date formats
= 1.4.5, 6 December 2022 =
* Added: woocommerce_order_status_refunded action
* Fixed: bfwc_block_after_order setting not honoured
= 1.4.4, 20 July 2022 =
* Added: support for m/d/Y and d/m/Y WordPress Date Format
* Fixed: cannot select dates when using the same minimum and maximum booking length and when Booking unit is "Week"
* Fixed: the function bfwc_get_dates_array throws a PHP Deprecated warning in PHP 8
= 1.4.3, 22 June 2022 =
* Fixed: allow last date to be set in non-English language
* Fixed: quantity metadata on order screen and email confirmation
= 1.4.2, 28 April 2022 =
* Fixed: allow decimals in booking cost
* Updated: hide booked days post type
= 1.4.1, 13 April 2022 =
* Fixed: price per unit issue with Add-Ons Ultimate
* Fixed: sort unavailable dates
= 1.4.0, 13 April 2022 =
* Added: allow multiple bookings per product (quantity setting per booking)
* Added: option to improve calendar UI
* Added: option to show available bookings per day in calendar
* Added: option for backend calendar
* Added: allow editing of booking on existing order
* Fixed: issue with non-overlapping overnight bookings
* Updated: improved UI for calendar picker - added icon
* Updated: set booking status to cancelled and restore availability when order cancelled
* Updated: display booking ID in Booking Details section in order page
= 1.3.10 26 January 2022 =
* Added: step to non standard cost field
* Added: bfwc_pewc_price_with_extras_before_calc_totals
= 1.3.9 15 July 2020 =
* Fixed: maximum booking length respected
= 1.3.8 12 February 2020 =
* Updated: updated for Product Add-Ons 3.0+
= 1.3.7 21 May 2019 =
* Fixed: product total not updating in Product Add-Ons
= 1.3.6 20 April 2019 =
* Added: allow zero cost booking
* Updated: additional param in bfwc_pewc_filter_calculated_cost_before_calculate_totals
* Updated: style changes for calendar
= 1.3.5 25 January 2019 =
* Updated: updater for migration to Plugin Republic
= 1.3.4 8 December 2018 =
* Added: bfwc_block_after_order setting
* Added: filter orders in back end by bookings and standard sales
* Added: overlap option for overnight bookings
* Updated: fire bfwc_set_booking_processing from woocommerce_thankyou
= 1.3.3 2 August 2018 =
* Fixed: updated partial discount calculation
* Updated: filter added to cart message for booking products only
= 1.3.2 21 May 2018 =
* Added: simple discount functionality
= 1.3.1 9 May 2018 =
* Added: postpone_start parameter to allow a notice period before the start of the booking
= 1.3.0 19 April 2018 =
* Fixed: multi-lingual date compatibility
* Fixed: buffer periods for daily and overnight booking units
= 1.2.4 22 March 2018 =
* Updated: removed cron job to automatically delete pending booking
= 1.2.3 16 February 2018 =
* Fixed: incorrect date format on non standard date range
= 1.2.2 9 February 2018 =
* Fixed: set default maximum booking length
= 1.2.1 7 February 2018 =
* Added: status column in Bookings admin page
* Added: empty cart on log out
* Added: check booking status after order submission, before payment
* Added: bfwc_set_booking_processing
* Added: delete booking when order is cancelled
* Added: inline update notifications
* Updated: display booking dates in correct language on cart and order pages
= 1.2.0 1 February 2018 =
* Updated: refactored for internationalized dates
= 1.1.5 29 January 2018 =
* Fixed: parse errors in bfwc_calculate_available_units
= 1.1.4 26 January 2018 =
* Added: include user email in booking
* Fixed: correctly add User ID and Order ID to booking
* Updated: method to set unavailable dates
* Updated: booking fields to readonly
= 1.1.3 22 January 2018 =
* Added: bfwc_pewc_filter_calculated_booking_cost to get total booking price including extras
= 1.1.2 19 January 2018 =
* Added: per_unit field for new WooCommerce Product Add Ons Ultimate fields
= 1.1.1 17 January 2018 =
* Updated: additional WooCommerce Product Add Ons Ultimate support
= 1.1.0 17 January 2018 =
* Added: WooCommerce Product Add Ons Ultimate support
= 1.0.6, 9 November 2017 =
* Added: booking details to order
* Fixed: not returning body classes correctly
* Updated: renamed updater class
= 1.0.5, 26 October 2017 =
* Added: bfwc_is_simple_booking_product
= 1.0.4, 10 October 2017 =
* Added: updater
= 1.0.3, 6 October 2017 =
* Fixed: missing unit name on new product
= 1.0.2, 21 September 2017 =
* Updated: removed Bookings setting tab
= 1.0.1, 19 September 2017 =
* Fixed: error selecting checkout date
* Fixed: incorrectly showing per week in non standard date range
= 1.0.0, 24 August 2017 =
* Initial commit
Pre-Sales and Licensing
Will this plugin work with my theme?
All my plugins are independent of the theme being used so there shouldn't be any problems. If you do run into any issues, just let us know and we will take a look.
Do you offer refunds?
Yes, there’s a 14 day money back guarantee. The purpose of this guarantee is to give you plenty of time to assess the plugin to see if it will meet your needs.
During the 14 days, if you’ve got any questions about the plugin and what you are hoping to achieve with it, just raise a support ticket and we’ll get back to you.
You can find out how to register your refund request here.
Is there a free trial?
We don’t offer free trials or backend demos but all products are backed by a 14 money back guarantee so if the plugin isn’t what you wanted, we will issue you with a refund.
This allows you to spend time testing the plugin on your own environment, with your own theme and with your own plugins. It’s the best way to help you be sure that the plugin is what you want.
You can also upgrade your licence at any time – so, if you wish, you can purchase a Yearly licence initially then upgrade to the Lifetime licence within the first year and just pay the difference.
If you have any questions during your 14 day refund period, you can raise a support ticket and we will get straight back to you.
How long is the licence valid for?
Yearly licences are valid for a year. During that time you are entitled to receive free updates and support. After 12 months, yearly licences will automatically renew. You can cancel at any time.
Lifetime licences are a single, one-off payment. Lifetime licences do not expire and you are entitled to receive all future updates for the plugin.
You can purchase a Yearly licence then upgrade to Lifetime if you wish. Upgrade within the first year to just pay the difference.
Can I upgrade my licence and just pay the difference?
Yes, you can upgrade your licence any time in the first year and just pay the difference. So if you want to upgrade from Basic to Pro or if you want to upgrade from Yearly to Lifetime, you can do so and only pay the difference in price.
Also, if you wish, you upgrade from one product to a bundle that contains that product and also only pay the difference. So you can buy one or more products then upgrade to the All Access Bundle and only pay the difference in price.
What’s the difference between Basic and Pro licences?
The Basic licence entitles you to updates and support for one site; the Pro licence entitles you to updates and support for unlimited sites.
You can try out the Basic licence first then upgrade to Pro at any time. Here’s how to upgrade your licence.
Does the plugin integrate with […]?
Bookings for WooCommerce integrates with a wide number of other plugins to ensure maximum functionality and flexibility. Here are some of the most important and popular integrations it works with out of the box:
WooCommerce Product Add-Ons Ultimate
Bookings for WooCommerce integrates with WooCommerce Product Add Ons Ultimate to allow you to include additional chargeable options in your bookings. Possible options might include:
- Cleaning fees
- Linen fees
- Transfer costs
- Bicycle hire
- Bed and breakfast options
- Half board or full board options
- Optional insurance charges
- Facilities hire
- Extra towels
- Surcharges for extra guests
- Additional beds or bedding
- Welcome packs
- Shopping hampers
Each additional option can be charged as a one-off fee or per bookable unit, e.g. per night, per week.
WooCommerce Deposits and Part Payments
Bookings also integrates with Deposits and Part Payments, allowing you to take deposits on your date-based bookings. There's a tutorial here on accepting deposits for WooCommerce bookings.
Features
Does the plugin sync with Airbnb, Booking.com, VRBO, etc?
You can sync your booking calendar with any third party service that uses the ical format, e.g. Airbnb, Booking.com, VRBO. You can even sync between two WordPress sites if you wish.
Can you specify what day of the week bookings should start?
Yes, if you want to ensure that your bookings only start on a certain day of the week, you can specify this.
Does the plugin allow for a booking to start on the same day the previous booking ends?
Yes, you can decide whether to allow the next booking to start on the same day that the previous booking ends. Or you can require bookings to start one or more days after the previous booking.
Can I add extra services to bookings?
Yes, you can add extra options to your booking products using the Product Add-Ons Ultimate plugin: https://pluginrepublic.com/wordpress-plugins/woocommerce-product-add-ons-ultimate/. Extra services can be one-off fees (like a single cleaning charge per booking) or charged per day/week of the booking.
Is Bookings for WooCommerce compatible with any multi-currency plugins?
Yes, Bookings for WooCommerce is compatible with Aelia Currency Switcher.
Can I view bookings through a calendar?
Yes, your users can pick dates for their booking via a calendar (either single or double view). You can also view availability on the back-end for each individual product. There's also a global calendar that shows you availability for all bookable products in a singe view.
Our products are featured on

Screenshots
See how the plugin looks on the back and front ends. Click the images to enlarge them.
- Select dates from a calendar
- Allow users to choose check in and check out dates
- Works with all themes
- Book daily, overnight or by week
- Easily view availability with a backend calendar
- Display dates on order confirmation
- Show booking dates in cart
- Easy to use settings
- Integrates with Product Add-Ons Ultimate
- Show booking statuses