Skip to content

Bookings

Take bookings through your shop

Sell appointments and classes alongside your products. Bookings manages staff availability, shared rooms and equipment, with online payment through your existing checkout. Your customers choose a time, and your team manages the day from the diary or front desk.

The demo has three businesses. Hollis & Fern, a salon, and Ironbark, an axe-throwing range, run on Bookings alone. Saltmeadow, a beach house let by the night, runs on Bookings + Rentals.

Version 1.1.13 Released

What your customers see

Let customers book online

Set a product's type to Booking to add a calendar to its page. Customers see available days and times, choose a staff member where you allow it, and pay through your existing checkout.

  • Picking a time holds it for fifteen minutes while the customer completes their booking.
  • Take payment online or on the day. Free bookings and payment on arrival skip the cart.
  • Times appear in the customer’s timezone. The available appointments are the same wherever they book from.
  • The calendar fits inside your existing product form and uses your theme’s styling.
yourshop.com/shop/product/full-groom
A dog groomer's product page with an option list, a who-with selector, a month calendar and the free times beside it
Available appointments for a groomer and the shared tub
Uses your product catalogue
Set a product’s type to Booking. Keep its name, price, options, images, category, tax class and purchase restrictions in the usual product editor.
One receipt
Paid bookings appear on the order receipt. You can turn off the separate calendar invitation email.
Embed a booking calendar
Use a shortcode or Twig call to place a calendar on another page. Limit it to one person or product option if needed.
Customer self-service
Booking messages include a link where customers can reschedule or cancel up to your cutoff.

People and places

Book the resources each service needs

Manage staff, rooms and equipment in one place. A groom can require both a groomer and a tub, so the shop only offers times when both are free.

  • Manage ten interchangeable range lanes as one record with a capacity of ten.
  • Reuse a named schedule across staff and equipment. Change its Saturday hours once to update everyone who uses it.
  • Block whole days off in each person’s timezone.
  • Disable staff who leave to stop new bookings while keeping their booking history.
yourshop.com/admin/plugin/kahunacart#/section/bookings/people
Three lists in the admin: people with their hours, rooms and spaces, and equipment with a tub and ten lanes
Separate hours for staff and shared resources
Staff and resources
Book people, rooms and equipment through the same availability system.
Shared opening hours
Availability uses the resource’s own hours, then its location’s, then the service’s fallback hours. Without any of these, it is closed.
Calendar subscriptions
Staff can subscribe to their appointments on their phones. Updates and cancellations follow when the calendar app refreshes. You control the details shared.
Import busy times
Connect an outside calendar to block times already taken. A failed calendar fetch does not close the diary.

Service requirements

Set up each service

Choose how long a service takes and which people or equipment it needs. Let customers pick from a pool of staff, or assign the first available resource automatically. A time is offered only when every requirement is available.

  • Automatic assignment uses the first available resource in your pool, in the order you set.
  • Give product options their own duration and price, such as sixty minutes for a small dog and ninety for a large one.
  • Reserve setup and clean-up time around each appointment.
  • A service can use its own availability without a separate list of resources, which suits a one-person business.
yourshop.com/admin/plugin/kahunacart#/section/bookings/services
The rule behind Full groom, with two needs: a groomer the customer picks from Ann and Bo, and a tub they do not pick
Customers choose a groomer while the shop reserves the tub
Booking rules
Set the duration, start intervals, setup and clean-up buffers, notice period, booking window and deadline for changes.
Approval requests
Require approval for services that need a conversation first. The time is held while you review the request, and you receive a notification.
Party size and capacity
Party size is the number of people on one booking. Capacity is the number of bookings at once: ten lanes can take ten bookings, regardless of each group’s size.
Store defaults
Leave an optional field empty to use the store default. Entering zero overrides that default with zero.

The owner's view

See your week at a glance

The diary shows a row for each person, room and piece of equipment, with working hours and time off behind the bookings. Pending requests have a dashed edge. Booking conflicts appear in red in a separate Holding nothing row.

  • Filter by person, service or location. The counts update with your filters.
  • Troubleshoot explains unavailable times, with reasons such as Tub: booked or Trainer: teaching Tuesday bootcamp.
  • Find bookings by reference, filter by status and export the results as a CSV.
  • Follow the order link to view payment details.
