Description
Slotvexa Booking Calendar – Smart Appointments, Events Booking & Scheduling Calendar Solution.
If people book time with you, Slotvexa turns any WordPress page into a complete booking system with a single shortcode: [slotvexa_booking]. Appointments, consultations, classes, courses, workshops, events, tours, coaching – whatever the session, visitors see a live calendar, pick a time, book their seats and pay, while you stay in control of every confirmation.
Made for:
* Appointment-based businesses – clinics, salons, studios, consultants and coaches whose customers book a time slot
* Training and course providers – classes, workshops, seminars and multi-day programmes with limited seats
* Event organisers – talks, tours and ticketed sessions that need availability, payments and a waitlist
* Anyone who books by category – separate booking forms for Business, Individuals and Children are built in
Visitors see:
* A month calendar with colour-coded sessions and category filters (Business / Individuals / Children)
* A detail panel for every session: date and time, venue, host or trainer, seats left, price, description, what the session covers and what’s included
* Live seat availability on every session, with a “Sold out” state and a Join the waitlist option
* A booking form that adapts to the category – a business form (with company), an individuals form, and a children form (child’s name and age, with confirmation sent to the parent/guardian)
* Multiple seats per booking (up to 10, limited by availability) with live totals, and coupon codes (percent or fixed) applied before tax
* You control which categories exist: show or hide Business, Individuals and Children in Settings – hidden categories, their sessions and their forms disappear from the website completely
* An order summary with tax calculated automatically (rate and label configurable – GST, VAT or Sales Tax, 9% by default)
* A Payment step where the customer picks from the payment methods YOU enable in the admin: PayNow QR, bank transfer, cash at venue, a payment link from any gateway, Stripe card payments (auto-confirmed), PayPal, or your own custom methods (JazzCash, EasyPaisa, PayPal.Me, Wise…) with your instructions and optional QR image
* Every manual payment shows the exact amount and a unique payment reference, each with a Copy button
* A “Booking received” confirmation. The seat is held for a configurable number of hours (24 by default) and released automatically if no matching payment arrives
You manage everything from the WordPress admin (Slotvexa Booking Calendar menu):
* Sessions – add, edit and delete any bookable session: category, dates (single or multi-day), time, venue, host, price, capacity and pre-booked seats
* Bookings – see every booking with its payment reference; confirm payment (the customer gets a confirmation email) or release the seat
* Waitlist – names and contacts collected for sold-out sessions
* Coupons – create discount codes (percent or fixed amount), activate/deactivate them any time
* Bookings summary + CSV export – totals for bookings, confirmed, pending and confirmed revenue at the top of the Bookings page, plus a one-click CSV download of every booking
* Payments – enable and configure every payment method: PayNow (payee, UEN, QR image), bank transfer (bank, account title, number, instructions), cash at venue, a payment link from any gateway (with {reference} and {amount} placeholders), Stripe (API keys and currency, bookings auto-confirm on payment), PayPal Checkout (Client ID/Secret, sandbox or live, captured and auto-confirmed on return) and up to 3 custom manual methods with your own name, details and QR image
* Settings – brand name, tax rate and tax label (GST / VAT / Sales Tax), currency symbol, category visibility, seat-hold hours, confirmation time, admin notification email, terms page URL, session reminder emails, and fully editable email templates (booking received, booking confirmed, reminder) with placeholders
* Online sessions – add a Zoom / Google Meet link to any session; it is sent to confirmed customers in the confirmation and reminder emails and shown on the booking-received screen
Payments on manual methods are verified by you against the payment reference – you decide who gets confirmed, which suits any business that collects bank or QR transfers and confirms bookings personally. Prefer hands-free? Enable Stripe or PayPal and bookings confirm themselves the moment a payment succeeds. No commission is taken on any booking, ever.
Eight sample sessions are created on activation so you can see the calendar working immediately; edit or delete them at any time.
Source code: All JavaScript and CSS shipped in this plugin is the original, human-readable source code. No minification, compilation, transpilation or other build step is used – the .js and .css files inside the plugin are the source, and they are the same files the plugin enqueues.
External services
This plugin works fully offline from WordPress’s point of view for its manual payment methods, but two optional payment integrations connect to external services when – and only when – the site admin enables them and a visitor chooses that payment method.
Stripe (https://stripe.com)
Used only when the site admin enables Stripe on the Payments settings page (with the site’s own Stripe API keys) and a visitor chooses card payment. The plugin sends the booking amount, currency, booking reference and the success/cancel return URLs to Stripe’s API to create a Checkout session, and later retrieves that session from Stripe to verify the payment before confirming the booking. Card details are entered on Stripe’s hosted checkout page and never touch your website.
Terms of Service: https://stripe.com/legal/ssa
Privacy Policy: https://stripe.com/privacy
PayPal (https://www.paypal.com)
Used only when the site admin enables PayPal on the Payments settings page (with the site’s own PayPal app Client ID and Secret) and a visitor chooses PayPal. The plugin sends the order amount, currency and booking reference to PayPal’s API to create a Checkout order, and, after the visitor approves it on PayPal, to capture that order before confirming the booking.
Terms of Service: https://www.paypal.com/us/webapps/mpp/ua/useragreement-full
Privacy Policy: https://www.paypal.com/us/webapps/mpp/ua/privacy-full
The other payment methods – PayNow QR, bank transfer, cash at venue, payment link and the custom manual methods – make no external calls from the plugin; they simply display the payment details and instructions you enter in the admin.
Screenshots





Installation
- Upload the plugin files to
/wp-content/plugins/slotvexa-course-booking-calendar/, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress.
- Go to Slotvexa Booking Calendar – Settings for brand, GST/tax rate and currency, then Slotvexa Booking Calendar – Payments to enable the payment methods you want to offer.
- Add or edit your sessions under Slotvexa Booking Calendar – Sessions.
- Put the shortcode
[slotvexa_booking]on any page (a Shortcode block or widget) and publish it.
FAQ
-
How do payments work?
-
You choose the payment methods under Slotvexa Booking Calendar – Payments. Manual methods (PayNow QR, bank transfer, cash, payment link, custom methods) show the visitor your details/instructions plus the exact amount and a unique booking reference. The booking is saved as “payment pending verification” – you match the reference, then click Confirm payment on the booking and the customer is emailed a confirmation. If no matching payment arrives within the hold period, the seat is released automatically. With Stripe enabled (your own API keys), the customer pays by card on Stripe Checkout and the booking is confirmed automatically when Stripe reports the payment.
-
Is this only for courses?
-
No. Slotvexa was built for any booking that has a date, a time and a limited number of seats: appointments, consultations, classes, workshops, events, tours and coaching, as well as courses. You name your sessions whatever you like, and the Business / Individuals / Children categories cover most booking types out of the box.
-
Can I change the tax rate and currency?
-
Yes. GST/tax rate and the currency symbol are settings; prices you enter are treated as before tax and the tax is added in the order summary.
-
What happens when a session sells out?
-
The session shows “Sold out” and visitors can join the waitlist with their name, email and phone number. The waitlist is under Slotvexa Booking Calendar – Waitlist in the admin.
-
Does it work with page builders?
-
Yes. The calendar renders server-side inside the shortcode, so it works in the block editor, Elementor (use the Shortcode widget) and other builders. If you use a full-page cache plugin, purge the cache after changing sessions or settings.
-
Can one booking reserve more than one seat?
-
Yes – since 1.2.0 visitors can book up to 10 seats in one booking (limited by the seats actually left), except children’s sessions, which stay one child per booking so each child’s details are collected.
-
Can I hide a category completely?
-
Yes. In Slotvexa Booking Calendar – Settings, untick any of Business, Individuals or Children and that category – its filter, its sessions and its booking form – no longer appears anywhere on your website.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Slotvexa Booking Calendar” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Slotvexa Booking Calendar” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.3.4
- Short description refresh – leads with appointments and events.
1.3.3
- Refreshed plugin description to reflect everything Slotvexa books – appointments, consultations, events, classes and sessions, not only courses.
- Animated plugin icon.
1.3.2
- Renamed to Slotvexa Booking Calendar – the plugin books much more than courses: classes, appointments, events, coaching and any scheduled session. Name-only change; no behaviour, settings or data changes.
1.3.1
- Security hardening: all frontend AJAX handlers and every admin form and action are protected by nonce checks, combined with a manage_options capability check in the admin. The Stripe and PayPal payment returns are now bound to their booking with a per-booking return key, and the payment is verified server-side (order/session identity, amount and currency) before the booking is confirmed; the key is cleared after a successful confirmation. Two columns are added to the bookings table automatically on update (tables upgrade in place, no data is lost).
1.3.0
- Renamed to Slotvexa Course Booking Calendar (new plugin slug and text domain) at the WordPress.org review team’s request. All functions, options, database tables, hooks and asset handles now use the
slotvexaprefix, and the shortcode is now[slotvexa_booking]– the old alias shortcodes have been removed, so please update any page that used them. - Frontend configuration is now passed to the enqueued script with
wp_add_inline_script()instead of an inline script block printed by the shortcode. - Readme: shortened the short description, documented the optional Stripe and PayPal external services, and added a source-code note. No feature, design or behaviour changes.
1.2.1
- Compliance and maintenance release for the WordPress.org plugin check: replaced every bare date() call with wp_date() / gmdate() as appropriate per call site, escaped the remaining admin and frontend output, rewrote the bookings CSV export to build its output as a string instead of writing to a file stream, and updated the “Tested up to” header to WordPress 7.1. No feature, design or behaviour changes.
1.2.0
- Category visibility: show or hide Business / Individuals / Children from Settings – hidden categories vanish from the calendar, filters, session lists and forms.
- Multiple seats per booking (up to 10) with live order-summary totals; children’s sessions remain one child per booking.
- Coupon codes: new Coupons admin page (percent or fixed), applied and validated at checkout before tax.
- PayPal Checkout: real PayPal payments from the Payments page (Client ID/Secret, sandbox or live) – captured and auto-confirmed when the customer returns.
- Editable email templates for booking received, booking confirmed and session reminders, with placeholders; reminder emails for confirmed bookings (configurable window).
- Bookings dashboard summary (total / confirmed / pending / confirmed revenue) and CSV export of all bookings.
- Configurable tax label (GST, VAT, Sales Tax…) and an optional Zoom / Google Meet link per session, shared in confirmation and reminder emails.
- Booking references now start with BK. Tables upgrade automatically on update – no data is lost.
1.1.0
- New Payments admin page: enable any combination of PayNow QR, bank transfer, cash at venue, a payment link from any gateway, Stripe card payments with automatic booking confirmation, and up to 3 custom manual methods (JazzCash, EasyPaisa, PayPal.Me, Wise, your own QR codes).
- The payment step now starts with a payment-method picker showing only the methods you enabled; step 3 is renamed from “Pay with PayNow” to “Payment”.
1.0.0
- Initial release: booking calendar with category filters and live seat availability, category-based booking forms, GST order summary, PayNow QR payment step with payment references and seat holds, pending-verification bookings with admin confirm/release, sold-out waitlist, and full admin management of sessions, bookings and settings.
