Staff & Roles + Rate Calendar Setup Guide for Javis BookingPro
A step-by-step WordPress booking plugin setup walkthrough for any industry — spa, salon, clinic, barber, tour, cruise, restaurant, hotel, gym & events. Learn how to add bookable staff members, assign WordPress roles, build weekly schedules, and configure seasonal, weekend & holiday pricing with the Rate Calendar.
🧭 Before you start — where everything lives
Everything in this guide is reached from the JavisTab menu in your WordPress admin sidebar (the calendar icon). Two destinations matter here:
👥 Staff & Roles
WP Admin › JavisTab › 👥 Staff & Roles
Three tabs: 👤 Staff Members 📅 Weekly Schedule 🔑 WP Roles
💲 Rates (Rate Calendar)
WP Admin › JavisTab › 💲 Rates
Create date-based pricing rules: Weekday Date range Specific date
🆕 New install? The fastest path is the built-in Setup Wizard (JavisTab → 🧙 Setup Wizard), which now walks you through Business, Location, Schedule, Team, Taxes, Payment and License in 8 guided steps. This guide goes deeper into the two areas the wizard introduces briefly.
👤 Part 1 · Set up Staff Members
“Staff Members” are the people a customer can choose to be served by on the booking form — a therapist, stylist, doctor, trainer, photographer or tour guide. If your industry doesn’t need this (most restaurants and venues), you can hide the whole picker — see Part 4.
Open the Staff Members tab
Go to JavisTab › 👥 Staff & Roles › 👤 Staff Members. If you run more than one location, pick the branch first from the 📍 Branch switcher — staff belong to one branch.
Click ➕ Add Staff Member and fill the form
These are the real fields on the Add / Edit Staff form:
- Name required — the name shown on the booking card (e.g. Mellisa, Dr. Linda).
- Role / Title — appears as the small grey subtitle under the name. Example placeholder:
e.g. Lead Therapist. - Email & Phone — internal contact details for the member.
- Color — a personal colour used for the avatar ring and calendar. Default
#3498db. - Sort Order — lower numbers appear first in the picker (default
99). Use1, 2, 3…to control the order. - Avatar URL — a square photo link (
https://example.com/photo.jpg). No photo? The card shows the first letter on the colour above. - Bio — short description (optional).
- Services Offered — tick the services this person performs. Important: tick nothing = a “generalist” shown for every service; tick some = shown only for those services.
- Days Off — tick the weekdays the member never works (Mon–Sun). The booking form will automatically hide this person on those days.
Click 💾 Save
The member now appears in the grid and — if the picker is enabled — on the public booking form under “Select Staff Member”. Repeat for each person on your team.
💡 UX tip (booking.com / Fresha pattern): add a clear photo and a short Role for every member. On the booking form the cards show an “Anyone available” option first (no preference) followed by your team — and large teams collapse to the first 8 with a “Show all N members” expander, exactly like the big OTA platforms.
⚠️ Deleting staff: use the 🗑 Remove action on a card. If the member has no booking history they’re permanently removed; if they have past bookings they’re archived (hidden from the list) so your reports and invoices keep showing their name correctly.
📅 Part 2 · Weekly Schedule & Days Off
There are two ways to control which days a staff member works, and they edit the same data — so they never conflict:
Per-member “Days Off”
On each staff member’s edit form (Part 1), the Days Off checkboxes mark days the person doesn’t work.
Bulk “Weekly Schedule”
The 📅 Weekly Schedule tab shows every member in one table. Here the checkboxes are working days (the inverse) — tick the days each person does work.
Open 👥 Staff & Roles › 📅 Weekly Schedule
Each row is a staff member with seven checkboxes: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
Tick the working days
A ticked box = working; an unticked box becomes a day off. You can untick all days for a member who is temporarily unavailable — the schedule still saves correctly.
Click 💾 Save Weekly Schedule
You’ll see “📅 Weekly schedule saved.” The booking form immediately stops offering an off-day staff member for dates they don’t work, and the server re-checks this on submit so it can’t be bypassed.
🔁 They stay in sync: editing “Days Off” on a member updates what you see on the Weekly Schedule tab, and vice-versa — both write the same underlying days.
🔑 Part 3 · WordPress Roles (back-office access)
This is different from Staff Members. WP Roles control who can log in and manage the system (dashboard, bookings, invoices) — your back-office team. They never appear on the public booking form. Open 👥 Staff & Roles › 🔑 WP Roles.
| Role | What they can do (real capabilities) |
|---|---|
| 🏢 Manager | Full access: bookings, tables/resources, settings, customers, invoices, lock tables, cancel bookings, check-in guests, add walk-ins. |
| 👤 Staff | View the dashboard and bookings, check-in guests, and add walk-ins. No settings or customer management. |
| 💳 Cashier | Manage invoices and payments, with dashboard access only — no booking or customer data. |
Pick a WordPress user and choose a role
Select an existing WordPress account, choose Manager / Staff / Cashier, then click ✅ Assign Role.
Change or remove later
Each user row has a quick role-changer and a remove action. Removing a JavisTab role keeps the person’s WordPress account intact — only the booking-system access is revoked.
⚠️ Don’t confuse the two systems: a back-office colleague who never serves customers should only get a WP Role — do not add them as a Staff Member, or they’ll show up on the public booking form.
👁️ Part 4 · Show / hide the staff picker per industry
Industries differ: a spa, salon, clinic or barber wants customers to choose a person; a restaurant, hotel or venue usually does not. You control this with one switch — no need to delete anyone.
Option A — One click in Staff Management
On the 👤 Staff Members tab, the top card shows the current state: SHOWN or HIDDEN. Click 🚫 Turn OFF picker or ✅ Turn ON picker.
Option B — Settings → Booking Form
The same switch is mirrored at JavisTab › Settings › Booking Form as “Show Staff Member Picker”, next to “Show Services” and “Show Packages”.
✅ Default is ON for back-compat. When OFF, the picker is hidden even if staff exist, and bookings are saved without a specific staff member. Your staff data is never deleted by this switch.
💲 Part 5 · Rate Calendar — seasonal, weekend & holiday pricing
The Rate Calendar adjusts your adult base price by date — exactly how booking.com and trip.com show higher weekend and peak-season rates. Child and infant prices scale automatically from the adjusted adult price, and the server always charges the resolved amount. Open JavisTab › 💲 Rates.
The three building blocks of a rule
① Scope
- All bookings (global) — applies everywhere.
- A specific service — only that service.
- A specific package — only that package.
② When (rule type)
- Weekday — e.g. every Sat & Sun.
- Date range — a season (start → end).
- Specific date — a single holiday.
③ Adjust
- Percent (±%) — e.g. +20%.
- Amount (± per adult) — e.g. +$10.
- Override — set an absolute price.
Create a rule, step by step
Label
Give it a clear name — placeholder examples in the plugin: Weekend +20%, Christmas, Peak season.
Applies to (Scope)
Choose global, or a specific service/package. If you pick service or package, a second dropdown lets you select which one.
When (rule type)
Weekday → tick Mon–Sun. Date range → pick start & end dates (end must be on/after start). Specific date → pick one date.
Adjustment
Pick Percent, Amount or Override and enter the value. Override prices cannot be negative.
Priority & Enabled
Higher Priority wins when two rules of the same specificity overlap. Leave Enabled ticked to make it live.
Click Save rule
The rule appears in the list below and starts adjusting prices for matching dates immediately on the booking form.
🧮 Which rule wins? The most specific rule applies, in this order: specific date › date range › weekday, and for scope package › service › global. So a “Christmas” specific-date rule beats a general “Peak season” range, and a package rule beats a global one on the same day.
💡 OTA-grade transparency: when a date has an active rule, the package cards on the booking form show the original price struck through, the new price, and a small labelled chip (e.g. “💲 Peak season”) — so customers always see the price for their dates, never a surprise at checkout.
🍱 Part 6 · Copy-ready pricing recipes by industry
| Goal | Scope | When | Adjust |
|---|---|---|---|
| Weekend surcharge (spa, salon, tour) | Global | Weekday → Sat, Sun | Percent +20% |
| Summer peak season (hotel, cruise) | Global | Date range → Jun 1 → Aug 31 | Percent +15% |
| Public holiday premium | Global | Specific date → the holiday | Amount +$10 / adult |
| Flash deal on one package | A specific package | Specific date | Override (set the deal price) |
| Off-peak weekday discount (clinic, gym) | Global | Weekday → Mon–Thu | Percent −10% |
⚠️ Test it: open your public booking page, pick a matching date, and confirm the price & chip update. The server charges the resolved amount, so what the customer sees is what they pay.
❓ FAQ & troubleshooting
The “Select Staff Member” section doesn’t appear on my booking form
Three things must be true: you have at least one active staff member, the staff picker is ON (see Part 4), and the selected service has staff assigned to it (or you use generalists with no service ticked). If a service has no matching staff for the chosen date, the whole section hides automatically.
What’s the difference between a Staff Member and a WP Role?
A Staff Member is a bookable person shown on the public form (therapist, stylist…). A WP Role (Manager / Staff / Cashier) is back-office login access and never appears to customers. They are separate systems — see Part 3.
My Rate Calendar rule isn’t changing the price
Check that the rule is Enabled, the date you’re testing actually matches the rule’s When, and that no more specific rule is overriding it (specific date › date range › weekday; package › service › global). Raise the Priority if two equally-specific rules overlap.
Can I run different prices per service or per package?
Yes. Set the rule’s Scope to “A specific service” or “A specific package” and choose the item. Package and service rules beat the global rule on the same date.
A staff member is on holiday for one week — what do I do?
For recurring days off, use Days Off / Weekly Schedule (Part 2). For one-off vacations, untick all their working days for that period, or temporarily remove the card; their booking history is preserved either way.