WP Manifestindependent plugin directory
manifest / events / plugin-appointment-ingrid

Appointment Ingrid

Plugin sencillo para gestionar citas con interfaz tipo Calendly. Permite a los usuarios reservar citas de 45 minutos con formulario completo de datos. Incluye gestión manual de slots con FullCalendar.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/idifusal/plugin-appointment-ingrid/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Plugin de Citas para WordPress - Ingrid

Un plugin completo de WordPress para gestionar citas con interfaz tipo Calendly, panel de administración y base de datos integrada.

🚀 Características

  • Plugin nativo de WordPress: Integración completa con WP
  • Interfaz tipo Calendly: Selección intuitiva de fecha y hora
  • Triggers globales: Cualquier botón con clase appointment-button abre el modal
  • Panel de administración: Gestión completa de citas desde el admin de WP
  • Gestión de slots con FullCalendar: Bloquea y desbloquea slots manualmente desde el admin
  • Base de datos: Almacenamiento seguro en tablas de WordPress
  • Shortcode: [appointment_booking] para insertar en cualquier página
  • AJAX: Procesamiento asíncrono sin recargar página
  • Integración de pagos: Redirección automática a SepPay
  • Emails automáticos: Confirmaciones y notificaciones
  • Horarios configurables: Personalización completa desde el admin
  • Bootstrap Icons: Iconografía moderna y consistente
  • Responsive: Funciona perfectamente en móviles y desktop

🎨 Diseño

  • Color principal: Azul #001D55
  • Color de acento: Amarillo #F4B008
  • Tipografía: System fonts para mejor rendimiento
  • Animaciones suaves: Transiciones CSS para mejor UX

📋 Campos del formulario

Información requerida:

  • Nombre completo
  • Email
  • Teléfono
  • Dirección completa (calle, ciudad, estado, código postal)

Información opcional:

  • Nombre de empresa
  • Mensaje adicional

🔧 Instalación

Opción 1: Instalación manual

  1. Descarga todos los archivos del plugin
  2. Sube la carpeta plugin-appointment-ingrid a /wp-content/plugins/
  3. Activa el plugin desde el panel de WordPress
  4. Ve a Citas > Configuración para personalizar horarios

Opción 2: Instalación por ZIP

  1. Comprime todos los archivos en un ZIP
  2. Ve a Plugins > Añadir nuevo > Subir plugin
  3. Sube el archivo ZIP y activa el plugin

💻 Uso

Mostrar el formulario de citas:

[appointment_booking]

Opciones del shortcode:

[appointment_booking button_text="Reservar mi cita"]
[appointment_booking button_class="mi-clase-css"]

Botones globales:

Cualquier botón con la clase appointment-button abrirá automáticamente el modal:

<button class="appointment-button">
    <i class="bi bi-calendar-plus"></i>
    Agendar Cita
</button>

<a href="#" class="appointment-button">Reservar Ahora</a>

Atajos de teclado:

  • Ctrl + Shift + A: Abrir modal de citas
  • Escape: Cerrar modal

Panel de administración:

  • Citas > Todas las Citas: Ver y gestionar todas las citas
  • Citas > Gestión de Slots: Bloquear/desbloquear slots manualmente con FullCalendar
  • Citas > Configuración: Personalizar horarios y opciones

🛠️ Estructura del plugin

plugin-appointment-ingrid/
├── appointment-ingrid.php           # Archivo principal del plugin
├── assets/
│   ├── css/
│   │   └── appointment-style.css    # Estilos del frontend
│   └── js/
│       └── appointment-script.js    # JavaScript del frontend
├── templates/
│   └── appointment-modal.php        # Template del modal de citas
├── admin/
│   ├── appointments-list.php        # Lista de citas en el admin
│   ├── calendar-admin.php           # Gestión de slots con FullCalendar
│   └── settings.php                 # Página de configuración
├── example-usage.html               # Ejemplo de uso del plugin
└── README.md                        # Documentación

⚙️ Configuración

Horarios de trabajo

Configurable desde Citas > Configuración:

  • Días de la semana activos/inactivos
  • Horas de inicio y fin por día
  • Duración de citas (30, 45, 60, 90, 120 minutos)
  • Días de anticipación mínima

Base de datos

El plugin crea automáticamente las siguientes tablas:

