DOCUMENTATION

CalenDeus Documentation

Everything you need to install, configure, and get the most out of your appointment scheduling plugin.


How the Two Plugins Fit Together

CalenDeus ships as two WordPress plugins, and it helps to understand the relationship before you install anything.

  • CalenDeus Appointment Booking is the free plugin. This is the permanent base: the booking engine, the database, the admin screens, and the free-tier limits. It is always installed and always active, whether or not you own Pro.
  • CalenDeus Pro is a small add-on (around 57Β KB) that installs alongside the free plugin as a second entry in your plugins list. It adds the Pro features and lifts the free-tier limits.

Pro is an add-on, not a replacement. Both plugins stay installed and active, both appear in Plugins permanently, and each updates independently. The add-on requires the free plugin: if the free plugin is deactivated, Pro refuses to run and tells you why.

⚠️Installing Pro is not the same as unlocking Pro. The add-on only lifts the limits once a valid licence key is activated under CalenDeus β†’ License. Without one, every free-tier restriction stays in place.
ℹ️Nothing is ever deleted when you upgrade. Bookings, services, time slots, holidays, leads and settings live in your WordPress database and are untouched by installing or removing either plugin.

Installation

Installing CalenDeus takes less than 2 minutes. Both plugins are distributed from this site, so you install by uploading a zip rather than searching the WordPress plugin directory.

Installing the free plugin

  1. Download the free .zip from calendeus.com/download
  2. Go to Plugins β†’ Add New β†’ Upload Plugin
  3. Select the zip file and click Install Now
  4. Activate the plugin after installation completes

Adding Pro on top

Upgrading does not replace anything. Leave the free plugin exactly where it is, installed and active, and add the Pro plugin beside it.

  1. Keep CalenDeus Appointment Booking installed and active. Do not deactivate it and do not delete it, because the add-on depends on it
  2. Download the Pro .zip from your dashboard at calendeus.com/account (your purchase email links you there; it carries no attachment)
  3. Go to Plugins β†’ Add New β†’ Upload Plugin, select the Pro zip, and click Install Now
  4. Activate CalenDeus Pro. You will now see both plugins in your plugins list
  5. Go to CalenDeus β†’ License, paste your licence key, and click Activate
ℹ️Nothing is deleted and no data is touched. Your bookings, services, time slots, holidays, leads and settings all live in the WordPress database and carry straight over. Pro picks them up exactly as you left them.
ℹ️After activation, a new CalenDeus menu item will appear in your WordPress admin sidebar.

Quick Start

Get accepting bookings in 3 steps:

1

Configure your time slots

Go to CalenDeus β†’ Time Slots and add a time slot for each day you want to accept bookings. A day is only bookable while it has at least one slot.

2

Add the shortcode to a page

Create or edit any page, and add the shortcode [calendeus_booking_form]. Publish the page.

3

Test a booking

Visit your page as a visitor. Select a date, pick a time slot, fill in your details, and submit.

πŸ’‘The main CalenDeus screen shows a live count of total bookings, pending and confirmed, plus your five most recent bookings.

Time Slots

Time slots define when customers can book appointments. Navigate to CalenDeus β†’ Time Slots to configure your schedule.

Adding a Time Slot

Availability is built out of time-slot rows, one row per window. There is no per-day on/off switch: a day accepts bookings only while it has at least one slot, and you close a day by deleting its slots. Each slot is added with:

  • Day of Week: the day this window applies to
  • Start Time: when the window opens
  • End Time: when the window closes
  • Slot Duration: 15 minutes, 30 minutes, 1 hour, 1.5 hours or 2 hours. The window is divided into back-to-back appointments of this length.
  • Max Bookings: stored with the slot, but the current release always accepts one booking per appointment time

Multiple Windows Per Day

Add more than one slot to the same day for split schedules (e.g. 9:00 to 12:00 and 14:00 to 17:00). The gap between two windows is simply time with no slot in it.

Advance Booking Notice

The same screen has an Advance Booking Notice setting: the minimum number of days, weeks or months ahead a customer must book. Leave it at 0 to let customers book immediately.

Free Plan Limit

Free is capped at 3 time slots per day. Pro removes the cap entirely.

ℹ️Changes to time slots take effect immediately. Existing confirmed bookings are not affected.

