📅 Easy!Appointments - Open Source Appointment Scheduler
Clone or download
Failed to load latest commit information.
doc Updated doc files for v1.3.2 Jul 29, 2018
rsc Renamed gfx directory Apr 25, 2018
src Updated version information Jul 29, 2018
test/php Corrected vendor path in tests bootstrap.php file. Mar 29, 2018
.editorconfig Updated editorconfig file. Jul 6, 2016
.env Docker image based on official PHP-apache distribution. Some configur… May 21, 2017
.gitignore Merge branch 'master' into develop Jul 17, 2017
CHANGELOG.md Corrected CHANGELOG.md Jul 29, 2018
Dockerfile Normalize line breaks when starting Docker environment within a windo… Feb 27, 2018
LICENSE Updating license file (GPL-3.0) May 17, 2017
README.md Minor adjustments in README.md Feb 28, 2018
composer.json Added dynamic version for codeigniter library. Jan 23, 2018
composer.lock Added jsvrcek\ics composer package. Nov 1, 2017
docker-compose.prod.yml Docker image based on official PHP-apache distribution. Some configur… May 21, 2017
docker-compose.yml Docker image based on official PHP-apache distribution. Some configur… May 21, 2017
docker-entrypoint.sh Docker image based on official PHP-apache distribution. Some configur… May 21, 2017
gulpfile.js Use the config-sample.php instead of the config.php when building the… Jan 2, 2018
package-lock.json Added cookieconsent lib in the frontend (#480). Jun 24, 2018
package.json Added cookieconsent lib in the frontend (#480). Jun 24, 2018
phpunit.xml Path corrections in the phpunit.xml file. Mar 29, 2018



Organize your business! Exploit human resources that can be used in other tasks more efficiently.

Easy!Appointments is a highly customizable web application that allows your customers to book appointments with you via the web. 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 and you can download and install it even for commercial use. Easy!Appointments will run smoothly with your existing website, because it can be installed in a single folder of the server and of course, both sites can share the same database.


The project was designed to be flexible and reliable so as to be able to meet the needs of any kind of enterprise. You can read the main features of the system below:

  • Full customers and appointments management.
  • Services and service providers organization.
  • Workflow and booking rules.
  • Google Calendar synchronization.
  • Email notifications system.
  • Standalone installation (like WordPress, Drupal, Joomla and other web systems).
  • Translated user interface.
  • User community support.


Since Easy!Appointments is a web application, it runs on a web server and thus you will need to perform the following steps in order to install the system on your server:

  • Make sure that your server has Apache/Nginx, PHP and MySQL installed.
  • Create a new database (or use an existing).
  • 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 set your server properties.
  • Open your 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. If you have problems installing or configuring the application take a look on the wiki pages or visit the official support group. You can also report problems on the issues page and help the development progress.


To start Easy!Appointments using Docker in development configuration, with source files mounted into container, run:

docker-compose up

Production deployment can be made by changing required values in .env file (DB_PASSWORD, APP_URL, APP_PORT) and running:

docker-compose -f docker-compose.prod.yml up -d

Database data will be stored in named volume easyappointments_easy-appointments-data, and app storage (logs, cache, uploads) in easyappointments_easy-appointments-storage. To find where exactly they are stored, you can run

docker volume inspect easyappointments_easy-appointments-storage

Production containers will automatically be restarted in case of crash / server reboot. For more info, take a look into docker-compose.prod.yml file.

User Feedback

Whether it is new ideas or defects, your feedback is highly appreciated and will be taken into consideration for the following releases of the project. Share your experience and discuss your thoughts with other users through communities. Create issues with suggestions on new features or bug reports.

Translate Easy!Appointments

As of version 1.0 Easy!Appointments supports translated user interface. If you want to contribute to the translation process read the get involved page for additional information.