Skip to content
Gaurav TiwariChangelog

Plugin changelog

Core Bookings

Appointment and group scheduling, staff availability, payments, and customer self-service.

Latest
0.20.0
Releases
17
Updated
October 6, 2026
  1. Stable

    0.20.0

    WordPress accounts, outgoing webhooks, a rebuilt email set and a large workspace update. Storage upgrades to schema 6 (additive). See [customer accounts](docs/customer-accounts.md), [webhooks](docs/webhooks.md), [emails](docs/emails.md) and [admin workspace](docs/admin-workspace.md).

    Read full notes 35 changes

    ### Booking form, manage page and dashboard

    • Customer accounts Optionally link customers to WordPress accounts. Logged-in customers have their details filled in and see their bookings in the dashboard without an emailed link ([core_bookings_dashboard]).
    • Customer accounts Require login per site or per service, enforced on the server. Create accounts at booking (checkbox or automatic, subscriber by default) without revealing existing accounts.
    • Customer accounts Accounts link only after the email is proven (Core Bookings created the account, or the customer confirmed an emailed link), because WordPress lets users change their email without confirmation. "Trust WordPress account emails" is an opt-in for sites that verify emails at registration and never applies after a user changes their email.
    • Customer accounts Managers can create, link or unlink a customer's account with a reason. Deleted users are unlinked; privacy export and erasure include the link.
    • Customer accounts Where accounts apply (login required, account creation on, or FluentCart), logged-in customers book under their account email; elsewhere they are prefilled and may book for someone else.
    • Outgoing webhooks Send booking, payment, customer, session-pack and waitlist events to Zapier, Make, n8n, FluentCRM or any HTTPS address from Settings > Webhooks, in a standard or flat format.
    • Outgoing webhooks Requests are signed (Standard Webhooks), limited to public HTTPS addresses, and retried for about two days. Each endpoint has a delivery log with Resend and turns itself off after repeated failures, emailing the admin.
    • Outgoing webhooks Payment holds that expire unpaid now appear in the timeline and notify integrations; pack, waitlist and customer changes emit events for developers too.
    • Emails Readable statuses ("Awaiting payment") instead of internal codes.
    • Emails An editable email per event (confirmed, awaiting payment, request received, approved, declined, rescheduled with the previous time, cancelled, refunded, balance paid), each able to follow the general template.
    • Emails Calendar (.ics) files attached to confirmations and reschedules.
    • Emails Optional staff and admin emails for new, cancelled and rescheduled bookings; approval and calendar-conflict emails include booking details.
    • Emails From name, From address and Reply-To settings. Waitlist and session-pack emails use the selected delivery provider.
    • Emails Completed and no-show updates no longer email the customer.
    • Emails Starts on the first bookable date, respects notice and horizon, lists common timezones first, shows the hold time and the amount on the payment button, and marks errors on their fields.
    • Emails Optional phone and notes fields and a per-service booking policy saved with each booking.
    • Emails Customers can add a cancellation reason and release an unpaid hold; change and cancel buttons hide inside the cutoff.
    • Emails The dashboard has Upcoming and Past tabs, editable profile fields, session-expiry notice, and only offers "Book again" for bookable services.
    • Emails The standalone page uses the site logo, shows the amount due and lists only active hosts.
    • Workspace Add phone and walk-in appointments, with an optional customer email, recorded payment, or an override with a reason.
    • Workspace Reopen completed or no-show appointments, confirm a payment-review booking after checking the provider, reschedule from available times, resend confirmations, edit customer contact details and copy the manage link.
    • Workspace Filter by staff, date range and any status; upcoming views list the next appointment first. CSV export follows the filters with fuller columns.
    • Workspace Group sessions, date-specific hours and FluentCart extras are edited as rows, with weekly repeats.
    • Workspace Customers list linked account, bookings, next appointment and credits; rosters get a session picker, capacity, CSV and print; the waitlist shows service and staff.
    • Workspace Remove saved credentials, copy webhook and redirect addresses, 18 more currencies, and optional customer details in staff Google events.
    • Workspace Setup checks cover the background worker, its schedule, the encryption key, FluentCart and the Stripe publishable key. Operations shows readable names, and old finished records are cleaned up after 30 days.
    • Fixes Refunds on confirmed bookings no longer drop pending reminders (Stripe and FluentCart).
    • Fixes The background jobs schedule re-creates itself if it goes missing.
    • Fixes The refund form stays available after a partial refund.
    • Fixes Block text and many interface and validation messages are now translatable; admin muted text meets contrast guidelines.
    • Fixes Rate limits can trust your own proxies, and next-slot searches no longer use up booking submissions.
    • Fixes Imports and exports keep the new service options and booking contact fields.
    • Fixes Privacy export and erasure include booking phone numbers and notes.
    • Fixes Webhook address checks cover IPv6 records and pin each request to the checked address; calendar attachments are written to a private temporary folder.
    • Fixes A failed database upgrade shows an admin notice and retries instead of stopping the site.
  2. Stable

    0.11.0

    Take deposits at FluentCart checkout and collect the remaining balance later from the private booking page through a separate FluentCart cart.

    Read full notes 8 changes
    • Take deposits at FluentCart checkout and collect the remaining balance later from the private booking page through a separate FluentCart cart.
    • Sell session packs through FluentCart checkout, with activation, expiry, and refund handling matching Stripe packs.
    • Read FluentCart refunds per order item: refunding an extra no longer affects the booking, partial appointment refunds record the exact amount, and deposit and balance refunds add up.
    • Accept same-site checkout links for balance and pack payments in the booking and customer scripts.
    • Give every workspace input, select, and textarea one consistent field style with a visible focus ring; selects keep room for their arrow.
    • Use one reason field per operation or payment-event row, shared by its retry and dismiss buttons.
    • Lay out the service and staff save bar on one row: change reason, Preview changes, and Save.
    • Strip redundant semicolons in the CSS build so the admin skin stays within its 8 KB budget.
  3. Stable

    0.10.0

    Core Bookings 0.10.0 improves booking and payment recovery and adds the tools needed to manage customers and resolve failed operations.

    Read full notes 5 changes

    Requires WordPress 6.9+, PHP 8.3+, and MySQL/MariaDB with InnoDB. Schema 5 upgrades existing data additively. Back up the database before upgrading.

    The product remains in beta. Provider integrations require your own accounts and staging validation. This release does not automatically deploy to an existing site.

    • Fix balance-checkout races, refund reconciliation, reminders, recurring approvals, waitlist terms, meeting cleanup, privacy erasure, and daylight-saving/rescheduling errors.
    • Add searchable operations, customer history and metadata, group rosters, reasoned credit adjustments, and verified waitlist controls.
    • Add next-available appointment search, schedule previews and revision history, conflict-safe edits, opt-in staff-managed availability, and guided setup checks.
    • Add a compact Tabler-based Default UI. No UI Style disables customer-facing styling only; admin screens remain styled.
    • Reduce catalog queries, prioritize expiring messages, separate calendar work, and add regression coverage.
  4. Stable

    0.9.0

    Core Bookings 0.9.0 adds seat limits for individual scheduled group sessions. The product remains in beta.

    Read full notes 7 changes

    Validation includes 43 unit tests/94 assertions, PHP lint/static analysis, database/API and import checks, last-seat and concurrent-edit races, desktop/mobile checks, package installation and upgrades. The hosted demo disables payment and outbound email. Provider acceptance remains specific to each merchant's configuration.

    • Keep a service-wide default and override individual starts from 0 to 100 seats.
    • Show remaining seats and use the chosen session's maximum in the booking form.
    • Prevent capacity edits below confirmed bookings or active payment, approval and waitlist holds.
    • Enforce current limits during booking, payment confirmation, rescheduling, waitlist claims and imports.
    • Preserve limits in format-2 exports while continuing to accept format-1 imports.
    • Add a guided hosted demo with custom/default/closed sessions, a last-seat example and service-editor access.
    • Keep demo dates and per-session overrides aligned across the daily reset.
  5. Stable

    0.8.0

    Core Bookings 0.8.0 adds service overlap rules, native FluentCart checkout and more options for customer integrations. Core Bookings remains in beta.

    Read full notes 7 changes

    FluentCart requires version 1.6.5+ and currently collects full payment. Deposits and session packs remain on Stripe. Partial refunds for combined orders require allocation review. Validate provider connections on staging before accepting customer bookings.

    Validation: PHP lint, 38 unit tests/67 assertions, PHPStan, isolated integration and transfer checks, native FluentCart checks, concurrency tests, upgrade/uninstall checks, desktop/mobile review, and CI across PHP 8.3–8.5 plus WordPress 6.9/current.

    • Allow selected services to overlap for the same staff member while preserving capacity within each service.
    • Add customer profiles with registered metadata, permission-checked REST access and durable lifecycle hooks.
    • Offer embedded Stripe Payment Element alongside hosted Checkout.
    • Combine bookings and optional extras in native FluentCart checkout. GTFC is optional.
    • Protect new bookings, waitlist requests and email sign-in with optional Turnstile.
    • Send Brevo templates with up to five reminder steps and per-step template selection.
    • Preserve guest bookings, optional Core Forms intake, scoped assets and existing data during schema 4 upgrades.
  6. Stable

    0.7.1

    Core Bookings 0.7.1 adds organized settings and clearer setup guidance, including independent section saves, license purchase links, retention controls on the License page, and an accessible email placeholder reference.

    Read full notes 3 changes

    This release also includes the 0.6.0 and 0.7.0 additions since the previous store package:

    Requires WordPress 6.9+, PHP 8.3+ with Sodium, and MySQL/MariaDB InnoDB. Provider integrations require your own accounts and configuration. Validate provider connections and email delivery on staging before accepting customer bookings.

    The installable asset is core-bookings-0.7.1.zip; GitHub's generated source archives include development files.

    • Customer dashboard, recurring bookings, session packs, approvals, and waitlists.
    • Balance payments, queued refunds, calendar synchronization, and Google Meet/Zoom links.
    • Optional embedded Core Forms intake, calendar invitations, notification templates, availability overrides, and expanded privacy/import tools.
  7. Alpha

    0.7.2-dev

    Permit activation on individual multisite subsites; continue rejecting network activation.

    Read full notes 4 changes
    • Permit activation on individual multisite subsites; continue rejecting network activation.
    • Restrict staff profiles to members of the current site.
    • Apply each site's own data-deletion preference during network plugin uninstall.
    • Add the isolated Core Bookings demo with synthetic appointments and a daily subsite-only reset.
  8. Stable

    0.7.0

    Add email-verified customer access, booking/payment history, repeat-booking links, and paginated session-pack credits.

    Read full notes 10 changes
    • Add email-verified customer access, booking/payment history, repeat-booking links, and paginated session-pack credits.
    • Embed opted-in Core Forms intake with private context already filled, preserving Core Forms validation and submission behavior.
    • Add private iCalendar downloads and Google/Outlook add-event links.
    • Provision Google Meet and Zoom participant links through durable jobs; share group meetings and reconcile uncertain Zoom creation.
    • Add explicit balance Checkout and refund reconciliation across deposits, series, and remaining balances.
    • Add daily/weekly limits, expiring staff approvals, atomic recurring requests, and optional automatic staff selection.
    • Sell prepaid session packs with locked credit debits, idempotent restoration, expiry, and refund protection.
    • Add verified waitlists, reserved claim windows, expiry, and repeat-safe claims.
    • Extend transfer/privacy/uninstall coverage, migration tests, and concurrency fixtures for the new customer state.
    • Preserve earlier booking request replay and keep provider authorization headers independent of translations.
  9. Stable

    0.6.0

    Provider fixtures verify integration behavior; real provider accounts, licensed customer updates, and pilot approval remain release gates.

    Read full notes 8 changes
    • Add staff-owned Google connections, multiple conflict calendars, writable destination selection, incremental sync, expiring watch renewal, and external-conflict alerts.
    • Keep existing Google events on their saved destination and preserve required-calendar failure behavior.
    • Add manager-requested Stripe refunds with durable jobs, provider reconciliation, amount checks, and recovery from lost responses.
    • Add split shifts, date-specific hours, customer search, and a monthly appointment calendar.
    • Add editable notification templates and optional Core Forms intake using expiring intake-only codes.
    • Add opt-in retention, intake/refund transfer support, broader privacy exports, and failed-delivery dismissal.
    • Add schema upgrades, isolated test runtimes, focused reliability tests, translation hooks/catalog, and recovery documentation.
    • Recover lost Checkout responses from verified webhook receipts; retain periodic conflict checks when watch renewal fails.
  10. Stable

    0.5.1

    Add a License submenu with encrypted FluentCart activation, status checks, and deactivation.

    Read full notes 4 changes
    • Add a License submenu with encrypted FluentCart activation, status checks, and deactivation.
    • Bind WordPress updates to Core Bookings product 1178439, refresh download URLs before upgrades, and validate package identity.
    • Protect copied sites from reusing source-site credentials; keep booking features independent of license status.
    • Add 24px desktop / 16px mobile admin padding, refresh product screenshots, and add confirmed pricing to the local product page.
  11. Stable

    0.5.0

    Export versioned Core Bookings JSON for configuration or configuration plus appointments/history.

    Read full notes 6 changes
    • Export versioned Core Bookings JSON for configuration or configuration plus appointments/history.
    • Import with staff mapping, conflict previews, atomic booking-data writes, and duplicate recognition.
    • Add Calendly, Acuity, and custom CSV import with editable column/service mapping and explicit timestamp timezones.
    • Encrypt staged files, restrict transfers to booking managers with export permission, and keep imports silent.
    • Exclude provider credentials, private tokens, live checkout sessions, and jobs from portable files.
    • Show the version as plain text, retaining its v prefix.
  12. Stable

    0.4.2

    Combine the workspace logo, navigation, and version badge into one responsive bar.

    Read full notes 4 changes
    • Combine the workspace logo, navigation, and version badge into one responsive bar.
    • Give standalone service pages a service summary, host profile, pricing, and a focused booking panel.
    • Fix time-slot centering, checkbox alignment, and secondary button styles while preserving theme font families.
    • Load the additional standalone stylesheet only on standalone booking/management pages.
  13. Stable

    0.4.1

    Keep backend corners square while preserving rounded status and version badges.

    Read full notes 6 changes
    • Keep backend corners square while preserving rounded status and version badges.
    • Add selectable appointment filter chips and place CSV export below the list.
    • Link service booking totals and upcoming counts to matching appointments, preserving service scope in popups and pagination.
    • Put customer profiles first in the appointment list and open booking details from their names.
    • Display appointment dates and times using WordPress timezone and format settings.
    • Protect the local screenshot demo against destructive fixture tests.
  14. Stable

    0.4.0

    Replace the service-ID placeholder with a searchable service picker and three-stage editor preview.

    Read full notes 6 changes
    • Replace the service-ID placeholder with a searchable service picker and three-stage editor preview.
    • Add editable copy, display toggles, colors, spacing, corner radius, column layout, alignment, and anchors.
    • Create reusable services inside the editor, including staff assignment, group sessions, payment settings, and scheduling rules.
    • Add permission-checked editor endpoints and preserve existing service-only blocks.
    • Add icons and selected states to workspace navigation, link metrics to matching filtered bookings, and show the dashboard date with its year.
    • Keep metric filters through appointment popups and workspace refreshes.
  15. Stable

    0.3.0

    Add service cards with booking totals and public standalone booking pages.

    Read full notes 6 changes
    • Add service cards with booking totals and public standalone booking pages.
    • Add staff/customer avatars, searchable timezone selection, and repeated time-off date ranges.
    • Add scoped appointment popups with previous/next navigation, inline updates, and activity timelines.
    • Add a custom logo, aligned button icon, version badge, and complete WordPress submenus.
    • Keep Operations/Settings in the sidebar and inherit frontend theme font families.
    • Document the per-user, multi-calendar Google integration plan.
  16. Stable

    0.2.0

    Add a complete dashboard with real booking metrics, upcoming appointments, a weekly schedule, attention items, and setup status.

    Read full notes 5 changes
    • Add a complete dashboard with real booking metrics, upcoming appointments, a weekly schedule, attention items, and setup status.
    • Adapt Core Forms navigation, color tokens, controls, status treatments, and grouped editors.
    • Split customer booking into appointment and details stages with compact time selection and clear confirmation.
    • Keep frontend/admin CSS on demand with explicit 4 KB / 8 KB budgets.
    • Add staff-data isolation and dashboard asset checks.
  17. Stable

    0.1.0

    No public release or production provider verification has occurred.

    Read full notes 7 changes
    • Keep frontend styles below 2 KB, scoped and loaded only when booking UI is rendered; use native WordPress admin styling.
    • Add independent service, staff, availability, and group-session management.
    • Add timezone-aware booking block/shortcode and customer management links.
    • Add locked reservations, request idempotency, cancellation, and atomic rescheduling.
    • Add Stripe Checkout and Google Calendar adapters with explicit recovery states.
    • Add background jobs, CSV export, privacy tools, and safe uninstall behavior.
    • Add domain, database, concurrency, HTTP, admin, and package checks.