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 migraterun once after this add-on went in. - Manage Bookings and Setup (
kahunacart.bookings.manage), andkahunacart.products.managefor the two products. kahunacart.settingsfor 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
- Taking payment - how money works here, and what a refund does and does not do
- Calendar sync - choose the details included in each feed
- The front desk - the tablet at reception
- Services - the needs, and what the tick changes