En vivo · estado OK
OW Agenda · v1.3.1 · GPL-2.0

La reserva de citas en WordPress
sin franjas fantasma.

OW Agenda gestiona la reserva online, la validación, los recordatorios y la agenda diaria del profesional. Cada solicitud de un visitante debe confirmarse mediante un enlace enviado a su dirección de email antes de ocupar una plaza: un bot nunca llega a tu agenda. Gratis, GPL, sin versión Pro.

v1.3.1GPL-2.0WordPress 6.3+PHP 7.4+
Por qué

¿Por qué otro plugin de citas más?

En la web de una consulta, un formulario de reserva conectado sin salvaguardas genera más trabajo del que ahorra. Cualquier bot rellena una agenda pública, y la persona que descuelga el teléfono se pasa el día separando las citas reales de las solicitudes que nunca existieron.

Los plugins consolidados funcionan, pero todos están construidos sobre el mismo modelo: una versión gratuita capada a propósito — un solo empleado, un solo lugar, un puñado de servicios — y una suscripción anual para recuperar el uso normal del software. Para un profesional que trabaja solo, lo que se paga es sobre todo el derecho a salir de la demo.

OW Agenda parte de una consulta real y de tres restricciones: una solicitud no existe hasta que se confirma por email, dos visitantes no pueden reservar la misma franja, y la agenda debe poder manejarse de pie entre dos pacientes, desde un teléfono. El resto — directorio de clientes, invitaciones, ICS, recordatorios — se deriva de esas tres reglas.

Franjas ocupadas por nadie

Sin validación por email, un formulario abierto es una agenda que los bots rellenan gratis. Aquí la solicitud queda pendiente, retiene la franja 45 minutos y desaparece sola si nadie llega a hacer clic en el enlace.

El doble booking del sábado por la mañana

Dos visitantes sobre la misma franja con tres segundos de diferencia: una simple transacción MySQL no coloca ningún bloqueo de fila y registra las dos. OW Agenda serializa la reserva con un bloqueo con nombre — el segundo recibe un mensaje, no un duplicado.

Un back-office inservible en el mostrador

Entre dos pacientes, nadie abre wp-admin en un teléfono. La gestión se hace en una página de tu web protegida por login: vista del día, solicitudes pendientes, reprogramación, estados hecho / no presentado, en unos pocos toques con el pulgar.

Bajo el capó

Lo que cambia concretamente

Sin eslóganes. Estas son las decisiones técnicas que distinguen este producto.

Reserva online sobre franjas reales

El shortcode [ow_agenda] muestra los 14 próximos días disponibles y después las horas libres: elección del día, de la franja, formulario breve (nombre, teléfono, email, mensaje) y casilla de consentimiento RGPD. Tú ajustas la granularidad, la duración de la consulta, el margen entre dos citas, la antelación mínima y el horizonte de reserva. Cualquier evento de tu agenda — reserva web, cita telefónica anotada a mano, franja bloqueada — retira su tramo de las disponibilidades.

Doble opt-in: los bots no entran

La solicitud de un visitante sigue sin verificar mientras no se hace clic en el enlace recibido por email. Retiene la franja 45 minutos y después se purga automáticamente. Antes de eso, el campo trampa y la marca de tiempo del formulario son obligatorios — omitirlos ya no desactiva nada —, la cuota horaria se cuenta por dirección IPv4 y por prefijo /64 en IPv6, y un tope limita las solicitudes sin validar en un mismo día.

Validación desde tu bandeja de entrada

El email de notificación contiene dos botones, Confirmar y Rechazar, cuyos enlaces van firmados en HMAC-SHA256: decides con un toque, sin abrir WordPress ni iniciar sesión. La validación manual es el modo recomendado; la confirmación automática sigue disponible para las actividades que no tienen nada que arbitrar.

Agenda mobile-first para el profesional

El shortcode [ow_agenda_admin] crea una página «Agenda» en tu web, protegida por login y por una capacidad dedicada: vista del día, solicitudes pendientes, alta de una cita concertada por teléfono, bloqueo de franjas, reprogramación, estados hecho y no presentado. Añadida a la pantalla de inicio de tu teléfono, se comporta como una aplicación.

Directorio de clientes e invitaciones de sesión

Búsqueda, creación, edición y borrado de fichas de cliente, alimentadas automáticamente por las citas validadas. Para una sesión de seguimiento, un enlace privado nominativo deja que el propio cliente elija su fecha, sobre un servicio y una duración que tú has fijado: la invitación caduca, se consume una sola vez y vuelve a quedar disponible si la cita se anula.

Recordatorios y calendarios que no se pierden

Emails HTML cuidados en cada etapa, con un archivo ICS adjunto: tu cliente añade la cita al calendario de su teléfono con un gesto, una reprogramación actualiza la entrada y una anulación la elimina. El recordatorio de la víspera sale en una ventana deslizante de 12 a 36 horas y se recupera en la siguiente ejecución; la tarea horaria se reprograma sola si desaparece.

Comparación

Frente a las alternativas

Datos verificables. Marcar solo lo que existe realmente en la competencia.

