Welcome to Schedula

Professional appointment booking and scheduling SaaS platform

Thank you for purchasing Schedula! This comprehensive documentation will guide you through the installation, configuration, and usage of your new appointment booking system.

Schedula is a powerful Laravel-based SaaS application inspired by Calendly and Zoho Bookings, offering advanced features for managing appointments, integrating with popular calendar services, processing payments, and much more.

Key Features

  • Multi-Workspace Support - Manage multiple locations, brands, or business units
  • Calendar Integration - Google Calendar, Microsoft Outlook, and Zoho Calendar sync
  • Payment Processing - Integrated with Razorpay, Cashfree, PayUMoney, and PhonePe
  • Video Meetings - Zoom, Google Meet, and Microsoft Teams integration
  • WhatsApp Notifications - Keep clients informed via WhatsApp
  • White-Labeling - Full branding customization options
  • Role-Based Access - Admin, System User, and Customer roles
Quick Start: If you're experienced with Laravel applications, jump directly to Installation Steps to get started quickly.

Installation

System Requirements

Before installing Schedula, ensure your server meets the following requirements:

  • PHP 8.1 or higher
  • MySQL 5.7+ or PostgreSQL 10+
  • Composer (latest version)
  • Node.js & NPM (for asset compilation)
  • Web server (Apache or Nginx)

Required PHP Extensions

  • BCMath
  • Ctype
  • JSON
  • Mbstring
  • OpenSSL
  • PDO
  • Tokenizer
  • XML
  • cURL
  • GD or Imagick
  • Fileinfo
  • Zip
Important: The installation wizard will automatically check these requirements during setup.

Installation Steps

1Upload Files

Upload all files from the source-code folder to your server's web directory (e.g., public_html, www, or htdocs).

Note: Make sure to upload all hidden files including .htaccess and .env.example

2 Set Permissions

Set the following directories to be writable (chmod 755 or 775):

chmod -R 755 storage
chmod -R 755 bootstrap/cache

3 Access Installation Wizard

Navigate to your domain in a web browser:

https://yourdomain.com

The installation wizard will automatically launch if the application is not yet installed.

4 Requirements Check

The wizard will verify that your server meets all system requirements. Ensure all items show a green checkmark before proceeding.

If any requirements fail, contact your hosting provider to install the missing PHP extensions or adjust permissions.

License Activation

5 Enter Purchase Code

You'll need your Envato purchase code to activate Schedula. To find your purchase code:

  1. Log in to CodeCanyon
  2. Go to your Downloads page
  3. Click "Download" next to Schedula
  4. Select "License certificate & purchase code"
  5. Copy the purchase code from the PDF

Enter your purchase code and Envato username in the installation wizard.

6 Database Configuration

Create a MySQL database and user for Schedula, then enter the database credentials:

  • Database Host: Usually localhost or 127.0.0.1
  • Database Port: Usually 3306
  • Database Name: Your database name
  • Database Username: Your database user
  • Database Password: Your database password

The installer will test the connection and automatically create all necessary tables.

7 Create Admin Account

Set up your administrator account:

  • First Name
  • Last Name
  • Email Address (used for login)
  • Password (minimum 8 characters)

8 Complete Installation

Once all steps are complete, you'll see a success message. Click "Go to Dashboard" to access your admin panel.

Installation Complete! You can now log in to the admin panel and start configuring your appointment booking system.

Installation Troubleshooting

White Screen / 500 Error

Solution: Check directory permissions for storage and bootstrap/cache. Ensure they are writable (755 or 775).

Database Connection Failed

Solution: Verify your database credentials. Ensure the database exists and the user has proper permissions (CREATE, ALTER, DROP, INSERT, UPDATE, DELETE).

License Verification Failed

Solution: Check your internet connection. Ensure your purchase code is correct and hasn't been used on another domain. Contact support if the issue persists.

Missing PHP Extensions

Solution: Contact your hosting provider to install missing PHP extensions. Most quality hosting providers include all required extensions by default.

Configuration

System Settings

After installation, navigate to Settings > General to configure basic system settings:

Setting Description
Site Title The name of your application (used in emails and page titles)
Site Description Brief description for SEO purposes
Default Timezone System-wide timezone (users can set their own)
Date Format How dates are displayed throughout the system
Time Format 12-hour or 24-hour time format

Email Configuration

