Obtener la configuración de una etapa
Este endpoint devuelve la configuración definida para una etapa de una propuesta de necesidades: sus reglas de productividad, la distribución de empleados y los límites de plantilla.
GET /api/v1/businesses/{businessId}/products/{productId}/needs-config/seasons/{seasonId}/proposals/{proposalId}/steps/{stepId}
En la URL de la petición, deben especificarse los identificadores externos de las diferentes entidades (negocio, producto, temporada, propuesta y etapa). Si los datos incluidos en la URL son correctos, la respuesta contendrá la configuración definida para la etapa indicada.
Ejemplo de respuesta
{
"id": "STP1",
"name": "Productivity",
"type": "PRODUCTIVITY",
"order": 4,
"simpleProductivity": true,
"productivityBands": [
{
"dayType": "ALL",
"dayTypeNode": null,
"startMinute": 540,
"duration": 300,
"salesBrackets": [
{
"minSales": 0.0,
"maxSales": 400.0,
"productivity": 1.0
},
{
"minSales": 400.0,
"maxSales": 1500.0,
"productivity": 2.0
},
{
"minSales": 1500.0,
"maxSales": 3000.0,
"productivity": 3.0
}
]
}
],
"employeeDistributionBands": [
{
"dayType": "ALL",
"dayTypeNode": null,
"startMinute": 540,
"duration": 660,
"distributions": [
{
"totalEmployees": 1,
"locations": [
{
"id": "03",
"zone": "General",
"employees": 1
}
]
},
{
"totalEmployees": 2,
"locations": [
{
"id": "03",
"zone": "General",
"employees": 2
}
]
},
{
"totalEmployees": 3,
"locations": [
{
"id": "03",
"zone": "General",
"employees": 3
}
]
}
]
}
],
"employeeLimits": [
{
"dayType": "ALL",
"dayTypeNode": null,
"bands": [
{
"startMinute": 540,
"duration": 300,
"minPersons": 1,
"maxPersons": 4
},
{
"startMinute": 840,
"duration": 360,
"minPersons": 2,
"maxPersons": 5
}
]
}
]
}
Detalles
-
id: identificador externo de la etapa.
-
name: nombre de la etapa.
-
type: tipo de la etapa.
-
order: posición de la etapa dentro de la propuesta.
-
simpleProductivity: determina si el valor de productividad de cada tramo es un número fijo de empleados (
true) o se define por la demanda que cubre un empleado (false). Se define a nivel de propuesta de negocio y puede sernullsi no se ha configurado. -
productivityBands: reglas de productividad de la etapa. Para cada regla, se incluye la siguiente información:
-
dayType: nombre del tipo de día al que se aplica la regla de productividad.
-
dayTypeNode: identificador externo del nodo en el que está definido el tipo de día. Puede ser
nullpara un tipo de día del sistema. -
startMinute: inicio del intervalo en minutos a partir de las
00:00hora local. Por ejemplo, 540 para las 9:00. -
duration: duración del intervalo en minutos.
-
salesBrackets: tramos definidos para la regla de productividad. Para cada tramo, se incluye la siguiente información:
-
minSales: límite inferior del tramo.
-
maxSales: límite superior del tramo. El motor elige el tramo por su límite inferior, por lo que el más alto se extiende hasta el infinito.
-
productivity: número de empleados cuando la etapa es de productividad simple y unidades de demanda por empleado cuando no lo es.
-
minVariable: límite inferior de las necesidades variables. Puede ser
nullsi no se ha definido. -
maxVariable: ímite superior de las necesidades variables. Puede ser
nullsi no se ha definido.
-
-
-
employeeDistributionBands: franjas de distribución de empleados de la etapa. Para cada una, se incluye la siguiente información:
-
dayType: nombre del tipo de día al que se aplica la regla de distribución.
-
dayTypeNode: identificador externo del nodo en el que está definido el tipo de día. Puede ser
nullpara un tipo de día del sistema. -
startMinute: inicio del intervalo en minutos a partir de las
00:00hora local. Por ejemplo, 540 para las 9:00. -
duration: duración del intervalo en minutos.
-
distributions: distribución por número de empleados necesarios. Para cada tramo, se incluye la siguiente información:
-
totalEmployees: número total de empleados para el que se define el reparto.
-
locations: reparto de ese número de empleados entre las tareas. Para cada tarea se incluye la siguiente información:
-
id: identificador externo de la tarea.
-
zone: identificador externo de la zona de la tarea.
-
employees: empleados asignados a la tarea.
-
-
-
-
employeeLimits: límites de plantilla de la etapa. Para cada bloque, se incluye la siguiente información:
-
dayType: nombre del tipo de día al que se aplica el límite de empleados.
-
dayTypeNode: identificador externo del nodo en el que está definido el tipo de día. Puede ser
nullpara un tipo de día del sistema. -
bands: límites por franja horaria. Para cada tramo, se incluye la siguiente información:
-
startMinute: inicio del intervalo en minutos a partir de las
00:00hora local. Por ejemplo, 540 para las 9:00. -
duration: duración del intervalo en minutos.
-
minPersons: número mínimo de personas.
nullsignifica que no hay mínimo. -
maxPersons: número máximo de personas.
nullsignifica que no hay máximo.
-
-
Consideraciones
Si no hay configuración definida, la respuesta devolverá un array vacío en esa entidad (productivityBands, employeeDistributionBands o employeeLimits)
Códigos de error
Además de los errores comunes, este endpoint puede devolver los siguientes códigos:
| Código | Mensaje | Descripción |
|---|---|---|
|
The product has no season with that id |
La temporada indicada en la URL no existe. |
The proposal is not active in that season |
La propuesta indicada en la URL no existe. |
|
The proposal has no writable step with that id |
La etapa indicada en la URL no existe en la propuesta o su tipo todavía no está soportado por esta petición. |
Enlaces de interés
¿Qué son las necesidades?
¿Qué es un generador de necesidades?