Booking Form

The booking form is embedded via a shortcode. Place it anywhere on your site: pages, posts, or widget areas.

[calendeus_booking_form]

Default Form Fields

Out of the box, the form ships with seven fields:

  • First Name and Last Name: always shown, always required
  • Email Address: always shown, always required
  • Gender: a dropdown (Male, Female, Other, Prefer not to say), required by default
  • Entity Type: the service picker; this is the field's default label
  • Additional Notes: free text, optional
  • Consent checkbox: always shown, always required

There is no phone number field in the default form.

Timezone Notice

The booking form shows the site's configured timezone directly above the list of available times, and repeats it as a reminder under the date-and-time step, so customers always know which timezone the slots are in.

ℹ️The timezone is pulled from WordPress β†’ Settings β†’ General β†’ Timezone. Adjust it there if needed.

Dynamic Form Builder πŸ”’ Pro

Navigate to CalenDeus β†’ Form Settings to manage your booking form fields without writing any code.

Managing Fields

The fields table lets you, for each field:

  • Edit the label shown to customers
  • Toggle Enabled to hide the field from the form entirely
  • Toggle Required to force customers to fill it in
  • Set a Placeholder (for text fields) or Options (for dropdowns, separated by |)

The Enabled and Required toggles only appear on fields that allow them. First Name, Last Name, Email Address and the consent checkbox are always enabled and always required, and show a dash instead of a checkbox.

Adding Custom Fields

Use the Add Custom Field form below the fields table to create extra fields. Supported types:

  • Text, Textarea, Number, Phone, Date
  • Dropdown (with pipe-separated options)
  • Checkbox
⚠️Custom fields are rendered on the booking form, but the current release does not store what customers type into them. Only the seven core fields are written to the booking record. Do not rely on a custom field to capture information you need to keep.

Resetting to Defaults

Click ↩ Reset to Defaults to restore the original seven core fields and remove any custom fields.

⚠️Resetting removes all custom fields from the configuration. Existing booking data already saved is not affected.

Service Management

Navigate to CalenDeus β†’ Form Settings β†’ Service Management to create the services customers can book.

Creating a Service

  1. Click Add New Service
  2. Enter a name, optional description, and price
  3. Choose the currency from the dropdown (24 currencies supported)
  4. Toggle Active to make it available for booking
  5. Click Save Service

Currency

The currency selector in the service modal sets the display currency globally for all services. Supported currencies include USD, EUR, GBP, CAD, AUD, JPY, INR, BRL, and 16 more.

Free Plan Limit

Free plan users can create up to 4 services. A live counter sits just below the Service Management heading, above the services table, reading 2 of 4 services used (Free plan). Once the limit is reached the Add New Service button is disabled and an upgrade notice appears.

πŸ’‘You can hide the service dropdown from customers and pre-select a default service under Service Dropdown settings at the bottom of the Form Settings page.

Holidays

Block dates to prevent bookings on days you're unavailable: single dates on Free, date ranges on Pro.

Adding a Holiday

  1. Go to CalenDeus β†’ Holidays. The Add New Holiday form is always on screen, there is nothing to open first
  2. Enter a name and a Start Date. End Date is optional and Pro-only: on Free it is disabled, and an end date that differs from the start date is clamped back to a single day
  3. Optionally tick Recurring Yearly
  4. Click Add Holiday. The date(s) stop offering appointment times immediately

Recurring Holidays

When Recurring Yearly is ticked, the holiday repeats every year on the same date. Set it once for national holidays, business closures, or personal time off, with no annual maintenance required.

ℹ️A blocked date is still clickable in the customer-facing calendar, since only past dates are greyed out. Selecting a blocked date returns an empty list and the form shows β€œNo available times for this date.”, so the day cannot be booked.

Email Notifications

CalenDeus sends automated emails at every stage of the booking lifecycle. There are four booking states (pending, confirmed, cancelled and completed) and each one has a customer and an admin template, so eight templates in total. Navigate to CalenDeus β†’ Email Settings to configure them.

Available Templates

All eight emails are sent on both plans. What Pro unlocks is editing: on Free the cancelled and completed templates are shown read-only and keep sending their default wording, while the pending and confirmed templates can be edited and reset.

