Title: Alnora &#8211; Booking for Private Clinics
Author: alnoraclinic
Published: <strong>June 20, 2026</strong>
Last modified: June 21, 2026

---

Search plugins

![](https://ps.w.org/alnora-clinic/assets/banner-772x250.png?rev=3579856)

![](https://ps.w.org/alnora-clinic/assets/icon-256x256.png?rev=3579856)

# Alnora – Booking for Private Clinics

 By [alnoraclinic](https://profiles.wordpress.org/alnoraclinic/)

[Download](https://downloads.wordpress.org/plugin/alnora-clinic.1.1.1.zip)

 * [Details](https://wordpress.org/plugins/alnora-clinic/#description)
 * [Reviews](https://wordpress.org/plugins/alnora-clinic/#reviews)
 *  [Installation](https://wordpress.org/plugins/alnora-clinic/#installation)
 * [Development](https://wordpress.org/plugins/alnora-clinic/#developers)

 [Support](https://wordpress.org/support/plugin/alnora-clinic/)

## Description

Alnora replaces the usual tangle of a generic booking plugin + spreadsheets with
one focused product made for private clinics with 1–10 doctors: dentists, psychologists,
cosmetic clinics, dermatologists, physiotherapists and GPs.

Features in this version:

 * Doctor profiles with photo, specialisation, bio, languages and per-doctor weekly
   working hours (with breaks).
 * Bookable services with duration, buffer time, price and colour.
 * A modern, multi-step booking wizard for patients (choose doctor  service  date&
   time  details), embeddable via shortcode or Gutenberg block.
 * A slot-availability engine that respects working hours, breaks, buffers, existing
   bookings and your booking window.
 * Patient records with email/phone encrypted at rest (AES-256) and a SHA-256 email
   hash for lookups.
 * GDPR consent capture with timestamp + IP logging.
 * Transactional emails: booking confirmation to the patient, notification to the
   clinic, status-change emails and automatic reminders (hourly cron).
 * A clean, branded wp-admin: dashboard with stats, appointment list with inline
   status control, plus doctor, service, patient and settings screens.
 * REST API under the `alnora-clinic/v1` namespace.

### Notes for developers

 * The booking form and admin tables are dependency-free **vanilla JavaScript** (
   no build step required). The optional Gutenberg block uses `wp.element` and also
   needs no build step.
 * For production, define a fixed encryption key in `wp-config.php`:
    define( ‘ALNC_ENCRYPTION_KEY’,‘
   your-32-char-random-key-here’ ); If omitted, a key is generated and stored once
   in the options table so the plugin works out of the box.

### External Services

This plugin does not connect to, or send any data to, external services. All assets(
fonts, scripts and styles) are bundled with the plugin and served from your own 
site.

## Screenshots

[⌊The multi-step booking wizard as patients see it on the front end.⌉⌊The multi-
step booking wizard as patients see it on the front end.⌉[

The multi-step booking wizard as patients see it on the front end.

[⌊The appointments list with inline status control.⌉⌊The appointments list with 
inline status control.⌉[

The appointments list with inline status control.

[⌊The doctor profile editor with working hours and break configuration.⌉⌊The doctor
profile editor with working hours and break configuration.⌉[

The doctor profile editor with working hours and break configuration.

[⌊The dashboard with appointment stats at a glance.⌉⌊The dashboard with appointment
stats at a glance.⌉[

The dashboard with appointment stats at a glance.

[⌊The settings screen with autosave.⌉⌊The settings screen with autosave.⌉[

The settings screen with autosave.

[[

[[

[[

[[

## Blocks

This plugin provides 1 block.

 *   Alnora Booking

## Installation

 1. Upload the `alnora-clinic` folder to `/wp-content/plugins/`.
 2. Activate **Alnora** through the _Plugins_ menu in WordPress. On activation the 
    plugin creates its database tables, custom roles and a **Book an Appointment** 
    page containing the booking shortcode.
 3. Go to **Alnora  Doctors** and add at least one doctor (set their working hours).
 4. Go to **Alnora  Services** and add at least one service.
 5. Visit the auto-created booking page (link shown under **Alnora  Settings**) to 
    test a booking.

## FAQ

### Does the booking form work with any theme?

Yes. The booking wizard is rendered inside a scoped `.alnc-booking` container with
its own styles. A small CSS reset neutralises common theme interference (button 
padding, box-shadow, etc.).

### How do I embed the booking form?

Place the shortcode `[alnora_booking]` on any page, or use the **Alnora Booking 
Form** Gutenberg block. A **Book an Appointment** page is created automatically 
on activation.

### Can I pre-select a doctor or service in the shortcode?

Yes. Use `[alnora_booking doctor="1" service="2"]` where the numbers are the doctor/
service IDs shown in their respective admin screens.

### Is patient data stored securely?

Patient email and phone are encrypted at rest using AES-256. A SHA-256 hash of the
email is stored separately for lookups. GDPR consent is recorded with a timestamp
and IP address.

### How many doctors can I add?

There is no limit — add as many doctors as your clinic needs, each with their own
profile, working hours and services.

### Where do I configure email notifications?

Go to **Alnora  Settings  Email & reminders**. You can set the from name, from address,
admin notification email and reminder lead time.

### Does it work with WPML or Polylang?

All strings are translation-ready via the `alnora-clinic` text domain. Full WPML/
Polylang compatibility is planned for a future release.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Alnora – Booking for Private Clinics” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ alnoraclinic ](https://profiles.wordpress.org/alnoraclinic/)

[Translate “Alnora – Booking for Private Clinics” into your language.](https://translate.wordpress.org/projects/wp-plugins/alnora-clinic)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/alnora-clinic/), check
out the [SVN repository](https://plugins.svn.wordpress.org/alnora-clinic/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/alnora-clinic/) 
by [RSS](https://plugins.trac.wordpress.org/log/alnora-clinic/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.1

 * Fix: settings sub-pages (Shortcodes, Booking rules, Email & reminders, GDPR) 
   could return “Sorry, you are not allowed to access this page”. They are now hidden
   from the sidebar without affecting access.

#### 1.1.0

 * New: search the Appointments list by reference, patient name, email or phone.
 * New: search the Patients list by name, email or phone.
 * New: the Appointments list now hides past days by default, with a “Show past 
   appointments” button to reveal them (today’s appointments stay visible so they
   can still be marked Completed / No-show).
 * New: “Load more” on the Appointments list — the first 10 rows load instantly 
   and more are revealed on demand for faster page rendering.
 * New: an information icon beside the “Status” column header explains what each
   appointment status means.
 * Improvement: hidden settings sub-pages are now removed from the admin menu in
   PHP instead of via a CSS :has() rule, removing an expensive per-interaction style
   recalculation in the admin.
 * Improvement: the WordPress media library is now loaded only on the Doctors screen(
   where the photo uploader needs it), speeding up the other admin pages.
 * Improvement: consistent button focus styling in the admin.

#### 1.0.0

 * Initial release: doctors, services, working hours, availability engine, booking
   wizard, patient records, GDPR consent log, transactional emails, reminders and
   branded admin.

## Meta

 *  Version **1.1.1**
 *  Last updated **2 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [appointments](https://wordpress.org/plugins/tags/appointments/)[booking](https://wordpress.org/plugins/tags/booking/)
   [clinic](https://wordpress.org/plugins/tags/clinic/)[Doctor](https://wordpress.org/plugins/tags/doctor/)
   [medical](https://wordpress.org/plugins/tags/medical/)
 *  [Advanced View](https://wordpress.org/plugins/alnora-clinic/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/alnora-clinic/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/alnora-clinic/reviews/)

## Contributors

 *   [ alnoraclinic ](https://profiles.wordpress.org/alnoraclinic/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/alnora-clinic/)