BLACK FRIDAY
Save 59% on PageForge Annual $191/year $485/year
Claim 59% Off →
Appointly icon
Maintained Tested up to 7.0.6 #17 in appointment

Appointly

Quote-based WordPress booking: customers request, you send a custom quote, they accept. For service businesses with variable pricing.

Active installs100+100+ tier
Downloads · 30d147▲ +21.5% vs prev. 30d
Rating—0 reviews
Health score53/100Fair
All-time downloads3.1KSince Apr 2026
Support resolved—No recent threads
RequiresWP 6.2PHP 7.4+
Downloads · 7d37▲ +37% week over week
Our verdict

Use with caution

Appointly works, but test it on a staging site before relying on it in 2026. It runs on 100+ sites and was last updated 4 months ago, and scores 53/100 on our health check.

  • Small user base (100+ active installs)
  • Very few reviews so far

How does it stack up?

Side-by-side on installs, updates, ratings & support

Daily downloads

4812Jul 4Aug 17Oct 1
Yesterday9
Daily average (1y)19
Peak day335May 6, 2026
Last 12 months3.2K

Download spikes usually follow a new release — each site that auto-updates counts as a download.

Rankings

Where Appointly stands today

WordPress.org search rankings

Live position in the plugin search, top 100
KeywordPositionCompeting pluginsCategory
appointment >100 957 Best appointment plugins →
booking >100 2,093 Best booking plugins →
inquiry >100 910 Best inquiry plugins →
quote >100 2,839 Best quote plugins →
scheduling >100 2,065 Best scheduling plugins →

Version adoption

Share of active sites per release.

  • 2.255.9%
  • 2.044.1%

About Appointly

From the official readme · v2.2.0

Description

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:

  1. Customer picks a date or time slot and submits an inquiry
  2. You review the request in the admin dashboard
  3. You send a personalized quote with a price and personal note
  4. Customer accepts or declines via a link in the email
  5. Booking 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
  • Privacy policy: https://policies.google.com/privacy

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.

Installation

  1. Upload the appointly folder to /wp-content/plugins/
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Complete the setup wizard (Admin → Booking)
  4. Add [appointly_calendar] to any page or post, or use the “Booking Calendar” Gutenberg block
  5. Optionally configure SMTP under Booking → Settings → Email Delivery

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…

Changelog

2.2.0

  • NEW: Admin presence & feedback touchpoints. Appointly now has a proper admin home. The “Booking” menu gained a full submenu structure (Dashboard, Requests, Services, Settings) plus a “Help & Support” page and a colour-accented “Upgrade to Pro” entry at the bottom (the upgrade entry hides automatically when Appointly Pro is active).
  • NEW: Dashboard widget. A compact booking overview (open requests, awaiting response, bookings this month) now appears on the WordPress dashboard home, with a quick link to the requests list.
  • NEW: Help & Support page. One place for documentation, feedback, leaving a review, and reaching support by email.
  • Improved: The review prompt is now time-based. It appears 2, 7, or 30 days after installation (or as soon as you have 5+ requests, whichever comes first), only on Appointly’s own screens. New “Remind me later” snoozes to the next milestone; “Don’t show again” dismisses it for good. Existing installs are backfilled so the cadence applies to everyone.
  • Added: A discreet “leave a ★★★★★ review” link in the admin footer on Appointly screens.
  • Added: New filter appointly_is_pro_active so extensions can override Pro detection (defaults to whether Appointly Pro is installed).
  • Translations: 34 new admin strings added and translated across all bundled German locale variants. No DB migration, no Pro plugin breakage.
  • Compatibility: Tested up to WordPress 7.0.

2.1.1

  • Fixed: Service switcher on the front-end booking calendar no longer leaves a stale time-slot grid visible when the visitor changes from a timeslot service to a day-mode service. The appointly-cal__slots container is now hidden alongside the selectedSlot reset.
  • Positioning: Tags, short description and long description re-framed around the “quote workflow” terminology (was “offer workflow”). Clearer match for service businesses with variable pricing (lawyers, tradespeople, salons, photographers, consultants) and stronger keyword match in the WP.org plugin directory. Internal code identifiers (STATUS_OFFERED, send_offer, action appointly_booking_offered, email-template keys offer, admin_offer_accepted) are unchanged. No DB migration, no Pro plugin breakage, no translation churn.
  • New screenshots: Replaced the old 6-screenshot set with 8 screenshots showing the full quote workflow end-to-end. Day-mode + timeslot front-end, customer email, bookings overview, booking detail with action sidebar, admin email, customer accept page, service editor.
  • New banner: Updated the WP.org plugin-listing banner with “quote workflow” tagline + INQUIRIES / QUOTES / TIME SLOTS feature chips.

