Crear o actualizar petición

Este endpoint permite actualizar o crear una petición para un empleado.

PUT /api/v1/businesses/{businessId}/requests

A continuación, se desglosan los campos que conforman el cuerpo de la petición, siendo algunos de ellos obligatorios para que esta se realice de manera exitosa.

Los campos obligatorios están marcados con un asterisco (*).

Cuerpo de la petición

Análisis del JSON
{
  "employeeId": "string",
  "status": "string",
  "type": "string",
  "from": "string",
  "to": "string",
  "fromHour": "string",
  "toHour": "string",
  "comments": "string",
  "recover": "string"
}
Detalles
  • employeeId*: identificador del empleado.

  • status*: estado de la petición. Los valores admitidos son REQUESTED, GRANTED y DENIED (solicitada, concedida o denegada, respectivamente).

  • type*: tipo de disponibilidad que se aplica a la petición. Los valores admitidos son MANDATORY (obligatoria), MAYBE (quizás) y NON_WORKED (día libre).

  • from*: fecha de inicio de la petición en formato yyyy-MM-dd.

  • to*: fecha de fin de la petición en formato yyyy-MM-dd.

  • fromHour: hora de inicio de la petición en formato HH:mm. Se considera la hora local, es decir, la zona horaria del servicio.

  • toHour: hora de fin de la petición en formato HH:mm. Se considera la hora local, es decir, la zona horaria del servicio.

  • comments: motivo o explicación de por qué se realiza la petición.

  • recover: tipo de recuperación que indica cómo se podría compensar la petición del empleado. Las opciones son FREE (día libre) o NONE (no se ofrece ninguna compensación por la petición).

Ejemplo de la petición

Una vez realizado el análisis de los distintos campos, se muestra un ejemplo del cuerpo de la petición:

{
  "employeeId": "1006349",
  "status": "REQUESTED",
  "type": "MAYBE",
  "from": "2024-07-25",
  "to": "2024-07-25",
  "fromHour": "10:00",
  "toHour": "12:00",
  "comments": "I could work at this time, depending on my other shifts.",
  "recover": "NONE"
}

Si todos los datos son correctos, se generará una petición con las siguientes características:

  • Estado: solicitada.

  • Día 25 julio de 2024.

  • Disponibilidad de 10:00 a 12:00.

  • ¿Trabajado? Quizás

Además, se añadirá la razón por la que se realiza la petición.

Aspectos que tener en cuenta

El tipo NON_WORKED no admite los campos fromHour ni toHour, ya que se trata de una petición de día libre completo. Si se envían datos para alguno de estos campos, la petición devolverá un error 406 Not Acceptable indicando Non worked request cannot have fromHour or toHour. No obstante, sí se admite la petición de tipo NON_WORKED si estos campos se envían como null.

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

Enlaces de interés

¿Qué es una petición?