Este apartado recoge todos los métodos que permiten la completa configuración de una agenda para su uso en la planificación de citas.


Agendas

Será posible la creación, edición y borrado de agendas por parte de determinados roles que tengan capacidad de gestión.


Para la creación puede utilizarse el siguiente método:


POST /cges/agendas
Crear agendas

Requisitos funcionales

    • El nombre es obligatorio y debe tener un máximo de 300 caracteres.

    • La grupoAgenda.id es obligatorio, debe estar activo y no debe estar asociado a otra agenda.


La modificación de una agenda se realizará con el siguiente método:


PUT /cges/agendas/{idAgenda}
Actualizar agendas

Requisitos funcionales

    • La agenda debe ser válida.
    • Mismos requisitos que para la creación.

    • En caso de actualizar una agenda inactiva, se reactivará.


El borrado de una agenda se realizará con el siguiente método:

El borrado de una agenda provocará la eliminación en cascada de toda su configuración al completo.

DELETE /cges/agendas/{idAgenda}
Eliminar agendas

Requisitos funcionales

    • La agenda debe ser válida.
    • La agenda no debe tener reservas en vigor (en plazo y no canceladas).

Grupos de agenda

Para la configuración de los grupos de acceso a las agendas, se cuenta con los siguientes métodos.

POST /cges/agendas/grupos
Crear grupo de agendas

Requisitos funcionales

    • La agenda debe ser válida.
    • El nombre es obligatorio y debe tener un máximo de 300 caracteres.

    • La organización funcional (organizacion.uuid) debe ser válida.
    • El usuario asignado de las solicitudes que se generen con la agenda (asignado.uuid) debe ser válido y perteneciente a los usuarios filtrados por codigo=ASIGNADO_GRUPO_AGENDA.


PUT /cges/agendas/grupos/{idGrupoAgenda}
Modificar grupo de agendas

Requisitos funcionales

    • El grupo de agenda debe ser válido.
    • Mismos requisitos que para la creación.

    • En caso de actualizar un grupo de agenda inactivo, se reactivará.
DELETE /cges/agendas/grupos/{idGrupoAgenda}
Eliminar grupo de agendas

El borrado de un grupo de agenda provocará la eliminación en cascada de su agenda asociada y su configuración al completo.

Requisitos funcionales

    • El grupo de agenda debe ser válido.
    • La agenda asociada al grupo no debe tener reservas en vigor (en plazo y no canceladas).

Periodos de validez

Una agenda tendrá varios registros de configuración que comprenden periodos de validez en los que la agenda estará disponible. Estos periodos de calendario no pueden superponerse.

A cada uno de estos periodos de trabajo se les podrá configurar diferentes opciones, como los tramos horarios de disponibilidad durante la semana, los minutos de atención de cada cita y el número de reservas máximo por cada cita horaria.

Con estas configuraciones y las reservas existentes se construye el calendario de disponibilidad de fechas y horas.


También es posible gestionar uno a uno cada registro de configuración para ajustar la agenda por parte del gestor que la configura.


GET /cges/agendas/{idAgenda}/configuraciones
Obtener configuraciones
GET /cges/agendas/{idAgenda}/configuraciones/{idConfiguracion}
Obtener configuración

Para la creación de un nuevo periodo de validez, se debe usar este método:


POST /cges/agendas/{idAgenda}/configuraciones
Crear configuración

Requisitos funcionales

    • La agenda debe ser válida y estar activa.
    • Los minutos de atención (intervaloReservaMinutos) deben ser un número entero positivo menor de 1440.
    • El número de reservas por cita (capacidad) debe ser un entero positivo mayor que 0.
    • Las fechas del periodo de validez debe formar un rango correcto y la fecha de inicio debe ser igual o superior a la actual.
    • El periodo de validez no puede solaparse para una misma agenda.
    • Se almacenará sólo la fecha y se ignorarán las horas que lleguen por parámetro, ya que el periodo de validez comprende días completos.

Para la modificación:


PUT /cges/agendas/{idAgenda}/configuraciones/{idConfiguracion}
Editar configuración

Requisitos funcionales

    • La configuración a editar debe estar asociada a la agenda suministrada.
    • No debe existir una reserva activa (en plazo y no cancelada) para el periodo de validez afectado en la edición.
    • Mismos requisitos funcionales que para la creación.


Para el borrado de elementos:


DELETE /cges/agendas/{idAgenda}/configuraciones/{idConfiguracion}
Eliminar configuración

El borrado de un periodo de validez eliminará también todas sus configuraciones de tramos horarios asociados a dicha configuración.

