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
- Part 1: Google Cloud Console Setup (Admin)
- Part 2: Zoom Marketplace Setup (Admin)
- Part 3: Connecting Integrations in Edushade
- Part 4: Creating a Meeting Plan
- 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.
- Go to Google Cloud Console: Visit https://console.cloud.google.com/.
- Create a New Project: Click on the project dropdown and select "New Project". Name it "Edushade Booking".
- Enable APIs:
- Go to APIs & Services > Library.
- Search for and enable Google Calendar API.
- 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, anduserinfo.profile.
- 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).
- Secure your Keys: Copy the Client ID and Client Secret. You will need these for your
.envfile.
Part 2: Zoom Marketplace Setup (Admin)
To enable Zoom conferencing for meetings, you need to create an OAuth App in the Zoom Marketplace.
- Go to Zoom App Marketplace: Visit https://marketplace.zoom.us/.
- Develop > Build App: Log in and select OAuth.
- App Information:
- App Name: Edushade Booking
- App Type: Account-level or User-managed (User-managed is typical for individual user connections).
- 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).
- Redirect URL for OAuth: Add
- Add Scopes:
- Go to the Scopes tab.
- Add
user:read:userandmeeting:write:meeting.
- Get Credentials: Copy the Client ID and Client Secret for your
.envfile.
Part 3: Connecting Integrations in Edushade
Once the backend is configured with the IDs/Secrets, the Admin can connect their accounts.
- Login to Edushade Admin Panel.
- Navigate to Settings > Integrations.
- Google Calendar: Click "Connect Google". You will be redirected to Google's login. Grant permissions.
- Zoom: Click "Connect Zoom". Authorize the app to create meetings.
- 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").
- Go to Booking > Meeting Plans.
- 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.
- 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.
- User Opens Booking Link: The user visits your public booking URL.
- 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).
- Enter Details: The user provides their name, email, and any notes.
- 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.
- Manage Booking: Users can use the link in their email to Reschedule or Cancel if needed (within your allowed timeframe).