Obtener último borrador por servicio

Este endpoint devuelve el último borrador de un servicio para el día indicado en la petición.

GET /api/v1/businesses/{businessId}/services/{serviceId}/last-draft?day={yyyy-MM-dd}

Si los datos incluidos en la petición son correctos —tanto el businessId como el serviceId—, la respuesta contendrá el último borrador con sus asignaciones.

Ejemplo de respuesta

{
    "orquestId": 3633183,
    "from": "2026-08-03",
    "to": "2026-08-09",
    "assignments": [
        {
            "blockedType": "NON_EXTENSIBLE_WORK",
            "person": "0001",
            "day": "2026-08-04",
            "presence": {
                "worked": false,
                "timeFrames": [
                    {
                        "startMinuteDay": 0,
                        "duration": 1440,
                        "paid": false,
                        "worked": false
                    }
                ]
            },
            "virtual": false
        },
        {
            "blockedType": "NON_EXTENSIBLE_TIME",
            "person": "0002",
            "day": "2026-08-04",
            "presence": {
                "worked": true,
                "timeFrames": [
                    {
                        "startMinuteDay": 45,
                        "duration": 270,
                        "paid": true,
                        "location": {
                            "color": "#c7d0e9",
                            "description": "Opening tasks",
                            "name": "OPENING",
                            "shortName": "OP",
                            "requiredLevel": 2,
                            "priority": 4,
                            "maxResources": 1,
                            "type": "FIXED",
                            "shouldAvoidOvercover": true,
                            "system": false,
                            "category": "FIXED",
                            "product": "0002",
                            "id": "01",
                            "zone": "General"
                        },
                        "worked": true
                    }
                ]
            },
            "virtual": false
        }
    ]
}
Detalles
  • orquestId: identificador interno del borrador en Orquest.

  • from: fecha de inicio del intervalo que cubre el borrador.

  • to: fecha de fin del intervalo que cubre el borrador.

  • assignments: listado de asignaciones del borrador. Cada elemento sigue la misma estructura que una asignación:

    • product: identificador externo del producto (sección) al que pertenece la asignación.

    • blockedType: si la asignación está bloqueada y cómo (NONE, EXTENSIBLE_WORK, NON_EXTENSIBLE_WORK, EXTENSIBLE_TIME, NON_EXTENSIBLE_TIME, DAILY_WORKED).

    • person: identificador externo del empleado.

    • day: día de la asignación en formato yyyy-MM-dd.

    • presence: tipo de asignación que contiene los periodos de trabajo (timeFrames) con sus ubicaciones. Contiene los siguientes campos:

      • startTime: la hora de inicio de la presencia en minutos desde el comienzo del día (00:00). Puede ser null, ya que la hora de inicio real se puede calcular como la suma de las duraciones de sus periodos de tiempo (timeFrames).

      • duration: la duración en minutos de toda la presencia. Puede ser null, ya que la duración real se puede calcular como la suma de las duraciones de sus periodos de tiempo (timeFrames).

      • worked: si el tipo de asignación o presencia es trabajada (true) o si es un día de descanso (false).

      • timeFrames: conjunto de intervalos de tiempo que contiene las tareas que se van a realizar. Para cada intervalo, se incluye la siguiente información:

        • startMinuteDay: comienzo del intervalo en minutos transcurridos desde el inicio del día (00:00).

        • duration: duración del intervalo en minutos.

        • paid: si el intervalo, sea de trabajo o descanso, es pagado (true) o no (false).

        • worked: determina si el timeFrame tiene tarea asignada (true) o no (false).

        • location: tarea que se va a realizar en el intervalo definido. Por cada tarea, se incluye la siguiente información:

          • color: color configurado en Orquest para la tarea.

          • description: descripción de la tarea definida en Orquest.

          • name: nombre de la tarea en Orquest.

          • shortName: abreviatura de la tarea en Orquest.

          • requiredLevel: nivel de aptitud requerido para realizar la tarea. Va de 0 (sin necesidad de formación) a 3 (nivel máximo de formación) y debe ser previamente configurado en Orquest.

          • priority: prioridad de cobertura de la tarea. Va de 0 (baja) a 5 (alta) y debe ser previamente configurada en Orquest.

          • maxResources: límite de personas para la tarea.

          • type: tipo de tarea, si es fija, variable o no planificable (FIXED, VARIABLE, NON_PLANIFIABLE).

          • shouldAvoidOvercover: si este parámetro es true, la tarea no se sobrecubrirá.

          • system: determina si la tarea ha sido creada por el sistema (true) o por el usuario (false).

          • category: categoría de la tarea previamente configurada en Orquest.

          • product: identificador externo del producto o sección.

          • id: identificador externo de la tarea.

          • metadata: cualquier dato adicional que se haya configurado previamente para la tarea en Orquest. La estructura de los metadatos debe configurarse previamente.

          • zone: lugar físico del servicio (tienda, restaurante, etc.) donde se realiza la tarea.

    • virtual: indica si el empleado es virtual (true) o real (false).

Aspectos que tener en cuenta

El nivel de detalle de la respuesta dependerá de la configuración que se haya establecido en el negocio para las diferentes tareas.

Si no hay ningún borrador para la fecha de la consulta, la petición devolverá un error 404 Not Found.

Si el servicio indicado en la URL no existe en el negocio, la petición devolverá un error 404 Not Found, especificando en el mensaje not exits.

Enlaces de interés

¿Qué es una asignación?

¿Qué es una tarea?