Google Calendar setup

OAuth flow, calendar selection, real-time push, 15-min pull

Google Calendar setup

Google Calendar is the most-used sync provider. Connectable via OAuth flow, real-time both ways.

Where to find it

/manager/connect/calendar+ Google Calendar button.

Connection (OAuth flow)

Steps

  1. + Google Calendar button
  2. New window: Google login
  3. Allow access (Bookinda asks: Calendar.read + Calendar.write)
  4. Redirect back to Bookinda
  5. Pick calendar: which Google calendar to connect (e.g., Primary, Work, Family)
  6. Pick privacy level (FULL / LIMITED / BUSY_ONLY)
  7. Save → ACTIVE status

What Bookinda asks for

  • Calendar.read: read calendar events (busy-block pull)
  • Calendar.write: create new events (Bookinda booking push)
  • Offline access: refresh token (connection persists)

Sync directions

Bookinda → Google (real-time push)

New booking creation / modification / cancellation:

  • Sent within 1-2 seconds to Google
  • Event title: depends on privacy level
  • Event description: customer info, service, price
  • Google event extended properties: Bookinda marker

Google → Bookinda (15-min pull)

  • Bookinda pulls Google's new events every 15 min
  • Creates ExternalBusyBlock from these
  • Appears on salon calendar as "Busy" time slot

Manual pull

  • "Pull now" button on calendar-sync page
  • Immediate refresh (no waiting for 15-min cron)

Multi-calendar

A staff can connect multiple Google calendars:

  • E.g., "Personal" + "Work"
  • Each separately ACTIVE
  • Each pulls busy-blocks

Sync statuses

ACTIVE

All good, sync works.

PAUSED

You paused (or admin). Sync stopped.

ERROR

Error (e.g., token expired and can't refresh). Message on calendar-sync page.

PENDING

Connected but no Calendar selected yet.

Disconnect

On calendar-sync row → Disconnect button:

  • Token revocation (at Google)
  • Bookinda sync row deleted
  • Previously pushed Google events STAY (not deleted)
  • Future bookings no longer go to Google

To reconnect: new OAuth flow.

Token management

Google OAuth tokens:

  • Access token: short-lived (1 hour)
  • Refresh token: long-lived (forever unless revoked)

Bookinda auto-refreshes access token. If refresh-token invalid (you revoked in Google Settings), sync goes ERROR.

When to use it

Scenario 1, hairstylist personal sync Anna stylist connects own Google Calendar to Bookinda. Bookings appear in "Work" calendar. Personal events (doctor visit, family dinner) become busy-block in Bookinda.

Scenario 2, salon owner overview Owner creates "Salon Overview" Google calendar. Connects to all staff at tenant level. Sees salon-wide in one calendar.

Scenario 3, multi-account staff Béla uses 2 Google accounts (personal + business). Connects both. Both sync separately.

Scenario 4, sync error Sync is ERROR. Check: token revoked. Reconnect.

Tips

  • OAuth flow takes 1-2 minutes, no more. If longer, something's off.
  • Calendar choice critical: don't pick Primary if it's very crowded. Separate work calendar.
  • Privacy level reflects customer-data sensitivity, medical stricter.
  • Multi-calendar in moderation, 2-3 OK, 10+ confusing.
  • 15-min pull cron means Google-created event appears in Bookinda busy-block 0-15 min later. Urgent = "Pull now."
  • Always check ERROR status reason, don't ignore.

Related articles

#google-calendar#oauth#sync#pull#push
💬

Have a question? Ask the AI assistant

The Bookinda AI knows the entire help center and can answer in seconds.

B

Bookinda AI Assistant

Ask anything about features, settings, or integrations.

Hi! I'm the Bookinda assistant. I can answer questions about features, billing, integrations, and more. What would you like to know?

Still need help?

Get in touch with our support team.

Contact us