WP Manifestindependent plugin directory
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.zip

Shortcodes:

[lewis_classroom_calendar]
[lewis_booking_form]

Setup

  1. Enable Google Calendar API in Google Cloud.
  2. Create a Service Account.
  3. Create a JSON key and paste the full JSON into Lewis Calendar > Settings.
  4. Share your Google Calendar with the service account email using permission: Make changes to events.
  5. Add the Calendar ID, API key, timezone, and save settings.
  6. Click Test Google Connection.
  7. 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.