10+
June 11, 2026
June 6, 2016
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.
/wp-json/appointmentsw/v1/ for availability, bookings, holidays, settings, and user search.appointmentsw_manage (administer) and appointmentsw_book (book a slot).appointmentsw/email/{event}/{audience}/{subject|body}.[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.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.
appointmentsw folder into /wp-content/plugins/, or install from the WordPress.org plugin directory.That’s it. Visitors can now book from the booking page, and you can manage everything from [appointmentsw_admin] without ever leaving the calendar.
No. Every shortcode, legacy option and database table is preserved. The bundled Bootstrap 3 assets stay enqueued, so any theme customisation built on those classes keeps rendering. We test new installs and 1.3 upgrades side by side before each release.
Place [appointmentsw_admin] on a page (the Frontend pages section in Settings does this for you). Click a free slot to open the booking modal, type the first letters of the client’s name or email in the search box, pick them and confirm. If you need a brand new client, click + Add client in the calendar toolbar and create them inline — they appear in the search instantly.
Yes. Enable Allow guest bookings in Settings. Guests will be asked for name and email in the booking modal.
Under /wp-json/appointmentsw/v1/. Routes: availability, bookings (GET|POST|DELETE), holidays (GET|POST|DELETE), settings (GET|POST), users/search and users (manage capability required).
The plugin sends an HTML email to the booking user and a notification to the admin (configurable in Settings). Subject and body of every notification are filterable: appointmentsw/email/created/user/subject, appointmentsw/email/created/user/body, and the equivalents for canceled and admin.
No. Bootstrap 3 is still bundled in 2.0 to avoid breaking themes that rely on its classes. We may opt-deprecate it in a future major release but with plenty of warning.
Set the option appointmentsw_delete_data_on_uninstall to true before deleting the plugin. Without that opt-in, Appointment SW keeps your bookings, holidays and settings on uninstall.
appointmentsw_manage and appointmentsw_book, granted automatically to existing roles on activation./wp-json/appointmentsw/v1/ with availability, bookings, holidays, settings and users endpoints.status_datetime, user_id, book_id in bookmeta, date in holidays), created_at/updated_at audit columns, rebuilt bookmeta primary key to allow multiple meta values per booking.meta_key placeholder type, fixed malformed placeholders in holidays SQL and WHERE … IN (%d) queries, removed double-quoted placeholders in prepare, replaced direct $_REQUEST['user_email'] access with sanitised input.asw-* options migrated on first read.[appointmentsw_vacations] shortcode.