Obtener asignaciones por empleado

Este endpoint devuelve las asignaciones de un empleado dentro de un periodo de tiempo no superior a 31 días.

GET /api/v1/businesses/{businessId}/employees/{employeeId}/assignments/from/{yyyy-MM-dd}/to/{yyyy-MM-dd}

Si los datos incluidos en la petición son correctos —tanto el businessId como el employeeId—, la respuesta contendrá las asignaciones del empleado para el periodo de tiempo indicado en la URL.

A continuación, se muestra un ejemplo de respuesta:

[
    {
        "product": "0001-G",
        "blockedType": "NONE",
        "person": "152021",
        "day": "2024-09-16",
        "presence": {
            "worked": false,
            "timeFrames": [
                {
                    "startMinuteDay": 0,
                    "duration": 1425,
                    "paid": false,
                    "worked": false
                }
            ]
        }
    },
    {
        "product": "0001-G",
        "blockedType": "NONE",
        "person": "152021",
        "day": "2024-09-17",
        "presence": {
            "worked": true,
            "timeFrames": [
                {
                    "startMinuteDay": 480,
                    "duration": 120,
                    "paid": true,
                    "location": {
                        "color": "#00ADDC",
                        "description": "Changes on the display in SRA department",
                        "name": "MERCHANDISING SRA",
                        "shortName": "LW",
                        "requiredLevel": 3,
                        "priority": 5,
                        "type": "FIXED",
                        "shouldAvoidOvercover": false,
                        "system": false,
                        "category": "MERCHANDISING",
                        "product": "0001-G",
                        "id": "03"
                    },
                    "worked": true
                },
                {
                    "startMinuteDay": 600,
                    "duration": 180,
                    "paid": true,
                    "location": {
                        "color": "#1ab39f",
                        "description": "Customer Assistance",
                        "name": "FITTING ROOM",
                        "shortName": "FR",
                        "requiredLevel": 3,
                        "priority": 3,
                        "type": "VARIABLE",
                        "shouldAvoidOvercover": false,
                        "system": false,
                        "category": "FITTING ROOM",
                        "product": "0001-G",
                        "id": "06"
                    },
                    "worked": true
                },
                {
                    "startMinuteDay": 420,
                    "duration": 60,
                    "paid": true,
                    "location": {
                        "color": "#000000",
                        "description": "Management tasks by General Manager",
                        "name": "MANAGEMENT",
                        "shortName": "MG",
                        "requiredLevel": 3,
                        "priority": 5,
                        "type": "FIXED",
                        "shouldAvoidOvercover": false,
                        "system": false,
                        "category": "MANAGEMENT",
                        "product": "0001-G",
                        "id": "01"
                    },
                    "worked": true
                },
                {
                    "startMinuteDay": 780,
                    "duration": 60,
                    "paid": false,
                    "worked": false
                },
                {
                    "startMinuteDay": 840,
                    "duration": 240,
                    "paid": true,
                    "location": {
                        "color": "#1ab39f",
                        "description": "Customer Assistance",
                        "name": "FITTING ROOM",
                        "shortName": "FR",
                        "requiredLevel": 3,
                        "priority": 3,
                        "type": "VARIABLE",
                        "shouldAvoidOvercover": false,
                        "system": false,
                        "category": "FITTING ROOM",
                        "product": "0001-G",
                        "id": "06"
                    },
                    "worked": true
                }
            ]
        }
    }
]

La primera asignación del ejemplo se corresponde con un día de descanso, ya que el campo worked de la presencia es false.

En segunda asignación, el campo worked de la presencia es true y se indican las características de las distintas tareas desempeñadas por el empleado en cada timeFrame. Además, también se incluye un periodo de descanso entre tareas.

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

Aspectos que tener en cuenta

Si no hay asignaciones para el periodo de tiempo indicado en la URL, la petición devolverá un array vacío [].

Si el empleado indicado en la URL no existe en el negocio, la petición devolverá un error 404 Not Found, especificando en el mensaje Person X does not exist.

Si el intervalo indicado en la URL es superior a 30 días, la petición devolverá un error 406 Not Acceptable, especificando en el mensaje The request exceded the maximum number of days allowed.

Enlaces de interés

¿Qué es una asignación?

¿Qué es una tarea?