Skip to content

Powered by Grav CMS + Helios Theme

Getting started with bookings

Follow these steps to create a service your customers can book online. You can use the default plugin settings while you set it up.

For a worked example, follow the guide for a salon, a dog groomer, a personal trainer, a massage clinic or a shooting range.

Before you begin

  • KahunaCart 1.2.11 or later, on a store that can already take an order.
  • Manage Bookings and Setup (kahunacart.bookings.manage) permission. View Bookings and Setup provides read-only access.
  • kahunacart.products.manage permission to create the product in step 3.

Install the add-on

  1. 1

    Install the plugin.

    BASH
    bin/gpm install kahunacart-bookings
    
  2. 2

    Run the migrations to add the twelve booking tables to your store database.

    BASH
    bin/plugin kahunacart migrate --status
    bin/plugin kahunacart migrate
    

    Running migrate a second time applies nothing.

  3. 3

    Check the worker is draining the queue.

    BASH
    bin/plugin kahunacart work --once
    

    Schedule the worker on a live store so queued receipts and reminders are sent. See CLI.

Bookings now appears in the KahunaCart admin sidebar.

1. Add staff and resources

KahunaCart → Bookings → People and places → Add somebody or something.

Add the resources a booking can use: a Person, a Room or space, or Equipment. All three use the same availability rules.

Add a record for each resource. For interchangeable rooms or equipment, use How many to set the capacity; ten identical lanes can share one record.

Note

The Property resource type requires Rentals. Use it for nightly accommodation or other rentals; it is not needed for appointments.

2. Set opening hours

Create a schedule under Bookings → Schedules → New hours. Enable each working day and add its hours, using two blocks for a lunch break. Assign the schedule through each resource’s Hours field.

A resource with no applicable hours is treated as closed. Assign a schedule directly, through its location, or through the service’s fallback hours.

Enter working hours in the schedule’s local timezone. See Opening hours.

3. Create a booking product

Open KahunaCart → Products → Add. Enter a name, price, picture and description, then choose a category.

Set Type to Booking to display a booking calendar on the product page. See Product types.

For services with different durations, create an option and price for each, such as “60 minutes, $55” and “90 minutes, $80”. You will set their durations in the booking rules.

4. Set the service requirements

Open Bookings → Services, find the new product marked not set up yet, and press Set it up.

Configure these fields first; the remaining fields have defaults:

  • How long it takes (minutes). Enter the appointment duration. This field is required and has no default.
  • What it needs. Press Add a need and enter a customer-facing label under What to call it, such as Stylist or Tub. Select the eligible resources. Enable The customer picks which to let customers choose; otherwise the first available resource in the list is assigned.

A service without resource requirements uses its own availability. This suits a business run by one person.

To change an option’s duration, open its row and give it a separate rule. Options without their own rule inherit the product’s rule. See Services.

5. Test a booking

Open the product page and check that the booking calendar appears.

Choose a day and time. The time is held for fifteen minutes and Add to cart appears. Add it to the cart, check the appointment details, and complete checkout. Confirm that the booking appears in your diary and the receipt arrives.

If the calendar offers no dates, open Bookings → Troubleshoot to see why each time is unavailable. Check for missing hours or a notice period that rules out the selected day. See Bookings and Troubleshoot.

6. Choose when customers pay

Paid bookings use your existing checkout by default. Under Paying on the service’s rule, you can also choose:

  • On the day — confirm the booking with a name and email, then collect payment when the customer arrives. This skips the cart and creates no order.
  • Whatever the store says — the store-wide setting under Plugins → KahunaCart Bookings → Taking payment → When you are paid.

A zero-priced service is free regardless of the payment setting. See Taking payment.

7. Check the worker and notifications

Schedule the worker to run bin/plugin kahunacart work if your store does not already run it.

Review notifications under KahunaCart → Settings → Notifications. Bookings adds eleven customer messages and seven merchant notifications. To send only the order receipt when a paid booking is confirmed, disable the separate calendar invitation. See Emails and reminders.

Continue setup

  • Products - the product, the options, the price and the category all belong there
  • Payments - the cart, the payment page and the providers a booking goes through
  • Customer accounts - the Bookings tab a signed-in customer gets
  • CLI - the worker, and every other bin/plugin kahunacart command