CriterioOW AgendaAmeliaBooklySimply Schedule Appointments
Modelo de negocioGratis, GPL-2.0Freemium (Pro de pago)Freemium (Pro de pago)Freemium (Pro de pago)
Límites de la versión gratuitaNinguno: todo está incluidoLite: 1 empleado, 1 lugar5 servicios, 1 empleadoFunciones básicas
Clave de licencia que activarNingunaPara la versión ProPara la versión ProPara la versión Pro
Doble opt-in por email antes de ocupar la franjaActivado por defectoNo anunciadoNo anunciadoNo anunciado
Confirmar / Rechazar desde el email, sin iniciar sesiónEnlaces firmados HMAC-SHA256No anunciadoNo anunciado
Archivo ICS adjunto a los emails del clienteREQUEST, actualizaciones y CANCEL
Anonimización automática de las citas pasadasIncluida, plazo configurableNo anunciadoNo anunciadoNo anunciado
Gestión del día a díaPágina de la web, mobile-firstBack-office de WordPressBack-office de WordPressBack-office de WordPress
Integración

Tres formas de integrar un formulario

Sin page builder propietario impuesto. Elige el enfoque que encaja con tu stack.

[ow_agenda]

// La page « Prendre rendez-vous » est créée automatiquement à l'activation.
// Le même shortcode sert aux invitations de séance : le lien privé envoyé
// à un client existant pointe vers cette page avec son jeton en paramètre.
//
// https://ton-site.be/prendre-rendez-vous/?owag_invite=<jeton>
Preguntas técnicas

Dudas razonables, respuestas directas

¿Las franjas que se ofrecen online tienen en cuenta las citas concertadas por teléfono?

Sí. Todo lo que figura en tu agenda ocupa el tiempo que necesita: una reserva web, una cita anotada a mano después de una llamada, un tramo bloqueado para una reunión. El cálculo de disponibilidades parte de tu horario de apertura, resta esos tramos y aplica la duración del servicio, el margen entre dos citas, la antelación mínima antes de reservar y el horizonte máximo. Una franja mostrada es una franja realmente libre.

¿Cómo impide el plugin las reservas falsas?

Con una solicitud que no existe mientras no se confirma. El visitante recibe un enlace de validación; si no hace clic, su solicitud retiene la franja 45 minutos y después se purga. A eso se suman un campo trampa y una marca de tiempo ahora obligatorios — un envío que los omite se rechaza en lugar de pasar sin control —, una cuota horaria por dirección IP (agregada por prefijo /64 en IPv6, donde una sola máquina dispondría si no de miles de millones de direcciones) y un tope de solicitudes sin validar por día, para que un mismo visitante no pueda congelar toda tu agenda.

¿Qué pasa si dos personas reservan la misma franja a la vez?

Solo prospera una reserva. La sección crítica se serializa con un bloqueo con nombre de MySQL: la comprobación de disponibilidad y la escritura se hacen bajo bloqueo, algo que una simple transacción no garantizaba — una lectura sin más no coloca ningún bloqueo de fila en REPEATABLE READ. El nombre del bloqueo se deriva de la base de datos y del prefijo de tablas, para que dos webs de un mismo alojamiento compartido no se bloqueen mutuamente. El segundo visitante recibe una invitación a elegir otra franja.

¿Puede un cliente anular o mover su cita él mismo?

Sí, con el enlace que aparece en sus emails, hasta el plazo de preaviso que tú fijes (24 horas por defecto); a partir de ahí, la página le invita a llamarte. La anulación envía un archivo ICS de cancelación que retira el evento de su calendario, y si la cita venía de una invitación privada, esta vuelve a quedar disponible en lugar de darse por consumida para siempre.

¿Cómo se gestiona la agenda desde un teléfono?

Abre la página «Agenda» de tu web en el teléfono, inicia sesión y usa «Añadir a la pantalla de inicio». La interfaz se comporta entonces como una aplicación: día en curso, solicitudes por validar, alta de una cita telefónica, bloqueo de una franja, reprogramación, estados hecho y no presentado. Sin instalación, sin tienda de aplicaciones y sin que nada salga de tu alojamiento.

¿El plugin está traducido?

Sí, y es enteramente traducible. Desde la 1.3.1, todas las cadenas visibles — ajustes, páginas de reserva y de anulación, mensajes de la API, plantillas de email e interfaz JavaScript — pasan por el dominio de traducción ow-agenda, con el inglés como idioma de origen. La plantilla languages/ow-agenda.pot se incluye para los traductores, y ya se ha producido y enviado a translate.wordpress.org una traducción francesa completa. El español puede añadirse por esa misma vía.

Gratis. Sin asteriscos.

Sin versión Pro, sin clave de licencia.

OW Agenda se publica bajo licencia GPL-2.0. Todo lo que describe esta página está en el .zip que te descargas: ninguna función reservada, ninguna suscripción, ningún límite en el número de citas, de empleados o de servicios.

  • Todo está incluido: reserva online, doble opt-in, invitaciones de sesión, directorio de clientes, emails con ICS y recordatorios.
  • El .zip se descarga en optionweb.dev. El plugin no está publicado en wordpress.org: instálalo desde Plugins → Añadir nuevo → Subir plugin.
  • Ningún servicio de terceros, ninguna verificación de licencia, ningún rastreador: los datos de contacto de tus clientes se quedan en tu alojamiento.
  • El código es GPL-2.0, legible y modificable: puedes auditarlo, adaptarlo y hacerlo evolucionar, con nosotros o sin nosotros.
Creado por Julien Daniel · Châtelet, Bélgica