Edushade Docs
Booking

Booking Setup Guide

Step-by-step procedure for setting up and using the Edushade Booking Service.

This guide provides a comprehensive, step-by-step procedure for setting up and using the Edushade Booking Service.


Table of Contents

  1. Part 1: Google Cloud Console Setup (Admin)
  2. Part 2: Zoom Marketplace Setup (Admin)
  3. Part 3: Connecting Integrations in Edushade
  4. Part 4: Creating a Meeting Plan
  5. Part 5: The User Booking Experience

Part 1: Google Cloud Console Setup (Admin)

To enable Google Calendar and Google Meet integrations, you must create a project in the Google Cloud Console.

  1. Go to Google Cloud Console: Visit https://console.cloud.google.com/.
  2. Create a New Project: Click on the project dropdown and select "New Project". Name it "Edushade Booking".
  3. Enable APIs:
    • Go to APIs & Services > Library.
    • Search for and enable Google Calendar API.
  4. Configure OAuth Consent Screen:
    • Go to APIs & Services > OAuth consent screen.
    • Select External (unless you are only using internal workspace accounts).
    • Fill in required app details (App name, Support email, Developer info).
    • Scopes: Add https://www.googleapis.com/auth/calendar, userinfo.email, and userinfo.profile.
  5. Create Credentials:
    • Go to APIs & Services > Credentials.
    • Click + Create Credentials > OAuth client ID.
    • Application Type: Web application.
    • Authorized Redirect URIs: Add http://edushade.test/api/v1/booking/integrations/google/callback (Replace with your actual production domain if applicable).
  6. Secure your Keys: Copy the Client ID and Client Secret. You will need these for your .env file.

Part 2: Zoom Marketplace Setup (Admin)

To enable Zoom conferencing for meetings, you need to create an OAuth App in the Zoom Marketplace.

  1. Go to Zoom App Marketplace: Visit https://marketplace.zoom.us/.
  2. Develop > Build App: Log in and select OAuth.
  3. App Information:
    • App Name: Edushade Booking
    • App Type: Account-level or User-managed (User-managed is typical for individual user connections).
  4. App Credentials:
    • Redirect URL for OAuth: Add http://edushade.test/api/v1/admin/booking/integrations/zoom/callback.
    • OAuth Allow List: Add your base domain (e.g., http://edushade.test).
  5. Add Scopes:
    • Go to the Scopes tab.
    • Add user:read:user and meeting:write:meeting.
  6. Get Credentials: Copy the Client ID and Client Secret for your .env file.

Part 3: Connecting Integrations in Edushade

Once the backend is configured with the IDs/Secrets, the Admin can connect their accounts.

  1. Login to Edushade Admin Panel.
  2. Navigate to Settings > Integrations.
  3. Google Calendar: Click "Connect Google". You will be redirected to Google's login. Grant permissions.
  4. Zoom: Click "Connect Zoom". Authorize the app to create meetings.
  5. Once connected, you will see a "Connected" status with your email address displayed.

Part 4: Creating a Meeting Plan

A "Meeting Plan" defines what services users can book (e.g., "1-on-1 Consultation").

  1. Go to Booking > Meeting Plans.
  2. Click "Create New Plan":
    • Title: Give it a name (e.g., "30 Min Strategic Session").
    • Duration: Set duration (e.g., 30, 45, 60 minutes).
    • Location: Choose "Google Meet" or "Zoom" (if connected).
    • Availability: Set your working hours for each day.
  3. Save Plan: Once saved, a unique slug/URL is generated (e.g., /booking/strategic-session).

[IMAGE: Screenshot of Meeting Plan Creation form with availability settings]


Part 5: The User Booking Experience

This is what your clients/students will see when they book with you.

  1. User Opens Booking Link: The user visits your public booking URL.
  2. Select Date & Time: The user sees a calendar. Available slots are automatically calculated based on your availability and existing calendar events (to avoid double booking).
  3. Enter Details: The user provides their name, email, and any notes.
  4. Confirmation:
    • User receives a confirmation screen.
    • A Google Calendar event is created automatically.
    • A Zoom/Meet link is generated and sent to both Admin and User via email.
  5. Manage Booking: Users can use the link in their email to Reschedule or Cancel if needed (within your allowed timeframe).