Configure email settings in Settings > Email:

  1. Choose your email provider (SMTP, Mailgun, Postmark, etc.)
  2. Enter your SMTP credentials or API keys
  3. Set the "From" email address and name
  4. Click "Send Test Email" to verify configuration
Important: Proper email configuration is essential for booking confirmations, reminders, and notifications to work correctly.

Workspace Setup

Workspaces allow you to manage multiple locations, brands, or business units within a single Schedula installation.

Creating a Workspace

  1. Go to Admin > Workspaces
  2. Click "Create Workspace"
  3. Fill in workspace details:
    • Workspace Name
    • Slug (URL-friendly identifier)
    • Description
    • Logo and branding colors
    • Background image (optional)
  4. Configure workspace settings:
    • Timezone
    • Working hours
    • Booking advance days (how far in advance bookings can be made)
    • Cancellation policy
  5. Click "Save Workspace"

Meeting Types

Meeting types define the services or appointments you offer.

Creating a Meeting Type

  1. Go to Admin > Meeting Types
  2. Click "Create Meeting Type"
  3. Basic Information:
    • Title (e.g., "30-Minute Consultation")
    • Description
    • Duration (in minutes)
    • Workspace
  4. Pricing:
    • Free or Paid
    • Price (if paid)
    • Currency
    • Deposit option (optional)
  5. Availability Settings:
    • Assign team members
    • Round-robin or customer choice
    • Buffer time before/after
  6. Meeting Location:
    • In-person (display address)
    • Online (auto-generate video link)
    • Phone call

User Management

Schedula supports three user roles:

Role Description Permissions
Admin Full system access All administrative functions, system settings, user management
System User Staff/Team Member Manage own bookings, availability, payment settings
Customer Booking clients View and manage their own bookings

Adding System Users

  1. Navigate to Admin > Users
  2. Click "Add User"
  3. Enter user details and assign role
  4. System users can then configure their own availability and payment settings

Integrations

Google Calendar Integration

Sync bookings with Google Calendar to prevent double-bookings and automatically create calendar events.

Setup Steps

1 Create Google Cloud Project

  1. Go to Google Cloud Console
  2. Create a new project or select existing
  3. Enable the Google Calendar API

2 Create OAuth Credentials

  1. Go to "APIs & Services" > "Credentials"
  2. Click "Create Credentials" > "OAuth client ID"
  3. Select "Web application"
  4. Add authorized redirect URI: https://yourdomain.com/admin/calendar-sync/google/callback
  5. Copy the Client ID and Client Secret

3 Configure in Schedula

  1. Go to Settings > Authentication
  2. Enter Google Client ID and Client Secret
  3. Save settings

4 Connect Calendar

  1. Users go to their Calendar Sync page
  2. Click "Connect Google Calendar"
  3. Authorize access
  4. Select calendar to sync with

Microsoft Outlook Integration

Similar to Google Calendar, integrate with Microsoft Outlook/Office 365.

Setup Steps

  1. Register app at Azure Portal
  2. Add Microsoft Graph API permissions: Calendars.ReadWrite, OnlineMeetings.ReadWrite
  3. Create client secret
  4. Add redirect URI: https://yourdomain.com/admin/calendar-sync/microsoft/callback
  5. Configure in Settings > Authentication

Zoho Calendar Integration

Integrate with Zoho Calendar for Zoho ecosystem users.

Setup Steps

  1. Go to Zoho API Console
  2. Create a Server-based Application
  3. Add redirect URI and get credentials
  4. Configure in Schedula settings

Payment Gateways

Schedula supports multiple payment processors. Each system user can configure their own payment credentials.

Supported Gateways

  • Razorpay - Popular in India
  • Cashfree - Indian payment gateway
  • PayUMoney - Indian payment solution
  • PhonePe - UPI and digital payments

Configuration

System users configure payment gateways individually:

  1. Go to Payment Settings
  2. Select gateway to configure
  3. Enter API credentials (Key ID, Secret Key, etc.)
  4. Enable test mode for testing
  5. Save and test with a sample transaction

WhatsApp Integration

Send booking confirmations and reminders via WhatsApp.

Two Modes Available

  1. Manual Mode: Generates wa.me links with pre-filled messages
  2. WABA Mode: Automatic sending via WhatsApp Business API (requires WABA account)

Configure in Settings > Notifications > WhatsApp

Video Meeting Integration

Automatically generate video meeting links for online appointments.

