{"id":340629,"date":"2026-07-25T01:29:17","date_gmt":"2026-07-25T01:29:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/zoe-booking\/"},"modified":"2026-07-25T02:35:00","modified_gmt":"2026-07-25T02:35:00","slug":"zoebooking","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/zoebooking\/","author":23532699,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.1","stable_tag":"1.2.1","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Zoe Booking","header_author":"Inflow Surge LLC","header_description":"Beautiful appointment booking \u2014 calendar, staff, online payments (Square) and a customer panel. Stripe, PayPal, WooCommerce checkout, events & more in PRO.","assets_banners_color":"f1b8b2","last_updated":"2026-07-25 02:35:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/zoebooking.com","header_author_uri":"https:\/\/inflowsurge.co","rating":0,"author_block_rating":0,"active_installs":0,"downloads":49,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"inflowsurge","date":"2026-07-25 01:28:49"},"1.2.1":{"tag":"1.2.1","author":"inflowsurge","date":"2026-07-25 02:35:00"}},"upgrade_notice":{"1.1.0":"<p>First public release. Database upgrades run automatically on the first admin visit.<\/p>","0.3.0":"<p>Major feature release. Database upgrades run automatically on the first admin visit.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3622050,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3622050,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3622050,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3622050,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"ms-booking\/form":{"name":"ms-booking\/form","title":"Zoe Booking Form"}},"tagged_versions":["1.2.0","1.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3622050,"resolution":"1","location":"assets","locale":"","width":2560,"height":1600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3622050,"resolution":"2","location":"assets","locale":"","width":2200,"height":3698},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3622050,"resolution":"3","location":"assets","locale":"","width":2200,"height":2176},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3622050,"resolution":"4","location":"assets","locale":"","width":2200,"height":14150},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3622050,"resolution":"5","location":"assets","locale":"","width":2200,"height":1456},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3622050,"resolution":"6","location":"assets","locale":"","width":2200,"height":1262},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3622050,"resolution":"7","location":"assets","locale":"","width":2200,"height":4676},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3622050,"resolution":"8","location":"assets","locale":"","width":2200,"height":2832}},"screenshots":{"1":"The customer-facing booking form \u2014 pick a service, staff, date and time in a clean, mobile-friendly flow.","2":"At-a-glance dashboard \u2014 today's bookings, revenue, cancellation rate and your most-booked services.","3":"Month calendar with every booking colour-coded by status \u2014 click any day for the full agenda.","4":"Powerful bookings list \u2014 search, filter, change status and export to CSV in one place.","5":"Define services \u2014 a duration, price and category for everything customers can book.","6":"Give each team member a weekly schedule, assigned services and time off.","7":"Turn plugin capabilities on and off to match how you work.","8":"Configure booking mode, payments, notifications, terminology and brand colours."}},"plugin_section":[],"plugin_tags":[8132,269,416,76538,286],"plugin_category":[40,45],"plugin_contributors":[273243],"plugin_business_model":[],"class_list":["post-340629","plugin","type-plugin","status-publish","hentry","plugin_tags-appointments","plugin_tags-booking","plugin_tags-calendar","plugin_tags-elementor","plugin_tags-woocommerce","plugin_category-calendar-and-events","plugin_category-ecommerce","plugin_contributors-inflowsurge","plugin_committers-inflowsurge"],"banners":{"banner":"https:\/\/ps.w.org\/zoebooking\/assets\/banner-772x250.png?rev=3622050","banner_2x":"https:\/\/ps.w.org\/zoebooking\/assets\/banner-1544x500.png?rev=3622050","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/zoebooking\/assets\/icon-128x128.png?rev=3622050","icon_2x":"https:\/\/ps.w.org\/zoebooking\/assets\/icon-256x256.png?rev=3622050","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/zoebooking\/assets\/screenshot-1.png?rev=3622050","caption":"The customer-facing booking form \u2014 pick a service, staff, date and time in a clean, mobile-friendly flow."},{"src":"https:\/\/ps.w.org\/zoebooking\/assets\/screenshot-2.png?rev=3622050","caption":"At-a-glance dashboard \u2014 today's bookings, revenue, cancellation rate and your most-booked services."},{"src":"https:\/\/ps.w.org\/zoebooking\/assets\/screenshot-3.png?rev=3622050","caption":"Month calendar with every booking colour-coded by status \u2014 click any day for the full agenda."},{"src":"https:\/\/ps.w.org\/zoebooking\/assets\/screenshot-4.png?rev=3622050","caption":"Powerful bookings list \u2014 search, filter, change status and export to CSV in one place."},{"src":"https:\/\/ps.w.org\/zoebooking\/assets\/screenshot-5.png?rev=3622050","caption":"Define services \u2014 a duration, price and category for everything customers can book."},{"src":"https:\/\/ps.w.org\/zoebooking\/assets\/screenshot-6.png?rev=3622050","caption":"Give each team member a weekly schedule, assigned services and time off."},{"src":"https:\/\/ps.w.org\/zoebooking\/assets\/screenshot-7.png?rev=3622050","caption":"Turn plugin capabilities on and off to match how you work."},{"src":"https:\/\/ps.w.org\/zoebooking\/assets\/screenshot-8.png?rev=3622050","caption":"Configure booking mode, payments, notifications, terminology and brand colours."}],"raw_content":"<!--section=description-->\n<p>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 \u2014 free reservations, hosted online payments or the WooCommerce checkout.<\/p>\n\n<p><strong>Three ways to take bookings<\/strong><\/p>\n\n<ul>\n<li><strong>Standalone<\/strong> \u2014 instant reservations (confirmed automatically or pending your approval). No other plugin needed.<\/li>\n<li><strong>Standalone \u2014 pay online<\/strong> \u2014 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.<\/li>\n<li><strong>WooCommerce<\/strong> (PRO add-on) \u2014 bookings ride through the cart and checkout as products, with prefilled customer details.<\/li>\n<\/ul>\n\n<p><strong>A booking form people enjoy using<\/strong><\/p>\n\n<ul>\n<li>Four friendly steps: service \u2192 date &amp; time \u2192 details \u2192 confirm, with a live price summary.<\/li>\n<li>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).<\/li>\n<li>Popup mode \u2014 show just a button, the form opens in an elegant modal.<\/li>\n<li>Calendar days fill up visually as they get booked; time slots show remaining group spots.<\/li>\n<li>Phone field with a country dial-code picker, validated email, optional customer notes.<\/li>\n<li>Dedicated Elementor widget \u2014 layout, design skin, colours, typography, spacing and the sidebar photo are all editable straight in the Elementor panel. A Gutenberg block and the <code>[ms_booking]<\/code> shortcode render the same form everywhere else.<\/li>\n<li>12 or 24-hour time, any currency symbol and position, renameable terminology (Service \u2192 Class, Person \u2192 Coach\u2026), single-person mode.<\/li>\n<\/ul>\n\n<p><strong>Run the business, not the admin<\/strong><\/p>\n\n<ul>\n<li>A visual month calendar with colour-coded bookings, day panel and one-click manual bookings.<\/li>\n<li>A bookings list tinted by status, with print-ready details sheets and one-click deletes.<\/li>\n<li>A dashboard with 30-day revenue, bookings, average value and cancellation-rate charts.<\/li>\n<li>Emails with .ics calendar invites, automatic reminders, and a QR code customers scan to drop the appointment into their phone's calendar.<\/li>\n<\/ul>\n\n<p><strong>Feature switchboard<\/strong><\/p>\n\n<p>Every capability has an on\/off switch under Zoe Booking \u2192 Features, so the plugin stays exactly as light as you need: 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.<\/p>\n\n<p><strong>Events &amp; tickets (PRO add-on)<\/strong><\/p>\n\n<p>One-off events (workshops, openings, concerts) with a ticket pool, image and description \u2014 sold through any booking mode and displayed with the Events widget or <code>[ms_events]<\/code> shortcode in list, grid or standard layouts.<\/p>\n\n<p><strong>Customer panel<\/strong><\/p>\n\n<p>A front-end account area with passwordless magic-link sign-in: customers see their appointments and tickets, cancel online, download invoices, edit their details \u2014 and exercise their GDPR rights (export or permanently delete their data) themselves. <code>[ms_customer_panel]<\/code> or the Elementor widget.<\/p>\n\n<p><strong>Free vs Premium<\/strong><\/p>\n\n<p>The free plugin is complete on its own: unlimited services and staff, the full booking form (all layouts, skins and popup mode), the visual month calendar, the bookings list and the dashboard, 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.<\/p>\n\n<p>Zoe Booking PRO (a separate add-on, not included in this plugin) adds: Stripe &amp; PayPal payments, WooCommerce checkout, discount coupons, waiting lists, multiple locations, invoices, refunds and events &amp; tickets.<\/p>\n\n<h3>External services<\/h3>\n\n<p>Zoe Booking runs entirely on your own site and stores all data in your WordPress database. It connects to external services <strong>only<\/strong> when you enable the corresponding feature and add your own API keys:<\/p>\n\n<ul>\n<li><strong>Stripe<\/strong> (api.stripe.com) \u2014 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. <a href=\"https:\/\/stripe.com\/legal\">Terms<\/a>, <a href=\"https:\/\/stripe.com\/privacy\">Privacy<\/a>.<\/li>\n<li><strong>PayPal<\/strong> (api-m.paypal.com) \u2014 when PayPal is your gateway: creating and capturing orders and issuing refunds. Data sent: amount, currency, item name. <a href=\"https:\/\/www.paypal.com\/legalhub\/home\">Terms<\/a>, <a href=\"https:\/\/www.paypal.com\/privacy\">Privacy<\/a>.<\/li>\n<li><strong>Square<\/strong> (connect.squareup.com) \u2014 when Square is your gateway: creating payment links, verifying orders and issuing refunds. Data sent: amount, currency, item name, buyer email. <a href=\"https:\/\/squareup.com\/legal\/general\/ua\">Terms<\/a>, <a href=\"https:\/\/squareup.com\/legal\/general\/privacy\">Privacy<\/a>.<\/li>\n<\/ul>\n\n<p>The optional WhatsApp feature only renders standard <code>wa.me<\/code> links \u2014 no data is transmitted until the user taps the link.<\/p>\n\n<ul>\n<li><strong>zoebooking.com<\/strong> (our own licensing service) \u2014 used only for the optional PRO license. Activating or re-checking a PRO license key sends that key and your site's hostname to zoebooking.com to verify it; nothing is sent while no key is entered, and no third-party script is ever loaded. The \"Get PRO\" admin page simply links to our website. <a href=\"https:\/\/zoebooking.com\/terms.html\">Terms<\/a>, <a href=\"https:\/\/zoebooking.com\/privacy.html\">Privacy<\/a>.<\/li>\n<\/ul>\n\n<p>Nothing else calls home: the QR code renderer and the flag font ship inside the plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>zoebooking<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate the plugin \u2014 a Zoe Booking menu with a welcome dashboard appears.<\/li>\n<li>Add a Service and a Staff member (with a weekly schedule).<\/li>\n<li>Put the form on a page: the Zoe Booking Elementor widget, the Gutenberg block or <code>[ms_booking]<\/code>.<\/li>\n<li>Pick your booking mode under Zoe Booking \u2192 Settings and flip on any features you need.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20woocommerce%3F\"><h3>Do I need WooCommerce?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%3F\"><h3>Does it work with Elementor?<\/h3><\/dt>\n<dd><p>Yes \u2014 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 <code>[ms_booking]<\/code> shortcode render the exact same form.<\/p><\/dd>\n<dt id=\"how%20do%20online%20payments%20stay%20safe%3F\"><h3>How do online payments stay safe?<\/h3><\/dt>\n<dd><p>The reservation is only written after the gateway confirms the payment server-side. Availability is re-checked at that moment \u2014 if the slot was taken while the customer was paying, the charge is refunded automatically.<\/p><\/dd>\n<dt id=\"can%20customers%20manage%20their%20own%20bookings%3F\"><h3>Can customers manage their own bookings?<\/h3><\/dt>\n<dd><p>Yes \u2014 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.<\/p><\/dd>\n<dt id=\"can%20several%20people%20share%20one%20time%20slot%3F\"><h3>Can several people share one time slot?<\/h3><\/dt>\n<dd><p>Yes \u2014 set a group capacity on the service. Slots show the remaining spots and prices are per person.<\/p><\/dd>\n<dt id=\"are%20reminders%20sent%20automatically%3F\"><h3>Are reminders sent automatically?<\/h3><\/dt>\n<dd><p>Yes, when enabled in Settings. They run on WordPress cron, so they fire on site traffic; for precise timing use a real system cron.<\/p><\/dd>\n<dt id=\"is%20it%20translation-ready%3F\"><h3>Is it translation-ready?<\/h3><\/dt>\n<dd><p>Fully \u2014 gettext throughout (text domain <code>zoebooking<\/code>), 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 \u2192 Class\u2026) without touching translation files.<\/p><\/dd>\n<dt id=\"does%20uninstalling%20remove%20my%20data%3F\"><h3>Does uninstalling remove my data?<\/h3><\/dt>\n<dd><p>Options are cleaned up. Bookings, services, staff and events are only deleted if you tick \u201cDelete all data on uninstall\u201d in Settings first.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>The \"Get support\" button now opens your email client (hello@zoebooking.com) \u2014 quicker help, no separate ticket portal.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>The plugin no longer bundles any third-party SDK \u2014 a fully self-contained install. Licensing &amp; checkout for the separate PRO version now run on Lemon Squeezy (nothing loads or phones home unless you open the Get PRO page or enter a license key).<\/li>\n<li>New License page (PRO): activate or deactivate your key, re-check its status and jump to the Lemon Squeezy customer portal to manage billing.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>New (PRO): show a single event (or a hand-picked set) \u2014 <code>[ms_events ids=\"123\"]<\/code>, an event picker in the Elementor Events widget, and a copy-ready shortcode column on the Events screen.<\/li>\n<li>New (PRO): events are now clearly separated from appointments \u2014 All\/Appointments\/Events tabs and a per-event filter on the Bookings list, an \"Event\" badge on ticket rows, and the calendar collapses each event into a single chip with a sold\/capacity counter plus grouped attendee lists in the day panel.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>New: full Dutch (Nederlands) translation \u2014 the plugin now ships in English, Dutch, French, German, Italian, Polish and Spanish.<\/li>\n<li>Pricing page starts on the Monthly cycle; small admin polish (no tier badge in the free version).<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Free version got bigger: service extras, group appointments, recurring series, per-staff calendar feeds (.ics), WhatsApp links and the customer panel are now fully included \u2014 and the staff limit is gone (unlimited team).<\/li>\n<li>Security: customer-panel, calendar and invoice access tokens are now signed with a plugin-generated secret instead of WordPress auth salts.<\/li>\n<li>Under the hood: every admin and front-end script\/style now loads through the WordPress enqueue APIs.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fixed: bundled translations (de\/fr\/es\/it\/pl) were not loading \u2014 the form and admin stayed in English on non-English sites.<\/li>\n<li>Fixed: dropdown panels could render permanently open on block themes (e.g. Twenty Twenty-Five) that ship no <code>[hidden]<\/code> CSS reset.<\/li>\n<li>Fixed: theme styles no longer distort the form's line icons (global <code>svg { fill }<\/code> rules), underline the contact links or outline the collapse button.<\/li>\n<li>New: \"Date &amp; time box max height\" option \u2014 in Settings \u2192 Appearance (desktop + mobile) and in the Elementor widget (responsive).<\/li>\n<li>Improved: service-picker categories stack vertically on small screens instead of a horizontal scroller.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>First public release on WordPress.org.<\/li>\n<li>Stability, performance and UI polish across the admin panel and booking form.<\/li>\n<li>Consistent 12\/24-hour time and date formatting everywhere in the panel.<\/li>\n<li>Updated German, French, Spanish, Italian and Polish translations.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Online payments: Stripe Checkout, PayPal and Square \u2014 hosted checkouts with server-side verification and automatic slot-conflict refunds.<\/li>\n<li>Events &amp; tickets with an Elementor widget (list \/ grid \/ standard) and ticket sales through every booking mode.<\/li>\n<li>Customer panel with magic-link sign-in, self-service cancellations, invoices and GDPR data export\/erasure.<\/li>\n<li>New form layouts (process timeline, progress bar, icon rail), design skins (outline, soft, dark, glass) and popup mode.<\/li>\n<li>Discount coupons, service extras, group appointments, recurring series, waiting list, multiple locations, invoices, per-staff calendar feeds, refunds, WhatsApp links, taxes, duration variants, QR add-to-calendar \u2014 all behind feature switches.<\/li>\n<li>Dashboard reports, currency &amp; time-format settings, phone country picker, customer notes, mobile polish and a recolourable admin panel.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Rebranded to Zoe Booking with a single, unified admin menu.<\/li>\n<li>Custom Services &amp; Staff screens, visual month calendar, dual Standalone \/ WooCommerce mode.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial booking engine, WooCommerce product-type integration, Elementor widget.<\/li>\n<\/ul>","raw_excerpt":"Beautiful appointment booking \u2014 calendar, staff, group bookings, online payments (Square) and a customer panel. Stripe, PayPal &amp; WooCommerce in PRO.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/340629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=340629"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/inflowsurge"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=340629"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=340629"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=340629"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=340629"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=340629"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=340629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}