Klassivo Knowledge Base

Requirements

🌐 WordPress
Version 6.0 or higher
🛒 WooCommerce
Version 7.0 or higher — required for all payment features
🐘 PHP
PHP 8.0 or higher
🗄️ MySQL
MySQL 5.7+ or MariaDB 10.3+

Installation Steps

1
Install WooCommerce first
Go to Plugins → Add New, search for WooCommerce, install and activate it. Klassivo requires WooCommerce to handle all payments.
2
Upload the Klassivo plugin
Go to Plugins → Add New → Upload Plugin. Select the klassivo-booking-global.zip file you downloaded and click Install Now.
3
Activate the plugin
Click Activate Plugin. WordPress will automatically create all required database tables. You will be redirected to the Setup Wizard on first activation.
4
Activate your license
Go to Settings → Klassivo Booking License and enter the license key you received after purchase. Click Activate License.
💡 If tables were not created automatically (can happen with FTP uploads), go to Klassivo → Settings and click Create Tables & Repair Now.

Updating the Plugin

1
Deactivate the old version
Go to Plugins, find Klassivo Global, click Deactivate (do NOT delete — your data is safe).
2
Upload new version
Go to Plugins → Add New → Upload Plugin, upload the new zip, and click Replace current with uploaded.
3
Reactivate
Click Activate Plugin. Migrations run automatically — all your data is preserved.

Activating Your License

1
Go to License Settings
In your WordPress admin, navigate to Settings → Klassivo Booking License.
2
Paste your license key
Enter the license key exactly as provided. The format is: XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX
3
Click Activate License
The plugin will connect to the license server and unlock. All Klassivo menu items will become available immediately.

How the License Works

Active
Full access to all features. License is re-validated automatically every 24 hours in the background.
⚠️ Server Unreachable
Your booking system continues working normally. A soft notice appears for admins only. Customers are not affected.
🔑 No Key Entered
Admin sees the activation screen. No booking features load until a valid key is entered for the first time.
🔄 Domain Transfer
Each license key is bound to one domain. To move to a new domain, deactivate on the old site first, then activate on the new one.

Wizard Steps

1
Choose your business type
Select the type that best describes your business from the 18 available options. This sets all terminology (e.g., "Class" vs "Appointment" vs "Treatment"), default cancellation windows, and feature visibility across the entire plugin.
2
Review your terminology
The wizard shows you how key terms will appear to customers — like what your booking button says, what the timetable is called, and what staff members are labelled. You can customise all of this later in Klassivo → Labels.
3
Confirm and enter dashboard
Click Finish Setup and you are taken to the Klassivo Dashboard, ready to add your first service.
💡 You can re-run the wizard anytime from Klassivo → Settings → Business Type. Changing your business type only updates terminology — it does not delete any services or bookings.

Creating a Service

1
Go to Services
Navigate to Klassivo → Services and click Add Service.
2
Fill in service details
Enter a name, optional description, colour (used on the timetable), capacity (max bookings per slot), and duration in minutes.
3
Set the booking mode
Choose how customers can book this service:
ModeDescription
Pass OnlyCustomer must have a pass, subscription, or token. No direct payment at booking.
Pay Per BookingCustomer pays via WooCommerce at the time of booking.
BothCustomer can either use a pass or pay directly — whichever they prefer.
4
Assign staff (optional)
If you have instructors or staff, select which ones can deliver this service. Assigned staff appear in the booking UI and can be assigned to individual instances.

Example

🏋️
Yoga Flow Class
Capacity: 15 · Duration: 60 min · Mode: Pass Only · Staff: Sarah, Maya · Colour: #6366F1

How It Works

📌 Schedule = "Yoga Flow every Monday at 09:00–10:00, from 1 Jan 2025". Instance = the actual bookable Monday 09:00 slot on a specific date. You generate instances in bulk from the Instances page.

Creating a Schedule

1
Go to Schedules
Navigate to Klassivo → Schedules and click Add Schedule.
2
Choose service, day, and time
Select the service, the day of the week, start time, end time, and the date from which this schedule is valid. Optionally set a Valid Until date if the schedule ends.
3
Generate instances
Go to Klassivo → Instances, click Generate Instances, pick a date range (e.g. next 3 months) and click Generate. Klassivo creates all slots skipping any closed dates.