yourshop.com/admin/plugin/kahunacart#/section/bookings
A week in the admin with a row per person, room and machine, bookings in each one's own colour, time off hatched and one conflict in red
Weekly availability across several types of business
One admin section
Nine screens cover the overview, booking list, class registers, four setup areas, troubleshooting and settings.
Dashboard alerts
See bookings awaiting approval and bookings in conflict. Each alert opens the relevant filtered list.
Order and customer records
View the appointment on its order and booking history on the customer record. Payment details remain on the order.
Configurable messages
Manage eleven customer messages and five merchant notifications. Defaults include reminders a day and an hour before the booking, a thank-you afterwards and an optional calendar invitation.

Classes and courses

Run classes and manage waiting lists

Set the dates for a one-off class, a recurring session or a course. Sell each date separately or offer the remaining course dates in one purchase. Each date has an attendance register and can take a waiting list when full.

  • Recurring classes keep their local start time when the clocks change.
  • The class reserves its trainer and room as soon as you schedule it, even before anyone registers.
  • When a place opens on a paid class, it is offered to the next customer and held while they pay.
  • Cancel a date to notify everyone and see the orders that need attention. You decide which refunds to issue.
yourshop.com/admin/plugin/kahunacart#/section/bookings/sessions
A class register in the admin: eight people coming, and two more waiting with an Offer the place button each
A full class with two people on the waiting list
Single dates or courses
Sell one date or every remaining date under one course number. A customer joining in week three of an eight-week course books the six dates left.
A list of available dates
The class page shows its dates and remaining places. Customers enter their party size before choosing.
Free waiting lists
Joining a waiting list reserves no place and takes no payment, including for paid classes.
An embeddable timetable
Use a shortcode to show upcoming sessions and available places on any page. The timetable also works without JavaScript.

The front desk

Manage the day from the front desk

Give staff a tablet view at the counter, using a site account with front desk access. Press and hold to move an appointment, tap to check someone in, or use New booking for a walk-in.

  • Give reception the whole diary or limit a staff member to their own column.
  • See a short payment summary, such as Paid online, Deposit paid, $25.00 to pay today, Pay today: $80.00, or Free.
  • Each action records who made the change. The Let the customer know option is on by default.
  • Add the desk to the tablet’s home screen for an app-style view. Desk pages are never indexed or cached.
yourshop.com/desk
The front desk on a tablet: a column per person and room, appointments with the customer's name and what they are having
Tuesday at the counter
Limited access
Dedicated front desk routes let staff manage appointments without access to orders, payment providers or refunds.
Two access levels
Give reception the whole diary or a staff member their own column. Neither permission opens the admin; owners with booking management access can already use the desk.
Appointment actions
Check in, complete, mark a no-show, reschedule, cancel, approve or reject a booking. The main action is prominent; the others sit under More.
Collect payment separately
The desk shows what to collect. Staff take payment using your existing counter payment method; the desk does not process it.

Questions

Common questions

What do I need to run Bookings?

Grav 2, KahunaCart 1.2.11 or later, and a running store scheduler for receipts and reminders. No separate booking service or calendar account is required.

What can customers book?

Appointments, classes, rooms and shared equipment. The docs include salon, grooming, personal training, massage and shooting range examples, each with a seed command that creates a working setup.

How do customers pay?

Through your existing cart, checkout and payment provider. You can also choose payment on the day, which creates the booking without a cart or order. Free bookings work the same way.

Can I take a deposit?

Yes, from an existing order. Open it and press Take a deposit, then collect the balance through its pay link. Appointment and class checkout collects the full price. See taking payment.

Can staff use it without an admin login?

Yes. Give staff a site account with front desk permission and API access. They can manage the diary at /desk without access to admin screens.

Does it sync with Google Calendar?

Yes. Staff can subscribe to a booking feed, and you can import an outside calendar to block busy times. Calendar apps control their own refresh schedules, so updates may be delayed. Use the booking diary for current availability.

What are the limitations?

The front desk does not process counter payments, and pricing is per booking rather than per person. For nightly stays, add Rentals.

How much does it cost?

Bookings costs $149 as a one-time purchase for your site. Updates are covered by your site’s single renewal. If you also need nightly rentals, choose Bookings + Rentals for $249 on the Rentals store page. If you already own Bookings, Rentals alone costs $149.

Bring bookings into your shop

Buy Bookings once for your site and manage appointments alongside your products, orders and customers. For nightly stays too, choose Bookings + Rentals for $249.

Buy in the store