Discover / GTM & Growth

Easy!Appointments

by alextselegidisPHP

Open source appointment scheduling application for sales and service teams

Toolstable

Maturity: stable because 12y old, 1.6.0 released 68d ago. Derived from release and commit history, not a rating.

Stars
4.3k
Forks
1.5k
Downloads / mo
Last commit
2026-07-29
License
GPL-3.0
Open issues
154

Market and trust evidence

Edition not yet matched

No exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.

Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.

In practice

Written by AI from this repository’s README · high confidence

Booking SaaS charges per provider and keeps customer appointment data outside your own systems.

Use it when

Use it when you need booking on your own PHP and MySQL hosting, integrated with an existing website.

Not the right pick when

Advanced capabilities are pointed at a premium offering, so the open version does not cover every scheduling need.

Capabilities

  • appointment and customer management
  • service and provider organization
  • working plans and booking rules
  • Google Calendar synchronization
  • email notification system and multi-language interface
  • setup wizard run from the browser after configuration

Requirements

  • Apache or Nginx
  • PHP 8.2+
  • MySQL database

Cost: Open source with a paid cloud option

Install

Derived from the published package name in the repository, not from a model.

Video walkthroughs

Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.

What the repository ships

Has testsHas docsDocker imageCI configured

Detected from the actual files in the repository root.

Latest release 1.6.0

Published 2026-05-27

Easy!Appointments is a self hosted, open source web scheduler application that is very easy to setup on your server.

This is a stable release, you can use it in production environments and/or update your existing installations.

https://easyappointments.org/

Release Notes

Added

  • Added request method check on each request so that only allowed methods are accepted
  • Add Jitsi integration and link generation for appointments made via the public page
  • Allow providers to toggle the syncing themselves (#1731)
  • Add new meeting link field to appointments for storing online video conference locations
  • Create new integration section for the Google Calendar integration (#1690)
  • Add settings to not display the Add to Google Calendar button in the booking confirmation page (#1763)
  • Add new Google Meet setting and meeting link support for appointments while syncing with Google (#1589)
  • Add Select All / None buttons to multi-checkbox fields
  • Add prompt for client notifications so that they are not sent every time an appointment changes
  • Add notification prompt when creating new appointments from the calendar page
  • Add notification prompt when deleting appointments from the calendar page
  • Connect RSS updates from the official blog and show them in the about page
  • ALTCHA integration added as an alternative CAPTCHA step (#1155)
  • Add a legal notice and imprint links to the booking page and the legal settings page (#1407)
  • When someone clicks on password reset, implement a link delivery and not just change the password directly
  • Login / Backend button on the disabled booking page message screen (#1777)
  • Allow customers to save their information in local storage (#1696)
  • Implementation of additional GDPR features in Easy!Appointments (#535)
  • Allow users to define working plan exceptions for multiple dates (#1706)
  • Add CAPTCHA support for all the public forms in order to block abusive requests (#1754)
  • Add validation when saving the working plan (#1758)

Changed

  • Improved CRUD list entries to show pointer cursor when selected
  • Centered and narrowed CRUD list and form content on larger screens for better readability
  • Refactored cleanup logic from Console controller into a dedicated Cleanup library
  • Make the phone number field of backend users optional (#1709)
  • Change the main CRUD layout and navigation structure (list first)
  • Replace the availabilities type with the new slot interval field
  • Keep the provider option selected in the booking page if possible (#1672)
  • Improve setting language by GET parameter (#1620)
  • Improved appointment deletion flow: ask notification question first, only show the cancellation reason dialog when the user chooses to notify users
  • Restyled secondary action buttons (Cancel, Close) to use the outline secondary variant for a consistent UI
  • Simplified all documentation pages for better readability by non-technical users
  • Allow users to assign a provider to the service in the services page and update the label (assign the service to)
  • Perform various security optimizations in the app
  • Custom fields are displayed in appointment details popup (#1830)
  • When booking in calendar add a new check that will detect if the selected provider is still available or not
  • If the current user has not available services or providers to be displayed in the public booking page, then show an info message instead of the booking page

Fixed

  • Release builds now ship only the Google Calendar service instead of every Google API service, keeping the download size small
  • Language switching now works for languages with hyphenated codes such as Brazilian Portuguese and Traditional Chinese
  • Added missing language code mappings for Brazilian Portuguese and Traditional Chinese
  • Working plan exception break inputs now use the correct size and no longer look oversized
  • "No breaks" placeholder is now removed when the first break is added to

Tags

README

<h1 align="center">

<br>

<a href="https://easyappointments.org">

<img src="https://raw.githubusercontent.com/alextselegidis/easyappointments/develop/logo.png" alt="Easy!Appointments" width="150">

</a>

<br>

Easy!Appointments

<br>

</h1>

<h4 align="center">

A powerful, self-hosted appointment scheduling platform built for flexibility.

</h4>

<p align="center">

<img alt="License" src="https://img.shields.io/github/license/alextselegidis/easyappointments?style=for-the-badge">

<img alt="Latest Release" src="https://img.shields.io/github/v/release/alextselegidis/easyappointments?style=for-the-badge">

<img alt="Downloads" src="https://img.shields.io/github/downloads/alextselegidis/easyappointments/total?style=for-the-badge">

<a href="https://discord.com/invite/UeeSkaw">

<img alt="Discord" src="https://img.shields.io/badge/chat-on%20discord-7289da?style=for-the-badge&logo=discord&logoColor=white">

</a>

</p>

<p align="center">

<a href="#why-easyappointments">Why Easy!Appointments</a> •

<a href="#features">Features</a> •

<a href="#quick-start">Quick Start</a> •

<a href="#installation">Installation</a> •

<a href="#license">License</a>

</p>


<p align="center">

<strong>Looking for advanced capabilities?</strong><br>

Explore premium features and professional services at

<a href="https://easyappointments.org/premium" target="_blank">easyappointments.org/premium</a>.

</p>


screenshot

🚀 Why Easy!Appointments

Easy!Appointments is an open-source scheduling system that gives you full control over your booking workflow.

It is designed to adapt to your business — whether you need simple appointment booking or more advanced scheduling logic.

Key advantages:

  • Fully self-hosted — your data stays under your control
  • Highly customizable and flexible
  • Integrates with your existing website and database
  • Free for both personal and commercial use

✨ Features

Built to support a wide range of scheduling needs:

  • Appointment and customer management
  • Service and provider organization
  • Working plans and booking rules
  • Google Calendar synchronization
  • Email notification system
  • Multi-language interface
  • Self-hosted deployment
  • Active open-source community

⚡ Quick Start (Development)

Clone and run the project locally using the provided Docker Compose environment:


# Clone the repository
git clone https://github.com/alextselegidis/easyappointments.git

# Navigate into the project
cd easyappointments

# Start the Docker environment
docker compose up

Then open a second terminal and enter the application container:


docker compose exec app bash

Inside the container, install dependencies:


npm install && composer install

Start the development watcher:


npm start

Build production assets:


npm run build

Note: Works on Windows (WSL recommended), macOS, and Linux using Docker Compose.


🏗️ Installation (Production)

Requirements

  • Apache or Nginx
  • PHP 8.2+
  • MySQL database

Steps

  1. Create a database (or use an existing one)
  2. Upload the easyappointments folder to your server
  3. Ensure the storage directory is writable
  4. Rename config-sample.php to config.php
  5. Update configuration values
  6. Open the application in your browser and follow the setup wizard

Once completed, the system is ready to use.


📚 Resources


📜 License

  • Code: GPL v3.0
  • Content: CC BY 3.0

👤 Author


🔥 More Projects

Related tools