Manual Instances

You can also create one-off instances manually (e.g. a special event on a date that doesn't follow the weekly pattern) directly from the Instances page using Add Instance.

Adding Staff

1
Go to Staff
Navigate to Klassivo → Staff and click Add Staff Member.
2
Fill in details
Enter their name, bio, email, and optionally upload a photo. You can also link to a WordPress user account — this gives them access to the Staff Portal.
3
Assign to services
When editing a service, check the staff members who can deliver it. A staff member can be assigned to multiple services.
4
Assign to instances
When creating or editing an instance, the staff dropdown shows only staff assigned to that service. Customers see the assigned staff member's name in the booking overview.

Access Types

TypeHow It WorksBest For
Hours Pass Customer buys a WC product that credits hours to their account. Each booking deducts 1 hour. Gyms, yoga studios, coworking
Single Token One token = one class. Customer buys a WC product; each booking uses one token. Drop-in classes, workshops
Package Buy 10 sessions, get 2 free. Sessions count down per booking. Can have expiry. Personal training, physio, tutoring
Subscription Via WooCommerce Subscriptions. Active subscription grants unlimited bookings. Cancelled subs cancel future bookings automatically. Memberships, monthly plans
Pay Per Booking Customer pays at time of booking via WooCommerce cart. No pass required. Tours, beauty, transport, hotels
Enrollment Buy a WC product once to gain access to all instances of a specific service (closed course). Courses, workshops with fixed dates

Creating a Booking Product

1
Create a WooCommerce product
Go to Products → Add New. Set it as a Simple product with your price.
2
Set the Klassivo Access Type
Scroll down to the Klassivo Booking panel in the product editor. Choose the access type (Hours Pass, Token, Package, Enrollment, or Pay Per Booking) and fill in the details.
3
Publish the product
Once published, when a customer purchases this product, Klassivo automatically grants the corresponding access (credits hours, issues tokens, or grants a package).
⚠️ Pay Per Booking products are created automatically by Klassivo when a customer books. You do not need to create them manually — Klassivo creates one WC product per service behind the scenes.

Main Booking Page

Paste into any page
[klby_booking]

Displays the full booking interface — timetable, service selector, login/booking flow, and confirmation. This is the primary shortcode your customers will use.

My Account / Dashboard

Paste into any page
[klby_my_account]

Shows the customer's upcoming bookings, past bookings, pass balance, token count, and purchase history. Place this on your My Account or Member Dashboard page.

Recommended Page Setup

Page NameShortcode
Book a Class / Timetable[klby_booking]
My Account / My Bookings[klby_my_account]
Calendar View[klby_calendar]
🏋️
Fitness & Yoga Studio
Gyms, yoga, pilates, CrossFit, dance studios
Pass-based Staff assignment Class timetable Waitlist

Terminology

ConceptLabel shown to customers
ServiceClass
StaffInstructor
TimetableTimetable
Book buttonBook a Class
My bookingsMy Classes
My passesMy Passes
Pass typeHour-Pass

Quick Setup Example

1
Create services
Add services like "Yoga Flow", "HIIT", "Pilates Core". Set capacity (e.g. 15), duration (60 min), mode: Pass Only.
2
Add instructors
Add Sarah (Yoga), Mike (HIIT). Assign each to their services.
3
Create schedules
Yoga Flow: Mon/Wed/Fri 09:00–10:00. HIIT: Tue/Thu 18:00–19:00. Generate 3 months of instances.
4
Create WooCommerce products
10-Class Pass → Hours Pass, 10 hours. Monthly Membership → Subscription (requires WooCommerce Subscriptions). Drop-in Class → Single Token.
5
Add booking page
Create a page called "Timetable", paste [klby_booking], publish.
Your booking system is live. Customers can see the timetable, buy a pass, and book classes — all without leaving your site.
🧘
Massage & Wellness
Spas, massage therapy, reiki, acupuncture, floatation
Pay-per-booking Therapist assignment Credit packs Intake forms

Terminology

ConceptLabel shown to customers
ServiceTreatment
StaffTherapist
TimetableAvailability
Book buttonBook Treatment
My bookingsMy Treatments
My passesMy Credits
Pass typeCredit Pack

Quick Setup Example

1
Add treatments as services
"60-min Swedish Massage", "90-min Hot Stone", "Reiki Session". Capacity: 1. Duration matches the treatment. Mode: Pay Per Booking.
2
Add therapists
Each therapist assigned to their specialisations. Customers see who they're booking with.
3
Set availability slots
Create schedules for each therapist's working hours: Mon–Sat 10:00–18:00, slots every 60–90 min.
4
Optional: Intake form
Add intake questions (health conditions, allergies, preferences) under Klassivo → Intake Forms for the service.
✂️
Hair & Beauty
Salons, barbershops, nail bars, makeup artists
Pay-per-appointment Stylist selection 24h cancellation

Terminology

ConceptLabel
ServiceAppointment
StaffStylist
TimetableAvailability
Book buttonBook Appointment
My bookingsMy Appointments
💊
Physio & Health Clinic
Physiotherapy, chiropractic, osteopathy, allied health
Session packages Pay-per-visit Intake forms

Terminology

ConceptLabel
ServiceAppointment
StaffPractitioner
TimetableAvailability
My passesMy Sessions
🚌
Bus & Shuttle Service
Routes, shuttles, airport transfers, minibuses
Seat-based Pay-per-seat Route schedules

Terminology

ConceptLabel
ServiceRoute
StaffDriver
TimetableSchedule
Book buttonReserve Seat
My bookingsMy Trips
📚
Tutoring & Education
Tutors, language schools, music lessons, online classes
Lesson packages Course enrollment Tutor assignment

Terminology

ConceptLabel
ServiceLesson
StaffTutor
TimetableSchedule
Book buttonBook a Lesson
My passesMy Lesson Credits
🏸
Sports & Court Rental
Courts, lanes, pitches, and sport facility bookings
Hourly slots Pay-per-booking Credit packs

Terminology

ConceptLabel
ServiceCourt / Facility
TimetableAvailability
Book buttonBook Court
My bookingsMy Bookings
🐾
Pet Care & Grooming
Groomers, vets, pet hotels, dog training
Appointments Pet intake forms Pay-per-booking

Terminology

ConceptLabel
ServiceAppointment
StaffGroomer
Book buttonBook Appointment
My bookingsMy Appointments
🦷
Dental & Medical Clinic
Dental, GP, specialist clinics
Patient bookings Intake questionnaire Practitioner selection

Terminology

ConceptLabel
ServiceAppointment
StaffPractitioner
TimetableAppointment Slots
My bookingsMy Appointments
📷
Photography & Studios
Photo studios, recording studios, podcast rooms
Hourly rental Pay-per-booking Hour credits

Terminology

ConceptLabel
ServiceStudio Session
Book buttonReserve Studio
My bookingsMy Sessions
🎪
Events & Venues
Event halls, conference rooms, party venues
Venue capacity Pay-per-booking Promo codes

Terminology

ConceptLabel
ServiceEvent / Venue
Book buttonReserve Venue
My bookingsMy Reservations
💼
Coworking & Meeting Rooms
Hot desks, meeting rooms, private offices
Hour credits Memberships Pay-per-hour

Terminology

ConceptLabel
ServiceSpace
TimetableAvailability
Book buttonReserve Space
My passesMy Credits
🔧
Auto Service & Repair
Garages, MOT, tyres, car wash, detailing
Service slots Pay-per-booking Vehicle details form

Terminology

ConceptLabel
ServiceService
StaffMechanic
Book buttonBook Service
My bookingsMy Bookings
🏠
Home Services
Cleaners, plumbers, electricians, gardeners
Visit slots Pay-per-visit Staff assignment

Terminology

ConceptLabel
ServiceJob / Visit
Book buttonBook a Visit
My bookingsMy Bookings
🏨
Hotel & Guesthouse
Hotels, guesthouses, B&Bs, holiday cottages
Room types Pay-per-night Capacity control

Terminology

ConceptLabel
ServiceRoom
TimetableAvailability
Book buttonBook Room
My bookingsMy Reservations
Boat & Yacht Charter
Boat charters, fishing trips, whale watching, yacht rental
Trip bookings Pay-per-trip Group capacity

Terminology

ConceptLabel
ServiceCharter / Trip
StaffCaptain
TimetableDepartures
Book buttonBook Charter
My bookingsMy Trips
🗺️
Tours & Excursions
Guided tours, hiking, day trips, city walks
Per-person pricing Pay-per-booking Guide assignment Promo codes

Terminology

ConceptLabel
ServiceTour
StaffGuide
TimetableDepartures
Book buttonBook Tour
My bookingsMy Trips

Quick Setup Example

1
Add tours as services
"Golden Circle Day Tour", "Northern Lights Hunt", "Whale Watching". Set capacity (max group size), duration, mode: Pay Per Booking.
2
Schedule departures
Create schedules for regular departure times. Generate instances for the season. Add one-off instances for special dates.
3
Add guides
Assign guides to each tour type. Individual departures can have a specific guide assigned.
4
Create promo codes
Under Klassivo → Promos, create discount codes for groups or early birds.

Where to Find Labels

Go to Klassivo → Labels. You will see a table of all customisable terms with their current values pre-filled based on your chosen business type.

💡 Labels update everywhere instantly — the booking page, my account page, admin menus, and email notifications all use the same label values.

Common Customisations

LabelDefault (Fitness)Custom Example
Service nameClassSession / Workshop / Slot
Staff nameInstructorCoach / Therapist / Driver
Book buttonBook a ClassReserve Now / Book Slot
TimetableTimetableSchedule / Availability / Departures
My bookingsMy ClassesMy Appointments / My Trips
My passesMy PassesMy Credits / My Sessions
Members onlyMembers OnlyLogin to Book / Clients Only
Confirm buttonConfirm Booking →Proceed to Payment → / Reserve →

Resetting Labels

At the bottom of the Labels page, click Reset to Defaults to restore all labels to the defaults for your current business type. This is useful if you want to start fresh after experimenting.

Adding a Closure

1
Go to Closures
Navigate to Klassivo → Closures and click Add Closure.
2
Set the date range
Enter a From and Until date. For a single day, set both to the same date. Add an optional reason (e.g. "Christmas Holiday", "Staff Training Day").
3
Save
The closure is saved. When you next generate instances, no slots will be created on any date within the closure range.

Closure Overrides

Need to open on a specific date within a closed period? Use Closure Overrides. Add an override date and instances will be allowed on that date even if it falls inside a closure range. Useful for special events during holiday periods.

⚠️ Closures only affect future instance generation. Existing bookings on closed dates are NOT automatically cancelled — you must cancel them manually if needed.

Promo Types

TypeWhat it doesExample
PercentApplies a percentage discount to the pay-per-booking price at checkout.SUMMER20 → 20% off
Bonus HoursCredits extra hours to the customer's account after a booking is confirmed.WELCOME → +2 bonus hours
Bonus TokensGrants extra class tokens to the customer after a booking is confirmed.REFER → +1 free class token

Creating a Promo Code

1
Go to Promo Codes
Navigate to Klassivo → Promo Codes and click Add Promo Code.
2
Set the code and type
Enter the code (e.g. SUMMER20), choose the type, and set the value. Optionally restrict to a specific service, set a maximum number of total uses, a per-customer use limit, and an expiry date.
3
Share with customers
Customers enter the code on the booking page before confirming. The discount or bonus is applied automatically.
💡 Promo codes can be restricted to a specific service — useful for running targeted promotions (e.g. 20% off yoga only).

Creating a Package

1
Go to Packages
Navigate to Klassivo → Packages and click Add Package.
2
Set sessions and bonus
Enter Sessions Paid (what they pay for) and Sessions Bonus (free sessions granted on top). E.g. Paid: 10, Bonus: 2 = customer gets 12 sessions total.
3
Set service and expiry
Optionally restrict to a specific service (or leave blank for any service). Set an expiry in days (0 = never expires). Set the price.
4
Create a WooCommerce product
Create a WC product, go to the Klassivo Booking panel, select access type Package, and choose your package. When a customer purchases it, their session count is credited automatically.
Example: Personal Training package — 10 sessions paid + 1 bonus, restricted to "PT Session" service, expires in 90 days. Price: £350.

How Intake Forms Work

Intake forms are shown to the customer in the booking flow — after they select a slot but before they confirm. Once a customer completes the form for a service, they are not asked again for future bookings of the same service.

Creating an Intake Form

1
Go to Intake
Navigate to Klassivo → Intake and click Add Field.
2
Choose a field type
Available types: Text, Textarea, Checkbox, Select (dropdown), Date, Phone, Number. Set a label and mark whether it is required.
3
Assign to a service
Assign the field to a specific service, or leave blank to show for all services. Drag to reorder fields.
💡 Use intake forms for: medical history (physio/dental), vehicle details (auto service), pet breed and health info (grooming), dietary requirements (tours), or any pre-booking questionnaire.

How to Mark Attendance

1
Open an instance
Go to Klassivo → Instances and click the attendance icon on any past instance, or go to Klassivo → Attendance to see a date-filtered list.
2
Set each booking status
For each customer, click to set their status:
AttendedCustomer showed up and completed the session.
No ShowCustomer did not attend and gave no notice.
BookedResets to default booked state.
💡 Attendance status is shown in Analytics and on each customer's profile. Use no-show data to enforce cancellation policies or flag repeat no-shows.

Customer List

Go to Klassivo → Customers. The list shows all WordPress users who have at least one booking. For each customer you can see:

💰 Credit Balance
Current hours-pass balance. Click to adjust manually.
📅 Booking History
All past and upcoming bookings with status.
🎟️ Tokens & Packages
Remaining single-class tokens and package sessions.
🛒 Purchase History
WooCommerce orders linked to Klassivo products.

Manual Bookings

From a customer's profile, admins can create a booking on their behalf without the customer needing to go through the booking flow. Useful for phone bookings or walk-ins. Go to the customer, click Add Booking, select the instance and access type.

Adjusting Credits

You can manually credit or debit a customer's hours-pass balance from their profile. Go to Customers → [Customer Name] → Adjust Balance. Enter a positive number to add hours, negative to deduct. Every adjustment is recorded in the Ledger with a reason.

How the Ledger Works

Every time a customer's credit balance changes, Klassivo records a ledger entry. Credits increase the balance; debits decrease it. The current balance is always the sum of all entries for that customer.

ActionLedger Entry
Customer purchases an Hours Pass productCredit +10 hours
Customer books a class (hours-pass type)Debit −1 hour
Customer cancels a bookingCredit +1 hour (refund)
Promo code grants bonus hoursCredit +2 hours
Admin manual adjustmentCredit or Debit

Viewing the Ledger

Go to Klassivo → Ledger. Filter by customer, date range, or entry type. Each row shows the customer, entry type, amount, reason, and timestamp. This is your complete financial audit trail for credits.

💡 Idempotency keys prevent double entries — if something goes wrong mid-transaction (server crash, network issue), the same credit or debit can never be applied twice.

What You Can See

💷 Total Revenue
Sum of all completed WooCommerce orders for Klassivo products in the selected date range.
📋 By Product
Breakdown by product type — how much came from passes vs. packages vs. pay-per-booking.
📅 Over Time
Revenue trend by week or month. Useful for spotting seasonal patterns.
👤 Top Customers
Customers ranked by total spend. Useful for identifying your most valuable clients.
⚠️ Revenue figures show completed WooCommerce orders only. Manual bookings and subscription renewals handled entirely outside Klassivo will not appear here.

How to Export

1
Go to Export
Navigate to Klassivo → Export.
2
Set your filters
Filter by date range, service, booking status (booked, attended, cancelled, no-show), and access type. Leave blank to export everything.
3
Download CSV
Click Export CSV. The file downloads immediately with all matching bookings.

Exported Fields

FieldDescription
Booking IDUnique booking reference number
Customer NameWordPress display name
Customer EmailAccount email address
ServiceName of the service booked
DateInstance date (YYYY-MM-DD)
Start / End TimeSession start and end times
Statusbooked / attended / cancelled / no_show
Access TypeHow the booking was made (pass, token, package, pay_per_booking, manual)
StaffAssigned instructor or staff member
Customer NoteAny note left by the customer at booking
Booked AtDate and time the booking was made

Email Types Logged

TypeSent When
booking_confirmedA booking is successfully created
booking_cancelledA booking is cancelled (by customer or admin)
reminderReminder sent X hours before an upcoming session
waitlistCustomer joins a waitlist or is promoted from it
reengageRe-engagement email sent to inactive customers
testAdmin sends a test email from Settings

Checking Delivery

Each log entry shows the recipient address, subject line, status (sent or failed), and the exact time it was sent. If status is failed, the error message is shown — useful for diagnosing misconfigured SMTP settings.

💡 For reliable email delivery, use an SMTP plugin such as WP Mail SMTP or FluentSMTP. WordPress default mail often ends up in spam.

Setting Up SMS

1
Create a Twilio account
Sign up at twilio.com. Get a Twilio phone number, your Account SID, and Auth Token from the Twilio dashboard.
2
Enter credentials in Klassivo
Go to Klassivo → SMS Settings. Enter your Twilio Account SID, Auth Token, and From Number. Click Save.
3
Send a test SMS
Enter a phone number in the Test SMS field and click Send. If configured correctly, you will receive a test message within seconds.

What Gets Sent

EventSMS Content
Booking confirmedService name, date, time, and location (site name)
Booking cancelledConfirmation that the booking has been cancelled
⚠️ SMS is only sent if the customer has a phone number saved in their WordPress profile. Remind customers to add their phone number to their account.
Can I change my business type after setup?

Yes. Go to Klassivo → Settings → Business Type. Changing the type only updates terminology (labels visible to customers) — it does not delete any services, schedules, bookings, or data.

What happens if my license server is down?

Nothing happens to your booking system. Once a license key has been successfully activated, your site is never hard-blocked — not by a server outage, expiry, or temporary unavailability. Admins will see a soft yellow notice, but customers see nothing different and bookings continue as normal.

How do I set up WooCommerce products for passes?

Create a Simple product in WooCommerce, set your price, then scroll to the Klassivo Booking panel in the product editor. Choose the access type (Hours Pass, Token, Package, or Enrollment) and fill in the details. When a customer purchases it, Klassivo grants the access automatically.

Can customers book multiple spots at once?

Yes. For Pay Per Booking services, customers can select a quantity (number of seats/spots) in the booking flow. Each seat deducts from the instance capacity. For pass-based bookings, each booking reserves 1 spot per booking action.

What is the waitlist?

When an instance is full, logged-in customers can join the waitlist. If a booking is cancelled, the first person on the waitlist is automatically promoted — their booking is confirmed and they receive an email notification.

How do I close the business on specific dates?

Go to Klassivo → Closures. Add a closure with a date range and reason. New instances will not be generated on closed dates, and existing bookings on those dates are not affected (cancel them manually if needed). You can also add Closure Overrides to open specific dates within a closed period.

Can I export bookings to CSV?

Yes. Go to Klassivo → Export. Filter by date range, service, status, and booking mode, then click Export. You get a CSV file with all booking details including customer name, email, service, date, time, and status.

How does the cancellation window work?

You set a global cancellation window in Klassivo → Settings (e.g. 24 hours). You can also override this per service. If a customer tries to cancel within the window, they receive a "too late to cancel" error. For Pay Per Booking cancellations, a WooCommerce refund is issued automatically if the cancellation is within the allowed window.

My database tables were not created. What do I do?

This can happen with FTP/SFTP uploads where the activation hook doesn't fire. Go to Klassivo → Settings and click the red Create Tables & Repair Now button. This runs all table creation and migrations immediately. If it still fails, check that your database user has CREATE TABLE, ALTER, and INDEX privileges.

Can staff members log in and see their schedule?

Yes. Link a staff member to a WordPress user account in Klassivo → Staff. That user gets a klby_staff WordPress role and can access the Staff Portal to see their upcoming schedule, attendance, and bookings. They cannot access admin features.