Reservas
POST
Listar reservas
POST /api/reservations/list-reservations
Descripción
Listado paginado de reservas filtrado por alcance temporal.
Detalles
* Filtra las reservas por su horario respecto al día actual del restaurante: today (entre 00:00 y 23:59 de hoy), upcoming (a partir de mañana 00:00) o history (anterior a hoy 00:00). * El límite del día se calcula en la zona horaria del restaurante. * La búsqueda libre opera sobre las notas, el nombre del contacto y su teléfono.
Permisos requeridos
reservations.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| scope | string | Sí |
enum:today,upcoming,history
|
| search | string | No |
max:100
|
Paginación
| defaultLimit | 50 |
| maxLimit | 100 |
| defaultDir | asc |
| withTotal | true |
| allowedSorts | [reservedAt, guestCount, status] |
Ejemplo de request
curl -X POST https://app.restofy.co/api/reservations/list-reservations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"scope": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-07-15T13:20:48Z
HTTP 200
Request
{
"scope": "today"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"reservations": [
{
"reservationId": 1,
"reservationUuid": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbb01",
"partyId": 1,
"partyName": "Cliente Crédito",
"partyPhone": "3000000099",
"reservationAreaId": 1,
"assignedTableId": 1,
"guestCount": 2,
"reservedAt": "2026-07-15T19:00:00.000Z",
"durationMinutes": 90,
"status": "confirmed",
"notes": "Reserva HOY",
"prepaidAccountId": null,
"advanceAmountCents": null,
"isAvailable": 1
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
}