In WooCommerce Bookings, resources are assets that go along with your bookable products. They represent additional items needed to fulfill a booking, such as staff members, equipment, or rooms. By setting up resources, you can effectively allocate and manage the availability and capacity of these resources in relation to your bookable products or services.
Here we cover:
- Some examples of resources commonly used in bookings.
- How to add a resource to your site.
- How to connect resources to a bookable product.
- Available options for how resources are assigned to bookings.
- Considerations for when different bookable products share the same resources.
- We also have many documented use cases to help illustrate the nuances.
Resources
↑ Back to topEach resource can have its own availability schedule, capacity limitations, and can be linked to one or multiple bookable products. Since resources are managed independently from bookable products, they allow you to efficiently control availability, and capacity. This ensures that bookings reflect real-world limitations, such as the number of available staff or rooms, and helps avoid overbooking.
When you link resources to a bookable product, you can set additional base or block costs to be charged when that resource is part of a booking.
By default the system only applies one resource to each booking, regardless of whether you have resources on a product configured to be selected by the customer, or automatically assigned. You can use the “Count Persons as Bookings” setting in the persons tab, and one available quantity of the resource will be taken per person on the booking.
Resource Examples
↑ Back to topResources can represent anything necessary for fulfilling a booking, such as rooms, equipment, staff members, or any other tangible or intangible assets. Here are a few examples of how resources can be used for booking systems:
- Staff Members: If you offer services that require the assistance of specific individuals, such as hairdressers, personal trainers, or tour guides, you can assign them as resources. Each staff member can have their own availability schedule, and if desired, additional costs. This allows customers to book appointments or sessions with their preferred staff member, and you to charge an appropriate rate for senior staff if needed.
- Rooms or Venues: If you manage a hotel, rental property, or event space, you can define rooms or venues as resources. Customers can choose from available rooms or venues and make reservations for specific dates and times. A premium room or venue can be configured to have a higher cost.
- Equipment or Assets: If you offer rentals or require customers to book specific equipment, such as bikes, cars, or audiovisual equipment, you can set up these items as resources. Customers can select the desired equipment and schedule their rental period. Different kinds of equipment can carry their own costs.
- Services or Activities: If your business offers different types of services or activities, such as spa treatments, workshops, or classes, you can create resources to represent each service or activity. Customers can select the service or activity they want and book a suitable time slot.
- Meeting Rooms or Conference Spaces: If you provide meeting rooms or conference spaces for booking, you can set them up as resources. Customers can choose the desired room and book it for specific dates and durations.
Adding a new resource
↑ Back to topTo use resources for your bookable products, you’ll need to create them first. resources can be created from Bookings > Resources, or there is an option to create new resources on the spot when linking resources to products.
To add a new resource:
- Go to Bookings > Resources. A list of current resources and any products they are assigned to is displayed.
- Select Add Resource at the top. The Add New Resource screen appears.
- Enter a name/reference for the resource.  Make sure you name your resources appropriately and do not use the same name twice to make managing your site easier as your site grows. Your customers will see this name on their booking.
- Input the Available Quantity. This is the maximum number of this resource that can be booked at any given time.
- Use the Add Range button to add resource-level availability rules if the resource has any restrictions on availability. This is similar to availability on a Bookable product. See more at: Custom Availability Ranges.
- Publish to make the resource available.
Once your resource is published, it will be available to be linked to bookable products.
Please also read Understanding How Priority Affects Availability Rules to set up effective availability rules across your store, products, and resources.
Linking resources to a product
↑ Back to topOnce your resource has been created, you can assign it to products and configure any desired resource-level costs. Resources need to be enabled on bookable products before they are able to be added to the product.
To connect a resource to a bookable product:
- Go to WooCommerce > Products.
- Select the bookable product you would like to edit. Or if needed, create a new bookable product.
- Scroll down to the “Product Data” section and tick the Has Resources checkbox to enable resources on this product.
- Go to the Resources tab.
- Enter a Label to be shown to customers – The system uses this label to describe the resources on this product around your site.
- In the Resources are… dropdown, select whether you want resources to be automatically assigned to bookings, or for customers to select the resource of their choosing. More details on these options.
- Select a Resource from the dropdown in the lower right.
- If you’ve already created your resource, select it from the dropdown then press the Add/link Resource button and you’ll be able to enter any additional Base/Block costs.
- If you’d like to create a new resource on the spot, select New resource in the dropdown. Then press the Add/link Resource button, then you will be prompted for the resource name. Once entered, a new global resource is created in the system, linked to the product you’re editing, and you’ll be able to enter any additional Base/Block costs. You can then click the “Edit resource” link to configure the available quantity and any availability rules for the new resource.
- If you’ve already created your resource, select it from the dropdown then press the Add/link Resource button and you’ll be able to enter any additional Base/Block costs.
- Enter any resource-level costs to be applied when the resource is used for a booking. The base cost is applied once per booking; the Block cost is multiplied by the number of blocks in the booking.
- Update the Bookable Product to save the newly connected resource.
Resource Assignment or Selection
↑ Back to topYou have the option for customers select a resource for their booking, or for the system to assign the first available resource automatically.
Only one resource can be chosen or assigned per booking. If you need one unit of a resource used for each person in the booking, use the “Count Persons as Bookings” setting in the persons tab, and one available quantity of the resource will be taken per person on the booking.
Customer Selected Resource
↑ Back to topWhen you opt for resources to be Customer Selected, the booking form shows a dropdown list of resources connected to the product that the customer can select from.
An example use case for a customer-selected resource would be a room type, such as a simple or deluxe room, where each carries a different cost, and the customer will want to make that choice from the product page while booking.
Note: When resources are set to be customer selected, the availability shown on the booking form calendar is based on the currently selected resource.
Automatically Assigned Resource
↑ Back to topAn Automatically Assigned resource is assigned by the system to a customer’s booking if the resource is available.
An example use case for an automatically assigned resource is for boat rentals on a lake, where the resources are boats and all boats have similar characteristics.
Note: When resources are set to be automatically assigned, the availability shown on the booking calendar is based on all available resources that are linked to the bookable product, if any linked resource is available for a given booking slot, that slot will show as available. Available resources are assigned to bookings from top to bottom in the admin view.
For example: If two resources are linked to a bookable product, the system checks the availability of the resource at the top first, followed by the second resource. The final availability is then displayed on the calendar. If the first resource is available to be booked, the system will assign the first resource until its available quantity is used. Only then will the second resource be assigned to bookings.
Sharing Resources Across Multiple Products
↑ Back to topResources can be added to multiple Bookable Products. Even though a Bookable Product can have multiple resources associated with it, only one resource can be assigned per booking.
Using Resources across multiple products will share the resource’s calendar between different products.
Examples of using the same resource for multiple booking products include:
- John – A therapist (resource) can use his resource availability to control his availability between multiple booking products for the different services he offers, ensuring he is not double booked.
- An assistant (resource) who can be booked to organize a wedding or a birthday party (different bookable products), but not both at the same time.
- An event room (resource) that can be rented for a kid’s birthday party or for a company event (different bookable products), but not at the same time.
Booking Start Times When Products Share Resources
↑ Back to topWhen two or more bookable products share a resource, each product’s booking start times are determined by its own settings rather than another product’s settings.
For example, consider the following products which both share the same First block starts at...
time of 2:00 pm:
- Product A is 90 mins (60 duration + 30 buffer)
- Product B is 60 mins (30 duration + 30 buffer)
If someone books Product B at 2:00 pm, Product A will not be bookable at 3:00 pm when the booking for product B ends. When calculating availability for Product A, WooCommerce Bookings will see the 2:00-3:00 time as unavailable and look for the next available start time for Product A, which would be 3:30.
The next available time for any given product is based on its own start times as calculated by:
- The first available time in the day
- The product’s bookable duration
- Any buffer the product has
Use Cases
↑ Back to topThere are a range of Use-Cases in the documentation that illustrate how Resources can be used.
Questions and Support
↑ Back to topSomething missing from this documentation? Do you still have questions and need assistance?
- Have a question about a specific extension or theme you’d like to purchase? Click here.
- Already purchased and need some assistance? Get in touch with a Happiness Engineer via the WooCommerce.com Support page and choose this extension name from the “I need help with” dropdown.