1. Dokumentation /
  2. Introduction to WooCommerce Bookings /
  3. Bookings Use Case: Multi-Vendor Shop (Example with Product Vendors)

Bookings Use Case: Multi-Vendor Shop (Example with Product Vendors)

This scenario will walk you through how to use WooCommerceWooCommerce Bookings and WooCommerce Product Vendors to sell bookable products from other vendors on your website. Vendors can take a commission for each reservation.

Scenario

↑ Nach oben

Matty owns a restaurant and one of his chefs offers a family friendly cooking class for adults and children. Since the chef would like to utilize the restaurant’s kitchen, Matty is taking some commission from each booking for the use of the space. Matty sets up a bookable product that utilizes Product Vendors so that bookings are associated with the specific vendor (the chef) and commissions can easily be paid out manually or automatically. In the future, he would like to bring in guest chefs to teach ongoing booking classes and set them up as vendors on his website.

  • Matty has 25% revenue on each booking. The vendor gets 75% commission.
  • The cooking classes are held every Saturday at 11 am and are 2 hours long.
  • It’s a small restaurant and can only hold up to 18 seats

Products Used

↑ Nach oben

Setup and Configuration

↑ Nach oben

For this use case, we’ll set up the user and profile for the vendor, then create a bookable product for the cooking class.

Create the Product Vendor Account

↑ Nach oben
  1. In the sidebar of your WordPress Admin, click on Users > Add New User.
  2. On the Add New User page, fill out the fields as desired, including username and email. This will be your Product Vendor’s account.
  3. Check the box to Send user notification so that the vendor receives the log in information.
  4. Under the Role dropdown, select Vendor Admin. This will give your Product Vendor the ability to administrate their products.
  5. To save, click the Add New User button.
This image illustrates how to create a user profile for your vendor as a Vendor Admin.

Create Product Vendor

↑ Nach oben
  1. Go to Products > Vendors and create a new vendor as shown in the screenshots below. Make sure that you select the Product Vendor’s email address in the Vendor Admins field. When you click in this field you will be able to search for users. Adding the Product Vendor to the Vendor Admins field will allow the user to administrate their products. The only fields that are required are Name, Enable Bookings Features, and Vendor Admins. If you do not enable Bookings feature, then your Vendors will not be able to create Bookable Products. The rest of the fields are either used for display on the Vendor’s Profile page, or pertain to commission. You can set the commission here or on the product as the Vendor Admin.

  2. The new Product Vendor will be able to login and add products. You can login as the Product Vendor to follow the next set of steps.

Create Product

↑ Nach oben

We’ll need to first create a Bookable Product.

  1. In the sidebar of your WordPress Admin, click on Products.
  2. Click on the Add New button on the top.
  3. Under Product data select Bookable product.
  4. To the side of the Product data box you will then tick the checkboxes for Virtual and Has Persons.
  5. In our example we have enabled Pass shipping/tax. You do not need to do this step unless you wish to pass these costs off to the Product Vendor.

General Tab

↑ Nach oben
  • Product is Virtual (no need to ship anything).
  • Product Has Persons.
  • product has Bookings duration set to Fixed blocks of 1 hour.

Availability Tab

↑ Nach oben

For this case, we’ll set All dates are… to not-available by default and add rules for what is available. The buffer period we set here allows our trainers time to travel between appointments.

  • Product has Max bookings per block set to 18.
  • Product has Require a buffer period of 1 hours between bookings.
  • Product has All dates are… not-available by default.
  • Product has First block starts at … 7:00 PM
  • The rules for this Bookable Products are set as follows.

    This rule states that Saturday and Sundays (weekends) are not bookable.
    Range Type: Range
    Range: Saturday to Sunday
    Bookable: No
    Priority: 10

    This rule states that December 25th 2018 is not bookable.
    Range Type: Date
    Range: 2018-12-25 to 2018-12-25
    Bookable: No
    Priority: 10

    This rule states that January 1st 2019 is not bookable.
    Range Type: Date
    Range: 2019-01-201 to 2019-01-01
    Bookable: No
    Priority: 10

    This rules states that the hours that can be booked fall between 7:00 PM and 11:00 PM
    Range Type: Time
    Range: 07:00 PM to 11:00 PM
    Bookable: Yes
    Priority: 10

Persons Tab

↑ Nach oben

We would like to charge different rates for children and adults. We want to require that at least one person books and that a maximum amount of 18 persons can book. We are going to multiply all the costs of this booking by the amount of persons, as well as count bookings as person. What this does is allow us to tie a person to a booking. Remember that we set the Max bookings per block to 18. Since each person counts as a booking, that means that each person selected will take away one spot from the booking. Lastly we set the name of the person type, how much that person type costs as well as require that at least 1 Adult books. We don’t want just children booking.

  • Product has Min persons set to 1.
  • Product has Max persons set to 18.
  • Product has Multiply all costs by person count enabled.
  • Product has Count persons as bookings enabled.
  • Product has Enable persons type enabled.

Usage

↑ Nach oben

This is what you see in the frontend:

Questions and Feedback

↑ Nach oben

Have a question before you buy? Please fill out this pre-sales form.

Already purchased and need some assistance? Get in touch with a Happiness Engineer via the Help Desk.