This is an info Alert.
xpay
  • Product
    • Become Agent-Ready
      • Merchants
        Agentic Commerce — list your store across ChatGPT, Gemini, Claude & Perplexity
      • Publishers
        Monetize your content when AI agents read, cite, or train on it
      • SaaS Companies
        Treat AI agents as first-class customers with agent-priced checkout
    • Monetize
      • Monetize MCP Server
        Charge per call on any MCP server in 2 minutes
      • Monetize AI Agents
        Turn n8n, Zapier, Activepieces workflows into revenue
  • Resources
    • xpay Ecosystem
      • xpay✦ Tools
        1,000+ pay-per-use tools for your AI agents
      • Agent-Ready SaaS Index
        25,481 SaaS scored on agent-buyability
      • SaaS Pricing Database
        Pricing pages indexed across 1,000+ categories
      • Shopify Apps Directory
        Every Shopify app, with its full review history
      • WooCommerce Plugins Directory
        Every WooCommerce plugin, scored on how well it is maintained
      • GitHub
        Open source repositories
    • Agent Building
      • Agent Frameworks
        AI frameworks for building multi-agent systems
      • x402 Integration
        AI frameworks with x402 payment integration
      • Networks
        Blockchain networks supporting x402
    • Company
      • About xpay✦
        Our mission, products, and protocols
      • Blog
        Latest insights and updates
      • Docs
        Complete xpay documentation
  • Pricing
  • Blog
  • Docs
Get Started
  1. xpay✦ Commerce

  2. Directory

  3. WooCommerce plugins

  4. Appointment Booking Calendar & Scheduling – Zoe Booking

Appointment Booking Calendar & Scheduling – Zoe Booking

Beautiful appointment booking — calendar, staff, group bookings, online payments (Square) and a customer panel. Stripe, PayPal & WooCommerce in PRO.

100+ active installs
5.0
(1 ratings)
Free on WordPress.org
View on WordPress.orgSupport forum
Will this break my store?

What the WordPress.org registry says about keeping Appointment Booking Calendar & Scheduling – Zoe Booking running.

WordPress compatibility
Tested to 7.0.4 — 1 branch behind 7.1
Tested against the WordPress branch in use today.
Last updated
28 days ago
Requires PHP
7.4
Your host must be running at least this version.
Requires WordPress
6.0
Contributors
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.

100+ active installsWordPress.org reports installs in bands, not exact counts.
Maintenance & trust

Scored on how Appointment Booking Calendar & Scheduling – Zoe Booking is looked after — not on how many stores run it.

Well maintained
Not enough public feedback to put a confident number on this one. Little public feedback — score rests mostly on release activity. What we can see is below.

Maintenance
35 / 35
Updated 20 days ago.
WordPress compatibility
20 / 20
Tested to WP 7.0.4 (current).
Support responsiveness
Not enough data
Only 0 support thread(s) — not enough to judge.
Merchant satisfaction
10 / 15
5.0/5 across 1 rating(s).
Listing transparency
10 / 10
Provides: screenshots, description, homepage
1 of 5 measures had too little evidence to score. They are left out of the total rather than counted as zero — otherwise a plugin would be marked down for being small rather than for being poorly kept.Measured 2026-09-13 from the WordPress.org plugin registry.
Ratings

5.0

1 rating
5★1
4★0
3★0
2★0
1★0
Every rating WordPress.org holds for this plugin, not a sample. Written reviews live in the plugin's WordPress.org reviews forum.

Zoe Booking turns your WordPress site into a complete booking system in about five minutes. Add services and staff, drop the form on any page, and start taking appointments — free reservations, hosted online payments or the WooCommerce checkout.

Three ways to take bookings

  • Standalone — instant reservations (confirmed automatically or pending your approval). No other plugin needed.
  • Standalone — pay online — customers pay on a hosted checkout (Square built in; Stripe and PayPal come with the PRO add-on). The booking is created only after the payment is verified server-side; if the slot was taken while paying, the charge is refunded automatically.
  • WooCommerce (PRO add-on) — bookings ride through the cart and checkout as products, with prefilled customer details.

