Skip to main content

Resumen del Plugin

El plugin com.cdsoftware.appointment agrega a iDempiere 12 un módulo reutilizable para gestionar citas, servicios, empleados, horarios, días no disponibles y disponibilidad de agenda.

Idea clave: la disponibilidad no depende solo de la interfaz. La validación queda centralizada en backend para proteger tanto las citas creadas desde ventanas iDempiere como las creadas desde REST/API.

Objetivo

El objetivo es permitir que una organización configure servicios agendables, defina qué empleados pueden atender cada servicio, establezca horarios de atención y bloquee días o rangos no disponibles. Con esa información, el sistema genera slots disponibles y valida cada cita antes de guardarla.

Alcance funcional

ÁreaQué cubre
ConfiguraciónParámetros generales por organización, límites de anticipación, reglas de aprobación e intervalos de slots.
ServiciosServicios agendables con precio, duración, intervalo, capacidad y requerimiento de aprobación.
EmpleadosPersonas o usuarios disponibles para atender citas, vinculados a terceros y opcionalmente a usuarios iDempiere.
DisponibilidadHorarios semanales, días libres de empleado, días libres de organización y validación de conflictos.
CitasRegistro principal de la cita con cliente, empleado, servicio, fecha, hora, duración, precio, estado y slot seleccionado.

Principios de diseño

  • El plugin es genérico y no depende del proyecto IEA.
  • La creación desde REST/API usa la tabla estándar CDS_Appointment.
  • Las reglas críticas se validan en eventos de modelo, no solo en callouts.
  • Los modelos generados I_CDS_* y X_CDS_* son la fuente de constantes de tabla, columnas y valores.
  • El campo R_Request_ID puede existir como referencia manual, pero el código del plugin no depende de solicitudes.