Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/ramintoosirad/wp-appointment-booking/archive/refs/heads/main.zipNo built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.
VX Appointment Booking — WordPress plugin
A lightweight, dependency-free appointment booking plugin for WordPress, built for clinics, salons, consultants and other service businesses.
Features
- 📅 Booking form via shortcode —
[vx_booking]on any page - ⏰ Automatic time slots from your working days, opening hours and appointment length
- 🚫 No double bookings — free slots are checked server-side and a database
UNIQUEkey blocks race conditions - 🗂️ Admin dashboard — list, filter, confirm and cancel bookings
- ✉️ Email notifications — to the business on every request, and to the customer on request and confirmation
- 🛡️ Secure by default — nonces, capability checks, prepared SQL statements, full input sanitisation and output escaping, honeypot spam protection
- ⚡ Lightweight — vanilla JavaScript (no jQuery), ~2 KB of CSS, assets only load on pages that use the shortcode
- 🌍 Translation-ready — all strings use the
vx-bookingtext domain
Installation
- Download this repository as a ZIP and upload it via Plugins → Add New → Upload Plugin, or copy the folder to
wp-content/plugins/. - Activate VX Appointment Booking.
- Go to Bookings → Settings and set your services, working days, hours and appointment length.
- Add
[vx_booking]to any page.
How it works
Visitor picks service + date ──► AJAX: vx_booking_slots ──► free times (working hours − taken slots)
Visitor submits form ──► AJAX: vx_booking_submit ──► validate ─► insert (UNIQUE slot) ─► emails
Admin confirms booking ──► admin-post: vx_booking_status ──► status update ─► confirmation email
File structure
vx-appointment-booking/
├── vx-appointment-booking.php # plugin bootstrap, DB table, AJAX, admin pages
├── booking.js # front-end form logic (fetch API)
└── booking.css # minimal, theme-friendly styles
Roadmap
- Google Calendar sync
- Online deposits with Stripe
- SMS reminders
License
GPL-2.0-or-later
Built by Vortaxis Studio — WordPress & custom web development, UK.