A booking form people enjoy using

  • Four friendly steps: service → date & time → details → confirm, with a live price summary.
  • Five layouts (sidebar with photo, numbered process timeline, top stepper, slim progress bar, icon rail) and five design skins (Classic, Minimal outline, Soft, Dark, Glass).
  • Every colour, corner radius, spacing and font control is free and fully editable — nothing about styling the form is locked.
  • Design presets (PRO add-on) — nine finished looks (Zoe Classic, Nordic, Midnight, Blush, Atelier, Clinic, Terracotta, Mono, Botanical) applied in one click, plus saving your own and carrying it to another site. What PRO sells here is not the ability to style the form — it is not having to.
  • Popup mode — show just a button, the form opens in an elegant modal.
  • Calendar days fill up visually as they get booked; time slots show remaining group spots.
  • An “Earliest available” button jumps to the first free slot — on a calendar where the next three weeks are full, that is the difference between a booking and a closed tab.
  • A decoy field and a per-visitor hourly cap keep automated submissions out of the calendar without a CAPTCHA or a third-party service.
  • Phone field with a country dial-code picker, validated email, optional customer notes.
  • Dedicated Elementor widget — layout, design skin, colours, typography, spacing and the sidebar photo are all editable straight in the Elementor panel. A Gutenberg block and the [ms_booking] shortcode render the same form everywhere else.
  • A service catalogue with [ms_services] or its own Elementor widget: your services as cards (photo, description, duration, price) in list, grid or large-card layouts, with optional category filters, search and sorting — and a Book button that opens the form on that service.
  • 12 or 24-hour time, any currency symbol and position, renameable terminology (Service → Class, Person → Coach…), single-person mode.

Run the business, not the admin

  • A visual month calendar with colour-coded bookings, day panel and one-click manual bookings.
  • Move an appointment straight from the day panel — pick a new date, pick from the free times. The booking keeps everything (id, customer, price, payment) and the customer gets a calendar invite for the new time. Moving is not bound by the minimum-notice rule: “the customer just called to say they’re running late” has to be answerable.
  • A bookings list tinted by status, with print-ready details sheets, one-click deletes and a CSV export of whatever your filters select.
  • Private notes on any booking — what you need to remember about a customer, never shown to them.
  • CSV import to bring an existing calendar (and its customers) over from a spreadsheet or another plugin, with a dry run before anything is written and no emails sent to anyone.
  • Optional conversion tracking: a completed booking is announced to your own analytics — GA4, Google Tag Manager or Meta Pixel — without Zoe loading a single third-party script.
  • A dashboard with 30-day revenue, bookings, average value and cancellation-rate charts.
  • Emails with .ics calendar invites, automatic reminders, and a QR code customers scan to drop the appointment into their phone’s calendar.
  • Built-in SMTP delivery — enter your mail provider’s server details under Settings → Notifications and every email the plugin sends goes through it. No separate SMTP plugin needed.
  • An optional GDPR consent checkbox on the booking form — your own text and privacy-page link, required server-side in every booking mode, with the moment of consent stored on the booking as proof.

Schedules that fit real people

  • A weekly schedule per person, the services they offer, and time off as single days or whole date ranges.
  • Special days — different hours on one particular date. A coach who is free on Tuesday this week and Saturday the next does not need a weekly grid that fits nobody: pick the date, set the hours. A special day also opens a day that is normally closed, and a day off always wins over it, so a holiday can never be reopened by accident.
  • Buffers before and after a service — the room needs resetting, you need to drive there. The gap is held clear on both sides, so the next slot never starts on top of it.
  • Booking rules you set once: a minimum notice (nothing inside the next N hours — no more “someone booked for ten minutes from now”), and a booking window (how far ahead the calendar opens, so nobody reserves a haircut for next April). Slots outside the rules are never shown, and a tampered request is refused server-side.
  • Free slots are worked out from the schedule, the service length (plus the gaps around it) and the bookings you already have — two customers can never grab the same slot, even if they pay at the very same moment.

Staff panel (PRO add-on)

Each team member gets their own small corner of the WordPress admin: a “today” strip (how many appointments, how many are done, what is next), their own appointments with quick status changes and rescheduling, their own month calendar, their own schedule — weekly hours, days off and special days — and a My Profile page for the name and photo customers see. No settings, no payments, no revenue, nobody else’s bookings. You create a WordPress account with the “Zoe Staff” role, link it on the Staff screen, and that is the whole setup.

You decide how much of that they get. Settings → What staff can do has a switch for each: statuses, rescheduling, managing their own hours, seeing the customer’s phone number, editing their own profile. All on by default; every one is enforced on the server, so a switch you turn off is genuinely closed rather than merely hidden.