TemplateTriggerRecipientEditable on
Booking Pending (Customer)Form submittedCustomerFree
Booking Pending (Admin)Form submittedAdmin(s)Free
Booking Confirmed (Customer)Status β†’ ConfirmedCustomerFree
Booking Confirmed (Admin)Status β†’ ConfirmedAdmin(s)Free
Booking Cancelled (Customer)Status β†’ CancelledCustomerPro
Booking Cancelled (Admin)Status β†’ CancelledAdmin(s)Pro
Booking Completed (Customer)Status β†’ CompletedCustomerPro
Booking Completed (Admin)Status β†’ CompletedAdmin(s)Pro
ℹ️There is no appointment reminder email. CalenDeus emails are triggered by booking status changes only.

Dynamic Variables

Use these placeholders in subject lines and body text:

VariableDescription
{customer_name}Full name of the customer
{customer_email}Customer's email address
{customer_phone}Customer's phone number, or β€œNot provided”
{booking_date}Appointment date (formatted)
{booking_time}Appointment time (formatted)
{booking_status}Pending, Confirmed, Cancelled or Completed
{service_type}Name of the booked service
{service_price}Price of the booked service, always formatted with a $ sign regardless of the currency you selected, or β€œFree” when the price is 0
{notes}Customer's notes, or β€œNone”
{site_name}Your WordPress site title
{site_url}Your WordPress site URL

Multiple Admin Emails

The recipient list lives in the Admin Email field under Email Settings β†’ General Settings. Enter one or more addresses separated by commas; every valid address receives the admin notifications. Left empty, it falls back to your WordPress administration email.


Calendar Sync πŸ”’ Pro

Connect your Google Calendar for two-way sync. Sync is off until you tick Enable Calendar Sync, and a booking is only written to your calendar once it reaches one of the states ticked under Sync Booking Statuses. Out of the box that is Confirmed alone, so a new pending booking does not appear until you confirm it. In the other direction, events already in your Google Calendar block the matching time slots in CalenDeus.

Setup Steps

  1. Go to Google Cloud Console and create a new project (or select an existing one).
  2. Enable the Google Calendar API under APIs & Services β†’ Library.
  3. Go to Credentials β†’ Create Credentials β†’ OAuth 2.0 Client ID. Select Web application.
  4. Add the redirect URI shown in CalenDeus to Authorised redirect URIs. The setup box on the CalenDeus screen prints the exact URL to paste.
  5. Copy the Client ID and Client Secret into CalenDeus β†’ Calendar Sync β†’ Google Calendar Settings, set Calendar ID (use primary for your main calendar), and save.
  6. Click Connect to Google Calendar and authorise access.
πŸ’‘The entire Google Cloud setup takes approximately 8 to 10 minutes if you haven't done it before. The CalenDeus settings page displays the exact redirect URI you need to paste into Google Cloud.

Sync Interval

How often CalenDeus pulls external events is set under CalenDeus β†’ External Events β†’ Sync Configuration. The Sync Interval dropdown offers five fixed choices: every 15 minutes, every 30 minutes, every hour (the recommended default), every 4 hours, or daily. More frequent sync means more accurate blocking but slightly more API calls.


CalDAV / Outlook / iCloud πŸ”’ Pro

CalenDeus Pro ships a generic CalDAV client, so any CalDAV-compatible calendar service can be used. The plugin's own setup box gives URL patterns for iCloud, Exchange and Yahoo.

Setup

  1. Go to CalenDeus β†’ Calendar Sync and set Calendar Type to CalDAV (Exchange, iCloud, etc.)
  2. Enter your CalDAV server URL, username, and password (or app-specific password)
  3. Click Test Connection to verify
  4. Save settings, and sync begins on the next scheduled run

Service-Specific URLs

ServiceCalDAV URL Pattern
iCloudhttps://caldav.icloud.com/[username]/calendars/
Exchangehttps://outlook.office365.com/EWS/Exchange.asmx
Yahoohttps://caldav.calendar.yahoo.com/dav/[username]/Calendar/[calendar_name]/
ℹ️For iCloud, generate an app-specific password at appleid.apple.com, because your main Apple ID password will not work for CalDAV.

Theme & Colors πŸ”’ Pro

Navigate to CalenDeus β†’ Theme Colors to customise the booking widget to match your brand.

