Restofy Docs
Reservas del comensal POST

Reservar una mesa

POST /api/site-reservations/create-reservation

Descripción

Registra la reserva de un cliente identificado para una zona, fecha y hora.

Detalles

Recibe el restaurante, la zona, la fecha, la franja horaria y la cantidad de personas. El cliente debe estar identificado con su teléfono verificado; sus datos se toman de esa identidad, no de lo que se envíe en la solicitud. Valida que la franja siga libre y dentro de lo permitido y que el grupo entre en el rango de la zona. Si la zona exige un depósito, la reserva queda pendiente y se confirma al recibirlo, con un plazo de pago vencido el cual se cancela sola.

Permisos requeridos

public

Request

Nombre Tipo Requerido Reglas
slug string
min:1 max:63
areaUuid string
min:36 max:36
date string
min:10 max:10
slotIso datetime
dinerToken string
min:1
guestCount int
min_value:1 max_value:255
guestOccasionId int No
min_value:1
notes string No
max:300

Ejemplo de request

curl -X POST https://restofy.pro/api/site-reservations/create-reservation \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -H "X-Tenant-Key: <tenantKey>" \
  -d '{
    "slug": "string",
    "areaUuid": "string",
    "date": "string",
    "slotIso": "2026-01-01T00:00:00Z",
    "dinerToken": "string",
    "guestCount": 1
}'

Los valores son demo: reemplázalos por datos reales del negocio.

Ejemplo de respuesta

Actualizado: 2026-09-08T16:35:34Z
HTTP 200

Request

{
    "slug": "restofy_test_sitereservations_9495_1788885299_tenant",
    "areaUuid": "b508f96d-ab4a-11f1-b72d-f2569efa6eee",
    "date": "2026-09-09",
    "slotIso": "2026-09-09T17:00:00.000Z",
    "dinerToken": "***",
    "guestCount": 4,
    "notes": "Mesa cerca de la ventana"
}

Response

{
    "success": true,
    "message": "Reserva confirmada",
    "data": {
        "reservationId": 4,
        "reservationUuid": "b60b64e9-ab4a-11f1-b72d-f2569efa6eee",
        "status": "confirmed",
        "advance": null
    }
}