Añadir horarios de servicio

Este endpoint permite añadir horarios de servicio por tipo de día dentro de un periodo concreto.

PUT /api/v1/businesses/{businessId}/services/{serviceId}/periods/{periodId}/service-times

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
{
    "dayType": {
        "name": "string"
    },
    "type": "string",
    "openingHours": {
        "start": 0,
        "end": 0
    },
    "serviceHours": {
        "start": 0,
        "end": 0
    },
    "restHours": [
        {
            "start": 0,
            "end": 0
        }
    ]
}
Detalles
  • dayType*: tipo de día. Puede ser un tipo de día del sistema o uno creado a nivel de negocio.

    • name*: nombre del tipo de día.

  • type*: tipo de horario del servicio. Puede tomar uno de los siguientes valores: OPEN, CLOSE, OPEN_HOLIDAY y CLOSE_HOLIDAY. Tanto CLOSE como CLOSE_HOLIDAY aplican a todo el día, es decir, de 0 a 1440.

  • openingHours*: horario de apertura del servicio. El valor se expresa en minutos desde la medianoche (00:00 hora local).

    • start*: inicio del intervalo expresado en minutos desde la medianoche.

    • end*: fin del intervalo expresado en minutos desde la medianoche.

  • serviceHours*: horario de servicio al público. El valor se expresa en minutos desde la medianoche (00:00 hora local).

    • start*: inicio del intervalo expresado en minutos desde la medianoche.

    • end*: fin del intervalo expresado en minutos desde la medianoche.

  • restHours: intervalo, si procede, en el que el servicio estará cerrado. El valor se expresa en minutos desde la medianoche (00:00 hora local).

    • start*: inicio del intervalo expresado en minutos desde la medianoche.

    • end*: fin del intervalo expresado en minutos desde la medianoche.

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:

{
    "dayType": {
        "name": "SUNDAY"
    },
    "type": "OPEN",
    "openingHours": {
        "start": 0,
        "end": 0
    },
    "serviceHours": {
        "start": 540,
        "end": 1260
    },
    "restHours": [
        {
            "start": 840,
            "end": 870
        },
        {
            "start": 1080,
            "end": 1110
        }
    ]
}

Si todos los datos son correctos, se creará un horario de tipo abierto (OPEN) para el domingo (SUNDAY) con los siguientes intervalos:

  • Abierto 24 horas.

  • Atención al público de 9:00 (540) a 21:00 (1260).

  • Descanso de 14:00 (840) a 14:30 (870) y de 18:00 (1080) a 18:30 (1110).

Aspectos que tener en cuenta

Si el servicio indicado en la URL no existe, la petición devolverá un error 404 Not Found indicando not exists.

Si el periodo indicado en la URL no existe, la petición devolverá un error 404 Not Found indicando Period not found. Se puede consultar la información de los diferentes periodos de un servicio a través de esta petición.

El nombre del tipo de día (name) debe coincidir exactamente con un tipo de día del sistema o con alguno definido a nivel de negocio. Si no coincide, la petición devolverá error.

Si el tipo de horario no coincide con los valores predeterminados, la petición devolverá un error 400 Bad Request.

Los campos que consideran los minutos desde la medianoche tienen en cuenta la zona horaria del servicio. Por ejemplo, si el servicio está en UTC+2, 540 hace referencia a las 9:00 UTC+2. Los valores admitidos para estos campos son de 0 a 1440.

Enlaces de interés