For service businesses that can’t sell flat-rate. Where every appointment needs a custom quote before it becomes a booking. Appointly is a quote-based booking system for WordPress that puts you back in the loop. Instead of automatic scheduling and fixed prices, customers submit booking inquiries, yo
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.2 and PHP 7.4.
SourceWordPress plugins · Nov 4, 2026
01 / Source details
Aboutthistool.
For service businesses that can’t sell flat-rate. Where every appointment needs a custom quote before it becomes a booking.
Appointly is a quote-based booking system for WordPress that puts you back in the loop. Instead of automatic scheduling and fixed prices, customers submit booking inquiries, you review each one, send a personalized quote (with or without pricing), and the customer accepts or declines. Every booking is deliberate, every price is yours to set, every customer gets a personal touch.
Perfect for lawyers, consultants, tradespeople, event planners, hair & beauty salons, tattoo artists, photographers, yoga and fitness studios, tutors, and any service business that quotes before it confirms.
Why Appointly?
Most booking plugins force automatic scheduling with fixed prices. Appointly is different:
01Customer picks a date or time slot and submits an inquiry
02You review the request in the admin dashboard
03You send a personalized quote with a price and personal note
04Customer accepts or declines via a link in the email
05Booking confirmed, everyone gets notified
This quote workflow gives you the flexibility to adjust pricing per request, check availability manually, and add a personal touch before confirming any booking. Exactly what service businesses with variable pricing need.
Features:
Booking Calendar : Beautiful, responsive appointment calendar with real-time availability. Day-mode (whole-day) and timeslot mode (customer picks a time slot of configurable length within a daily window)
Unlimited Services : Create as many services as you need, with title, description, image, and base price
Personal Offer Workflow : Review every inquiry and send customised offers with automatic email delivery and one-click Accept / Decline links
SMTP Email Delivery : Reliable email delivery with presets for Gmail, Outlook, Yahoo, iCloud, IONOS, Strato, World4You, Host Europe, ALL-INKL, Hetzner, and more
Default Email Templates : Five polished HTML email templates (inquiry, admin notification, offer, confirmation, cancellation) with light and dark modes, fully translatable
Dark Mode : Calendar automatically adapts to the visitor’s colour scheme
Accessibility : WCAG AA compliant with keyboard navigation
Gutenberg Block & Shortcodes : Add the calendar via block editor or shortcode
Setup Wizard : Guided onboarding in four steps
GDPR Ready : Consent checkbox on the booking form, personal data exporter and eraser integration, encrypted SMTP credentials
Multilingual : Full i18n support. German translation included (de_DE, de_DE_formal, de_AT, de_CH, de_CH_informal)
Appointly Pro:
Appointly Pro is a separate companion plugin that extends Appointly with professional booking features. It is sold on https://appointly.tscholene.com for €2.99 per month and is NOT distributed through the WordPress.org Plugin Directory. The free plugin remains fully functional without Pro. Pro is an opt-in upgrade, not a lock on existing features.
Currently shipped in Appointly Pro:
Custom Branding : Primary colour, accent colour, and logo applied across the frontend booking form and all customer emails.
Custom Email Template Editor : Live preview editor for all 10 customer-facing and admin notification templates with placeholder picker.
Custom Service Fields : Build your own booking form per service with text, textarea, number, select, and checkbox fields. Validation rules, drag-and-drop reordering, conditional rendering.
Service Addons & Upsells : Offer extras with configurable pricing, quantity, and per-service availability. Per-line pricing in offer and confirmation emails.
Recurring Bookings : Automatic re-booking for weekly, bi-weekly, and monthly sessions. Ideal for yoga teachers, therapists, coaches, and anyone running regular appointments.
Direct Booking (Auto-Confirm) : Per-service auto-confirm for fixed-price services. Customers book instantly without admin approval. Configurable lead-time and cancellation window.
Blocked Dates : Block individual dates globally or per service, plus date-range blocks (“block December 20 to January 3”).
Customer Self-Cancel : Secure email-link cancellation for direct-booking services. No admin contact needed.
Planned for upcoming Pro releases (no timeline commitment):
Booking Reminders : Automatic reminder emails sent before each appointment, plus an optional daily admin digest.
Multi-day Bookings : Date-range bookings for multi-day events, workshops, retreats, and courses.
Group Bookings : Multiple seats per time slot for classes and small-group events.
Customer Self-Service Reschedule : Token-authenticated reschedule on top of the existing self-cancel flow.
Cancellation Policies : Rule-based cutoff times and fees per service.
Per-weekday Slot Schedules : Different availability windows per weekday (e.g. Mon/Wed/Fri morning + afternoon, Tue/Thu only afternoons) on top of the basic timeslot mode shipped in Appointly 2.1.0.
iCal Feed : Subscribe to bookings in Google Calendar / Apple Calendar / Outlook.
Deposit Collection via Stripe (using your own Stripe keys, no middleman).
Learn more at https://appointly.tscholene.com
Shortcodes & Block:
Gutenberg Block: Search “Booking Calendar” in the block editor
[appointly_calendar] : Display the booking calendar
[appointly_calendar service="2"] : Calendar for a specific service
[appointly_form service="2"] : Standalone booking form
External services
Appointly loads Google Fonts on the WordPress admin pages so the admin UI can render with the Appointly brand typography (Instrument Serif for hero headings, Plus Jakarta Sans for body text, DM Mono for data labels). This is the only external service that the free plugin connects to.
Service: Google Fonts (https://fonts.google.com)
Purpose: Loading three web font families so the admin SPA renders with the Appointly brand typography
Data sent: Your browser’s IP address and User-Agent are sent to fonts.googleapis.com and fonts.gstatic.com when an admin user opens any Appointly admin page. No booking, customer, or plugin-specific data is transmitted.
When: Only when an authenticated WordPress administrator opens an Appointly admin page. Fonts are never loaded on customer-facing booking pages, iCal feed requests, or REST API calls.
Terms of use: https://developers.google.com/fonts/faq#what_does_using_the_google_fonts_api_mean_for_the_privacy_of_my_users
If you prefer to block Google Fonts entirely (for example in a privacy-hardened admin environment), the admin UI degrades gracefully to a system font stack (system-ui / BlinkMacSystemFont / Segoe UI / ui-serif / Menlo) and remains fully functional.
No other external services are contacted by the free plugin. Appointly does not call any payment providers (Stripe, PayPal), analytics services, license servers, or telemetry endpoints.
Appointly Pro, the separate companion plugin sold on https://appointly.tscholene.com, will, when installed, connect to appointly.tscholene.com for license validation (once per day) and plugin update checks. That connection is a feature of the Pro plugin and does not affect this free plugin. Appointly Pro ships with its own readme, privacy disclosures, and external-services documentation. The free plugin on this page does not make any requests to appointly.tscholene.com at runtime.
Build Instructions
The admin dashboard and the Gutenberg block are pre-built with @wordpress/scripts (webpack) and ship as the compiled admin/build/ and blocks/build/ artefacts. To inspect or rebuild from source, clone the repository at https://github.com/jolenelederer/appointly (uncompiled admin/src/ + blocks/src/ are not shipped in the WP.org distribution since 2.1.0. They are dev-only).
Source rebuild:
cd admin && npm install && npm run build cd blocks && npm install && npm run build
The public frontend calendar ( public/js/appointly-calendar.js ) and stylesheet ( public/css/appointly-calendar.css ) are not compiled : they are vanilla JavaScript and CSS, human-readable as-is.
See it in action
Screenshots & previews.
Day-mode booking calendar on the front end. Customers pick a date and submit an inquiry, no fixed prices, no instant bookingTimeslot mode (new in 2.1.0). Customers pick a specific time within your daily availability windowCustomer confirmation email. Branded, immediately after the inquiry, with date and slot timeAdmin Bookings overview. Every inquiry with status (pending, offered, confirmed, declined) and one-click actionsBooking detail view. Customer info, message, status, timeline, and Send Offer / Mark as Accepted / Decline actionsAdmin notification email. Every new inquiry pinged to the admin inbox with a one-click View in Admin linkCustomer confirmation page. One-click accept or decline from the offer email, with a clear confirmation back to the visitorService editor. Title, description, image, lead time, base price, and the new day-mode / timeslot-mode toggle
02 / Source details
Gettingstarted.
01Upload the appointly folder to /wp-content/plugins/
02Activate the plugin through the ‘Plugins’ menu in WordPress
03Complete the setup wizard (Admin → Booking)
04Add [appointly_calendar] to any page or post, or use the “Booking Calendar” Gutenberg block
05Optionally configure SMTP under Booking → Settings → Email Delivery
03 / Source details
Frequently asked questions.
Does this plugin require any external dependencies?
No PHP dependencies. The free plugin is fully self-contained and works offline. The admin SPA is bundled with @wordpress/scripts and ships with its own translation files.
Google Fonts (Instrument Serif, Plus Jakarta Sans, DM Mono) are loaded on admin pages only for the Appointly brand typography. This is documented in the “External services” section below. No fonts or third-party assets are loaded on customer-facing booking pages.
Can I use multiple calendars on one page?
Yes. Each [appointly_calendar] shortcode creates an independent instance.
How does the booking flow work?
Customer selects a date (and optionally a timeslot) and fills out the booking form Customer and admin receive confirmation emails Admin reviews the request in Booking → Bookings and clicks “Send Offer” with a price and personal note Customer receives an offer email with Accept / Decline buttons On acceptance, both parties receive the final confirmation email
Does it support multiple languages?
Yes. All strings are translatable via the standard WordPress .po/.mo system. German translations are included for de_DE, de_DE_formal, de_AT, de_CH, and de_CH_informal. The admin React bundle also ships per-bundle .json translation files so all admin UI strings render in the selected language.
You can override the customer-facing email language independently of the site language under Booking → Settings → General → Email Language .
Can I customize the email templates?
The free plugin ships ten default HTML email templates that are fully translatable through the standard WordPress translation system. If you need to rewrite the copy beyond translation, you can either override the templates in a child theme via the standard WordPress template loader, or use the live preview template editor in Appointly Pro.
Does it support payments?
The free plugin does not collect online payments directly. The booking flow supports manual / offline payment arrangements: when you send an offer, you state the price, the customer accepts, and you handle payment out-of-band (invoice, bank transfer, cash on arrival, etc.). Online payment collection via Stripe, using your own Stripe keys, will be available through Appointly Pro in a later release.
How is Appointly different from other booking plugins?
Unlike most booking and appointment plugins that push automatic scheduling, Appointly is built around a personal offer workflow. You receive booking requests, review them personally, and send customised offers. This gives service providers full control over their calendar, pricing, and customer communication, perfect for businesses where every reservation deserves a personal touch.
How do I get Appointly Pro?
Visit https://appointly.tscholene.com to subscribe. When you subscribe, you receive a download link and a license key via email. You install Appointly Pro as a second plugin (Plugins → Add New → Upload Plugin) alongside this free plugin, paste your license key under Appointly → License, and the Pro features activate. The installation takes about two minutes.
Appointly Pro is NOT distributed through the WordPress.org Plugin Directory. It is sold directly on appointly.tscholene.com via Lemon Squeezy, which handles EU VAT, subscriptions, failed payments, the customer portal, and refunds. Appointly Pro coexists with this free plugin in one admin menu, no duplicate menu entries, no configuration conflicts, and Pro can be removed independently without affecting any of your booking data.
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati