The LighthouseServicesMy account

Owner review package

Google Calendar approval package

This private Lighthouse page gathers the wording, demo-video flow, and final checks needed before submitting the Services calendar connection for Google OAuth verification.

What Google should see

  • The Lighthouse Services page explains the service-booking purpose.
  • The privacy policy has a connected-calendar section on the same domain.
  • The app requests only the calendar access needed for appointment scheduling.
  • The demo shows a real OAuth approval flow and the exact calendar features enabled by each requested scope.

Live URLs for the submission

  • Homepage: https://www.easylotstoragesolutions.com/
  • Services feature page: https://www.easylotstoragesolutions.com/services.html
  • Privacy policy: https://www.easylotstoragesolutions.com/privacy.html#connected-calendars
  • Terms: https://www.easylotstoragesolutions.com/terms.html
  • Provider setup path: My Lighthouse → Services Assistant → Connections

Requested Google Calendar scopes

ScopeWhy Lighthouse asksWhat the demo must show
https://www.googleapis.com/auth/calendar.freebusyChecks whether the provider’s calendar is busy before Lighthouse offers or confirms a service appointment time.Open provider Connections, connect Google Calendar, then run an availability or appointment test showing that Lighthouse checks busy time before scheduling.
https://www.googleapis.com/auth/calendar.events.ownedCreates, changes, and cancels Lighthouse service appointment events on calendars the provider owns.Show Lighthouse creating one service appointment, verifying it blocks availability, then canceling that same appointment.

Lighthouse does not request full calendar management, calendar sharing, calendar settings, or access to calendars a provider does not own.

Copy/paste scope justification

The Lighthouse Services feature uses Google Calendar only when a provider chooses to connect their calendar for service appointment scheduling. We request calendar.freebusy to check whether the provider is already busy before showing or confirming appointment times. We request calendar.events.owned to create, update, and cancel Lighthouse service appointment events on calendars the provider owns. Lighthouse does not publish outside calendar event titles, guests, or descriptions to customers or profiles. Calendar tokens are stored encrypted on the server. Calendar data is not sold, used for advertising, or used to train general-purpose AI models. Providers can disconnect the calendar in Services Assistant → Connections and can revoke access in their Google Account.

Demo video script

  1. Start on the public Lighthouse homepage and open Services, showing the feature is real and live.
  2. Open Privacy → Optional calendar connections, showing the Google Calendar data-use disclosure.
  3. Sign into My Lighthouse with the provider test account.
  4. Open Services Assistant → Connections.
  5. Click Connect Google Calendar and show the Google OAuth consent screen with the requested Calendar permissions.
  6. Approve the connection and return to Lighthouse.
  7. Run the appointment test or book a safe test appointment: create one future 15-minute appointment, show that it blocks availability, then cancel it.
  8. Return to Connections and show where a provider can disconnect the calendar.
  9. State that Lighthouse uses the calendar only for availability checks and Lighthouse service appointment events.

Before submitting

  • Google Calendar API is enabled in the production Google Cloud project.
  • OAuth consent app name matches The Lighthouse by Easy Lot Storage Solutions.
  • Support email and developer contact email are current.
  • Authorized domain is verified for easylotstoragesolutions.com.
  • Privacy URL on the OAuth screen exactly matches the live privacy URL.
  • Authorized redirect URI includes https://www.easylotstoragesolutions.com/api/account/services-calendar/google/callback.
  • Demo video is uploaded unlisted and available to Google reviewers.

If Google asks a follow-up

  • If they ask why both scopes are needed: freebusy checks conflicts; events.owned creates/cancels the provider-owned appointment event.
  • If they ask about data storage: tokens are encrypted; sync records keep event IDs and status only for appointment operations.
  • If they ask about AI: Google Calendar data is not used for model training.
  • If they ask about deletion: disconnect removes stored connection tokens and stops future checks/updates.

After approval

Turn broad provider calendar connection back on, invite one real provider to connect their own calendar, then run the first real provider journey from request to quote, payment, booking, completion, and review.

Back to Services status Open provider connections