Color Settings

Thirteen colour pickers in one table, with a single preview of the widget beside the table. Nine of the thirteen redraw the preview live: primary, secondary, accent, success, background, text, border, selected and selected text. Widget border, available day, step text and active step text are saved correctly but are not reflected in the preview; check them on the real form.

  • Primary Color: main brand colour for headers and primary buttons
  • Secondary Color: gradient complement for headers
  • Accent Color: time slot buttons and interactive elements
  • Success Color: confirmation buttons and success messages
  • Background Color: calendar and form background
  • Text Color: main text colour
  • Border Color: input borders and dividers
  • Widget Border Color: main booking widget border
  • Available Day Color: calendar days with available slots
  • Selected Color: selected dates and time slots
  • Selected Text Color: text on selected dates and time slots
  • Step Text Color: inactive step indicators (Date & Time, Your Details, Confirm)
  • Active Step Text Color: text on the active step indicator

Save Theme Colors applies the palette to every booking form immediately. Reset to Defaults restores all thirteen at once.


Leads & CSV Export

Every booking submitted through the form is stored as a lead under CalenDeus β†’ Leads, whatever its status. Leads are deduplicated by email address, so each customer appears once, on their most recent booking. A submission that fails validation (a missing first name, last name, email, date or time, an invalid email, a missing gender while that field is required, an unticked consent box, or a slot that was taken in the meantime) is rejected and never becomes a lead.

Viewing Leads

The Leads screen gives you one search box, sortable columns, and a bulk delete:

  • Search: matches customer name, email address or phone number
  • Sort: click a column header to sort. Name, Email, Service, Booking Date and Lead Date are sortable; Phone and Time are not.
  • Pages: 25 leads per page
  • Bulk delete: tick rows and apply Delete. This removes every booking belonging to the selected customers, not just the booking shown in the row, and cannot be undone.

Four counters sit above the table: Total Unique Leads, Pending, Confirmed, and This Month.

There is no status filter and no date-range filter on this screen. The phone column is part of the leads table and the search, but the booking form never writes a phone number in the current release, so it shows N/A for every lead the plugin collects itself.

Exporting to CSV πŸ”’ Pro

Viewing and searching leads is part of the free build. CSV export is Pro. On Pro, click the Export to CSV button to download a comma-separated file with seven columns: Name, Email, Phone, Service, Booking Date, Time and Date Created. The file is compatible with Excel, Google Sheets, and any major CRM.

⚠️The export ignores the search box. It always writes every lead in the database, never the filtered list on screen, and it ignores the column sort and the page you are on. There is no way to export a subset. The file is deduplicated to one row per customer, the same way the on-screen list is, does not include custom form fields, and its Phone column reads N/A for every booking the plugin took itself.

Licence & Activation πŸ”’ Pro

CalenDeus Pro is unlocked with a licence key. One key covers one site at a time. The plugin re-checks the key with our server periodically and keeps Pro switched on for as long as that check comes back valid.

What One Payment Buys

One payment, once. The licence never expires and updates are yours for life. Every future version of Pro is included and nothing renews. The only part with a time limit is priority support, which runs for one year from purchase.

ℹ️When the support year ends, nothing on your site changes. The licence stays valid, Pro stays switched on, and one-click updates keep arriving exactly as before. Only new support requests fall outside the window. The date is shown on your account page.

Where to Find Your Key

  1. Go to calendeus.com/account
  2. Enter the email address you purchased with, and we send you a sign-in link, so there is no password to remember
  3. Your licence key, the site it is currently active on, and the Pro download are all on that page
ℹ️The purchase email links to your dashboard rather than carrying the zip. Always download Pro from /account so you get the current release.

Activating the Key

  1. In WordPress, leave CalenDeus Appointment Booking installed and active, because the Pro add-on needs it and will not run without it
  2. Install and activate the CalenDeus Pro add-on alongside it
  3. Go to CalenDeus β†’ License
  4. Paste the key and click Activate
ℹ️Nothing is deleted and no data is touched. Bookings, services, time slots, holidays, leads and settings all live in your WordPress database. Pro picks them up exactly as you left them.
⚠️Until a valid key is activated, the Pro add-on lifts nothing. Every free-tier restriction stays on: four services, three time slots per day, four of the eight email templates editable, single-date holidays only, and no CSV export, form builder, calendar sync or theme colours.

