WordPress plugin · Bookings · Free + Pro

Demfilz Booking Calendar Plus

A complete appointment booking system for salons, clinics, trades, consultants and studios. Multiple services, multiple staff, real working hours and buffers, a clean step-by-step form, email confirmations with calendar invites, reminders and no double bookings. Add the Pro add-on to take a Stripe deposit or the full price at booking time - the slot is held while the customer pays, and confirms itself the moment payment lands.

v1.0.0 · WordPress 5.8+ · PHP 7.4+ · free plugin is self-contained · Pro uses your own Stripe account

Multi-staff, multi-service, no double bookings Emails with .ics invites & reminders Pro: Stripe deposits & full payment

A booking system, not a booking widget

Every service has a duration, price, colour and before/after buffers. Every staff member has their own weekly working hours (split shifts supported), time off, and the list of services they perform. The booking form is a shortcode [dbook_bookings] or a block - a four-step wizard that walks the customer through service, staff (or "any available"), date and time, and their details. It is mobile-friendly and inherits your theme.

Availability is computed from working hours, existing bookings and their buffers, time off, minimum notice and how far ahead you allow - and it is re-checked under a transactional lock at the moment of booking, so two people racing for the last slot can never both get it. "Any available staff" quietly picks the least-loaded qualified person.

Everything around the appointment

Customers get an email confirmation with an .ics calendar invite attached, an automatic reminder before the appointment, and a private link to reschedule or cancel within your cut-off - no account required. You and your staff get notified too. Choose instant confirmation or an approval mode where you review each request.

Behind the scenes there's a dashboard (today, awaiting confirmation, upcoming), a filterable bookings list with CSV export, a monthly booking calendar, and privacy export & erase tools. Connect a free AIEIO Calendar account and confirmed bookings push into each staff member's calendar while their busy times block the form.

See it

From website to booked appointment

The same booking form your customers use, and the admin tools you manage it with.

Booking form - choose a service, with duration and price
Step 1 - choose a service.
Booking form - pick a date and an available time slot
Pick a date and a genuinely-free time.
Booking form - your details and a Stripe deposit
Details, then pay a deposit (Pro).
Admin - Stripe payment and deposit settings
Payment settings - your Stripe keys, deposits (Pro).
Admin - bookings dashboard with statuses
Bookings dashboard - counts and every appointment's status.
Pro add-on

Take deposits with Stripe

Stop no-shows and secure your calendar. The Pro add-on requires a deposit or the full price at booking time, using your own Stripe account and Stripe's secure hosted checkout - no card details ever touch your site.

Booking Calendar Plus Pro

$9.95 AUD/month

Unlimited paid bookings · your own Stripe account · cancel any time

Subscribe to Pro

Deposit or full price, per service

Charge nothing, a percentage deposit, a fixed deposit, or the full price - set a site-wide default and override it on any service. Zero-decimal currencies handled.

Slot held while they pay

The time is reserved as "awaiting payment" during checkout and released automatically if they don't finish - so a half-finished payment never blocks your calendar.

Confirms itself, refunds itself

A signed Stripe webhook (with a browser-return fallback) confirms the booking and emails a receipt. Lost a slot to a slow payment? The customer is refunded automatically. Issue refunds from the dashboard, too.

Requires the free plugin. Your licence key arrives by email after checkout · manage or cancel any time from the customer portal.

Built right

Engineered to platform standards

Built and tested the way the WordPress.org directory expects plugins to be built.

Coding standards

Both plugins pass the WordPress Coding Standards with zero errors and zero warnings, and are covered by an automated test suite - the free booking engine and the Pro payment flow, end to end.

Payment security

Independent security review before release. Card data never touches your site; the Stripe webhook is signature-verified and idempotent, and amounts are checked server-side so a payment can't be tampered with.

Your data, your Stripe

