Restofy Docs
Reservas de clientes 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://restofy.pro/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-10-09T02:12:12Z
HTTP 200

Request

{
    "scope": "upcoming"
}

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "reservations": [
            {
                "reservationId": 4,
                "reservationUuid": "678f045c-c386-11f1-a755-a2f78ac020f7",
                "partyId": 3,
                "partyName": "Comensal de prueba",
                "partyPhone": "+573005550201",
                "reservationAreaId": 2,
                "assignedTableId": null,
                "guestCount": 3,
                "guestOccasionId": null,
                "occasionName": null,
                "occasionIcon": null,
                "reservedAt": "2026-10-09T17:00:00.000Z",
                "durationMinutes": 90,
                "status": "confirmed",
                "notes": null,
                "prepaidAccountId": null,
                "advanceAmountCents": null,
                "advanceRequiredCents": null,
                "advanceMode": null,
                "advanceDueAt": null,
                "isAvailable": 1
            },
            {
                "reservationId": 5,
                "reservationUuid": "69a4cbff-c386-11f1-a755-a2f78ac020f7",
                "partyId": 3,
                "partyName": "Comensal de prueba",
                "partyPhone": "+573005550201",
                "reservationAreaId": 3,
                "assignedTableId": null,
                "guestCount": 3,
                "guestOccasionId": null,
                "occasionName": null,
                "occasionIcon": null,
                "reservedAt": "2026-10-09T17:00:00.000Z",
                "durationMinutes": 90,
                "status": "confirmed",
                "notes": null,
                "prepaidAccountId": null,
                "advanceAmountCents": null,
                "advanceRequiredCents": null,
                "advanceMode": null,
                "advanceDueAt": null,
                "isAvailable": 1
            },
            {
                "reservationId": 1,
                "reservationUuid": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbb01",
                "partyId": 1,
                "partyName": "Cliente Crédito",
                "partyPhone": "3000000099",
                "reservationAreaId": 1,
                "assignedTableId": 1,
                "guestCount": 2,
                "guestOccasionId": null,
                "occasionName": null,
                "occasionIcon": null,
                "reservedAt": "2026-10-09T19:00:00.000Z",
                "durationMinutes": 90,
                "status": "confirmed",
                "notes": "Reserva HOY",
                "prepaidAccountId": null,
                "advanceAmountCents": null,
                "advanceRequiredCents": null,
                "advanceMode": null,
                "advanceDueAt": null,
                "isAvailable": 1
            },
            {
                "reservationId": 3,
                "reservationUuid": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbb03",
                "partyId": 1,
                "partyName": "Cliente Crédito",
                "partyPhone": "3000000099",
                "reservationAreaId": 1,
                "assignedTableId": 3,
                "guestCount": 3,
                "guestOccasionId": null,
                "occasionName": null,
                "occasionIcon": null,
                "reservedAt": "2026-10-16T02:08:55.000Z",
                "durationMinutes": 90,
                "status": "confirmed",
                "notes": "Reserva FUTURA",
                "prepaidAccountId": null,
                "advanceAmountCents": null,
                "advanceRequiredCents": null,
                "advanceMode": null,
                "advanceDueAt": null,
                "isAvailable": 1
            }
        ],
        "pagination": {
            "page": 1,
            "limit": 50,
            "total": 4,
            "totalPages": 1,
            "hasNext": false,
            "hasPrev": false
        }
    }
}