Support
R-Booking user manual
The complete guide to the plugin, module by module: installation, services, timeslots, bookings, gift vouchers, payments and settings. Need help? Email support.
1. Installation & licence
R-Booking installs like any WordPress extension: from Plugins → Add New → Upload, upload the r-booking.zip archive received by email, then activate the plugin. An R-Booking menu appears in the admin sidebar.
Requirements: WordPress 6.4 or later, PHP 8.1 or later. Your licence key, supplied with the subscription, enables automatic updates and support. Without an active licence, your data, existing bookings and back office stay intact — but new online sales are suspended (direct bookings and new gift vouchers). A recipient of an already-paid voucher can still book.
2. Categories & services
Everything starts with your catalogue. A category groups services that share the same timeslots (for instance “Tandem”, “Course”, “Initiation”). A service is a bookable offering with its prices and rules.
Creating a service
In R-Booking → Services, click “Add”. Each service defines:
- Name, description and image — shown in the booking journey;
- Total price, split between an online part (collected via Stripe at booking time) and an on-site part (collected on the day);
- Available days (e.g. Wednesday to Friday) and periods (high / low season, start and end dates);
- Optional reschedule insurance, offered during checkout;
- Options (video, photos…) with their own online / on-site split.
Passes
A pass adjusts a service’s price over a period (seasonal promotion) or opens days that are normally closed. A pass amount is always paid online.
3. Timeslots
Timeslots are managed in R-Booking → Bookings, on a weekly calendar filterable by category. Each slot carries a date, start and end time, a capacity and a booked counter. A colour code shows its state: available, filling up, full.
- Quick creation — “+ Add” button directly on a calendar day;
- Batch creation — generate several weeks of slots at once (recurring days, times and capacity);
- Overlap prevention — two slots of the same category cannot overlap, the plugin checks for you;
- Locking — a locked slot accepts no new online bookings;
- Auto-complete — the slot turns “full” as soon as capacity is reached.
If you change a slot’s time, existing bookings follow automatically and customers can be notified by email.
4. Bookings
Below the calendar, the booking list brings everything together: slot, service, customer, contact, amounts and status. Search by name, email or number; filter by status, category, service or period; export to CSV.
| Status | Meaning |
|---|---|
| Pending | Booking created, payment not finalised. |
| Confirmed | Payment received (or manual validation) — the customer got their confirmation. |
| Completed | The service took place. |
| Cancelled | Booking cancelled — the place is released on the slot. |
| No-show | The customer did not turn up. |
From a booking’s detail view you can reschedule (change slot), edit the beneficiary, add internal notes or open the linked order. A booking made with a gift voucher shows the voucher code used.
5. Gift vouchers
The R-Booking → Gift vouchers module covers sales, tracking and redemption.
Online sales
The buyer picks a service, personalises the voucher (recipient, message), pays online and receives a PDF by email. The voucher’s unique code (format RBK-XXXXXXXX) lets the recipient book whenever they wish. The validity period is configurable in Settings → Gift voucher (12 months by default, from 1 to 120 months), and can still be adjusted voucher by voucher.
Frozen prices
At purchase time the service price, its options and any insurance are frozen. If your prices rise later, the voucher stays valid at no extra cost. The recipient never sees the amount paid.
PDF customisation
In Settings → Gift voucher, a visual editor lets you compose your PDF: background image, texts, colours and fonts (import your own). The preview matches the generated PDF exactly.
| Status | Meaning |
|---|---|
| Pending | Order created, payment not finalised. |
| Active | Paid, redeemable throughout the configured validity period. |
| Used | The recipient booked with their code. |
| Expired | The validity period has passed. |
6. Orders & payments
Every sale — booking, gift voucher or counter sale — creates an order in R-Booking → Orders. Each order tracks three amount axes:
- Online — the part paid through Stripe at order time;
- On-site — the part collected on the day of the service;
- Total — the sum of both, with paid and outstanding amounts per axis.
On-site payment is optional: to collect everything online, simply set the service’s on-site part to €0. R-Booking takes no commission on your sales — only Stripe’s fees apply to online payments.
The order list
The list filters by status, by type and by period. The “The period applies to” selector decides what that period measures: the order date, or the payment date — the day the money actually moved. The second choice gives the collected, refunded and net totals for the period, which is what your accountant expects.
An email address mistyped by a buyer can be corrected from the order. If a payment link had already been sent, it follows the correction: the new address receives everything from then on.
Payments
Online payments go through Stripe Checkout (Stripe’s secure hosted payment page). On site, record a card, cash or other payment: every transaction is logged on the order. Need to collect a balance remotely? Generate a payment link and send it by email.
Invoices, VAT & credit notes
Generate a numbered PDF invoice in one click from the order and send it by email. VAT rates are managed in Settings → VAT: you build your own catalogue of rates (label, value, legal mention), nothing being pre-filled; you pick a default rate, then assign the right rate to each service, option or product. The invoice then carries the breakdown per rate: net, VAT and gross for each. That breakdown is frozen when the invoice is issued — changing a rate later never alters a document already issued. If you are not VAT-registered, tick “My business is not subject to VAT” in that same tab and enter the mention to print: invoices then stop showing a VAT line.
On refunds, the Stripe refund is triggered directly from the order, without opening the Stripe dashboard, and R-Booking creates the matching credit note. The refundable amount matches the transactions actually collected.
7. Revenue by product
Below the dashboard indicators, the Revenue by product table answers a question no other screen covers: how much each service actually earned you, across every sales channel.
Each row is one catalogue entry and one channel — booking, gift voucher, counter. A single service sold three ways therefore occupies three rows, with its net and gross amounts over the chosen period.
Groups
Catalogues age: the same video ends up existing under several entries, and its real revenue appears nowhere. Groups put them back together. Create one with New group, then drag rows into it by their handle — or move them with the arrow keys. Each group shows its total and its share of the overall total.
What counts, and on which date
Only money actually collected enters the table: paid orders, promo discount deducted, refunds removed — abandoned carts are excluded. A sale is attached to its invoice date: a January sale refunded in March stays in January, and a closed month never changes value again.
If collected orders have no invoice, they belong to no period: the table says so plainly rather than hiding them.
Rows entered by hand
Revenue collected outside the plugin — a cash sale, a service invoiced elsewhere — is added with the + button of the group you want: label, date, gross amount and VAT rate. It can be edited, deleted and moved like any other row, and counts towards the period totals.
Export
The Export button produces the table exactly as displayed — same groups, same period, same totals — without recalculating. Rows entered by hand are included, and the file footer says so.
8. Counter shop
R-Booking → Shop is your till: build a basket of services, options and side products (managed in R-Booking → Products), apply a promo code, choose the payment method — the order is created instantly, invoice included.
9. Promo codes
In Settings → Promo codes, create discounts as a percentage or a fixed amount, with:
- minimum spend, maximum uses (global and per customer);
- validity period (start and end dates);
- targeting: the whole catalogue, specific services, categories or products.
The customer enters the code in the booking journey; the discount applies to the online part and appears on the order and the invoice.
10. Automatic emails
R-Booking sends transactional emails at the right moments, in the site’s language (5 languages included). The eleven templates are customised in Settings → Emails — subject, preheader, content and up to two action buttons, with dynamic variables (name, date, slot, amounts…).
| Trigger | |
|---|---|
| Booking confirmation | Payment confirmed — includes the summary and the invoice if any. |
| Pre-visit reminder | X hours before the slot (configurable delay). |
| Reschedule | Date or time changed, by you or by the customer. |
| Cancellation | Booking cancelled, with an optional reason. |
| Gift voucher | Purchase confirmed — voucher PDF attached. |
| Refund | Refund completed, credit note attached. |
| Invoice | The PDF invoice sent to the customer. |
| Payment link | Sent manually to collect a balance remotely. |
| Admin: booking | New booking received, to the address of your choice. |
| Admin: gift voucher | New gift voucher sold. |
| Admin: reschedule | Booking rescheduled. |
Receiving a copy of customer emails
The Copy of customer emails card in Settings → Emails sends you a copy of what your customers receive, family by family. The copy goes out as a separate message: it is not slipped into the customer’s own email.
11. Google Calendar
Connect your calendar in Settings → Calendar: timeslots and bookings sync to Google Calendar. Your team checks the schedule on mobile without logging into WordPress. Sync is deferred and robust: a queue retries automatically if the API is unavailable.
What comes back from Google into R-Booking
Sync also works the other way: an event placed in your Google calendar closes the timeslots it covers. Only empty slots are closed — an existing booking is never wiped by your calendar.
Four situations are skipped outright: events created by R-Booking itself, cancelled events, those you marked “Available”, and invitations you declined.
All-day events and those spanning several days are a case of their own, governed by the “Do not delete my timeslots for all-day events” checkbox in Settings → Calendar. It is ticked on installation: by default, a day blocked in Google therefore closes nothing in R-Booking. Untick it if you want the opposite.
Sending goes through a queue: if the Google API is unavailable, tasks are replayed automatically, and an interrupted task resumes where it stopped.
12. Client portal
Every order generates a secure link to the client portal: the customer views their booking and can reschedule it among available slots, within the rules you define in Settings → Client portal (minimum notice, number of reschedules allowed). Each reschedule triggers the confirmation emails.
When the new date costs a pass
If the customer aims at a date covered by a pass their booking has not paid for — a Saturday, for a service sold on weekdays — the date stays selectable and carries its surcharge in the calendar. On confirming it, the customer is sent to a Stripe payment page.
On return, their booking moves and the surcharge gets its own separate invoice, with its own number and today’s date: the original invoice does not move by a cent.
If the slot was taken during payment, R-Booking refunds the surcharge automatically: the booking stays where it was, and you are told just as the customer is. A pass already paid stays acquired — the customer can come back to a surcharged date without paying again.
13. Site integration
R-Booking integrates with any theme through shortcodes, pasted into a page:
| Shortcode | Role | Useful attributes |
|---|---|---|
[rbk_booking] | Full booking journey | category_id, service_id |
[rbk_voucher] | Gift voucher purchase | category_id, service_id |
[rbk_button] | Button opening a journey | type (booking / voucher), text |
[rbk_client_portal] | Client portal | — |
The journeys open in a modal above your page: no imposed template, no layout conflicts. The Settings → Buttons tab customises button styles; the Colour tab matches the journeys to your brand.
14. Advanced settings
The Settings menu groups twelve tabs:
| Tab | Content |
|---|---|
| 📅 Calendar | Google Calendar connection, sync options. |
| 🎁 Gift voucher | Visual PDF editor, validity period (1 to 120 months), custom fonts. |
| 🔘 Buttons | Style of buttons generated by [rbk_button]. |
| 💳 Payment | Stripe keys (test and live), currency, deposit behaviour. |
| 🧾 VAT | Rate catalogue (label, value, legal mention), default rate, reschedule-insurance rate, non-registered regime. |
| 🏷️ Promo codes | Creating and tracking discount codes. |
| ✓ Validation | Fields requested from the customer and journey validation rules. |
| 🎨 Colour | Accent colour of the front journeys to match your brand. |
| 📧 Emails | Templates, subjects, sender, reminder delay. |
| 🔄 Client portal | Self-service reschedule rules. |
| ⚙️ System | Cron health, technical info, log. |
| 🗑️ Purge | GDPR clean-up of old data. |
15. Troubleshooting
Emails are not going out
First check the sender in Settings → Emails, then your host’s email configuration. An SMTP plugin (sending through your professional mailbox) makes delivery reliable. Reminders rely on WordPress cron: the System tab shows its health in real time.
Stripe payment fails
Check the API keys in Settings → Payment and their mode (test or live). In test mode, use Stripe’s test cards (for instance 4242 4242 4242 4242).
A timeslot does not appear for customers
Three checks: the slot is neither full nor locked; the service is active and available that day (service days and periods); the date is in the future.
Need help?
Support is included in your subscription: support@plugin-system.fr. Describe the issue and attach a screenshot if you can — we reply within one to two business days.