WordPress plugin intelligence profile

HAQ Booking

Appointment booking for WordPress with services, staff, calendar, a front-end booking form and email notifications.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version1.1.2
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.2 · PHP 7.4
Directory statusactive
Last directory update3 Oct 20261mo ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records HAQ Booking version 1.1.2 as active, updated 1mo ago and tested up to WordPress 7.1.

Overview

About this plugin

HAQ Booking turns your WordPress site into an appointment booking system. Everything runs inside this plugin — no theme dependency and no required companion plugins.

Features

  • Create services with duration, price and status
  • Manage staff, working hours, breaks and assigned services
  • Customer records with booking history
  • Appointment list and admin calendar
  • Availability engine with open time slots
  • Mobile-friendly booking form via shortcode [haq_booking] or Gutenberg block
  • Email confirmation, cancellation and reschedule notices
  • Customer cancel and reschedule via secure token links
  • GDPR export / erase personal data support

Admin screens

All screens live under the HAQ Booking menu and require the manage_haq_booking capability (granted to administrators on activation).

  • Dashboard – today’s totals (confirmed, pending, cancelled), the next upcoming appointments, a setup checklist with progress bar and quick links.
  • Appointments – book on behalf of a customer (existing customers are matched by email), edit staff, time, status and notes, delete, and filter by status.
  • Calendar – month view with previous / next / today navigation, colour-coded by status; click any appointment to edit it.
  • Services – name, description, duration in minutes, price and active / inactive status.
  • Staff – name, email, phone, active switch, services offered and weekly working hours with work and break rows. New staff start with Monday–Friday, 9:00–17:00.
  • Customers – searchable list with booking counters (total, completed, cancelled, no-show), WhatsApp number, messaging opt-in and private notes.
  • Settings – business details, booking rules, email sender, currency and date/time formats with live preview, and the booking page.
  • WordPress dashboard widget – today’s appointment counts at a glance.

Booking form

  • Four steps: service → staff → date and time → your details, followed by a confirmation screen with the booking code.
  • Optional “Any available staff” choice that picks a free staff member automatically.
  • Name and email are required; phone and notes are optional.
  • Works with any theme, uses no jQuery, and loads its assets only on pages that contain the form.
  • Falls back to?rest_route= automatically if pretty REST URLs are unavailable.

How available times are calculated

For the chosen service, date and staff member, the plugin:

  • Takes the staff member’s working blocks for that weekday.
  • Removes the staff member’s break rows.
  • Steps through the day using the Slot interval setting and keeps start times where the whole service duration fits.
  • Removes times that overlap existing appointments (cancelled appointments free the slot).
  • Removes times sooner than the Minimum notice and dates beyond the Booking window.

Appointment statuses

pending, `confirmed`, `completed`, `cancelled` and `no_show`. Choose **Pending** as the default status in Settings if you want to approve each booking manually.

Email notifications

Plain-text emails are sent with wp_mail() from the sender name and address set in Settings.

  • New booking – to the customer (with a manage link), the admin notification email and the assigned staff member.
  • Cancellation – to the customer and the admin.
  • Reschedule – to the customer and the admin.

Customer self-service

Each booking gets a unique booking code and a secret manage token. haqb_manage=TOKEN, where the customer can cancel or pick a new time. Select your booking page in Settings so these links point to the right page.

Settings reference

  • Business name and Admin notification email
  • Slot interval (default 15 minutes), Minimum notice (default 1 hour), Booking window (default 60 days)
  • Default booking status (confirmed or pending) and Any available staff on/off
  • From name and From address for emails
  • Currency code, currency symbol, date format and time format
  • Booking page used for manage links

Shortcode

Place this shortcode on any page:

[haq_booking]

Or insert the HAQ Booking block in the editor.

For developers

REST API (namespace haq-booking/v1 ):

  • GET /services – active services
  • GET /staff?service_id= – staff who offer a service
  • GET /slots?service_id=&staff_id=&date=YYYY-MM-DD – available start times
  • POST /book – create a booking (requires the wp_rest nonce)
  • GET /manage/{token} and POST /manage/{token} – view, cancel or reschedule a booking

Actions:

  • haqb_appointment_created, haqb_appointment_confirmed, haqb_appointment_cancelled, haqb_appointment_completed – receive the appointment object
  • haqb_appointment_rescheduled – receives the updated and previous appointment
  • haqb_booking_after_submit – after a booking made through the public form
  • haqb_booking_form_fields – output extra fields in the details step
  • haqb_enqueue_booking_assets – enqueue extra scripts with the form
  • haqb_daily_maintenance_run – daily maintenance cron

Filters:

  • haqb_can_book – allow or reject a booking (return true, false or a WP_Error )
  • haqb_available_slots – modify the list of available times
  • haqb_booking_response – modify the public booking API response
  • haqb_notification_recipients – change an email recipient per notification type and role
  • haqb_booking_form_fields_allowed_html – allowed HTML for extra form fields
  • haqb_show_whatsapp_fields – show or hide the WhatsApp number and opt-in fields

detail.

Optional extensions

An optional commercial add-on can extend HAQ Booking with messaging, payments and calendar sync. The free plugin works fully on its own.

Privacy

The plugin stores customer name, email, phone, optional messaging number, appointment details and related notes in your WordPress database. The free plugin does not send data to third-party APIs.

Data is kept in these custom tables: haqb_services, haqb_staff, haqb_staff_services, haqb_staff_availability, haqb_holidays, haqb_customers and haqb_appointments. Settings are stored in the haqb_settings option.

The plugin registers with the WordPress Export Personal Data and Erase Personal Data tools. Erasing anonymises the customer record and clears appointment notes while keeping the appointment history for your records. Suggested text is added to the privacy policy guide.

Deactivating the plugin keeps all data. Deleting the plugin from the Plugins screen removes its tables, settings and capability.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • appointment
  • booking
  • calendar
  • reservations
  • scheduling
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.2 · PHP 7.4
Update activity3 Oct 20261mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

Version1.1.11.1.2
Version1.1.01.1.1
WordPress compatibility7.17.1.2
Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.