Activation registers your site's URL against the key. Pro features switch on straight away, with no reload of anything else required.

The One-Site Rule

A licence can be active on one site at a time. Staging or development copies count as separate sites, so deactivate before cloning a site, or buy a second licence if you need both live at once.

Moving a Licence to Another Site

  1. Sign in at calendeus.com/account
  2. Click Deactivate next to the site currently using the key
  3. On the new site, paste the same key under CalenDeus β†’ License and click Activate

This is instant and self-service. You never need to contact support to move a licence. You can also deactivate from inside the old site's License screen if you still have access to it.

If the Licence Server Is Unreachable

The plugin re-checks your licence periodically. If our server cannot be reached (your host is offline, an outage, a firewall), Pro keeps working normally for a 14-day grace period while the plugin retries. Nothing is disabled and no warning is shown to your customers.

If the Licence Expires or Is Revoked

If a key is refunded, revoked, expired, or moved to a different site, the plugin gets a definitive answer and pauses the Pro features that are checked at runtime: form builder, calendar sync, CSV export, and date-range holidays. Editing the cancelled and completed email templates locks too, but all eight emails keep sending. The Theme Colors screen is not behind that check in the current release, so a saved palette keeps applying and stays editable. The free feature set keeps running.

ℹ️Your data is never touched. Bookings, leads, services, custom fields, holidays, and settings all stay in the database, and reactivating a valid key restores every Pro feature exactly as you left it.

Shortcodes Reference

ShortcodeDescription
[cdeus_booking_form]Embeds the full booking widget (calendar + time slots + form)
[calendeus_booking_form]Alias of [cdeus_booking_form], kept for backwards compatibility. Both render the same widget.

Place the shortcode in the WordPress block editor using a Shortcode block, or paste it directly into any Classic Editor text area.


FAQ

My time slots aren't showing. What's wrong?

Check that the day you are testing has at least one time slot row under CalenDeus β†’ Time Slots, with a valid start and end time. A day with no slot row offers no times at all. Also ensure no holiday is blocking the selected date. Note: time slots less than 30 minutes from the current time are automatically hidden for same-day bookings.

Sunday time slots aren't appearing.

Add a time slot row with Day of Week set to Sunday under CalenDeus β†’ Time Slots. Sunday is fully supported alongside all other days of the week.

Calendar sync isn't working.

Verify your Client ID and Client Secret are correct. Ensure the redirect URI in Google Cloud Console exactly matches the one shown in CalenDeus settings (including trailing slashes). Re-connect the account if needed.

Emails aren't being sent.

WordPress uses PHP mail() by default, which many hosts block. Install and configure an SMTP plugin (e.g. WP Mail SMTP) and ensure your 'From' address matches an authorised sender for your domain.

How do I add custom fields to the booking form?

Go to CalenDeus β†’ Form Settings β†’ Add Custom Field. Choose a field type (text, dropdown, checkbox, etc.), enter a label, and click Add Field. The field is then rendered on the booking form. Note that the current release does not store what customers type into custom fields. Only the seven core fields are written to the booking record.

I accidentally deleted my form fields. How do I restore them?

Click the ↩ Reset to Defaults button at the bottom of the Form Settings fields table. This restores all original core fields immediately.

Can I accept multiple bookings in the same time slot?

No. The Max Bookings field is stored with the slot, but the availability check rejects any time that already has a non-cancelled booking, so every appointment time takes exactly one customer.

How do I move from free to pro?

Keep the free plugin exactly where it is. 1) Buy Pro at calendeus.com. 2) Sign in at calendeus.com/account with the email you purchased with and download the CalenDeus Pro zip. It is a small add-on that installs alongside the free plugin. 3) In WordPress, upload and activate it under Plugins β†’ Add New β†’ Upload Plugin, leaving CalenDeus Appointment Booking installed and active. 4) Go to CalenDeus β†’ License and paste your key. Nothing is deleted and no data is touched: bookings, services, time slots, holidays, leads and settings all live in the database and carry straight over. Both plugins stay in your plugins list from then on, and the add-on will not run if you deactivate the free one.

Still stuck? Contact support β†’