Reservas
POST
Crear reserva
POST /api/reservations/create-reservation
Descripción
Registra una reserva nueva en estado pendiente para un contacto, área o mesa.
Detalles
* Crea una reserva en estado pendiente para un contacto y un área de reserva, con una mesa específica opcional. * La fecha de la reserva debe ser futura respecto al momento de la solicitud. * Si se asigna mesa, verifica que no exista otra reserva activa que solape el rango horario indicado. * La reserva queda pendiente de confirmación por parte del personal.
Permisos requeridos
reservations.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| partyId | int | Sí |
min_value:1
|
| reservationAreaId | int | Sí |
min_value:1
|
| assignedTableId | int | No |
min_value:1
|
| guestCount | int | Sí |
min_value:1
max_value:255
|
| reservedAt | datetime | Sí | — |
| durationMinutes | int | No |
min_value:15
max_value:600
default:90
|
| notes | string | No |
max:2000
|
Ejemplo de request
curl -X POST https://app.restofy.co/api/reservations/create-reservation \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"partyId": 1,
"reservationAreaId": 1,
"guestCount": 1,
"reservedAt": "2026-01-01T00:00:00Z"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-07-15T13:20:48Z
HTTP 200
Request
{
"partyId": 1,
"reservationAreaId": 2,
"guestCount": 2,
"reservedAt": "2026-07-16T13:20:26.000Z",
"durationMinutes": 90,
"notes": "Test fixture"
}
Response
{
"success": true,
"message": "Reserva creada",
"data": {
"reservationId": 4
}
}