Obtener intervalos de disponibilidad por empleado

Este endpoint permite consultar los diferentes intervalos de disponibilidad definidos para un empleado y el tipo de disponibilidad de cada periodo.

GET /api/v1/businesses/{businessId}/person/{personId}/disponibility?from={yyyy-MM-dd}&to={yyyy-MM-dd}

Si los datos incluidos en la petición son correctos —tanto el businessId como el personId—, la respuesta contendrá los intervalos de disponibilidad definidos para el empleado, detallando la siguiente información:

  • personId: identificador externo del empleado.

  • from: fecha de inicio especificada en la petición.

  • to: fecha de fin especificada en la petición.

  • disponibilityIntervals: conjunto de intervalos de disponibilidad definidos dentro del periodo de tiempo consultado.

    • from: fecha de inicio del intervalo de disponibilidad.

    • to: fecha de fin del intervalo de disponibilidad, si se ha definido.

    • type: método de definición de la disponibilidad para este intervalo. Los posibles valores son DAY_TYPE (tipo de día), SHIFT_PATTERN (patrones de turnos) y CALENDAR (calendario de asignaciones).

A continuación, se muestra un ejemplo de la petición:

GET /api/v1/businesses/BUSINESSID/person/PERSONID/disponibility?from=2023-01-01&to=2025-12-01
{
    "personId": "PERSONID",
    "from": "2023-01-01",
    "to": "2025-12-01",
    "disponibilityIntervals": [
        {
            "from": "2025-01-21",
            "to": "2025-01-28",
            "type": "DAY_TYPE"
        },
        {
            "from": "2021-06-25",
            "to": "2025-01-31",
            "type": "DAY_TYPE"
        },
        {
            "from": "2025-02-01",
            "to": "2025-02-20",
            "type": "SHIFT_PATTERN"
        }
    ]
}

Tal y como se aprecia en el ejemplo, si un empleado tiene varios intervalos de disponibilidad definidos para el rango especificado en la URL, la petición devolverá las especificaciones de cada uno de ellos.

Aspectos que tener en cuenta

Si el identificador del empleado no es correcto, la petición devolverá un error 404 Not Found indicando Person not found.

Si no hay intervalos de disponibilidad definidos para el empleado o para el rango de fechas de la petición, el campo disponibilityIntervals contendrá un array vacío [].

Enlaces de interés