manifest / unclassified / lewis-google-calendar-booking-pro
Lewis Google Calendar Booking Pro
Production-ready WordPress plugin for Google Calendar booking, classroom scheduling, and SaaS-style form builder.
by srkpics · github.com/kabbo508/lewis-google-calendar-booking-pro
★ 0stars
0forks
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/kabbo508/lewis-google-calendar-booking-pro/archive/refs/heads/main.zipShortcodes:
[lewis_classroom_calendar]
[lewis_booking_form]
Setup
- Enable Google Calendar API in Google Cloud.
- Create a Service Account.
- Create a JSON key and paste the full JSON into Lewis Calendar > Settings.
- Share your Google Calendar with the service account email using permission: Make changes to events.
- Add the Calendar ID, API key, timezone, and save settings.
- Click Test Google Connection.
- Add the shortcodes to your pages.
Manual Event Metadata
For manually created Google Calendar class events, add this to the event description:
type: teen
availability: open
town: New Canaan
button_url: /contact
Booking Flow
The booking form saves a booking in WordPress, creates a Google Calendar event using the service account, adds event metadata, clears the event cache, and the frontend calendar can display it.
Testing Tip
Set Cache Minutes to 0 while testing. After it works, set it back to 5 or 10.
Version 2.3.0
- Removed Google Calendar attendees from created events to avoid Domain-Wide Delegation errors. Student email remains in the booking record, notification email, and Google event description.
- Added two-column desktop layout for booking form course, town, schedule, date, time, and contact email fields.
Version 2.4.0
- Frontend event loading now uses the service account server-side first, so API key referrer restrictions no longer block the calendar.
- Booking events store filter metadata in Google extended properties instead of visible description text.
- Existing manually created events can still use description metadata as fallback.
Version 2.5.0
- Frontend calendar uses local booking records as a reliable fallback.
- Google Calendar events are fetched and merged when available.
- If Google listEvents returns Bad Request, frontend no longer goes blank.
Version 2.6.0
- Submitter now receives an HTML confirmation email.
- Admin/business receiver receives a formatted HTML notification email.
- Emails include a Google Calendar add-to-calendar link for the submitter.
- Added sender name, sender email, admin receiver email, and email subject settings.
- Bookings page now has expandable full request details with reply and add-to-calendar actions.
- Request Callback and Enroll Interest tabs now submit correctly using the same production request workflow.
Version 2.7.0
- Only Book Classes creates Google Calendar events and frontend calendar entries.
- Request Callback and Enrollment Interest save in WordPress and send email notifications only.
- Booking date field blocks old dates on the frontend and server side.
- Added admin Form Builder settings for all three forms, enabled tabs, tab labels, titles, intro text, option lists, and one-column/two-column layout.
Version 2.8.0
- Frontend calendar no longer displays submitter/student names.
- Names remain available in admin booking details, emails, and Google event details.