Skip to content

Powered by Grav CMS + Helios Theme

Getting started: a massage clinic

Set up two therapists and two rooms for sixty- and ninety-minute massages. Clients choose their therapist; the shop assigns an available room.

Run bin/plugin kahunacart-bookings seed massage to create this example, then use the steps below to review it. You can also follow the steps to build it manually.

Before you begin

  • KahunaCart installed and working, and bin/plugin kahunacart migrate run once after this add-on went in.
  • Manage Bookings and Setup (kahunacart.bookings.manage), and kahunacart.products.manage for the two products.
  • kahunacart.settings for step 7, which turns deposits on for the whole store.

1. Set opening hours and a lunch break

Bookings → Schedules → New hours, called Clinic hours:

Day Hours
Monday, Tuesday, Wednesday, Friday 10:00–18:00
Thursday 10:00–13:00 and 14:00–19:00
Saturday 10:00–14:00

Use two hour blocks to leave a lunch break. No appointments will be offered in the gap.

2. Add the clinic location

Under Bookings → Locations, create The clinic, add its address and select Clinic hours.

3. Add the therapists

Create Mara and Theo as Person records under Bookings → People and places → Add somebody or something. Assign both to the clinic and Clinic hours, with distinct colours.

4. Add treatment rooms

Add two Room or space records at the clinic. Set How many rooms to 1 for each and use the clinic schedule.

Create a separate record for each named room so it has its own front desk column. A shared capacity is better suited to interchangeable equipment such as identical lanes or hire bikes.

5. Create a sixty-minute massage

Make the product — KahunaCart → Products → Add — called Massage, 60 minutes, priced at $80, type Booking.

Bookings → Services, Set it up:

Field What to put
How long it takes 60 minutes
Start times every 30 minutes
Clean-up after 15 minutes, to change the couch and air the room
Notice you want 4 hours
How far ahead 60 days
Cancelling shuts 24 hours
Hours to fall back on Clinic hours

Then two needs, in this order:

What to call it The customer picks which Pool
Therapist ticked Mara, Theo
Room not ticked Room one, Room two

Enable customer selection for the therapist and leave it disabled for the room. The shop assigns the first free room in the list, so put your preferred room first.

6. Create a ninety-minute massage

Make a second product, Massage, 90 minutes, at $115, type Booking, with the same two needs and 90 minutes instead of 60. Everything else the same.

Use separate products for different payment terms

Deposit percentages are set on products, not individual options. Use separate products when treatments need different deposit terms.

If both durations use the same payment terms, you can use one product with two options.

7. Take a deposit on the longer appointment

On Massage, 90 minutes, set Deposit percent to 25. Enable deposits under KahunaCart → Settings → Commerce → Deposits and part payment; the store-wide switch is off by default.

Check the collection process before offering deposits to clients:

Important

Appointment deposits require an existing order. Online booking checkout collects the full amount. For a booking arranged by phone or in person, create an unpaid order and press Take a deposit. Collect the balance through the order’s pay link. Creating a front desk booking alone does not create this order.

After a deposit is collected, the order remains part paid while the booking is confirmed. See Taking payment for the workflow and provider limitations.

8. Test the booking page

Open Massage, 60 minutes. Check that customers can choose either therapist while room assignment remains automatic.

Book the same hour with each therapist. Both appointments can be accepted because there are two rooms. A third appointment should be unavailable; inspect Bookings → Troubleshoot to see which resources are occupied.

9. Review customer messages

Online bookings send an order receipt with appointment details. If enabled, the customer also receives a calendar invitation and reminders a day and an hour before the appointment.

Manage this booking links to /booking, where the customer can reschedule or cancel until the cutoff.

To share a therapist’s appointments with their calendar app, use People and places → Mara → Calendar feed → Make a link. Changes appear when the app refreshes.

Choose The service and the customer’s initials when subscribers do not need full details. See Calendar sync.

Continue setup

  • Deposits - the collection, the sessions and the balance, all of it core's
  • Products - the product, its price and where the deposit percent lives