Or put the panel on your own site. Paste [ms_staff_panel] on a page and the whole thing appears on the front end instead — same appointments, same rules, same accounts, with the sections as tabs and a sign-in form for anyone who is not logged in. The WordPress admin is a fussy place to send staff: WooCommerce keeps non-shop roles out of it, and so do security plugins, two-factor gates and “hide wp-admin” tools. A normal page sidesteps all of it. The admin screens stay where they are — this is a second door to the same room.

Earnings & commissions (PRO add-on)

What each person brought in over a period, and what you owe them: appointments, revenue, commission and what you keep, per person, for any date range — with a CSV export. Give each person a percentage or a fixed rate; a service with a different margin can override it for everyone who performs it. Revenue comes from the price stored with each booking, so changing a price later never rewrites past months, and cancelled or refunded bookings are excluded.

Zoe reports what is owed and stops there — it never moves money. Automatic payment splitting would mean running your own Stripe Connect platform, putting every team member through identity checks and carrying the liability for their payouts and chargebacks. For a three-chair salon that is an absurd amount of paperwork for something a bank transfer already solves.

Deposits, pay links & no-shows (PRO add-on)

Take part of the price online when the booking is made — a percentage or a fixed amount, global or per service — and collect the rest at the appointment. The price never changes: reports, invoices and commissions keep counting the appointment at its full value, and the summary, email and details sheet all show “deposit due now / balance due at the appointment” lines. The balance can be collected without anyone re-booking: Email payment link on the booking sheet sends the customer a secure link that opens a checkout for exactly what is still owed (it also settles bookings you typed in by hand), and the same “Pay” button appears on their customer panel. When someone simply never turns up, mark the booking No-show: the sheet shows how many of their past appointments that customer has missed, the new-booking email warns you when a repeat offender books again, and no-shows never count as revenue or staff commission.

Already using Amelia or Bookly? Move in with one click

Zoe finds them on your site and copies your services, staff and appointments across — free, because the thing standing between you and trying a booking plugin should not be retyping three years of appointments. Preview first: “Show me what would happen” changes nothing and reports exactly what it would create and skip. Your old plugin is only ever read from — never written to, altered or deleted — so you can compare the two and go back if you want. Imported appointments arrive silently, because nobody should be emailed a confirmation for a haircut they had last spring. Running it twice is safe: anything already moved in is recognised and left alone, so a large calendar comes over in several passes. Working hours are deliberately not copied — every plugin shapes them differently and a wrong guess would quietly change who is bookable when.

SMS & WhatsApp messages (PRO add-on)

Automatic confirmations, reminders and cancellation notices by SMS or WhatsApp — the cheapest thing you can do about no-shows, and it annoys nobody. Messages go through your own Twilio account, from your number: you pay Twilio’s list price directly and we add nothing on top. Most plugins in this market resell message credits; this is the same feature without the middleman. Write your own wording with {name}, {service}, {staff}, {date}, {time} and {site}, or use ours. Reminders ride the schedule you already set for reminder emails, and a customer who left only a phone number now gets one too. Numbers are tidied into international format before sending, whatever way the customer typed them, and a message that fails never affects the booking — the reason lands in its private note.

Zoom meetings per booking (PRO add-on)

A fixed meeting link works until two appointments overlap or run back to back — then everybody has the same URL and your 10:00 client can walk into the 09:00 session. Connect your own Zoom account once (Server-to-Server OAuth: three values, no app review, no redirect) and every booking gets its own meeting, in the confirmation email and the calendar invite. Moving an appointment moves its meeting; cancelling gives it back; each occurrence of a series gets its own. The meetings are created in your Zoom account and stay there. If Zoom is unreachable the booking still goes through — a customer is worth more than a link — and the failure is recorded on the booking for you to sort out.

Team appointments (PRO add-on)

Some jobs take two people: a four-hands massage, a cleaning crew, a workshop with an assistant. Set People required on the service and Zoe only offers the times when enough colleagues who perform that service are also free — then books the whole team. Customers pick one person and a time exactly as before, so nothing about the form changes; what changes is that they can never book an appointment you cannot staff. Everyone on it is properly busy — the appointment blocks each member’s calendar, feed and staff panel — while only the lead can move or re-status it, and moving it keeps the same crew. In the commission report the price is split equally between them, each at their own rate, so the total still equals what the appointment was worth.