Supported Platforms

  • Zoom: Configure API credentials to auto-create Zoom meetings
  • Google Meet: Automatically created with Google Calendar sync
  • Microsoft Teams: Generated with Outlook calendar integration

Features Guide

Booking Management

Manage all appointments from the admin dashboard.

Viewing Bookings

  • Calendar View: See all bookings in calendar format
  • List View: Detailed table with filter options
  • Filters: By status, date range, workspace, meeting type

Booking Statuses

Status Description
Pending Awaiting confirmation or payment
Confirmed Booking approved and scheduled
Completed Appointment finished
Cancelled Booking cancelled by user or admin

Notifications & Reminders

Configure email and WhatsApp notifications for various booking events.

Notification Types

  • Booking confirmation
  • Booking reminders (up to 3 per booking)
  • Cancellation notifications
  • Rescheduling alerts
  • Payment receipts

Customizing Templates

  1. Go to Admin > Notification Templates
  2. Select template to edit
  3. Use variables like {{customer_name}}, {{meeting_date}}
  4. Preview and save

White-Labeling & Branding

Customize the application appearance to match your brand.

Global Branding

  • Upload logo (light and dark versions)
  • Set favicon
  • Configure app name
  • Set brand colors

Workspace Branding

  • Individual logos per workspace
  • Custom background images
  • Workspace-specific color schemes
  • Custom booking page URLs

Updates & Maintenance

Keep Schedula up-to-date with the latest features and security patches.

Checking for Updates

  1. Go to Admin > Updates
  2. System will check for available updates
  3. Review changelog
  4. Click "Install Update"
  5. Wait for automatic installation
Important: Always backup your database before installing updates!

Frequently Asked Questions

How many workspaces can I create?

There's no limit! Create as many workspaces as needed for different locations or brands.

Can I use custom domains for workspaces?

Yes, you can map custom domains to individual workspaces. Contact your hosting provider for domain configuration help.

What happens if a booking conflicts with my calendar?

Calendar sync automatically blocks out busy times, preventing double-bookings.

Can customers reschedule their appointments?

Yes, if enabled in meeting type settings. Customers can request changes which require admin approval.

How do refunds work for paid bookings?

Refunds must be processed manually through your payment gateway dashboard. Schedula tracks refund status.

Can I export booking data?

Yes, use the export feature in the bookings list to download CSV files.

Is Schedula GDPR compliant?

Schedula includes features to help with GDPR compliance, including data export and deletion capabilities.

Can I customize email templates?

Yes, all email templates are fully customizable with support for variables and HTML.

Support

We're here to help! If you need assistance with Schedula:

Before Contacting Support

  1. Check this documentation thoroughly
  2. Review the FAQ section
  3. Check the Changelog for known issues
  4. Verify your server meets all requirements

How to Get Support

Support is provided through CodeCanyon:

  1. Log in to your CodeCanyon account
  2. Go to your Downloads page
  3. Click "Support" next to Schedula
  4. Create a support ticket with detailed information

What to Include in Support Requests

  • Detailed description of the issue
  • Steps to reproduce the problem
  • Screenshots or error messages
  • Your PHP and Laravel version
  • Browser and OS information (if relevant)
Support Coverage: Your purchase includes 6 months of support. Extended support can be purchased separately through CodeCanyon.

Credits & Licenses

Schedula is built with the following open-source technologies:

Core Framework

  • Laravel 11 - PHP Framework (MIT License)
  • PHP 8.1+ - Programming Language

Frontend

  • Tailwind CSS - CSS Framework (MIT License)
  • Alpine.js - JavaScript Framework (MIT License)
  • Vite - Build Tool (MIT License)

PHP Packages

  • Guzzle HTTP - HTTP Client (MIT License)
  • Carbon - Date/Time Library (MIT License)
  • Spatie Laravel Permission - Role Management (MIT License)

APIs & Services

  • Google Calendar API
  • Microsoft Graph API
  • Zoho Calendar API
  • Razorpay Payment Gateway
  • Cashfree Payment Gateway

Icons & Assets

  • Font Awesome - Icon Library (Free License)
  • Heroicons - SVG Icons (MIT License)

All third-party resources are used in compliance with their respective licenses.


Thank you for choosing Schedula!
We hope this documentation helps you get the most out of your appointment booking system. If you have any questions or feedback, please don't hesitate to reach out through our support channels.

Schedula v1.0.0
© 2026 - Professional Appointment Booking SaaS
Documentation last updated: January 2026