Create a bookable product to sell appointments, rentals, reservations, or other services for a specific date and duration. You can start with a template or configure a product from scratch.
Before you begin, WooCommerce Bookings must be active and your account must have permission to edit products. Decide the booking duration, available dates, price, and whether customers need approval before paying.
- Start with a template for a preconfigured product.
- Create a product from scratch to choose every setting.
Create a bookable product from a template
↑ Back to top- Go to Bookings > Add Product.
- Select a template card to review its settings and storefront preview.
- Select Use template to create a draft product. Bookings also creates any resources and person types included in that template.
- Review the product’s settings and replace the example details before publishing.
See the included bookable product templates for examples and the settings each template provides.
Create a bookable product from scratch
↑ Back to top- Go to Products > Add new product.
- Enter a product name and description.
- In Product data, select Bookable product from the product type dropdown.
- Select Virtual if the product does not require shipping. This removes the Shipping tab. Leave it cleared for a product you need to ship.
- Configure the settings below, then publish and check the product.
General settings
↑ Back to topIn Product data > General, set the duration, calendar display, confirmation, and cancellation options. Tax fields also appear when taxes are enabled for your store.

Taxes
↑ Back to topIf the product needs tax, choose its Tax status and Tax class. These fields appear when taxes are enabled in WooCommerce.
Booking duration
↑ Back to topChoose a duration type, a block size, and a unit: Month(s), Day(s), Hour(s), or Minute(s). To offer weekly blocks, use a duration of 7 Day(s).
- Fixed blocks of: the customer books one block of the duration you set. For example, a one-hour appointment has a fixed duration of 1 Hour(s).
- Customer defined blocks of: the customer chooses how many blocks to book, within the Minimum duration and Maximum duration limits. For example, 30 Minute(s) blocks with a minimum of 2 and a maximum of 10 allow bookings from one to five hours.
Duration controls how long a booking lasts. It is separate from the minimum and maximum advance booking window on the Availability tab.
Calendar display mode
↑ Back to topChoose Calendar always visible to display the calendar on the product page, or Show calendar when date field is selected to display it after the customer selects the date field.
Enable Calendar Range Picker
↑ Back to topFor customer-defined one-day blocks, enable Enable Calendar Range Picker? to let customers select a start and end date on the calendar. Bookings calculates the duration from both dates. For example, selecting November 3 through November 4 covers two days.
With the range picker cleared, customers enter the number of days in the Duration field and select a start date. In both cases, the minimum and maximum duration still apply.

Requiring confirmation
↑ Back to topEnable Requires confirmation? when a store manager needs to approve the booking before the customer pays. Leave it cleared if customers should book and pay without that approval step.
- The customer selects the booking details and chooses Check Availability on the product page.
- At checkout, the customer submits a request without paying. The default payment option is Check booking availability, and the button is Request Confirmation.
- Review the request under Bookings > All Bookings and confirm it when you are ready.
- The customer receives a booking confirmation email. If payment is due, that email includes a Pay for booking link.
Warning:
Bookings requiring confirmation cannot be purchased together with ordinary products or bookings that do not require confirmation. Adding a confirmation-required booking removes those other items from the cart. Adding an ordinary product to a cart with confirmation-required bookings removes those bookings instead.
The booking payment option appears automatically for products requiring confirmation. It does not have a separate enable/disable switch under WooCommerce > Settings > Payments.
Allowing booking cancellation
↑ Back to topEnable Can be cancelled? if customers may cancel their bookings. Set Booking can be cancelled until to define the cutoff before the booking’s start. For example, 2 Day(s) requires cancellation more than two days before the start time.
Customer cancellation does not automatically send a refund. Review any payment separately under your store’s cancellation and refund policy.
Availability settings
↑ Back to topUse Availability to set capacity, the advance booking window, buffer periods, and bookable dates or times. Store, product, and resource rules can overlap; their priorities determine which rule takes precedence. See Bookings Availability Settings for the controls and a worked example.
Costs for bookable products
↑ Back to topUse Costs to set a one-off Base cost and a per-block Block cost. For example, a block cost of 75 with one-day blocks totals 150 for two days when no other costs apply. See Costs for Bookable Products for pricing rules.
Persons settings
↑ Back to topSelect Has persons beside the product type to show the Persons tab. Use it for group size limits and optional person types with different prices, such as adults and children. See Persons for Bookable Products.
Resources settings
↑ Back to topSelect Has resources to show the Resources tab. Resources represent staff, rooms, equipment, or other assets needed for a booking. A shared resource’s availability applies across the products using it. See Resources in Bookings.
Publish and check the product
↑ Back to top- Review the name, description, product image, duration, costs, and availability.
- Select Publish for a new product, or Update for an existing one.
- Open the storefront product page and select an available date. For customer-defined bookings, choose a duration or an end date.
- Confirm that the date, duration, and calculated cost match your settings. Check both the shortest and longest permitted durations.
- If confirmation is required, check that the request flow appears. Otherwise, check that the customer can add the booking to the cart.
If no dates are available, check the booking window and availability rules. If the price or duration is unexpected, check the block size, duration limits, costs, and any person or resource charges before changing the calendar settings.
Export
↑ Back to topUse the Export tab to download the product configuration for troubleshooting. See exporting a bookable product for the steps.
Deleting bookable products
↑ Back to topTo stop accepting new purchases while keeping the product and booking history, change the product’s status to Draft.
Bookings prevents moving a product to the trash or deleting it when it has associated bookings in Unpaid, Pending Confirmation, Confirmed, Paid, Complete, or In Cart status. This includes past completed bookings; the check is not limited to upcoming bookings.
If you see the protection notice, use its link to review the associated bookings. Preserve booking history you still need rather than deleting records just to remove the product. A product without bookings in those statuses can be moved to the trash from Products > All Products.
Questions and support
↑ Back to topSomething missing from this documentation? Still have questions and need assistance?
- If you have a question about a specific extension or theme you’d like to purchase, contact us to get answers.
- If you already purchased this product and need some assistance, get in touch with a Happiness Engineer via our support page and select this product’s name from the Product dropdown.