Requisitos funcionales

    • La agenda debe ser válida y estar activa.
    • La configuración a editar debe estar asociada a la agenda suministrada y activa.
    • No debe existir una reserva activa (en plazo y no cancelada) para el periodo de validez afectado en la edición.

Tramos horarios

Un periodo de validez de agenda tendrá varios registros de configuración que comprenden los tramos horarios del día en los que el servicio estará disponible. Estos tramos no pueden superponerse.

A cada uno de estos tramos se les configura el día de la semana y la hora de inicio y fin de atención para las citas agendadas.


También es posible gestionar uno a uno cada registro de tramo horario para ajustar la agenda por parte del gestor que la configura.


GET /cges/agendas/{idAgenda}/configuraciones/{idConfiguracion}/tramos
Obtener tramos
GET /cges/agendas/{idAgenda}/configuraciones/{idConfiguracion}/tramos/{idTramo}
Obtener tramo

Para la creación de un nuevo tramo horario, se debe usar este método:


POST /cges/agendas/{idAgenda}/configuraciones/{idConfiguracion}/tramos
Crear tramo

Requisitos funcionales

    • La agenda debe ser válida y estar activa.
    • La configuración del periodo de validez debe ser válida, estar activa y pertenecer a la agenda.
    • El día de la semana indicado debe ser correcto.
    • La hora de inicio del horario debe ser anterior a la de fin.
    • Los tramos horarios no deben solaparse para una mismo periodo de validez.

Para la modificación:


PUT /cges/agendas/{idAgenda}/configuraciones/{idConfiguracion}/tramos/{idTramo}
Modificar tramo

Requisitos funcionales

    • La agenda debe ser válida y estar activa.
    • La configuración del periodo de validez debe ser válida, estar activa y pertenecer a la agenda.
    • No debe existir una reserva activa (en plazo y no cancelada) para el periodo de validez afectado en la edición y dentro del tramo horario que se quiere editar.
    • Mismos requisitos funcionales que para la creación.


Para el borrado de elementos:


DELETE /cges/agendas/{idAgenda}/configuraciones/{idConfiguracion}/tramos/{idTramo}
Eliminar tramo

Requisitos funcionales

    • La agenda debe ser válida y estar activa.
    • La configuración del periodo de validez debe ser válida, estar activa y pertenecer a la agenda.
    • El tramo horario debe existir y estar activo.
    • No debe existir una reserva activa (en plazo y no cancelada) para el periodo de validez afectado en la edición y dentro del tramo horario que se quiere editar.

Festivos y otras fechas deshabilitadas

Como el calendario se configura por periodos de validez, se ha incorporado la posibilidad de configurar fechas concretas para excluirlas completamente de cualquier calendario que se genere.

Estas fechas pueden configurarse a nivel de agenda o a nivel de grupo de agenda, en función de si la dependencia del día deshabilitado es con respecto al servicio prestado o al grupo de personas que lo gestiona.

La gestión de estas fechas se realiza consumiendo los siguientes métodos de la API:


GET /cges/agendas/{idAgenda}/fechasdeshabilitadas
Obtener fechas deshabilitadas para una agenda
POST /cges/agendas/{idAgenda}/fechasdeshabilitadas
Deshabilitar fecha para una agenda
DELETE /cges/agendas/{idAgenda}/fechasdeshabilitadas/{idFechaDeshabilitada}
Habilitar fecha para una agenda

Requisitos funcionales

    • La agenda debe ser válida y estar activa.
    • La agenda no debe tener reservas en vigor (en plazo y no canceladas) para la fecha en cuestión.
    • Se registrará la fecha suministrada sin las horas en la creación.
    • Si se intenta rehabilitar una fecha, esta debe ser válida.


GET /cges/agendas/grupos/{idGrupoAgenda}/fechasdeshabilitadas
Obtener fechas deshabilitadas para un grupo de agenda
POST /cges/agendas/grupos/{idGrupoAgenda}/fechasdeshabilitadas
Deshabilitar fecha para un grupo de agenda
DELETE /cges/agendas/grupos/{idGrupoAgenda}/fechasdeshabilitadas/{idFechaDeshabilitada}
Habilitar fecha para un grupo de agenda

Requisitos funcionales

    • El grupo de agenda debe ser válido y activo.
    • La agenda asociada al grupo no debe tener reservas en vigor (en plazo y no canceladas).
    • Se registrará la fecha suministrada sin las horas en la creación.
    • Si se intenta rehabilitar una fecha, esta debe ser válida.
  • Sin etiquetas