Set up Javis Booking Pro for spa & wellness — from Setup Wizard to go-live
A step-by-step guide to building an online spa appointment & treatment booking system on WordPress: the 6-step Setup Wizard, deposits & Stripe/PayPal payments, seasonal treatment pricing (Rate Calendar) and embedding the booking form. The flow follows the standards of Mindbody, Fresha and Booksy.
Prepare before installing the spa booking plugin
Before opening the Setup Wizard, make sure your WordPress environment is ready.
Minimum versions
- WordPress 5.8+ and PHP 7.0+
- Administrator access for the wizard & license
- Working email (an SMTP plugin is recommended)
Upload & activate
Plugins → Add New → Upload, pickjavis-bookingpro.zip.- Install Now, then Activate.
- It creates tables and opens 🧙 Setup Wizard.
Have these ready
- Name & email, timezone, currency.
- Opening hours / time slots.
- Payment API keys (if charging online).
Setup Wizard — 6 steps
The 🧙 Setup Wizard walks you through 6 screens. You can Skip and adjust later in ⚙️ Settings.
Welcome
Welcome screen. Click Get started to continue.
Your business profile
Enter the business name, email and pick 💆 Spa / Salon (Treatments, rooms & staff). The type applies sensible spa presets.
Set up your schedule
Define opening hours and treatment time slots (e.g. Morning / Afternoon / Evening) — the basis for real-time availability.
Payment options
Toggle Stripe, PayPal, Square, Razorpay, OnePay. API keys are configured later in ⚙️ Settings → 💳 Payments.
Activate your license
Enter the license key. A free tier (email confirmations · cash · no expiry) is available; upgrade later in 🔑 License.
Done 🎉
The Setup Complete screen confirms the basics. Move to the detailed config below.
Treatment rooms, resources & treatments — spa capacity
Locations / branches
Declare one or many spa locations; each has its own rooms, hours and treatments — ideal for chains.
Seating time slots
Create slots per weekday (Morning/Noon). Booking only when seats remain — no overbooking.
Rooms, beds & therapists
Declare treatment rooms/beds by capacity and assign therapists. Auto-locked while a session is in progress.
Treatments / services
Create treatments (massage, facial, therapy) with a price. Choose fixed or per-person pricing.
Rate Calendar — treatment pricing
Price treatments by season, weekend, holiday: % / +amount / absolute; priority holiday › season › weekend.
Intake forms
Add custom intake fields (allergies, health conditions, pressure preference) per form step, multilingual, required or not.
Pricing, tax & online payments
Open ⚙️ Settings and configure these tabs in order:
| Settings tab | What you configure |
|---|---|
| 🧾 Tax & Pricing | Currency, tax (VAT), service charge. 3 modes: tax-exclusive, tax-inclusive, “++”. |
| 💳 Payments | Enter API keys for Stripe / PayPal / Square / Razorpay / OnePay; choose deposit to hold the slot, full payment, or pay-at-venue. |
| 🎟️ Discounts | Discount codes by %, amount, minimum spend, usage limits. |
| 👥 Guest Groups | Per-group pricing (adult / child / infant) as % of adult price. |
Customize & embed the booking form
Form look
Brand colours, package style (grid/list/pill), service position, calendar. Text & cards stay readable on any background.
Booking rules
Max party size, cut-off, auto-confirm, form language, currency switcher.
Content & messages
Edit field labels and messages (success, error, reminders) — multilingual.
Embed with a shortcode
Create a page (e.g. “Book a treatment” / “Appointment”) and paste the main shortcode:
[rbp_booking_form] or set branch & language: [rbp_booking_form restaurant_id="1" lang="en"]
Notifications, email & multi-language
Email & reminders
Enable confirmation, reminder-before-time, cancellation emails. Set sender & timing.
Multilingual templates
Edit email content per language. The system remembers the customer’s language even for reminders sent days later.
Send log
Track which emails were sent, to whom, and their status.
Daily operations — manage appointments
Appointment status flow (auto-locks the room/therapist & sends emails at each step; seated = checked-in / in treatment):
Bookings dashboard
View, filter, change status, see custom fields, edit/cancel.
Reception check-in
Scan the client’s QR code at reception to confirm arrival — fast and contactless.
Waiting list
When full, collect guests on a waitlist and process them when a table frees up.
Invoices
Create & send invoices for paid bookings — stored for accounting.
Customers, loyalty & marketing
Client CRM
Client profiles: visit history, treatments taken, spend, contacts — nurture repeat clients.
Loyalty points
Reward loyal guests with points to boost return visits.
Campaigns
Send offers to customer segments (birthdays, holidays…).
Funnel analytics
See where guests drop off in the form to improve conversion.
Embed on your site & go-live checklist
| Shortcode | Use it on the page |
|---|---|
[rbp_booking_form] | Main Book a treatment / Appointment page (multi-step form) |
[rbp_booking_lookup] | Customer look-up / manage booking |
[rbp_booking_confirmation] | Confirmation page after booking |
[rbp_availability_calendar] | Show the availability calendar |
[rbp_lang_switcher] · [rbp_currency_switcher] | Language / currency switchers |
[rbp_table_layout] · [rbp_resource_allocation] | Show table layout / resource allocation |
Go-live checklist
- Complete all 6 Setup Wizard steps
- Define Time Slots & rooms/therapists (Resource) to real capacity
- Configure Tax & Pricing + (if online) Payments API keys
- Place a real test booking → confirmation email arrives
- Verify pending → confirmed → seated → completed
- If multi-language/currency: test each one
- Embed
[rbp_booking_form]& publish
Setup FAQ for the spa booking plugin
Do I have to charge online?
No. You can just book and pay at the spa (free tier: cash + email). For fewer no-shows, take a deposit to hold the slot. Enable gateways anytime in ⚙️ Settings → 💳 Payments.
How do I set weekend & peak-season treatment prices?
Use 💲 Rate Calendar: rules by weekend, date range (peak season) or specific holiday — adjust by % / +amount / absolute, like Mindbody/Fresha.
Does the form support multiple languages?
Yes. Languages in 📋 Bookings, content in 📧 Email Templates. It remembers the customer’s language for emails.
Can I manage multiple venues?
Yes. Define them in 🏪 Branches; each location has its own rooms, hours and treatments. Pass restaurant_id when embedding (the attribute name is generic across industries).
What happens after a booking is made?
Status moves pending → confirmed → seated → completed (seated = checked-in / in treatment); rooms auto-lock and emails go out. Fast reception check-in via 📱 QR Scanner.