WP Manifestindependent plugin directory
manifest / events / wordpress-calendar-booking

WordPress Calendar Booking WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA

Privacy-conscious calendar availability and appointment booking for WordPress with CalDAV, Google, Microsoft and YOOtheme/UIkit integration.

★ 0stars
309release downloads
≈10active sites
v3.19.10latest · 1mo ago

Install

Download wordpress-calendar-booking.zip From the v3.19.10 release on GitHub, Sep 26, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/cemfirat/wordpress-calendar-booking/releases/download/v3.19.10/wordpress-calendar-booking.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Privacy-conscious appointment booking for WordPress with configurable availability, Double Opt-In, optional admin approval, calendar blocking/write-back, ICS attachments, UIkit components and YOOtheme Pro integration.

Development status: 2.0 is under active development. The imported 1.x prototype is not considered a stable public release. Security, privacy, recurrence and concurrency issues tracked in GitHub Issues are release blockers.

Product principles

  • Booking rules live in WordPress; external calendars only contribute busy intervals and optional write-back.
  • The server generates and validates bookable slots. Browser-provided timestamps are never trusted as availability proof.
  • Public calendar output is busy-only: external event details and customer booking details are excluded from the public view model.
  • Calendar connections are opt-in and request the minimum useful permissions.
  • YOOtheme Pro uses its existing UIkit/theme system. Without YOOtheme, the plugin uses a locally bundled UIkit fallback only where booking components are rendered.
  • Core booking works without Google, Microsoft, Apple or any other third-party account.

Planned calendar providers

  • Public ICS / webcal feed — read-only busy blocking
  • Generic CalDAV — busy blocking and optional write-back
  • iCloud — Apple-focused CalDAV connection preset
  • Google Calendar — OAuth + FreeBusy + Events API
  • Microsoft 365 / Outlook — Microsoft Graph with account-type-aware availability strategy

Booking flow

  1. Administrator configures booking types, duration, buffers, weekly rules, exceptions, notice and horizon.
  2. Optional calendar connections add busy intervals.
  3. Visitor receives server-generated available slots in the selected time zone.
  4. Submission revalidates and atomically reserves the slot.
  5. Double Opt-In confirms the visitor email.
  6. Optional admin approval confirms or rejects the booking.
  7. Notifications include standards-compliant calendar data.
  8. Calendar write-back is queued, idempotent and retryable.

Frontend architecture

One semantic component/render layer serves:

  • YOOtheme Pro native Builder elements when YOOtheme is installed
  • Shortcodes for compatibility
  • WordPress blocks for new installations
  • UIkit fallback assets when no compatible UIkit/YOOtheme runtime is present

The plugin does not scrape arbitrary themes and copy their CSS classes. Themes can integrate through filters, render hooks, wrapper/button/form class filters and CSS variables.

Privacy and security

Before a stable release, 2.0 must provide:

  • signed short-lived slot tokens
  • atomic conflict prevention
  • UTC/IANA time-zone storage and DST tests
  • recurrence-capable busy-time parsing
  • busy-only public output
  • explicit booking state transitions
  • POST-only state changes for cancellation/rescheduling/confirmation
  • indexed selector/verifier tokens
  • authenticated encryption for calendar credentials
  • idempotent queue/notification processing
  • WordPress privacy exporter/eraser and retention controls

See SECURITY.md, docs/SECURITY-PRIVACY.md and docs/ARCHITECTURE.md.

Development

The GitHub issue tracker is the source of truth for release work. Pull requests should close focused issues and include tests for behavior changes.

Install PHP dependencies before running or testing a source checkout:

composer install

Stable release ZIPs will bundle runtime dependencies; end users will not need Composer.

License

GPL-2.0-or-later. Copyright © 2026 Cem Firat.

Releases

Newest 25 of 32 recorded releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v3.19.10 latest
Sep 26, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
47
wordpress-calendar-booking.zip42
wordpress-calendar-booking.zip.sha2565
Sep 25, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
127
wordpress-calendar-booking.zip114
wordpress-calendar-booking.zip.sha25613
Sep 25, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
40
wordpress-calendar-booking.zip37
wordpress-calendar-booking.zip.sha2563
Sep 25, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
17
wordpress-calendar-booking.zip14
wordpress-calendar-booking.zip.sha2563
Sep 25, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
14
wordpress-calendar-booking.zip11
wordpress-calendar-booking.zip.sha2563
Sep 25, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
18
wordpress-calendar-booking.zip14
wordpress-calendar-booking.zip.sha2564
Sep 24, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
34
wordpress-calendar-booking.zip29
wordpress-calendar-booking.zip.sha2565
Sep 24, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
1
wordpress-calendar-booking.zip1
wordpress-calendar-booking.zip.sha2560
Sep 24, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
0
wordpress-calendar-booking.zip0
wordpress-calendar-booking.zip.sha2560
Sep 24, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
1
wordpress-calendar-booking.zip1
wordpress-calendar-booking.zip.sha2560
Sep 24, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
1
wordpress-calendar-booking.zip1
wordpress-calendar-booking.zip.sha2560
Sep 24, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
1
wordpress-calendar-booking.zip1
wordpress-calendar-booking.zip.sha2560
Sep 24, 2026 1mo ago
wordpress-calendar-booking.zip +1 asset
1
wordpress-calendar-booking.zip1
wordpress-calendar-booking.zip.sha2560
Sep 24, 2026 1mo ago
wordpress-calendar-booking.zip
1
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
8
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
1
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
1
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
3
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
1
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
1
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
1
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
1
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
2
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
2
Sep 23, 2026 1mo ago
wordpress-calendar-booking.zip
1
All releases on GitHub →

Active-site estimate ≈10 comes from the median of recent superseded releases. Method.

A grade

Security

WordPress Calendar Booking 3.19.10 · audited by WP Registry

No security issues found.

Audited release
3.19.10
Findings
none
Worst severity
—
Content hash
486a598132587551b2a11eaf…

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.