Ways to book and schedule appointments and calendar events within your WordPress website.
Published September 18, 2026. Install counts, ratings, and feature tiers come from WordPress.org and GitHub as of September 2026 and change often; verify on the linked pages before deciding.
There are three ways to do this. Pick the architecture before the product.
| Architecture | What it means | Trade-off |
|---|---|---|
| WordPress plugin | Bookings stored in the WordPress database | Data stays on the site, no per-seat fees, but calendar sync and payments are usually paid tiers |
| Self-hosted open source | Run a scheduling app on your own server and embed it | No license cost and full control, but you own uptime, updates, and security |
| Hosted tool | A SaaS scheduler embedded by script or iframe | Fastest setup and the best calendar sync, but booking data lives with a vendor and the embed loads third-party scripts |
Quick Picks
| Need | Pick |
|---|---|
| Consultant or agency booking calls | Simply Schedule Appointments or FluentBooking |
| B2B demo requests routed to a sales team | Cal.com or HubSpot Meetings |
| Salon, clinic, multi-staff services with payments | LatePoint or Amelia |
| Classes, tours, activities sold through WooCommerce | Booking Activities |
| Property or equipment rentals by the day | Booking Calendar |
| Zero third-party scripts, data must stay in WordPress | Simply Schedule Appointments |
| Self-host for free and comfortable with servers | Easy!Appointments or Cal.diy |
Free WordPress Plugins
Plugins where the free tier is usable in production on its own.
| Plugin | Active installs | Rating (reviews) | Free tier includes | Paid adds |
|---|---|---|---|---|
| Simply Schedule Appointments | 50,000+ | 5.0 (155) | Unlimited calendars, notifications, blackout dates, Elementor/Beaver/Divi, The Events Calendar | Google Calendar sync, team and resource booking, Stripe/PayPal, Zoom/Meet, webhooks, Gravity/Formidable |
| Appointment Hour Booking | 10,000+ | 4.9 (523) | Unlimited calendars, services with duration and price, capacity, email, CSV, iCal | Form builder, payments (PayPal, Stripe, Mollie, others), Google Calendar API, SMS, Zoom |
| Booking Activities | 10,000+ | see page | Drag and drop event calendars, booking forms, WooCommerce integration, iCal and CSV export | Add-ons: prices and credits, notification pack, waiting list, advanced forms |
| Bookly | 60,000+ | 4.4 (584) | Up to 5 services, email and SMS, unlimited forms | Pro add-on required for payments, unlimited staff and services, Google Calendar, and every other add-on |
Simply Schedule Appointments
- Only plugin in this guide with a 5.0 average and no one-star reviews
- Free tier covers one-person scheduling completely; paid editions add Google Calendar sync, team booking, and payments
- Accessibility is a stated design goal and the vendor documents HIPAA-capable configurations
- Paid editions support Google Analytics and Tag Manager conversion tracking
- Changelog shows weekly security hardening through 2026 (CSRF, SQL injection, XSS fixes), which matters for a plugin that touches payments
- wordpress.org/plugins/simply-schedule-appointments
Appointment Hour Booking
- By CodePeople; start times are calculated from open hours and service duration, so no double booking
- Free version allows unlimited calendars, which several reviewers cite as the reason they chose it over competitors that cap the free tier at one
- Services can have capacity above one for group sessions
- Commercial versions add a visual form builder, payment processing, and add-ons for Google Calendar API, SMS, Zoom, reminders, and cancellation
- Minimum WordPress 5.3 and no PHP minimum listed; the changelog is terse one-line entries, so expect to test rather than read release notes
- wordpress.org/plugins/appointment-hour-booking
Booking Activities
- Built for activity providers: sports, tours, courses, workshops. You drag activities onto a calendar and customers pick events
- Deep WooCommerce integration: calendars attach to products, cart expiration releases held slots, order status and booking status stay in sync, refunds via coupon or gateway
- Can run without WooCommerce using a shortcode form
- Source on GitHub under GPL-3.0 with 112 releases; last release July 2026
- Requires MySQL 5.7.22+ or MariaDB 10.5.4+; lists PHP 5.6 as minimum
- Paid add-ons for per-event pricing, SMS and push reminders, waiting lists, and custom form fields
- github.com/bookingactivities/booking-activities
Bookly
- Longest-running option and updated frequently
- Free version is deliberately limited: 5 services, no online payments, no add-ons
- Pro is a required base add-on; most features (locations, deposits, extras, coupons, custom fields, recurring) are separate paid add-ons on top, so total cost climbs
- Lists PHP 5.3.7 as the minimum, which signals a legacy codebase
- wordpress.org/plugins/bookly-responsive-appointment-booking-tool
Easy!Appointments
- Open-source PHP scheduler (CodeIgniter, MySQL, PHP 8.2+) that runs on the same LAMP stack as WordPress, with 4.3k GitHub stars and 12 years of development
- Features: providers, services, working plans, Google Calendar sync, email notifications, multi-language, REST API with an OpenAPI spec
- Install: upload the folder, rename
config-sample.php, run the setup wizard - The WordPress plugin is a thin connector that iframes your Easy!Appointments instance into a page with
[easyappointments] - Premium features and paid support are sold separately
- github.com/alextselegidis/easyappointments and github.com/alextselegidis/easyappointments-wordpress
Cal.diy
- The
calcom/cal.comGitHub repo now redirects tocalcom/cal.diy, a community edition with all enterprise and commercial code removed. 48.9k stars, MIT, no license key, no hosted version - Removed versus Cal.com: Teams, Organizations, Insights, Workflows, SSO. Round robin and routing forms are therefore gone
- The README states it is “strictly recommended for personal, non-production use” and points commercial users to Cal.com’s hosted or on-prem product
- Requires Node 18+ and PostgreSQL 13+; Docker Compose, Railway, Northflank, Render, and Elestio deploy paths are documented. Vercel needs a Pro plan
- Calendar sync requires creating your own Google Cloud, Microsoft Graph, and Zoom app credentials
- github.com/calcom/cal.diy
Paid Plugins
Plugins where the free tier is a trial and the paid tier is the product.
| Plugin | Active installs | Rating (reviews) | Free tier includes | Paid adds |
|---|---|---|---|---|
| LatePoint | 100,000+ | 4.9 (103) | Unlimited appointments, Stripe, PayPal, Razorpay, events, customer dashboard | Multiple staff and locations, Google/Outlook/Apple sync, SMS, recurring, group bookings, rescheduling |
| Amelia | 90,000+ | 4.6 (790) | Appointments and events, Square payments, email and SMS, Elementor/Divi/blocks | Multiple employees, Google/Outlook sync, Zoom/Meet, Stripe/PayPal, custom fields, reminders |
| Booking Calendar | 40,000+ | 4.8 (657) | Full-day and time-slot bookings, one resource, form builder, Google Calendar import, .ics sync | Multiple resources, payments, seasonal pricing, capacity, availability search, multi-user |
| FluentBooking | 20,000+ | 4.7 (46) | One-on-one meetings, unlimited hosts, email notifications, Fluent Forms | Group, round robin, calendar sync, Stripe/PayPal, Zoom/Meet/Teams, SMS, webhooks |
| BookingPress | N/A | see below | Closed on WordPress.org | Sold direct only |
LatePoint
- Highest install count and rating in the category, with releases most weeks
- Free tier takes payments through Stripe, PayPal, and Razorpay, which no other plugin here offers free
- Events module added September 2026: workshops and ticketed classes run through the same checkout as appointments
- Google Calendar sync is Pro only and runs through LatePoint’s own relay service, so sync traffic passes through their servers
- Ships an MCP server endpoint for AI clients (requires WordPress 6.9+ and the MCP Adapter plugin)
- Installation note from the plugin: disable caching on the customer dashboard page
- wordpress.org/plugins/latepoint
Amelia
- Most reviewed plugin here, with 58 one-star reviews among 790, so read the critical ones for your use case
- Square payments are free; Stripe, PayPal, WooCommerce, Mollie, and Razorpay are paid
- Lite caps employees and locks out custom notifications, reminders, and multilingual support
- Strong event booking: tickets, capacity, recurring events, public event pages
- AI assistant support via the WordPress Abilities API and MCP adapter
- wordpress.org/plugins/ameliabooking
Booking Calendar
- By wpdevelop, one of the oldest booking plugins in the directory, now with a drag and drop form builder and a setup wizard
- Different model from the others: built around full-day and date-range reservations (rentals, properties) with time-slot appointments as a second mode
- Free tier handles one booking resource, Google Calendar import, and .ics import and export for syncing with Airbnb, VRBO, and similar
- Paid editions are tiered: Personal (multiple resources), Business Small (payments, changeover days), Business Medium (seasonal pricing, deposits), Business Large (capacity, search), MultiUser
- Booking data stays in the WordPress database; the vendor states nothing is sent to their servers
- Lists PHP 5.6 as the minimum
- wordpress.org/plugins/booking
FluentBooking
- The closest Calendly-style experience inside WordPress, from WPManageNinja (Fluent Forms, FluentCRM)
- Free tier is limited to one-on-one meetings; round robin, group, and calendar sync all need Pro
- Best choice when the site already runs FluentCRM or Fluent Forms, since booking data flows into automations without a connector
- Ships an MCP server for AI agents
- One 2026 review reports round robin and calendar sync problems; the vendor’s monthly plan is a cheap way to verify before a lifetime license
- wordpress.org/plugins/fluent-booking
BookingPress
- Closed on WordPress.org as of February 1, 2025 for a guideline violation; the directory listing shows no download and no active install count
- Still sold directly by the vendor, but a plugin removed from the directory loses automatic update delivery for free users and should be treated as a risk until it is reinstated
- Directory reviews before closure cite bugs (past-date bookings, ignored buffer times) and slow support
- wordpress.org/plugins/bookingpress-appointment-booking
Third-party Hosted Tools
Calendly
- The incumbent; inline, popup, and badge embeds
- Team features, routing, and CRM integrations sit on higher tiers priced per seat
Cal.com
- Open-source origin with a hosted product; the commercial platform is now hosted or on-prem enterprise only (see Cal.diy above for self-hosting)
- Official WordPress plugin: 2,000+ installs, 3.7 rating from 3 reviews. Shortcodes
[cal url="/username/meetingid" type=1]for inline,type=2for a popup button,[cal_custom]for theme, prefill, and UTM options - Two of the three directory reviews in 2026 report the plugin not working, so test on staging; the Cal.com embed script pasted into an HTML block works without the plugin
- Strengths: routing forms, round robin, team scheduling, API
- wordpress.org/plugins/cal-com
Other hosted options
- SavvyCal: lets the booker overlay their own calendar and supports ranked time preferences
- HubSpot Meetings: best fit if the site already runs on HubSpot CRM, since bookings land natively in the CRM
- Chili Piper: qualifies and routes inbound leads before scheduling; built for sales teams and priced like it
- Acuity Scheduling (Squarespace): strong intake forms and built-in payments, aimed at service businesses
- TidyCal: $29 one-time payment, no subscription
- Microsoft Bookings: included with Microsoft 365
- Google Calendar appointment schedules: Business Starter gets one booking page; Business Standard and above get multiple booking pages, Stripe payments, and email reminders. Not available on Frontline, Essentials, or legacy plans
Implementation Notes
- Third-party scripts: hosted embeds load scripts from the vendor’s domain and often set cookies. With California wiretap claims targeting tags that fire before consent, gate the embed behind consent or use a native plugin
- Conversion tracking: hosted tools fire events inside an iframe, so GTM cannot see them directly. Cal.com and Calendly post messages to the parent page that a GTM listener can pick up; native plugins like SSA and LatePoint expose conversion tracking settings or hooks
- Caching: exclude customer dashboard and booking confirmation pages from page cache; LatePoint calls this out explicitly
- Cron: reminders and scheduled notifications rely on WP-Cron. On low-traffic sites or hosts that disable it, set a real cron to hit
wp-cron.php - Email: every native plugin depends on WordPress mail. Route through an SMTP plugin or a transactional API before launch
- Calendar sync relays: LatePoint routes Google Calendar sync through its own relay. If that matters for a client’s privacy posture, pick a plugin that connects with the client’s own OAuth app (FluentBooking, SSA, Amelia) or a hosted tool
- PHP version: Bookly lists 5.3.7, Booking Activities and Booking Calendar list 5.6, FluentBooking, SSA, Amelia, and LatePoint list 7.4, Easy!Appointments requires 8.2
- Lifetime licenses: several vendors sell them. Buy the monthly or annual plan first and confirm the specific feature you need (round robin, sync) works on your stack