Event Availability Calendar
A WordPress plugin for displaying event availability, collecting booking requests, managing time slots, and synchronizing with Google Calendar.
by Markorix · github.com/iamskt01/event-availability-calendar
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/iamskt01/event-availability-calendar/archive/refs/heads/main.zipA modular WordPress plugin for event requests, secure approvals, requester emails, and two-way Google Calendar availability synchronization.
Version 4.1.0 adds a configurable site-wide booking link, updated Morning and Evening hours, slot-aware conflict protection, a complete availability legend, and a professionally formatted no-API WhatsApp handoff.
Requirements
- WordPress 6.0 or later
- PHP 7.4 or later
- HTTPS for production OAuth callbacks
- A Google Cloud OAuth client with Google Calendar API enabled
Installation
Install the release ZIP and activate Event Availability Calendar. The guided Getting Started screen opens automatically:
- Click Create My Calendar Page.
- Connect Google Calendar using the second setup card.
- Open the created page and submit a test request.
No shortcode knowledge is required. Advanced users can place [event_calendar] on another page.
For upgrades from the previous single-file build, deactivate the old plugin before activating this one. Existing mec_* options, request metadata, OAuth tokens, and Google event IDs are intentionally compatible.
Repository layout
event-availability-calendar.php Plugin bootstrap
includes/ Core, OAuth, availability, events, workflow
admin/ Onboarding, settings, tools, logs, admin CSS
public/ Shortcode, AJAX endpoint, public CSS/JS
languages/ Translation files
uninstall.php Safe cache cleanup; user data retained
readme.txt WordPress.org directory readme
Development checks
Every PHP file should pass php -l. The included GitHub Actions workflow checks PHP 7.4, 8.0, 8.1, 8.2, 8.3, and 8.4.
Privacy and external service
Google Calendar is contacted only after administrator authorization. See readme.txt for the data flow, privacy disclosure, and Google policy links.
WhatsApp is not contacted by the server. When enabled, the visitor's browser opens a wa.me link containing basic booking details after submission.
License
GPL-2.0-or-later. See LICENSE.