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
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
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).
.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:
- Log in to CodeCanyon
- Go to your Downloads page
- Click "Download" next to Schedula
- Select "License certificate & purchase code"
- 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
localhostor127.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 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:
- Choose your email provider (SMTP, Mailgun, Postmark, etc.)
- Enter your SMTP credentials or API keys
- Set the "From" email address and name
- Click "Send Test Email" to verify configuration
Workspace Setup
Workspaces allow you to manage multiple locations, brands, or business units within a single Schedula installation.
Creating a Workspace
- Go to Admin > Workspaces
- Click "Create Workspace"
- Fill in workspace details:
- Workspace Name
- Slug (URL-friendly identifier)
- Description
- Logo and branding colors
- Background image (optional)
- Configure workspace settings:
- Timezone
- Working hours
- Booking advance days (how far in advance bookings can be made)
- Cancellation policy
- Click "Save Workspace"
Meeting Types
Meeting types define the services or appointments you offer.
Creating a Meeting Type
- Go to Admin > Meeting Types
- Click "Create Meeting Type"
- Basic Information:
- Title (e.g., "30-Minute Consultation")
- Description
- Duration (in minutes)
- Workspace
- Pricing:
- Free or Paid
- Price (if paid)
- Currency
- Deposit option (optional)
- Availability Settings:
- Assign team members
- Round-robin or customer choice
- Buffer time before/after
- 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
- Navigate to Admin > Users
- Click "Add User"
- Enter user details and assign role
- 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
- Go to Google Cloud Console
- Create a new project or select existing
- Enable the Google Calendar API
2 Create OAuth Credentials
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth client ID"
- Select "Web application"
- Add authorized redirect URI:
https://yourdomain.com/admin/calendar-sync/google/callback - Copy the Client ID and Client Secret
3 Configure in Schedula
- Go to Settings > Authentication
- Enter Google Client ID and Client Secret
- Save settings
4 Connect Calendar
- Users go to their Calendar Sync page
- Click "Connect Google Calendar"
- Authorize access
- Select calendar to sync with
Microsoft Outlook Integration
Similar to Google Calendar, integrate with Microsoft Outlook/Office 365.
Setup Steps
- Register app at Azure Portal
- Add Microsoft Graph API permissions:
Calendars.ReadWrite,OnlineMeetings.ReadWrite - Create client secret
- Add redirect URI:
https://yourdomain.com/admin/calendar-sync/microsoft/callback - Configure in Settings > Authentication
Zoho Calendar Integration
Integrate with Zoho Calendar for Zoho ecosystem users.
Setup Steps
- Go to Zoho API Console
- Create a Server-based Application
- Add redirect URI and get credentials
- 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:
- Go to Payment Settings
- Select gateway to configure
- Enter API credentials (Key ID, Secret Key, etc.)
- Enable test mode for testing
- Save and test with a sample transaction
WhatsApp Integration
Send booking confirmations and reminders via WhatsApp.
Two Modes Available
- Manual Mode: Generates
wa.melinks with pre-filled messages - 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
- Go to Admin > Notification Templates
- Select template to edit
- Use variables like
{{customer_name}},{{meeting_date}} - 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
- Go to Admin > Updates
- System will check for available updates
- Review changelog
- Click "Install Update"
- Wait for automatic installation
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
- Check this documentation thoroughly
- Review the FAQ section
- Check the Changelog for known issues
- Verify your server meets all requirements
How to Get Support
Support is provided through CodeCanyon:
- Log in to your CodeCanyon account
- Go to your Downloads page
- Click "Support" next to Schedula
- 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)
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.
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