Description
VibeReserve Booking Light is a free, fully-functional appointment booking plugin built for beauty salons, spas, barbershops, wellness centres, clinics, and any service-based business. It ships with a clean admin dashboard and a multi-step booking form for your customers.
Let customers book 24/7 from your website and manage everything from one modern dashboard.
Everything included (free, unlimited)
- Multi-step booking form — embedded via shortcode or Gutenberg block
- Admin dashboard — real-time stats, booking charts and upcoming appointments
- Unlimited services — add as many services as you need with images, descriptions, pricing, duration and sale prices
- Unlimited staff — add team members with profiles and weekly schedules
- Unlimited categories — organise services with custom colours
- Unlimited locations — manage multiple business locations/branches
- Booking calendar — interactive calendar view of all appointments
- Email notifications — automated confirmation emails to customer and admin on every booking
- Booking management — view, confirm, complete, or cancel bookings
- Staff roles & access control — assign Admin, Manager, or Staff roles
- Gutenberg blocks — booking form, services grid, and staff grid blocks
- Fully responsive — looks great on desktop, tablet and mobile
- Translation ready — compatible with WPML and Loco Translate
Optional premium add-on
An optional, separately-distributed premium add-on is available from the author’s website at luminaith.com/vibereserve-booking. The premium add-on adds features that this free plugin does not include (such as online payment gateways, WhatsApp notifications, Google Calendar sync, automated email reminders, blocked dates, customer self-service portal, reviews, revenue reports, iCal export and REST API access).
The premium add-on is not required. The free plugin is complete and has no time limits, usage limits, or feature locks.
Shortcodes
[vibereserve_booking]— full multi-step booking form[vibereserve_services]— services showcase grid (supportscategory,limit,featuredattributes)[vibereserve_staff]— team grid
External services
This plugin does not connect to any external service by default. All bookings, services, staff and schedules are stored locally in your WordPress database. Emails are sent through your own WordPress site using wp_mail().
The plugin also does not load any JavaScript or CSS from remote CDNs — Chart.js, FullCalendar and Cropper.js are bundled with the plugin and served from your own site.
Blocks
This plugin provides 5 blocks.
- VibeReserve: Booking Form
- VibeReserve: Services Grid
- VibeReserve: Team / Staff Grid
- VibeReserve: My Bookings
- VibeReserve: Reviews
Installation
- Upload the
vibereserve-booking-lightfolder to/wp-content/plugins/ - Activate the plugin from Plugins Installed Plugins
- Go to VibeReserve Settings to configure your business information
- Add service categories via VibeReserve Categories
- Add your services via VibeReserve Services
- Add staff and set their weekly schedules via VibeReserve Staff
- Place
[vibereserve_booking]on any page to display the booking form
FAQ
-
Does this work with any theme?
-
Yes. The booking form uses self-contained CSS and works with any WordPress theme including Elementor, Divi, Astra, GeneratePress, and more.
-
How many services, staff, categories and locations can I add?
-
Unlimited. The free plugin has no numeric caps. Add as many services, staff members, categories and locations as you need.
-
Does this plugin connect to any external service?
-
No. All data is stored and processed locally on your own site. The plugin does not phone home and does not load any resources from third-party CDNs.
-
Is it mobile friendly?
-
Yes. Both the admin interface and the frontend booking form are fully responsive and tested on all major devices and browsers.
-
Yes. The optional premium add-on uses the same database tables, so all your bookings, services, staff and settings are preserved.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“VibeReserve Booking Light” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “VibeReserve Booking Light” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.5.5
- Tightened input handling in
handle_save_bookingandhandle_save_service: status fields constrained to whitelisted values,wp_unslash()applied to all reads, defensiveisset()checks before every$_POSTaccess. - Cleaned up dozens of stale
phpcs:ignoredirectives that were emitted before per-handlercheck_ajax_referer()calls were added; the remaining ones are limited to legitimate direct-DB-query andunlink()annotations. - Service assignment arrays (
staff_ids,location_ids) now go throughwp_unslash()andabsint()before being persisted.
1.5.4
- Restructured the image upload handler so
wp_generate_attachment_metadata()is the first function called immediately afterrequire_once wp-admin/includes/image.php. - Strict validation of the
image_datadata: URL with a tight regex (only image/jpeg, image/png, image/webp + base64 charset) before any decoding. - Refactored the admin bookings list view: filter conditions, pagination and counts now build a single SQL string and arguments array passed through one
$wpdb->prepare()call. - Simplified the bookings filter nonce flow into a single straight-line check; filter parameters are only read when the nonce verifies.
1.5.3
- Replaced indirect nonce helper calls with direct
check_ajax_referer()calls at the top of every AJAX handler so static analysers can detect the nonce check without tracing through helper methods. - Added an explicit
wp_nonce_field()/wp_verify_nonce()pair around the admin bookings list filter form; filter parameters are ignored when the nonce is missing or invalid. - Hardened
admin/views/email-templates.phpwith a capability check and a whitelist for the “tab” query argument.
1.5.2
- Print receipt now loads via admin-post.php with standard WordPress enqueue pipeline.
- Tightened nonce and capability checks on admin AJAX endpoints.
- Refactored location-filtered queries to use
$wpdb->prepare()with placeholders. - Escape-late applied on upgrade page and frontend service card output.
- Renamed internal helper classes to use a plugin-specific 4+ character prefix.
1.5.1
- First release prepared for the WordPress.org plugin directory.
- Removed all numeric caps (services, staff, categories, locations) — the free plugin is now fully-featured with no limits.
- Bundled Chart.js, FullCalendar and Cropper.js locally; no remote CDN calls.
- Converted inline JavaScript and CSS to properly enqueued assets.
- Replaced
json_encodeusages withwp_localize_scriptfor chart data. - Multi-step booking form with Gutenberg block.
- Admin dashboard with stats and interactive calendar.
- Services, staff, categories, and locations management.
- Automated booking confirmation emails to customer and admin.
- Staff roles & access control (Admin, Manager, Staff).