Feature switchboard

Every capability has an on/off switch under Zoe Booking → Features, so the plugin stays exactly as light as you need: design presets, duration variants, taxes, online meeting links, service extras, group appointments, recurring series, per-staff calendar feeds, online payments, QR add-to-calendar, WhatsApp links and the customer panel.

Events & tickets (PRO add-on)

Events (workshops, openings, concerts) with a ticket pool, image and description — sold through any booking mode and displayed with the Events widget or [ms_events] shortcode in list, grid or standard layouts. An event can run on one date or on many: a workshop series stays a single event, customers choose their date at checkout, and every date sells its own seats. Events are not tied to anyone’s working hours, so a date in a quiet month needs no schedule juggling.

Customer panel

A front-end account area with passwordless magic-link sign-in: customers see their appointments and tickets, cancel online, download invoices, edit their details — and exercise their GDPR rights (export or permanently delete their data) themselves. [ms_customer_panel] or the Elementor widget.

Free vs Premium

The free plugin is complete on its own: unlimited services and staff, CSV import, private notes, conversion tracking, the full booking form (all layouts, skins and popup mode), the service catalogue, the visual month calendar, the bookings list with CSV export and the dashboard, weekly schedules with days off and special days, booking rules (minimum notice, booking window, buffers before and after), the “earliest available” shortcut, spam protection, Square online payments, email notifications and reminders, .ics calendar invites, QR add-to-calendar, per-staff calendar feeds, taxes, duration variants, service extras, group appointments, recurring series, WhatsApp links, online-meeting links, the customer panel and full translations.

Zoe Booking PRO (a separate add-on, not included in this plugin) adds: the design-preset gallery and saving your own, the staff panel, the earnings & commissions report, deposits, pay-by-link balance collection, no-show tracking, Stripe & PayPal payments, WooCommerce checkout, discount coupons, waiting lists, multiple locations, invoices, refunds and events & tickets.

External services

Zoe Booking runs entirely on your own site and stores all data in your WordPress database. It connects to external services only when you enable the corresponding feature and add your own API keys:

  • Stripe (api.stripe.com) — when Stripe is your payment gateway: creating checkout sessions, verifying payments and issuing refunds. Data sent: booking amount, currency, item name and the customer’s email. Terms, Privacy.
  • PayPal (api-m.paypal.com) — when PayPal is your gateway: creating and capturing orders and issuing refunds. Data sent: amount, currency, item name. Terms, Privacy.
  • Square (connect.squareup.com) — when Square is your gateway: creating payment links, …

Do I need WooCommerce?

No. Standalone mode works on its own, and online payments (Stripe / PayPal / Square) work without WooCommerce too. Selling bookings through the WooCommerce cart and checkout is an optional mode available in Zoe Booking PRO.

Does it work with Elementor?

Yes — Zoe Booking ships a dedicated Elementor widget with full Style controls: layouts, design skins, colours, typography and spacing are all configurable per widget, live in the editor. No Elementor? The Gutenberg block and the [ms_booking] shortcode render the exact same form.

How do online payments stay safe?

The reservation is only written after the gateway confirms the payment server-side. Availability is re-checked at that moment — if the slot was taken while the customer was paying, the charge is refunded automatically.

Can customers manage their own bookings?

Yes — enable the Customer Panel feature. Customers sign in with a magic email link (no passwords, no WordPress accounts), see their appointments and tickets, cancel, download invoices and edit or delete their personal data.

Can my team see their own bookings without seeing everything else?

Yes — that is the Staff panel (PRO). Give the person a WordPress account with the “Zoe Staff” role and link it on the Staff screen. They then see only their own appointments and calendar, and manage their own hours, days off and special days. Settings, payments, revenue and everyone else’s bookings stay out of reach.

What if someone works different hours on one particular date?

Add a special day on the Staff screen: a date with its own start and end time. It replaces the weekly hours for that date and can also open a day that is normally closed. Days off always win, so a holiday cannot be reopened by mistake.

Can several people share one time slot?

Yes — set a group capacity on the service. Slots show the remaining spots and prices are per person.

Are reminders sent automatically?

Yes, when enabled in Settings. They run on WordPress cron, so they fire on site traffic; for precise timing use a real system cron.

My emails don’t arrive — do I need an SMTP plugin?

