1. Documentation /
  2. Introduction to WooCommerce Bookings /
  3. WooCommerce Bookings: Use Cases /
  4. Bookings Use Case: Appointments With Recurring Billing

Bookings Use Case: Appointments With Recurring Billing

This scenario will walk you through using WooCommerce and WooCommerce Bookings with WooCommerce Subscriptions, Min/Max Quantities, and Smart Coupons to create a robust bookings offering that enables you to accept recurring payments.


↑ Back to top

You run an appointment-based business and you’re interested in providing a subscription option for your customers. For example, if you’re a coach who sees your client 4 times per month and would like your client to pay on a monthly basis.

Screenshot of a Bookable Product priced at $100.00/month and quantity of 4 being added to the cart.

This following set up would enable you to accept recurring payments for your appointments.

Extensions Used

↑ Back to top

In this use case, customers will subscribe for a monthly set of coupons that can be used to book their appointments.

Setup and Configuration

↑ Back to top

Creating a Bookable Product

↑ Back to top

First, we must create a booking product that will be used for these booking appointments. Follow these steps to create a bookable product:

  1. From your WordPress Admin Dashboard, navigate to Bookings > Add Product.
  2. Scroll down the page and under the Get started from scratch heading, click the Start from scratch button.
  3. This brings us to the booking product creation. Start by giving the product a name: “1 Hour Session with Coach”.
  4. Scroll down to the Product Data section and on the General tab, set the Booking duration field to Fixed Blocks of 1 Hour(s).
  5. Select the Availability tab and select these options.
    • Ensure that the All dates are… field is set to not-available by default.
    • Click the Add Range button and add Monday, Wednesday, and Friday.
    • Set the time to be from 9:00 AM to 5:00 PM for each range.
    • Set the Bookable field to Yes for each range.
Screenshot of Availability settings for Bookable product.
  1. Select the Costs tab and set the Base cost field to 100.
  2. Save the product by clicking on the Publish button.

Create Your Coupon With Smart Coupons

↑ Back to top

The next step is to create a coupon. For the purposes of this use case, we’ll be using the Smart Coupons extension. Please follow these instructions to create the coupon:

  1. From your WordPress Admin Dashboard, navigate to the Marketing > Coupons page.
  2. Then click on the Add Coupon button to create a new coupon. Configure your coupon as below:
    • General Settings
      1. Give the coupon a name of your choice. We’re calling ours “RECBOOKTEST”.
      2. Set the coupon to be a percentage discount and set the amount to 100%.
      3. Toggle the Auto generate new coupons with each item field.
      4. Add a three letter prefix to the Coupon code format field. We’re using “Rec” for ours.
  • Usage restriction
    1. In the Products section of the Usage Restrictions tab, include only the Bookable Product we previously created, “1 Hour Session with Coach”, and no other products.
  • Usage limits
    • Set the usage limit for the coupon to 1 so that each coupon can only be used once:

Create The Coupon Subscription Product

↑ Back to top

Now, we’re going to want to create a subscription product that sends customers 4 copies of a coupon each month. Please follow these instructions to do so:

  1. From your Admin Dashboard, navigate to Products > New to create a new product.
  2. Give the product a name of your choosing. In this example, we’re naming it: “Monthly Coupon Set”.
  3. Scroll down to the “Product data” tab and use the select box to change the product type to Simple subscription.
  4. From within the General tab, set the Subscription price ($) field to $100 every month.
  5. In the Coupons field, add the coupon we created in the previous step.
  6. Toggle the Send coupons on renewals? field so that it is checked.
  7. In the Quantity Rules section, set the Group of field to 4.

When considering this for your own use case, please take note of the following:

  • This should be a simple subscription product. If there are no products to ship (in this example there aren’t) then it can also be set as Virtual or Downloadable.
  • The subscription price should be the price for each individual appointment. In this example, the customer would be purchasing a group of 4 per month and will pay $400/month.
  • The “Group of” field should be set to the number of appointments you would like someone to purchase per month. In this example, the customer is purchasing a bundle of 4 per month.
  • If you did want to set up a variable subscription, be aware that the “group of” setting applies to all variations of a variable product so this cannot be changed per variation.

Customer Experience

↑ Back to top

Purchasing Coupons

↑ Back to top

The customer will start by purchasing their subscription for coupons.

Do note that the product page will show the price per individual appointment, but they will only be able to add to the cart in groups of 4 – so 4, 8, 12, etc. as exemplified by the screenshot below.

Screenshot of monthly coupon set with starting quantity of 4.


↑ Back to top

In the customer’s cart, this will show a quantity of 4 and a total Due today of $400, which is what they will checkout with. Since this is a subscription product, they will be charged on a monthly basis.

Please note that in order for customers to purchase Woo Subscriptions-based subscription products on your store, you will need to have set up a supported payment gateway.

Completing Purchase And Receiving Coupons

↑ Back to top

Once the customer has checked out and completed their subscription purchase, coupons will be available under My account > Orders, and select View on the order they just placed:

Making Bookings With Coupons

↑ Back to top

By this stage, the customer is set up with their 100% off coupons that they can use to make their bookings.

They can proceed to the bookable product you created at the beginning of this setup, select an appointment, add it to their cart and apply one of the coupons they just created:

This will allow them to checkout for their booked appointment and pay $0 (as they have already paid for this through their subscription).

Cancellation And Refunds

↑ Back to top

If the booking or appointment needs to be cancelled, the booking order can be refunded from WooCommerce > Orders, and the coupon code will be returned to the customer.

Subscription Renewal

↑ Back to top

When the customer’s subscription is renewed, this will generate a new order with new coupons. They will be able to access these from WooCommerce > Orders and click on View on the subscription renewal order.

Questions and Feedback

↑ Back to top

Do you 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. Please ensure you are logged into the WooCommerce.com account you made your purchase from.