2.1.0

  • NEW: Timeslot Scheduling. Services can now be configured for time-of-day slot booking in addition to the existing day-mode. Per service, the admin sets the daily availability window (e.g. 09:00–17:00), the slot duration (e.g. 30 minutes), and an optional buffer between slots. The customer-facing calendar shows the day grid, then reveals a row of time-slot buttons once a day is picked. Conflict detection is per-slot with a SELECT ... FOR UPDATE row-lock around the insert so two concurrent customers cannot book the same slot.
  • Added: appointly_slot_configs columns (buffer_minutes) on the appointly_booking_services table. Existing booking_mode, slot_start, slot_end, slot_duration columns are now actively populated by Free (previously reserved for Pro).
  • Added: New REST endpoint GET /wp-json/appointly/v1/calendar/{service_id}/slots?date=YYYY-MM-DD returning the generated slot list with per-slot availability.
  • Added: Service Editor in admin gets a “Time Slots” section with a booking-mode toggle, time inputs, slot duration / buffer fields, and a live slot-count preview.
  • Added: Email placeholders {time}, {time_start}, {time_end} resolved from time_slot_start / time_slot_end. The existing {date} placeholder is automatically augmented to “10.05.2026 at 09:00 – 09:30” for timeslot bookings and stays “10.05.2026” for day-mode bookings. Default email templates are NOT changed so existing translations keep working unchanged.
  • Added: New filter appointly_booking_pre_save_validation (Pro extension point. Used by upcoming Pro 1.0.0 per-weekday availability editor).
  • Added: New filter appointly_slot_generation_strategy. Lets Pro 1.0.0 substitute the flat daily slot grid with a weekday-aware grid.
  • Changed: Calendar day-status aggregation in CalendarService::get_availability() now respects the booking mode. For timeslot services, a day is marked “booked” only when every slot is taken, and “free” as long as at least one slot is still bookable.
  • Changed: APPOINTLY_DB_VERSION bumped to 2.1.0 so existing installs pick up the new buffer_minutes column via dbDelta.
  • Note for translators: one new translatable string was added. “%1$s at %2$s”. Used to combine date and slot time in the {date} placeholder for timeslot bookings. All other default email template strings are unchanged.

2.0.12

  • Added: Two new default email templates registered in SettingsRepository::get_default_templates(). booking_reminder (sent to clients before their appointment) and admin_daily_digest (daily summary of confirmed bookings to the admin). Both are dormant in Free; they are activated by Appointly Pro 0.7.0 or later, which provides the cron-driven sending logic. No user-facing changes in Free 2.0.12 itself from these templates.
  • Added: APPOINTLY_DB_VERSION bumped to 2.0.12 so existing installs pick up the new template defaults via the standard upgrade path.
  • Changed: Dashboard Pro upgrade card now reflects the 8 features actually shipped in Appointly Pro 0.6.0 (custom branding, email template editor, custom service fields, service addons, recurring bookings, direct booking / auto-confirm, blocked dates, customer self-cancel). Previous card listed 12 features, most of which were still on the roadmap.
  • Changed: Customer self-cancel description now correctly notes the feature is currently scoped to direct-booking services (was listed without that qualifier). The offer-workflow path does not ship a self-cancel link in 0.6.0.
  • Changed: Pro CTA copy. “Join the waitlist →” → “Get Pro →”. The Lemon Squeezy checkout is now live.

2.0.11

  • Added: New filter hook appointly_email_template in SettingsRepository::get_email_template(). Free plugin behavior unchanged (no callback registered = defaults returned). Appointly Pro 0.6.0 registers a license-gated callback to inject admin-customized subject and body lines.

2.0.10

  • Fixed: Installer now adopts legacy wpbk_response_page_id when upgrading from pre-2.0.7 installs where the prefix migration may have been skipped. Prevents a duplicate “Booking Response” page in the frontend menu.
  • Fixed: Auto-created Booking Response page is also excluded from wp_list_pages() exclusion arrays (belt-and-suspenders on top of the existing get_pages filter) for broader block-theme compatibility.

Full changelog on WordPress.org →

Screenshots