No. Zoe has SMTP delivery built in: under Settings → Notifications, switch it on and enter the host, port, username and password from your email provider. Every email the plugin sends then goes through that account. (On a localhost test site, a mail catcher like MailHog is the easiest way to see outgoing mail.)

Is it translation-ready?

Fully — gettext throughout (text domain zoebooking), and it ships with complete Dutch, French, German, Italian, Polish and Spanish translations out of the box. The Terminology settings additionally allow quick renames (Service → Class…) without touching translation files.

Does uninstalling remove my data?

Options are cleaned up. Bookings, services, staff and events are only deleted if you tick “Delete all data on uninstall” in Settings first.

Categories
Subscriptions & bookingsPage builders & blocks
Plugin details
Version1.8.1
Last updated2026-08-24 12:31am GMT
Added2026-07-25
Requires WordPress6.0
Tested up to7.0.4
Requires PHP7.4

Tags on WordPress.org
appointments
booking
calendar
elementor
woocommerce
Alternatives
Other plugins in the same categories.
Subscriptions for WooCommerce with Stripe Recurring Payments
1K+ installs
4.9(25)
Eventin – Event Calendar, Tickets, Registration, Booking & WooCommerce
10K+ installs
4.7(399)
Event Booking Manager for WooCommerce – Sell Tickets, Event Registration, RSVP & Event Calendar
7K+ installs
4.5(166)
Easy Booking – WooCommerce Booking & Reservation Plugin
4K+ installs
4.7(63)
Milo Subscriptions – Subscriptions for WooCommerce and Recurring Payments
100+ installs
5.0(7)
Subscriptions for WooCommerce
10K+ installs
4.5(179)
xpay

The agent-readiness stack for the AI shopping era — helping merchants, publishers and SaaS companies get discovered, cited and transacted with by ChatGPT, Perplexity, Claude, Gemini and the custom shopping agents underneath them.

CompanyAgentically Inc. (d/b/a xpay✦)1875 Mission St, Ste 103San Francisco, CA 94103, United Stateslegal@xpay.sh · privacy@xpay.sh
or ask your AI app
Company
About xpayAgency PartnersGitHubDiscordllms.txt
DevelopersDocumentationAPI ReferenceSDKs & LibrariesQuickstart GuideOpenAPI Spec
Stay Updated
Occasional product updates and agent-readiness playbooks from xpay (Agentically Inc.) — typically a couple of emails a month. Double opt-in: we email you a link to confirm before sending anything, and every email has one-click unsubscribe.
Social
  • For Publishers
    • News
    • Finance
    • Dev / Tech
    • Travel
    • View all verticals
  • Agent-Ready Index
    • SaaS Pricing Database
    • Agent-Ready SaaS Index
    • Verified band
    • AI & ML
    • Sales & CRM
  • Products
    • Pricing Widget
    • Monetize MCP Server
    • Paywall
    • Smart Proxy
    • Monetize AI Agents
    • xpay x402 Facilitator
  • Agentic Economy
    • Timeline
    • Resources
    • Manifesto
    • Stack
  • Agentic Commerce
    • Get listed
    • ChatGPT Ads
    • How ChatGPT Ads work
    • ChatGPT Ads · Apparel
    • ChatGPT Ads · Health & Beauty
    • xpay Listings · Amazon + Google
    • Pricing
    • Free audit
    • Shopify
    • WooCommerce
    • Apparel & Accessories
    • Health & Beauty
    • Overview
  • Commerce Index
    • Shopify apps directory
    • Agentic Commerce Ready Index
    • Methodology
    • Pet brands · WooCommerce
    • Pet brands · Shopify
  • Marketplace
    • 🛍️ xpay.deals — agentic storefront for deals
  • Protocols
    • Overview
    • x402
    • MPP
    • UCP
    • ACP
    • AP2
    • TAP
    • A2A
  • Agent Frameworks
    • Overview
    • LangChain
    • CrewAI
    • Claude MCP
    • AutoGPT
    • LangChain vs Mastra
    • LangGraph vs Pydantic AI
  • Company
    • About xpay
    • Blog
    • Docs
    • GitHub
  • Free prompts
    • Ecommerce prompts
    • Email marketing prompts
    • Product description prompts
    • Facebook ad prompts
    • Skincare prompts
    • Supplement prompts
    • Wine prompts
    • Electronics prompts

© 2025 Agentically Inc. All rights reserved.
Privacy PolicyTerms of UseAcceptable Use Policy