Horarios del negocio
POST
Listar horarios
POST /api/schedules/list-schedules
Descripción
Retorna el catálogo de horarios reutilizables del restaurante.
Detalles
* Devuelve la lista paginada de horarios reutilizables del restaurante. * Cada horario incluye sus turnos: día de la semana con rango de horas o día completo. * Admite búsqueda libre por nombre.
Permisos requeridos
admin.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| search | string | No |
max:100
|
Paginación
| defaultLimit | 50 |
| maxLimit | 100 |
| allowedSorts | name |
| defaultSort | name |
| defaultDir | asc |
| withTotal | true |
Ejemplo de request
curl -X POST https://restofy.pro/api/schedules/list-schedules \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-H "X-Tenant-Key: <tenantKey>"
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-09-08T16:35:34Z
HTTP 200
Request
[]
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"schedules": [
{
"scheduleId": 5,
"name": "Almuerzos",
"description": "Turno del mediodía todos los días",
"dateStart": null,
"dateEnd": null,
"isActive": 1,
"isAvailable": 1,
"periods": [
{
"scheduleId": 5,
"dayOfWeek": 1,
"isAllDay": 0,
"timeStart": "12:00:00",
"timeEnd": "16:00:00"
},
{
"scheduleId": 5,
"dayOfWeek": 2,
"isAllDay": 0,
"timeStart": "12:00:00",
"timeEnd": "16:00:00"
},
{
"scheduleId": 5,
"dayOfWeek": 3,
"isAllDay": 0,
"timeStart": "12:00:00",
"timeEnd": "16:00:00"
},
{
"scheduleId": 5,
"dayOfWeek": 4,
"isAllDay": 0,
"timeStart": "12:00:00",
"timeEnd": "16:00:00"
},
{
"scheduleId": 5,
"dayOfWeek": 5,
"isAllDay": 0,
"timeStart": "12:00:00",
"timeEnd": "16:00:00"
},
{
"scheduleId": 5,
"dayOfWeek": 6,
"isAllDay": 0,
"timeStart": "12:00:00",
"timeEnd": "16:00:00"
},
{
"scheduleId": 5,
"dayOfWeek": 7,
"isAllDay": 0,
"timeStart": "12:00:00",
"timeEnd": "16:00:00"
}
]
},
{
"scheduleId": 6,
"name": "Cenas",
"description": "Turno nocturno todos los días",
"dateStart": null,
"dateEnd": null,
"isActive": 1,
"isAvailable": 1,
"periods": [
{
"scheduleId": 6,
"dayOfWeek": 1,
"isAllDay": 0,
"timeStart": "18:00:00",
"timeEnd": "23:30:00"
},
{
"scheduleId": 6,
"dayOfWeek": 2,
"isAllDay": 0,
"timeStart": "18:00:00",
"timeEnd": "23:30:00"
},
{
"scheduleId": 6,
"dayOfWeek": 3,
"isAllDay": 0,
"timeStart": "18:00:00",
"timeEnd": "23:30:00"
},
{
"scheduleId": 6,
"dayOfWeek": 4,
"isAllDay": 0,
"timeStart": "18:00:00",
"timeEnd": "23:30:00"
},
{
"scheduleId": 6,
"dayOfWeek": 5,
"isAllDay": 0,
"timeStart": "18:00:00",
"timeEnd": "23:30:00"
},
{
"scheduleId": 6,
"dayOfWeek": 6,
"isAllDay": 0,
"timeStart": "18:00:00",
"timeEnd": "23:30:00"
},
{
"scheduleId": 6,
"dayOfWeek": 7,
"isAllDay": 0,
"timeStart": "18:00:00",
"timeEnd": "23:30:00"
}
]
},
{
"scheduleId": 4,
"name": "Desayunos",
"description": "Turno de mañana todos los días",
"dateStart": null,
"dateEnd": null,
"isActive": 1,
"isAvailable": 1,
"periods": [
{
"scheduleId": 4,
"dayOfWeek": 1,
"isAllDay": 0,
"timeStart": "07:00:00",
"timeEnd": "12:00:00"
},
{
"scheduleId": 4,
"dayOfWeek": 2,
"isAllDay": 0,
"timeStart": "07:00:00",
"timeEnd": "12:00:00"
},
{
"scheduleId": 4,
"dayOfWeek": 3,
"isAllDay": 0,
"timeStart": "07:00:00",
"timeEnd": "12:00:00"
},
{
"scheduleId": 4,
"dayOfWeek": 4,
"isAllDay": 0,
"timeStart": "07:00:00",
"timeEnd": "12:00:00"
},
{
"scheduleId": 4,
"dayOfWeek": 5,
"isAllDay": 0,
"timeStart": "07:00:00",
"timeEnd": "12:00:00"
},
{
"scheduleId": 4,
"dayOfWeek": 6,
"isAllDay": 0,
"timeStart": "07:00:00",
"timeEnd": "12:00:00"
},
{
"scheduleId": 4,
"dayOfWeek": 7,
"isAllDay": 0,
"timeStart": "07:00:00",
"timeEnd": "12:00:00"
}
]
},
{
"scheduleId": 3,
"name": "Fines de Semana",
"description": "Sábado y domingo",
"dateStart": null,
"dateEnd": null,
"isActive": 1,
"isAvailable": 1,
"periods": [
{
"scheduleId": 3,
"dayOfWeek": 6,
"isAllDay": 0,
"timeStart": "10:00:00",
"timeEnd": "23:00:00"
},
{
"scheduleId": 3,
"dayOfWeek": 7,
"isAllDay": 0,
"timeStart": "10:00:00",
"timeEnd": "23:00:00"
}
]
},
{
"scheduleId": 7,
"name": "Happy Hour",
"description": "Viernes y sábado tarde",
"dateStart": null,
"dateEnd": null,
"isActive": 1,
"isAvailable": 1,
"periods": [
{
"scheduleId": 7,
"dayOfWeek": 5,
"isAllDay": 0,
"timeStart": "17:00:00",
"timeEnd": "20:00:00"
},
{
"scheduleId": 7,
"dayOfWeek": 6,
"isAllDay": 0,
"timeStart": "17:00:00",
"timeEnd": "20:00:00"
}
]
},
{
"scheduleId": 2,
"name": "Lunes a Viernes",
"description": "Solo días hábiles de la semana",
"dateStart": null,
"dateEnd": null,
"isActive": 1,
"isAvailable": 1,
"periods": [
{
"scheduleId": 2,
"dayOfWeek": 1,
"isAllDay": 0,
"timeStart": "08:00:00",
"timeEnd": "22:00:00"
},
{
"scheduleId": 2,
"dayOfWeek": 2,
"isAllDay": 0,
"timeStart": "08:00:00",
"timeEnd": "22:00:00"
},
{
"scheduleId": 2,
"dayOfWeek": 3,
"isAllDay": 0,
"timeStart": "08:00:00",
"timeEnd": "22:00:00"
},
{
"scheduleId": 2,
"dayOfWeek": 4,
"isAllDay": 0,
"timeStart": "08:00:00",
"timeEnd": "22:00:00"
},
{
"scheduleId": 2,
"dayOfWeek": 5,
"isAllDay": 0,
"timeStart": "08:00:00",
"timeEnd": "22:00:00"
}
]
},
{
"scheduleId": 1,
"name": "Toda la semana",
"description": "Horario sin restricción de día",
"dateStart": null,
"dateEnd": null,
"isActive": 1,
"isAvailable": 1,
"periods": [
{
"scheduleId": 1,
"dayOfWeek": 1,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"scheduleId": 1,
"dayOfWeek": 2,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"scheduleId": 1,
"dayOfWeek": 3,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"scheduleId": 1,
"dayOfWeek": 4,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"scheduleId": 1,
"dayOfWeek": 5,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"scheduleId": 1,
"dayOfWeek": 6,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"scheduleId": 1,
"dayOfWeek": 7,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
}
]
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 7,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
}