PHPackages                             alextselegidis/easyappointments - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. alextselegidis/easyappointments

ActiveProject

alextselegidis/easyappointments
===============================

Open Source Web Scheduler

1.5.2(7mo ago)4.1k376↓100%1.5k[92 issues](https://github.com/alextselegidis/easyappointments/issues)[16 PRs](https://github.com/alextselegidis/easyappointments/pulls)GPL-3.0PHPPHP &gt;=8.1CI passing

Since Jan 2Pushed 1mo ago154 watchersCompare

[ Source](https://github.com/alextselegidis/easyappointments)[ Packagist](https://packagist.org/packages/alextselegidis/easyappointments)[ Docs](https://easyappointments.org)[ RSS](/packages/alextselegidis-easyappointments/feed)WikiDiscussions main Synced 2mo ago

READMEChangelog (10)DependenciesVersions (27)Used By (0)

 [ ![Easy!Appointments](https://raw.githubusercontent.com/alextselegidis/easyappointments/develop/logo.png) ](https://easyappointments.org)
 Easy!Appointments

===================================================================================================================================================================

[](#----------------------------easyappointments----)

####  A powerful Open Source Appointment Scheduler that can be installed on your server.

[](#----a-powerful-open-source-appointment-scheduler-that-can-be-installed-on-your-server-)

 [![GitHub](https://camo.githubusercontent.com/1f35b572df89789abf4e9f16db367f0199fe0d339493c53d4c043cb67070b476/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f616c65787473656c6567696469732f656173796170706f696e746d656e74733f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/1f35b572df89789abf4e9f16db367f0199fe0d339493c53d4c043cb67070b476/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f616c65787473656c6567696469732f656173796170706f696e746d656e74733f7374796c653d666f722d7468652d6261646765) [![GitHub release (latest by date)](https://camo.githubusercontent.com/a426d0bf286ef67230d4e3d131921807a08e2e987fd061e4c032eb6c87b16147/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f616c65787473656c6567696469732f656173796170706f696e746d656e74733f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/a426d0bf286ef67230d4e3d131921807a08e2e987fd061e4c032eb6c87b16147/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f616c65787473656c6567696469732f656173796170706f696e746d656e74733f7374796c653d666f722d7468652d6261646765) [![GitHub All Releases](https://camo.githubusercontent.com/f6acd1783a8ab241978f9890895cb4a81bc6eb4dd3ad94d67900ef6d67f65e3c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f616c65787473656c6567696469732f656173796170706f696e746d656e74732f746f74616c3f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/f6acd1783a8ab241978f9890895cb4a81bc6eb4dd3ad94d67900ef6d67f65e3c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f616c65787473656c6567696469732f656173796170706f696e746d656e74732f746f74616c3f7374796c653d666f722d7468652d6261646765) [ ![Chat On Discord](https://camo.githubusercontent.com/a375b946ad11ab7ab69ae2a73ddb17ca5055dd6b6cf0c32d47fb957ddba1ebf2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636861742d6f6e253230646973636f72642d3732383964613f7374796c653d666f722d7468652d6261646765266c6f676f3d646973636f7264266c6f676f436f6c6f723d7768697465) ](https://discord.com/invite/UeeSkaw)

 [About](#about) • [Features](#features) • [Setup](#setup) • [Installation](#installation) • [License](#license)

[![screenshot](screenshot.png)](screenshot.png)

About
-----

[](#about)

**Easy!Appointments** is a highly customizable web application that allows customers to book appointments with you via a sophisticated web interface. Moreover, it provides the ability to sync your data with Google Calendar so you can use them with other services. It is an open source project that you can download and install **even for commercial use**. Easy!Appointments will run smoothly with your existing website as it can be installed in a single folder of the server and of course share an existing database.

Features
--------

[](#features)

The application is designed to be flexible enough so that it can handle any enterprise work flow.

- Customers and appointments management.
- Services and providers organization.
- Working plan and booking rules.
- Google Calendar synchronization.
- Email notifications system.
- Self hosted installation.
- Translated user interface.
- User community support.

Setup
-----

[](#setup)

To clone and run this application, you'll need [Git](https://git-scm.com), [Node.js](https://nodejs.org/en/download/) (which comes with [npm](http://npmjs.com)) and [Composer](https://getcomposer.org) installed on your computer. From your command line:

```
# Clone this repository
$ git clone https://github.com/alextselegidis/easyappointments.git

# Go into the repository
$ cd easyappointments

# Install dependencies
$ npm install && composer install

# Start the file watcher
$ npm start
```

Note: If you're using Linux Bash for Windows, [see this guide](https://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/) or use `node` from the command prompt.

You can build the files by running `npm run build`. This command will bundle everything to a `build` directory.

Installation
------------

[](#installation)

You will need to perform the following steps to install the application on your server:

- Make sure that your server has Apache/Nginx, PHP (8.2+) and MySQL installed.
- Create a new database (or use an existing one).
- Copy the "easyappointments" source folder on your server.
- Make sure that the "storage" directory is writable.
- Rename the "config-sample.php" file to "config.php" and update its contents based on your environment.
- Open the browser on the Easy!Appointments URL and follow the installation guide.

That's it! You can now use Easy!Appointments at your will.

You will find the latest release at [easyappointments.org](https://easyappointments.org). If you have problems installing or configuring the application visit the [official support group](https://groups.google.com/forum/#!forum/easy-appointments). You can also report problems on the [issues page](https://github.com/alextselegidis/easyappointments/issues)and help the development progress.

License
-------

[](#license)

Code Licensed Under [GPL v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) | Content Under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)

---

Website [alextselegidis.com](https://alextselegidis.com) · GitHub [alextselegidis](https://github.com/alextselegidis) · Twitter [@alextselegidis](https://twitter.com/AlexTselegidis)

###### More Projects On Github

[](#more-projects-on-github)

###### ⇾ [Plainpad · Self Hosted Note Taking App](https://github.com/alextselegidis/plainpad)

[](#-plainpad--self-hosted-note-taking-app)

###### ⇾ [Questionful · Web Questionnaires Made Easy](https://github.com/alextselegidis/questionful)

[](#-questionful--web-questionnaires-made-easy)

###### ⇾ [Integravy · Service Orchestration At Your Fingertips](https://github.com/alextselegidis/integravy)

[](#-integravy--service-orchestration-at-your-fingertips)

###  Health Score

65

—

FairBetter than 99% of packages

Maintenance81

Actively maintained with recent releases

Popularity47

Moderate usage in the ecosystem

Community37

Small or concentrated contributor base

Maturity82

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 93.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~154 days

Recently: every ~379 days

Total

24

Last Release

236d ago

PHP version history (4 changes)1.3.0-alpha.1PHP &gt;=5.6

1.4.0PHP &gt;=7.0

1.4.2-beta.1PHP &gt;=7.3

1.5.2PHP &gt;=8.1

### Community

---

Top Contributors

[![alextselegidis](https://avatars.githubusercontent.com/u/4527441?v=4)](https://github.com/alextselegidis "alextselegidis (3275 commits)")[![popod](https://avatars.githubusercontent.com/u/3807312?v=4)](https://github.com/popod "popod (41 commits)")[![sudwebdesign](https://avatars.githubusercontent.com/u/1390644?v=4)](https://github.com/sudwebdesign "sudwebdesign (31 commits)")[![oxteam](https://avatars.githubusercontent.com/u/38721222?v=4)](https://github.com/oxteam "oxteam (25 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (16 commits)")[![tm8544](https://avatars.githubusercontent.com/u/15167679?v=4)](https://github.com/tm8544 "tm8544 (11 commits)")[![bzg](https://avatars.githubusercontent.com/u/63500?v=4)](https://github.com/bzg "bzg (10 commits)")[![Tthecreator](https://avatars.githubusercontent.com/u/14221894?v=4)](https://github.com/Tthecreator "Tthecreator (10 commits)")[![janinavelasco9](https://avatars.githubusercontent.com/u/23013396?v=4)](https://github.com/janinavelasco9 "janinavelasco9 (9 commits)")[![Caine85](https://avatars.githubusercontent.com/u/5676445?v=4)](https://github.com/Caine85 "Caine85 (7 commits)")[![emanwebdev](https://avatars.githubusercontent.com/u/1505372?v=4)](https://github.com/emanwebdev "emanwebdev (7 commits)")[![edioilha](https://avatars.githubusercontent.com/u/8040303?v=4)](https://github.com/edioilha "edioilha (7 commits)")[![sduck](https://avatars.githubusercontent.com/u/1327028?v=4)](https://github.com/sduck "sduck (6 commits)")[![idstam](https://avatars.githubusercontent.com/u/1647735?v=4)](https://github.com/idstam "idstam (5 commits)")[![JanC](https://avatars.githubusercontent.com/u/707703?v=4)](https://github.com/JanC "JanC (5 commits)")[![herzogmedia](https://avatars.githubusercontent.com/u/16254318?v=4)](https://github.com/herzogmedia "herzogmedia (5 commits)")[![tanielkirikal](https://avatars.githubusercontent.com/u/36533962?v=4)](https://github.com/tanielkirikal "tanielkirikal (4 commits)")[![Valian](https://avatars.githubusercontent.com/u/3935986?v=4)](https://github.com/Valian "Valian (4 commits)")[![vitormattos](https://avatars.githubusercontent.com/u/1079143?v=4)](https://github.com/vitormattos "vitormattos (4 commits)")[![walalm](https://avatars.githubusercontent.com/u/2467805?v=4)](https://github.com/walalm "walalm (4 commits)")

---

Tags

appointmentscodeignitereventsgoogle-calendarjavascriptmysqlphprest-apischedulersynctimeweb

### Embed Badge

![Health badge](/badges/alextselegidis-easyappointments/health.svg)

```
[![Health](https://phpackages.com/badges/alextselegidis-easyappointments/health.svg)](https://phpackages.com/packages/alextselegidis-easyappointments)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