Day-mode booking calendar on the front end. Customers pick a date and submit an inquiry, no fixed prices, no instant booking
Day-mode booking calendar on the front end. Customers pick a date and submit an inquiry…
Timeslot mode (new in 2.1.0). Customers pick a specific time within your daily availability window
Timeslot mode (new in 2.1.0). Customers pick a specific time within your daily…
Customer confirmation email. Branded, immediately after the inquiry, with date and slot time
Customer confirmation email. Branded, immediately after the inquiry, with date and slot…
Admin Bookings overview. Every inquiry with status (pending, offered, confirmed, declined) and one-click actions
Admin Bookings overview. Every inquiry with status (pending, offered, confirmed…
Booking detail view. Customer info, message, status, timeline, and Send Offer / Mark as Accepted / Decline actions
Booking detail view. Customer info, message, status, timeline, and Send Offer / Mark as…
Admin notification email. Every new inquiry pinged to the admin inbox with a one-click View in Admin link
Admin notification email. Every new inquiry pinged to the admin inbox with a one-click…
Customer confirmation page. One-click accept or decline from the offer email, with a clear confirmation back to the visitor
Customer confirmation page. One-click accept or decline from the offer email, with a…
Service editor. Title, description, image, lead time, base price, and the new day-mode / timeslot-mode toggle
Service editor. Title, description, image, lead time, base price, and the new day-mode /…

For developers

Is this your plugin? Show off the numbers.

Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.

Active installs badge Rating badge Health score badge

Best Appointly alternatives

All appointment plugins →
Alternatives
Rank Plugin Active installs Rating Updated Health
1 Easy Appointments Easy Appointments The easiest free WordPress booking plugin. Create beautiful appointment booking forms with… by Easy Appointments 10K+ ★★★★★★★★★★ 4.3 (131) 2 weeks ago 81
2 EMC – Embed Calendly Scheduling With Ease EMC – Embed Calendly Scheduling With Ease Embed Calendly scheduling features in WordPress and optimize your booking flow with custom… by Simpma 10K+ ★★★★★★★★★★ 4.8 (14) 1 week ago 73
3 Appointment Hour Booking – Booking Calendar Appointment Hour Booking – Booking Calendar Appointment Hour Booking is a plugin for creating booking forms for appointments with a… by codepeople 10K+ ★★★★★★★★★★ 4.9 (523) 3 days ago 94
4 Booking Package Booking Package Booking Package is the simplest solution for integrating an online appointment booking… by MASAAKI TANAKA 10K+ ★★★★★★★★★★ 4 (15) 4 days ago 70
5 Setmore Setmore The SetMore plugin enables your customers to book appointments with you online via your… by davidfull 4K+ ★★★★★★★★★★ 2.5 (4) 1 month ago 63
6 Easy Booking – WooCommerce Booking & Reservation Plugin Easy Booking – WooCommerce Booking & Reservation Plugin A simple and flexible WooCommerce booking & reservation plugin to manage dates… by Noushka 4K+ ★★★★★★★★★★ 4.7 (63) 2 weeks ago 88
7 MotoPress Appointment Booking MotoPress Appointment Booking MotoPress Appointment Booking makes it easy for time and service-based businesses to accept… by jetmonsters 2K+ ★★★★★★★★★★ 4.5 (21) 1 month ago 74
8 Cal.com Cal.com Embed Cal.com booking calendar in WordPress with custom UI and admin widget support. by Cal.com 2K+ ★★★★★★★★★★ 3.7 (3) 6 months ago 52
9 Appointment Booking Calendar Appointment Booking Calendar Appointment Booking Calendar is an appointment calendar for accepting online bookings from… by codepeople 1K+ ★★★★★★★★★★ 4.2 (92) 2 months ago 78
10 WPCal.io – Easy Meeting Scheduler WPCal.io – Easy Meeting Scheduler Your clients can quickly view your real-time availability and self-book their own slots… by revmakx 900+ ★★★★★★★★★★ 4.6 (20) 11 months ago 51

FAQ

Appointly: quick answers

Straight answers, pulled from live WordPress.org data.

Live data from WordPress.org · checked Oct 2, 2026

Is Appointly free?

Yes. Appointly is free to download and use from the official WordPress.org plugin directory.

Is Appointly safe to use in 2026?

Appointly works, but test it on a staging site before relying on it in 2026. It runs on 100+ sites and was last updated 4 months ago, and scores 53/100 on our health check.

How many websites use Appointly?

Appointly is active on 100+ WordPress websites and has been downloaded 3,144 times since it launched in April 2026. It was downloaded 147 times in the last 30 days.

Does Appointly work with WordPress 7.1?

Appointly is officially tested up to WordPress 7.0.6, while the latest release is 7.1.2. It may still work, but try it on a staging site first.

What PHP version does Appointly need?

Appointly requires PHP 7.4 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.

When was Appointly last updated?

The latest version, 2.2.0, was released on June 10, 2026 (4 months ago).

Who makes Appointly?

Appointly is developed and maintained by tscholene.

What are the best alternatives to Appointly?

The most popular alternatives to Appointly are Easy Appointments (10K+ installs), EMC (10K+ installs) and Appointment Hour Booking (10K+ installs).

Powered by PageForge

Want thousands of pages that rank like these? Build them in an afternoon.

This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.

  • CSV, Google Sheets & API data sources
  • AI content, schema & internal links per page
  • Works with Elementor, Gutenberg, Yoast & Rank Math
  • Free on WordPress.org — no credit card
Sarah is here to help!
Hi there! 👋 Need help finding what you're looking for?
Sarah
Sarah
Online & Ready to Help
Hi there! 👋 Need help finding what you're looking for?

We'll use this to continue our conversation

Just now ✓ Verified

Join 500+ SEO Pros Scaling Their Strategy

Get exclusive programmatic SEO tactics, AI content workflows, and the latest PageForge updates delivered straight to your inbox. Stay ahead of the algorithm.

We care about your data in our privacy policy.