Live in EdushadeLive Bookings

A real booking platform,sitting next to your courses

Edushade ships a full meeting & appointment system — bookable plans with their own slug, weekly availability, Google Calendar and Zoom OAuth, group seats, request approvals and paid sessions. The invitee gets a branded, timezone-aware booking page; you get a single dashboard for every booking that lands.

Quick Tour·Live Bookings

Everything a serious booking flow needs, built in

Live Bookings runs on its own service inside Edushade — meeting plans, availability rules, slot generation, OAuth-based calendar/conference sync, lifecycle statuses, group capacity, request approvals and paid sessions all live on the same data model. One booking dashboard, one set of permissions, one source of truth.

Bookable Meeting Plans

A Calendly-style template per offering — title, public slug, duration, timezone, description, color, categories and an active flag. Each plan gets its own page at /bookings/{slug}.

Five Meeting Mediums

Google Meet, Zoom, In Person, Phone Call and No Location — with the right join link, address or phone number stored on every booking.

Google Calendar & Zoom OAuth

Connect Google Calendar and Zoom from the admin under Integrations. Bookings auto-create calendar events and Zoom meetings, with Meet rooms attached when you flip has_meet on.

1-on-1, Group, Request, Paid

One model covers 1:1 plans, group plans (group_meeting_spot ≥ 2), request-based approvals (is_request_based_booking) and paid plans (is_collect_payment_after_confirmation).

Buffers, Notice, Deadlines

Per-plan policy fields: buffer before/after, minimum notice, max per day, cancel and reschedule deadlines, plus a -1 sentinel for no deadline at all.

Eight Notification Templates

Booking confirmed/cancelled and meeting scheduled / reminder / started / rescheduled / cancelled / recording-available — each with email, SMS, in-app and push, ready to edit.

A meeting plan is a real, shareable product

Each meeting plan in Edushade has its own page at /bookings/{slug} on your branded site — title, description, color accent, category, register count and price. Slugs are unique per tenant, so /bookings/30-min-coaching is a stable URL you can put on a business card, in an email signature or on a landing page.

  • Per-plan slug, title, timezone, duration, color and description

  • Categories with category-tree filtering on /bookings

  • Active flag hides the plan from the public listing without deleting it

  • Configurable base path — /bookings, /book, /appointments, /schedule

Dashboard

Weekly availability that turns into real, timezone-aware slots

Set Monday-to-Sunday rules with multiple ranges per day for split shifts. The booking-service expands those weekly rules across whatever month an invitee is browsing, subtracts existing bookings and buffers, applies minimum-notice and max-per-day caps, and renders the resulting slots in the invitee's local timezone — or locks them to yours, your choice.

  • Multiple time ranges per weekday (e.g. 9–12 AM and 2–5 PM)

  • 15-minute granularity in the editor; minutes-from-midnight on the wire

  • Buffers, minimum notice and max-per-day fold into slot generation

  • Timezone picker on the public page, or pin to the organizer's zone

Dashboard

Calendar and conference sync, without a Zapier in the middle

Connect Google Calendar from the admin under Integrations and every booking — Meet, Zoom or in-person — creates a Google Calendar event for the organizer and the invitee. Connect Zoom and the booking-service creates the Zoom meeting itself, stores the join URL and password on the booking, and wraps it inside a calendar invite with a single click.

  • Google Calendar OAuth connect and disconnect from Integrations

  • Google Meet enabled by flipping has_meet on the same Google integration

  • Zoom OAuth, with join URL and meeting password stored per booking

  • Reschedule and cancel mirror to the calendar event automatically

Dashboard

A booking lifecycle that mirrors how meetings actually move

Every meeting schedule moves through six explicit statuses: in_schedule for confirmed bookings, requested for approval-waiting, pending for payment-waiting, rescheduled when the time changes, canceled when it stops, and expired when an unpaid booking runs out. The dashboard filters on each, and the audit pipeline records the move.

  • Six statuses: in_schedule, requested, pending, rescheduled, canceled, expired

  • Group plans seat multiple invitees on the same slot (spots_left)

  • Request flow: invitee proposes slots → admin confirms a final time

  • Payment-gated flow: pending until the billing service confirms paid

Dashboard

From an empty calendar to a public booking page

The whole booking system lives under Admin → Booking. Connect a calendar, build one plan, share the slug — incoming bookings show up in the schedules dashboard from the first invitee onward.

1Step
Integrations admin page with Google Calendar and Zoom OAuth tabs

Connect Google Calendar (and Zoom, if you use it)

Open Admin → Booking → Integrations. Click Add Calendar to OAuth into Google, then add Zoom on the Conference tab if you run Zoom sessions. Google Meet rides the same Google connection — flip has_meet on and Meet rooms attach to every google_meet booking.

2Step
Meeting plan create form with title, slug, timezone, duration, availability and medium

Create a meeting plan

Set a title, slug, timezone and duration. Add weekly availability rows, pick a medium (Meet, Zoom, In Person, Phone, No Location), set buffers, notice and a cancel deadline. Toggle group seats, request-based approval or payment gating if the plan needs them.

3Step
Public branded booking page with calendar, timezone picker and time slots

Share /bookings/{slug} and accept bookings

The plan goes live the moment is_active is true. Share the URL anywhere — invitees pick a slot in their own timezone, fill in the form, and the booking lands in your dashboard with a calendar event already on the way to both sides.

Live Bookings FAQ

How meeting plans, availability, mediums, integrations, the booking lifecycle, group seats, requests and paid sessions actually work inside Edushade.

Can't find what you're looking for?

Contact Sales

A meeting plan is a bookable template — the equivalent of a Cal.com event type or a Calendly event. It carries a title, a unique slug, a timezone, a duration, an optional description and color, a medium, weekly availability rules, plus the policy fields that govern buffers, notice, group capacity, request approvals and payment gating. Every booking is created against a meeting plan.

Start Building Learning Your Way

Set up courses, programs, and learning experiences without forcing your process into rigid software. A connected system for students, educators, and administrators.

Build Your Academy