The free plugin is self-contained. Pro talks only to Stripe (your account) and the licence service - customers pay you directly, and you keep every dollar minus Stripe's normal fees.

How it works

Live in an afternoon

1

Add services & staff

Create your services with durations, prices and buffers; add staff, tick the services they do, and set their weekly hours and time off.

2

Place the form

Drop [dbook_bookings] or the Bookings block on a page. Customers can book immediately - confirmations and reminders go out automatically.

3

Turn on deposits (Pro)

Add the Pro add-on, paste your Stripe keys, and choose a deposit or full payment - per service or as a site default.

4

Manage & get paid

Watch bookings land on the dashboard, take deposits into your Stripe account, refund in one click, and sync to your calendar.

Read the full setup guide →
Customer paying a deposit on the booking form

Why deposits. A card on file at booking time turns "maybe" into "committed". Even a small deposit dramatically cuts no-shows - and the balance is still collected in person.

Download

Get Booking Calendar Plus

Install the free plugin, then add the Pro add-on when you're ready to take deposits.

Demfilz Booking Calendar Plus v1.0.0

Free · WordPress 5.8+ · PHP 7.4+ · on the official WordPress.org plugin directory

Get it on WordPress.org

Direct download (.zip) →  ·  Add the Pro add-on for Stripe deposits →  ·  Setup guide →

Upload it under Plugins → Add New → Upload Plugin, activate, and add your services and staff.

FAQs

Common questions

What does the free plugin do?

Everything you need to take bookings on a WordPress site: define services with a duration, price and before/after buffers; add staff members with their own weekly working hours, time off and the services they perform; and drop a step-by-step booking form onto any page with a shortcode or block. It auto-assigns the least-loaded available staff member, never double-books (availability is re-checked under a lock at the moment of booking), sends email confirmations with an .ics calendar invite, sends reminders, and gives every customer a private link to reschedule or cancel. Admins get a dashboard, a filterable bookings list with CSV export and a monthly calendar. It is complete and free.

What does the Pro add-on add?

Online payments. With Demfilz Booking Calendar Plus Pro you can require a deposit (a percentage or a fixed amount) or the full price on any service. When a customer books a paid service the time slot is held while they pay on Stripe's secure hosted checkout, and the booking confirms automatically the moment payment succeeds. You issue refunds from the dashboard, and it works in your own Stripe account.

Do my customers' card details touch my site?

No. Payment happens on Stripe's own hosted checkout page, so no card details ever reach your website and there is no card form or Stripe.js on your pages. Your site only receives a payment confirmation from Stripe, verified by a cryptographic signature.

What happens if a customer abandons payment?

The held slot is released automatically after a hold window you choose (30 minutes by default) so the time becomes bookable again. If a customer does pay but loses connection before returning, the plugin still confirms the booking; and in the rare case the slot was already taken, it refunds them automatically and lets them know.

How much is Pro and how is it billed?

The Pro add-on is $9.95 AUD per month, billed by Stripe. After subscribing you receive a licence key by email; enter it in the plugin to activate payments. You keep 100% of your bookings' takings (minus Stripe's normal processing fees) because customers pay into your own Stripe account. Cancel any time from the customer portal.

Which currencies and payment methods are supported?

Any currency and payment method your Stripe account supports, including cards, Apple Pay and Google Pay on hosted checkout, and zero-decimal currencies such as JPY. You set the currency in the plugin's payment settings.

Is it on WordPress.org, and where do I get it?

Yes - the free plugin is now published on the official WordPress.org plugin directory: install it from your WordPress dashboard under Plugins → Add New by searching for "Demfilz Booking Calendar Plus". A direct download is also available from this page. The Pro add-on is a commercial add-on delivered from your account after subscribing - install the free plugin first, then the Pro add-on on top.

Need a booking flow built around your business?

Custom booking rules, deposits, integrations or a whole scheduling app - this is the kind of thing we build. Tell us what you need and we'll come back with a plan and a fixed quote.