Title: Easy!Appointments
Author: alextselegidis
Published: <strong>17 de Abril de  2016</strong>
Last modified: 7 de Septiembre de  2026

---

Buscar plugins

![](https://ps.w.org/easyappointments/assets/banner-772x250.png?rev=3685267)

![](https://ps.w.org/easyappointments/assets/icon-128x128.png?rev=2406677)

# Easy!Appointments

 Por [alextselegidis](https://profiles.wordpress.org/alextselegidis/)

[Descargar](https://downloads.wordpress.org/plugin/easyappointments.1.5.2.zip)

 * [Detalles](https://cl.wordpress.org/plugins/easyappointments/#description)
 * [Reseñas](https://cl.wordpress.org/plugins/easyappointments/#reviews)
 *  [Instalación](https://cl.wordpress.org/plugins/easyappointments/#installation)
 * [Desarrollo](https://cl.wordpress.org/plugins/easyappointments/#developers)

 [Soporte](https://wordpress.org/support/plugin/easyappointments/)

## Descripción

**Let customers book appointments on your website, 24/7, without paying a monthly
subscription or a fee on every booking.**

Easy!Appointments gives your visitors a proper booking experience: they pick a service,
pick a staff member, see the real free slots from your calendar, choose a time, 
and confirm. You and your customer both get an email. The appointment lands in your
calendar. That’s it.

It runs on your own hosting, so there is no subscription, no per-booking cut, no
cap on how many appointments you take, and no third-party company sitting on your
customers’ names, phone numbers, and appointment history.

#### See it working before you install anything

Try the real booking form and the real admin calendar, right now, no signup:

**https://demo.easyappointments.org**

That takes about 60 seconds and will tell you more than this page can.

#### Please read this bit: it explains the two pieces

This is the part most people ask about, so here it is up front and in plain language.

Easy!Appointments is made of **two things**:

 1. **Easy!Appointments**, the booking engine. It holds your calendar, services, staff,
    working hours, holidays, customers and emails. It is free and open source, and 
    you install it on your own hosting (most shared hosts handle it fine, as it needs
    PHP and MySQL, the same as WordPress).
 2. **This plugin**, the bridge. It puts the booking form from that engine straight
    onto a page of your WordPress site, on your domain, inside your theme, so customers
    never get bounced off to a different-looking website to book.

**So yes, you need Easy!Appointments installed somewhere before this plugin does
anything.** We would rather tell you that in the first 30 seconds than have you 
find out after installing.

Why it is built that way: keeping the booking engine separate is exactly what lets
it be free, unlimited and fully yours. Nobody can raise your price, change the terms,
or lock your customer list behind an upgrade, because nobody else is holding it.

Get the engine here: **https://easyappointments.org**

#### What it costs

Nothing. There is no paid tier, no trial that runs out, and no feature held back
for an upgrade.

 * No monthly or yearly subscription
 * No commission or fee on any booking
 * No per-staff or per-user pricing
 * No cap on appointments, services, staff or customers

What it does cost is the hosting you are already paying for, plus the time to install
the booking engine once. Because you own that installation, nobody can raise your
price, change the terms, or put your customer list behind an upgrade later.

#### Setting it up

Once your Easy!Appointments engine is running, the WordPress side takes about three
minutes:

 1. Install and activate this plugin.
 2. Open **Easy!Appts** in your WordPress menu, paste your Easy!Appointments web address,
    click **Connect**.
 3. Open the page where you want bookings and add the **Easy!Appointments** block. 
    Publish.

Your booking form is live on that page. Bookings appear in your Easy!Appointments
calendar as they come in.

#### Three ways to place the booking form

**Block editor (Gutenberg).** Click **+**, search “Easy!Appointments”, drop it in.
Size and options are in the settings panel on the right. No code.

**Elementor.** Search “Easy!Appointments” in the widget panel and drag it onto the
canvas. Everything is configured with normal Elementor controls.

**Anything else.** Classic editor, WPBakery, Divi, a theme widget area: the `[easyappointments]`
shortcode works wherever shortcodes work.

You can also point a specific page at a specific service or staff member, so “Book
a haircut with Maria” is its own page.

#### Who this is for

It was built first for **appointment-based local businesses**: salons, barbershops,
spas, nail studios, tattoo studios, physiotherapists, dentists and clinics. Anywhere
customers book a named person for a fixed-length slot.

It also gets used well beyond that: consultants and coaches, tutors, driving schools,
workshops and repair shops, vets, law and accountancy practices, and university 
and government departments.

#### Who is behind it

Easy!Appointments has been developed in the open since 2014.

 * 4,300+ stars and 1,500+ forks on GitHub
 * Used by organisations including NEOM, Doctors Without Borders and Dolce & Gabbana
 * Active public support community and issue tracker
 * GPL licensed, so you can read every line, fork it, and never be locked out

#### What you get

 * Real-time availability from your own calendar
 * Multiple services with individual durations and prices
 * Multiple staff members with their own hours and days off
 * Confirmation and reminder emails to both sides
 * Google Calendar sync
 * Works on phones, where most bookings come from
 * Booking form available in 33 languages, plugin screens in nine
 * Your branding, your domain, your data

#### Honest notes

 * You do need to install the Easy!Appointments engine on hosting you control. If
   you want a booking form with no separate installation at all, this is not that
   plugin, and we would rather you knew now.
 * It is a self-hosted, open-source project. That means no bill, and it also means
   you set up your own email sending and updates. The documentation walks through
   both.
 * Support comes from the community and the issue tracker rather than a paid helpdesk.
   Response times vary.

#### Get in touch

Easy!Appointments is built and maintained by Alex Tselegidis. If you are weighing
it up, stuck on an installation, wondering whether it fits an unusual booking workflow,
or you need custom work or a commercial arrangement around it, write to me directly:

**info@alextselegidis.com** and https://alextselegidis.com

Feature ideas and bug reports are just as welcome. Tell me what you were trying 
to do and where it got in the way.

Documentation: https://easyappointments.org/documentation
 More about the WordPress
integration: https://easyappointments.org/wordpress

_Minimum requirements: WordPress 5.0 and PHP 5.6._

## Capturas de pantalla

[⌊The whole booking page on a phone, top to bottom, where most of your bookings 
come from.⌉⌊The whole booking page on a phone, top to bottom, where most of your
bookings come from.⌉[

The whole booking page on a phone, top to bottom, where most of your bookings come
from.

[⌊The whole booking page on your own site: your domain, your theme, your footer.⌉⌊
The whole booking page on your own site: your domain, your theme, your footer.⌉[

The whole booking page on your own site: your domain, your theme, your footer.

[⌊Connecting WordPress to your Easy!Appointments installation. One field, one click.⌉⌊
Connecting WordPress to your Easy!Appointments installation. One field, one click
.⌉[

Connecting WordPress to your Easy!Appointments installation. One field, one click.

[⌊Placing the booking form on a page with the block editor: width, height and pre-
selection, no code.⌉⌊Placing the booking form on a page with the block editor: width,
height and pre-selection, no code.⌉[

Placing the booking form on a page with the block editor: width, height and pre-
selection, no code.

[⌊Where the bookings land: your own calendar, colour-coded by service, one column
per day.⌉⌊Where the bookings land: your own calendar, colour-coded by service, one
column per day.⌉[

Where the bookings land: your own calendar, colour-coded by service, one column 
per day.

[⌊Your services, durations and prices, managed in your installation, not on someone
else's server.⌉⌊Your services, durations and prices, managed in your installation,
not on someone else's server.⌉[

Your services, durations and prices, managed in your installation, not on someone
else’s server.

## Bloques

Este plugin proporciona 1 bloque.

 *   Easy!Appointments Embed the Easy!Appointments booking form in your page or 
   post.

## Instalación

**Before you start:** you need Easy!Appointments running on your own hosting. It
is free, and download and setup instructions are at https://easyappointments.org.
If you would like to see what you are setting up first, the live demo is at https://
demo.easyappointments.org.

Once that is done:

 1. Install this plugin from the WordPress **Plugins  Add New** screen, or upload it,
    then click **Activate**.
 2. Go to **Easy!Appts** in your WordPress admin menu, paste the web address of your
    Easy!Appointments installation, and click **Connect**.
 3. Edit the page where you want customers to book, add the **Easy!Appointments** block(
    or the Elementor widget, or the `[easyappointments]` shortcode), and publish.

Take a test booking yourself to confirm the confirmation email arrives, then you
are live.

## FAQ

### Do I really need a separate Easy!Appointments installation?

Yes, and it is worth understanding why. Easy!Appointments is the booking engine,
and your calendar, services, staff and customers live there. This plugin puts that
engine’s booking form onto your WordPress pages.

Keeping the engine separate is what makes it free and unlimited: there is no company
in the middle metering your bookings. You install it once on your own hosting, at
https://easyappointments.org, and it is yours.

### Is installing the engine difficult?

If you have installed WordPress, you can install this. It needs the same things 
WordPress does, PHP and MySQL, and it has a web-based setup wizard. Most people 
put it in a subfolder or subdomain of the same hosting account their WordPress site
is on. The documentation covers the common hosts.

### Is there a monthly fee, or a fee per booking?

No, none. There is no subscription, no commission on bookings, no limit on how many
appointments or staff members you have, and no paid tier that unlocks the real features.
It is GPL open-source software.

### Can I see it before committing to anything?

Yes. https://demo.easyappointments.org is a live installation with a working booking
form and a working admin calendar. Nothing to sign up for.

### Where do bookings go?

Into your Easy!Appointments calendar, straight away. You can view them by day, week
or month, and per staff member. Nothing is stored on anybody else’s server.

### Do confirmation emails work reliably?

They are sent by your Easy!Appointments installation. Whether they reach the inbox
depends on how that server sends mail, which is true of every WordPress site as 
well. If emails go missing, the usual fix is to configure SMTP with a proper sending
service rather than relying on the host’s default PHP mail. This is documented, 
and it is the first thing to check if a customer says they did not get a confirmation.

### Does it sync with Google Calendar?

Yes, Easy!Appointments supports Google Calendar synchronisation per staff member,
set up from its own admin area.

### Can I show only one service or one staff member on a page?

Yes. Each block, widget and shortcode can be pointed at a specific service or staff
member, so you can give each service its own landing page.

### Will it match my theme?

The booking form is embedded on your page, on your domain, and you can size and 
style the frame. The form’s own look comes from your Easy!Appointments installation,
which can be customised there.

### Which PHP version do I need?

This plugin needs PHP 5.6 or newer, though modern PHP is strongly recommended. The
Easy!Appointments engine has its own, higher requirement, so check the version you
are downloading against your host’s PHP version before installing, as mismatched
PHP versions are the most common cause of setup trouble.

### I have an older Easy!Appointments installation. Will this work with it?

Update the engine to a current release first. Several reliability issues people 
have reported over the years were fixed upstream, and running an old version against
a current plugin is asking for trouble.

### What if I get stuck?

Documentation is at https://easyappointments.org/documentation, and there is an 
active community group where users and the maintainers answer questions:

https://groups.google.com/forum/#!categories/easy-appointments

### What languages are supported?

There are two separate pieces, and they are translated separately.

**The booking form** your customers see is rendered by your Easy!Appointments installation,
which ships 33 languages: Arabic, Bulgarian, Catalan, Chinese, Croatian, Czech, 
Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hebrew, Hindi,
Hungarian, Italian, Japanese, Luxembourgish, Marathi, Persian, Polish, Portuguese,
Portuguese (Brazil), Romanian, Russian, Serbian, Slovak, Spanish, Swedish, Thai 
and Turkish. You choose which one in your installation’s settings.

**This plugin’s own screens** in WordPress, meaning the connect page and the block
and widget controls, are written in English and translated into nine more: Czech,
Dutch, French, German, Greek, Italian, Portuguese (Brazil), Russian and Spanish.

If your language is missing from either list, contributions are very welcome. Write
to info@alextselegidis.com or open a pull request.

## Reseñas

![](https://secure.gravatar.com/avatar/a10e7c54b3b618f15cd87af3f98b2b0406408657a6d90142f7e8adab67e8b9eb?
s=60&d=retro&r=g)

### 󠀁[Super Plugin](https://wordpress.org/support/topic/super-plugin-1326/)󠁿

 [trying-my-best](https://profiles.wordpress.org/apatsidis123/) 15 de Junio de 2025

Underrated plugin, happy to find it, thanks a lot

![](https://secure.gravatar.com/avatar/51854fe3cadc9b735a5be86bb188a9581c4cb9ec4675dc949f5925be81cec10b?
s=60&d=retro&r=g)

### 󠀁[modified review](https://wordpress.org/support/topic/modified-review/)󠁿

 [bgrmystr](https://profiles.wordpress.org/bgrmystr/) 10 de Abril de 2018

I originally reviewed this at 1-star because it was totally non-functional. I determined
the problem was an older PHP version active on website. After updating PHP to version
7.1 calendar was functional. That was my mistake, as I over-looked the error message
on screen. Updated Review: Calendar is great IF there are no modifications to either
service price, services offered, or time/date worker is available. If any object
changes, the database automatically reverts to its original configuration and new
data is replaced with older data. The only way to use the new data, is to delete
the connection, for that worker (depending on change, you may need to delete all
workers), delete the old information you want to update, create new data and new
connection. This is a database managing nightmare and too time-consuming to be user
friendly. If I want to change a workers time or day of week, I should not have to
delete the entire connection to start it from scratch. If I want to change the price
for all workers, I should not have to delete all worker connections to rebuild database.
It should automatically update to the new information, not revert to old data. Without
these database connectivity problems, I would have rated it at least 4-stars. Because
these problems are severe enough, I am unable to effectively use this plug-in and
rating it at 2-stars.

![](https://secure.gravatar.com/avatar/7f9162fa5eeeb3184b9b575f11bd57c7b140f78ceb291e304bcb214aff1a3aef?
s=60&d=retro&r=g)

### 󠀁[Great plugin!](https://wordpress.org/support/topic/great-plugin-16745/)󠁿

 [Branike](https://profiles.wordpress.org/branike/) 6 de Febrero de 2018

Great plugin! Free! Contains multiple languages. I strongly recommend! Version 4.9.3
works great.

![](https://secure.gravatar.com/avatar/7be3a4f5e528c976ad3e7d71045f9851b585101f6b182982de643549c88df65c?
s=60&d=retro&r=g)

### 󠀁[Very good](https://wordpress.org/support/topic/very-good-2781/)󠁿

 [floreact](https://profiles.wordpress.org/floreact/) 29 de Diciembre de 2017

Extremely useful and pretty easy to customize ( with a bit of php ). Too bad it’s
being abandoned. Was beyond everything i tried in the store. Still working good 
with my current version of WP ( 4.9.1 ) so heartily recommending it.

![](https://secure.gravatar.com/avatar/619fe801c79d9bf80b7d42c7d48d00759851d299e2db4b08d951a1e4192b517e?
s=60&d=retro&r=g)

### 󠀁[Very usefull, works stable](https://wordpress.org/support/topic/very-usefull-works-stable/)󠁿

 [pavchonator](https://profiles.wordpress.org/pavchonator/) 14 de Octubre de 2016

Very Usefull, works stable, is free ,

 [ Leer los 5 comentarios ](https://wordpress.org/support/plugin/easyappointments/reviews/)

## Colaboradores & Desarrolladores

“Easy!Appointments” es software de código abierto. Las siguientes personas han contribuido
a este plugin.

Colaboradores

 *   [ alextselegidis ](https://profiles.wordpress.org/alextselegidis/)

“Easy!Appointments” ha sido traducido en 5 idiomas. Gracias a [los traductores](https://translate.wordpress.org/projects/wp-plugins/easyappointments/contributors)
por sus contribuciones.

[Traduce “Easy!Appointments” a tu idioma.](https://translate.wordpress.org/projects/wp-plugins/easyappointments)

### ¿Interesado en el desarrollo?

[Revisa el código](https://plugins.trac.wordpress.org/browser/easyappointments/),
echa un vistazo al [repositorio SVN](https://plugins.svn.wordpress.org/easyappointments/),
o suscríbete al [registro de desarrollo](https://plugins.trac.wordpress.org/log/easyappointments/)
por [RSS](https://plugins.trac.wordpress.org/log/easyappointments/?limit=100&mode=stop_on_copy&format=rss).

## Historial de cambios

#### 1.5.2

 * Add translations for German, Spanish, French, Italian, Dutch and Brazilian Portuguese,
   and rewrite the Czech, Greek and Russian ones, which still targeted admin screens
   removed in 1.5.0.
 * Rebuild the translation template, which had been generated in 2017 and covered
   41 of the plugin’s 80 translatable strings.
 * Fix the booking form being cut off on phones. The iframe now grows to fit the
   form instead of scrolling inside a fixed height.
 * Fix the auto-resize script never running: it was loaded in the page head, before
   the booking form existed, so it silently did nothing.
 * Fix a 1000px minimum height that overrode smaller width/height values set on 
   the block, widget or shortcode.
 * Add a taller fallback height on narrow screens for installations served from 
   a different domain, whose content cannot be measured from the page.
 * Fix the asset version constant lagging behind the plugin version, which served
   stale CSS and JavaScript from browser caches after an update.

#### 1.5.1

 * Add missing files into the repository.

#### 1.5.0

 * Add Gutenberg block for embedding the booking form in pages and posts.
 * Add Elementor widget for embedding the booking form with full property controls.
 * Add “Settings” link on the Plugins page for quick access to the plugin configuration.
 * Redesign the settings page with a modern card-based layout and step-by-step integration
   guide for Gutenberg, Elementor, and Shortcode.
 * Validate URL format on the frontend before sending the connect request.
 * Fix AJAX actions to return proper JSON responses with structured error information.
 * Fix error notifications to display a clear title, friendly message, and collapsible
   technical details instead of raw undefined values.
 * Move admin script and style enqueueing to proper admin_enqueue_scripts hook.
 * Sanitize provider and service shortcode/block attributes with absint().
 * Sanitize style shortcode attribute with sanitize_text_field() before output.

#### 1.4.3

 * Add “nonce” check for the admin HTTP requests

#### 1.4.2

 * Remove the $path check before rendering the iframe as it is always empty (frontend
   iframe rendering works again)

#### 1.4.1

 * Add capabilities check to the plugin requests

#### 1.4.0

 * Support for up to WordPress 6.5.5.
 * Remove installation functionality.
 * Move the menu item in WP admin to root level, so that it becomes easier to find.
 * Update screenshots.

#### 1.3.3

 * Support for WordPress 6.5.2.
 * Add additional security check on instance removal.
 * Add Russian translations to the plugin (by @krotesk).

#### 1.3.2

 * Support for WordPress 6.4.3.
 * Fixed XSS issue with shortcode.

#### 1.3.1

 * Support for WordPress 5.6.
 * Support for Easy!Appointments 1.4
 * Fixed issue with new Easy!Appointments installations.
 * Fixed issue with missing javascript file in public pages.

#### 1.3.0

 * Support for WordPress 5.5.
 * Plugin codebase adjustments.
 * Added support for “provider” and “service” shortcode attributes.

#### 1.2.0

 * Support for WordPress 5.x.

#### 1.1.0

 * Installation will not try to create a new directory (avoiding permission problems).
 * Added minified assets (JS & CSS).
 * Enhanced admin UI section.

#### 1.0.1

 * Initial release in WordPress plugin repositories.
 * Install, Link, Unlink, Verify and Shortcode operations.
 * Shipped with Easy!Appointments v1.1.1

## Meta

 *  Versión **1.5.2**
 *  Última actualización **hace 2 días**
 *  Instalaciones activas **500+**
 *  Versión de WordPress ** 5.0 o superior **
 *  Probado hasta **7.1**
 *  Versión de PHP ** 5.6 o superior **
 *  Idiomas
 * [Albanian](https://sq.wordpress.org/plugins/easyappointments/), [Croatian](https://hr.wordpress.org/plugins/easyappointments/),
   [Czech](https://cs.wordpress.org/plugins/easyappointments/), [English (US)](https://wordpress.org/plugins/easyappointments/),
   [Spanish (Chile)](https://cl.wordpress.org/plugins/easyappointments/), y [Spanish (Spain)](https://es.wordpress.org/plugins/easyappointments/).
 *  [Traducir a tu idioma](https://translate.wordpress.org/projects/wp-plugins/easyappointments)
 * Etiquetas
 * [appointment booking](https://cl.wordpress.org/plugins/tags/appointment-booking/)
   [appointments](https://cl.wordpress.org/plugins/tags/appointments/)[booking](https://cl.wordpress.org/plugins/tags/booking/)
   [calendar](https://cl.wordpress.org/plugins/tags/calendar/)[scheduling](https://cl.wordpress.org/plugins/tags/scheduling/)
 *  [Vista Avanzada](https://cl.wordpress.org/plugins/easyappointments/advanced/)

## Calificaciones

 4.4 de 5 estrellas.

 *  [  4 valoraciones de 5 estrellas     ](https://wordpress.org/support/plugin/easyappointments/reviews/?filter=5)
 *  [  0 valoraciones de 4 estrellas     ](https://wordpress.org/support/plugin/easyappointments/reviews/?filter=4)
 *  [  0 valoraciones de 3 estrellas     ](https://wordpress.org/support/plugin/easyappointments/reviews/?filter=3)
 *  [  1 valoración de 2 estrellas     ](https://wordpress.org/support/plugin/easyappointments/reviews/?filter=2)
 *  [  0 valoraciones de 1 estrellas     ](https://wordpress.org/support/plugin/easyappointments/reviews/?filter=1)

[Tu reseña](https://wordpress.org/support/plugin/easyappointments/reviews/#new-post)

[Ver todas las reseñas](https://wordpress.org/support/plugin/easyappointments/reviews/)

## Colaboradores

 *   [ alextselegidis ](https://profiles.wordpress.org/alextselegidis/)

## Soporte

¿Tienes algo que decir? ¿Necesitas ayuda?

 [Ver el foro de soporte](https://wordpress.org/support/plugin/easyappointments/)

## Donar

¿Te gustaría apoyar el avance de este plugin?

 [ Donar para este plugin ](https://alextselegidis.com)