wp_appointment_ingrid:

  • Información de la cita (fecha, hora, estado)
  • Datos del cliente (nombre, email, teléfono, dirección)
  • Información adicional (empresa, mensaje)
  • Timestamps de creación

wp_appointment_ingrid_blocked_slots:

  • Slots bloqueados manualmente por el administrador
  • Fecha y hora del slot
  • Timestamp de creación del bloqueo

Estados de citas

  • Pendiente: Recién creada, esperando confirmación
  • Confirmada: Cita confirmada por el administrador
  • Completada: Cita realizada
  • Cancelada: Cita cancelada

🔧 Funcionalidades del admin

Lista de citas

  • Ver todas las citas en formato tabla
  • Filtrar por estado y fecha
  • Cambiar estado de citas
  • Ver detalles completos de cada cita
  • Estadísticas rápidas por estado

Gestión de Slots (FullCalendar)

  • Acceso seguro: Login simple con credenciales (admin / ingrid2025#)
  • Vista de calendario interactiva: Interfaz visual con FullCalendar
  • Bloqueo manual de slots: Haz clic en cualquier slot para bloquearlo
  • Desbloqueo fácil: Haz clic en un slot bloqueado para desbloquearlo
  • Visualización de citas: Ve las citas confirmadas y pendientes en el calendario
  • Códigos de color:
    • 🔴 Rojo: Slots bloqueados manualmente
    • 🟢 Verde: Citas confirmadas
    • 🟡 Amarillo: Citas pendientes
  • Lógica de disponibilidad: Los slots bloqueados no aparecen como disponibles para los usuarios

Configuración

  • Horarios de trabajo personalizables
  • Duración de citas configurable
  • Email de administrador
  • Activar/desactivar emails automáticos

📧 Sistema de emails

Email de confirmación al cliente

  • Enviado automáticamente al crear la cita
  • Incluye todos los detalles de la reserva
  • Personalizable desde el código

Notificación al administrador

  • Email enviado cuando se crea una nueva cita
  • Configurable desde Citas > Configuración

💳 Sistema de Pagos

Integración con SepPay

  • Redirección automática: Después de confirmar los datos, el usuario es dirigido a SepPay
  • URL configurada: https://seppay.com/s/al?a=MUs0BS9x2a27XL3%2Bs77HOQ&lang=es
  • Validación de pagos: Si el monto no es correcto, la cita se cancela automáticamente
  • Flujo completo: Selección → Datos → Confirmación → Pago → Cita confirmada

Proceso de pago:

  1. Usuario completa el formulario de cita
  2. Confirma sus datos personales
  3. Ve el resumen de la cita y advertencia de pago
  4. Es redirigido a SepPay en nueva ventana
  5. Completa el pago por el monto exacto
  6. Cita queda confirmada en el sistema

🔮 Próximas funcionalidades

  • ✅ Integración con pasarela de pagos (SepPay)
  • Sincronización con Google Calendar
  • Recordatorios automáticos por email/SMS
  • API REST para integraciones externas
  • Campos personalizables en el formulario
  • Múltiples servicios y precios
  • Webhook de confirmación de pagos

📱 Compatibilidad

WordPress

  • ✅ WordPress 5.0+
  • ✅ PHP 7.4+
  • ✅ MySQL 5.6+

Navegadores

  • ✅ Chrome 80+
  • ✅ Firefox 75+
  • ✅ Safari 13+
  • ✅ Edge 80+
  • ✅ Dispositivos móviles

🛡️ Seguridad

  • Nonces de WordPress para AJAX
  • Sanitización de todos los datos de entrada
  • Verificación de permisos de usuario
  • Escape de salida para prevenir XSS
  • Preparación de consultas SQL

🌐 Internacionalización

  • Preparado para traducciones
  • Text domain: appointment-ingrid
  • Archivos .pot incluidos
  • Compatible con WPML y Polylang

🤝 Contribución

Este es un proyecto en desarrollo. Las mejoras y sugerencias son bienvenidas.

Para desarrolladores:

  1. Fork el repositorio
  2. Crea una rama para tu feature
  3. Haz commit de tus cambios
  4. Envía un Pull Request

Desarrollado con ❤️ para Ingrid

Versión: 1.0.0
Requiere WordPress: 5.0 o superior
Probado hasta: 6.4
Licencia: GPL v2 o superior