Documentation
ClinicBook, start to finish
Install the theme, import one of 6 demos in one click, then make it yours: programs with a finder and compare, admissions with uploads, calendar, timetables, faculty, events, campus map and tour, Tutor LMS courses and 39 Elementor widgets.
Start here
01Getting started
ClinicBook is a Medical Clinic & Doctor Appointment Booking theme for Elementor. The theme is the design system (four headers, four footers, color skins, Midnight dark mode, accessible menus). The bundled ClinicBook Core plugin adds doctors, services, departments, locations, the native online booking engine and 39 Elementor widgets. No paid booking plugin is needed.
01.1Requirements
| What | Minimum | Notes |
|---|---|---|
| WordPress | 6.5+ | Tested up to 7.1. |
| PHP | 7.4+ | PHP 8.1 or newer is faster. |
| Elementor | Free version | Required. Every demo page is built with Elementor and the ClinicBook widgets. Elementor Pro is not needed. |
| Permalinks | Any “pretty” setting | Doctors live at /doctors/…/, services at /services/…/. Plain permalinks are not supported. |
| Working wp_mail() | Booking confirmations and reminders are emails. Use an SMTP plugin on hosts that block PHP mail. |
01.2What is in the download
| File | What it is |
|---|---|
clinicbook.zip | The theme. Upload this one in WordPress. |
clinicbook-child.zip | An empty child theme for your own code (optional). |
Plugins/clinicbook-core.zip | ClinicBook Core. A copy is inside the theme; WordPress installs it for you. |
Documentation/ | This guide, for reading offline. |
Licensing/ | GPL license and credits for fonts and icons. |
01.3Install
- Go to Appearance›Themes›Add New Theme›Upload Theme, choose
clinicbook.zipand click Install Now, then Activate. - A notice asks you to install ClinicBook Core and Elementor. Click Begin installing plugins, select both, choose Install, then activate them.
- Go to Appearance›ClinicBook Demos to import a demo, or start from a blank site.
Demo content
02Import a demo
Six complete demos ship with ClinicBook. The importer runs in small steps, so it works on budget hosting, and everything it adds can be removed again.
| Demo | Homepage |
|---|---|
| Multi-specialty Clinic | / |
| Dental Clinic | /home-dental/ |
| Therapy & Telehealth | /home-therapy/ |
| Physiotherapy | /home-physio/ |
| Aesthetic & Med Spa | /home-aesthetic/ |
| Pediatrics | /home-pediatrics/ |
- Open Appearance›ClinicBook Demos.
- Full Website imports all demos, 25 doctors, 32 services, 3 locations, schedules, pages, menus, widgets and Theme Options. Pick the front page you want.
- Or Choose your front page to import one demo homepage, or Import a single page to borrow one layout.
- Remove imported demo content deletes everything the importer created and restores your earlier settings.
Steps: checking requirements · adding authors and instructors · creating schools, levels, formats and categories · copying photos · importing pages, doctors, services and locations · linking everything together · adding doctor schedules and holidays · building menus · applying theme options and elementor settings · setting the front page · finishing up.
Demo photos are placeholders in the download; the live demo uses licensed stock photos that are not included.
The booking engine
03Online appointment booking
Patients book in four steps: service → doctor (or “first available”) → date & time → details. They get an email with a calendar file (.ics) and a private link to reschedule or cancel. Staff manage everything under Appointments.
03.1Set it up in five minutes
- Add your clinics in ClinicBook›Locations (address, phone, opening hours).
- Add services in ClinicBook›Services: duration, buffers before/after, price, “can be a video visit”, department. Leave “Doctors who offer it” empty to use every doctor of the department.
- Add doctors in ClinicBook›Doctors with their department, locations and “Bookable online”. For video visits add the private meeting link — it is only sent in confirmation emails.
- Set weekly hours in Appointments›Schedules (several rows per day for split shifts) and closures in Appointments›Holidays & closures.
- Create a page with the Booking Form widget (the demos use
/book/) and set it in ClinicBook›Settings›Booking page.
03.2Rules you can change
| Setting | What it does |
|---|---|
| Slot step | Start times are offered every N minutes (default 15). |
| Minimum notice / horizon | No bookings sooner than N hours or later than N days ahead. |
| Change cut-off | Patients can reschedule or cancel online until N hours before the visit (default 24). |
| Staff confirm each booking | New bookings start as “Awaiting confirmation” until staff confirm them. |
| Daily cap | Maximum visits per doctor per day. |
| Reminders | An email about 24 hours before each confirmed visit. |
| Delete patient details after | Removes names and contact details of past visits after N days. |
03.3Never double-booked
Every active appointment holds a unique lock on “doctor + start time” in the database. If two patients press Confirm at the same moment, exactly one booking succeeds and the other is asked to pick another time.
03.4Deep links
Book buttons on doctor and service cards preselect them: /book/?doctor=12, /book/?service=34, /book/?location=round-rock, /book/?visit=video.
03.5Staff and roles
| Role | Can |
|---|---|
| Administrator / Editor | Everything, including settings. |
| Receptionist | See, add, confirm, complete, cancel and export all appointments; edit schedules and holidays. |
| Doctor | See only their own appointments (link the user to a doctor profile on the user screen). |
WordPress runs scheduled tasks when someone visits the site. For reminders on time, add a real cron job that calls wp-cron.php every 5–15 minutes (most hosts offer this in their control panel) and set DISABLE_WP_CRON to true.
03.6Emails
Every email subject and text is in ClinicBook›Labels & emails. Placeholders: {site} {patient} {service} {doctor} {location} {date} {time} {manage_link} {phone} {reference}. SMS or other integrations can listen to the clinicbook_appointment_notify and clinicbook_appointment_reminder actions.
Content
04Doctors, services, departments and locations
Each has its own page and archive with filters, built by the theme (or by your own ClinicBook Template).
| Type | Where | Highlights |
|---|---|---|
| Doctors | /doctors/ | Directory filters: specialty, gender, language, video visits, accepting new patients, name. Profile with rating, languages, education, certifications, common visits and locations. |
| Services | /services/ | Grouped by department with duration, price note and price; each service page has a booking card. |
| Departments | /departments/…/ | Services and doctors of the department. Pick an icon on the department edit screen. |
| Locations | /locations/ | Address, phone, opening hours (today highlighted), parking note, directions and “Book here”. |
| Testimonials | ClinicBook → Testimonials | Patient quotes with stars (use first names and initials only). |
Hours use one row per line: Mon–Fri | 7:00 am – 8:00 pm.
Design
05Theme Options, headers, footers and skins
Everything visual is in Appearance›Theme Options. Pages can override the header, footer, top bar and color skin in their Page design box.
| Option | Choices |
|---|---|
| Header styles | Clinic Portal: search, next available time and Book, with a mint menu band · Care desk: 911, next available and phone cards + colored menu band · Centered: care strip, logo in the middle, menu split on both sides · Transparent glass bar over the hero with a Find a doctor pill (solid on scroll) |
| Footer styles | Booking card: a booking card overlapping the footer + link columns · Hours & locations: opening hours table, clinics and a map panel · Minimal dark: one row with the essentials · Big type: large brand wordmark with columns |
| Color skin (whole site in Theme Options → Colors; a page can override it in Page design) | Ocean (multi-specialty), Fresh Aqua (dental), Calm Sage (therapy), Active Blue (physio), Soft Plum (aesthetic), Sunny Sky (pediatrics) |
05.1Every text is editable
- Section titles, intros and most texts in ClinicBook widgets: click them on the Elementor canvas and type.
- Small labels of a widget (buttons, badges, messages): the widget’s Labels section in Elementor.
- All widget labels and booking emails site-wide: ClinicBook›Labels & emails.
- Texts of theme layouts (doctor profile, archives, blog, 404, footer): Appearance›Theme Options›Texts.
05.2Mega menu
Add the CSS class mdb-mega to a top-level menu item: its second-level items become columns, their children the links (menu item descriptions show under them). Add mdb-icon-heart (any ClinicBook icon name) to a link for an icon. The top item’s description becomes the promo card. Use the class mdb-demos instead for a visual grid: each child link shows its page’s featured image (the demos menu works this way). Turn on CSS classes and descriptions in Appearance›Menus›Screen Options.
Theme builder
06ClinicBook Templates (free theme builder)
Design headers, footers, single pages (doctor, service, location, post), archives, search and 404 with Elementor — no Elementor Pro needed.
- Go to ClinicBook›Templates and add a new template.
- Choose where it is used in the Where this template is used box, then edit it with Elementor.
- Use the widgets in the ClinicBook — Templates category. The “… Page Layout” widgets print the theme’s own layout, with every text as a control.
- Publish. The newest published template of a location wins; set it to Draft to switch it off.
Important
07Privacy, HIPAA and medical wording
ClinicBook collects only the details needed to schedule a visit. It is not an EHR and does not make your site HIPAA compliant. Consult your compliance advisor before collecting health information.
- The booking form asks for name, email, phone, new/returning and an optional short reason (turn the reason off in Booking settings). There are no file uploads in the public form.
- Manage links are signed, expiring and single-purpose; tokens are stored hashed.
- Patient data is included in WordPress’s Export / Erase Personal Data tools; set a retention period to remove old details automatically.
- Avoid marketing pixels on booking pages. Some US states (for example Washington’s My Health My Data Act) regulate consumer health data.
- The demos include a medical disclaimer page and “call 911 in an emergency” notes in the header, footer and booking form. Keep them.
Developers
08Child theme and hooks
Use the child theme for code changes. ClinicBook has filters and actions for the common customizations.
// clinicbook-child/functions.php — send booking events to your SMS service
add_action( 'clinicbook_appointment_notify', function ( $appointment, $event ) {
// $event: booked | confirmed | rescheduled | cancelled | reminder
}, 10, 2 );Help
09Support
Questions, bugs or ideas? We are happy to help.
Open a ticket at https://fekbd.com/support/ with your purchase code. Support covers installation, the bundled features and bug fixes; custom development is not included.
No topic matches. Try a shorter word.