WP Manifestindependent plugin directory
manifest / events / wp-appointment-booking

VX Appointment Booking

Lightweight WordPress appointment booking plugin for clinics & service businesses — time slots, no double bookings, admin dashboard, email notifications.

★ 0stars

Install

Download source zip No release zip yet

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.zip
No 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 UNIQUE key 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-booking text domain

Installation

  1. Download this repository as a ZIP and upload it via Plugins → Add New → Upload Plugin, or copy the folder to wp-content/plugins/.
  2. Activate VX Appointment Booking.
  3. Go to Bookings → Settings and set your services, working days, hours and appointment length.
  4. 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.