Appointment SW

Appointment SW

0/5 (0 ratings) 10 active installs Updated Jun 11, 2026
Booking form with the new confirmation modal.

Booking form with the new confirmation modal.

Appointment SW lets visitors book appointments from any page on your site. You configure as many working windows per day as you need, block holidays, optionally allow guest bookings, and Appointment SW takes care of slot availability, email notifications and capability checks.

Version 2.0 is a deep modernisation of the original plugin while keeping every shortcode, option and database table from 1.x in working order. Existing sites can update without re-doing setup.

What’s new in 2.0

  • Modern booking flow: clicking a free slot opens a confirmation modal — no more page reloads to advance the booking.
  • Admin booking modal with live client search and an inline “Add client” button, so receptionists can book a brand new client without leaving the calendar.
  • Arbitrary number of time windows per day (not just two).
  • Server-rendered Settings page using the WordPress Settings API, with an onboarding section that creates the shortcode pages for you in one click.
  • Public REST API under /wp-json/appointmentsw/v1/ for availability, bookings, holidays, settings, and user search.
  • Capability-based permissions: appointmentsw_manage (administer) and appointmentsw_book (book a slot).
  • Prepared statements across every database query, plus new indexes on bookings, bookmeta and holidays for faster lookups on busy calendars.
  • Hardened request dispatcher: strict capability checks, sanitized input and escaped output throughout.
  • Filterable email templates via appointmentsw/email/{event}/{audience}/{subject|body}.
  • Optional WooCommerce integration is now a separate companion plugin so this core stays lean.

Shortcodes

  • [appointmentsw_form] — booking form for visitors.
  • [appointmentsw_myaccount] — logged-in user appointments (view and cancel).
  • [appointmentsw_admin] — frontend admin calendar with client search and one-click client creation.
  • [appointmentsw_vacations] — block holidays from the frontend.

Backwards compatibility

All 1.x shortcodes keep rendering, bundled Bootstrap 3 assets are still enqueued so existing theme overrides keep working, the legacy core/ classes remain loaded, and legacy options (asw-guest, asw-duration, asw-numdays, asw-maxoffset, asw-start_time_*, asw-end_time_*) are migrated transparently into the new appointmentsw_settings option the first time the new code reads them.