Restofy Docs
Áreas de reserva POST

Crear área de reserva

POST /api/reservation-areas/create-reservation-area

Descripción

Da de alta un área de reserva para agrupar mesas.

Detalles

Crea el área con nombre, descripción opcional y capacidad máxima. Si se marca como reservable desde el menú digital, define además las fechas y horarios permitidos y las reglas de reserva. Puede exigir un depósito para reservar, con su valor, la forma de cobrarlo y el plazo que tiene el cliente para pagarlo. El área nace activa y disponible. Las mesas se asignan al área por separado, después de crearla.

Permisos requeridos

reservations.module

Request

Nombre Tipo Requerido Reglas
name string Sí
min:1 max:100
description string No
max:1000
capacityMax int Sí
min_value:1 max_value:9999
isOnlineBookable bool No —
minAdvanceMinutes int No
min_value:0 max_value:43200
maxAdvanceDays int No
min_value:1 max_value:365
slotCapacity int No
min_value:1 max_value:999
minPartySize int No
min_value:1 max_value:255
maxPartySize int No
min_value:1 max_value:255
requiresAdvance bool No —
advanceMode string No
enum:customer_advance,income
advanceChargeType string No
enum:fixed,per_guest
advanceAmountCents int No
min_value:0 max_value:999999999999
advanceHoldMinutes int No
min_value:5 max_value:1440
advanceTerms string No
max:500
schedule object Sí —

Ejemplo de request

curl -X POST https://restofy.pro/api/reservation-areas/create-reservation-area \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -d '{
    "name": "string",
    "capacityMax": 1,
    "schedule": []
}'

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

Ejemplo de respuesta

Actualizado: 2026-10-09T02:12:12Z
HTTP 200

Request

{
    "name": "Reservas a26e9e",
    "capacityMax": 20,
    "isOnlineBookable": 1,
    "minAdvanceMinutes": 60,
    "maxAdvanceDays": 30,
    "slotCapacity": 4,
    "minPartySize": 2,
    "maxPartySize": 6,
    "schedule": {
        "dateStart": null,
        "dateEnd": null,
        "periods": [
            {
                "dayOfWeek": 1,
                "isAllDay": false,
                "timeStart": "12:00",
                "timeEnd": "15:00"
            },
            {
                "dayOfWeek": 2,
                "isAllDay": false,
                "timeStart": "12:00",
                "timeEnd": "15:00"
            },
            {
                "dayOfWeek": 3,
                "isAllDay": false,
                "timeStart": "12:00",
                "timeEnd": "15:00"
            },
            {
                "dayOfWeek": 4,
                "isAllDay": false,
                "timeStart": "12:00",
                "timeEnd": "15:00"
            },
            {
                "dayOfWeek": 5,
                "isAllDay": false,
                "timeStart": "12:00",
                "timeEnd": "15:00"
            },
            {
                "dayOfWeek": 6,
                "isAllDay": false,
                "timeStart": "12:00",
                "timeEnd": "15:00"
            },
            {
                "dayOfWeek": 7,
                "isAllDay": false,
                "timeStart": "12:00",
                "timeEnd": "15:00"
            }
        ],
        "exceptions": []
    },
    "requiresAdvance": 0,
    "advanceMode": "customer_advance",
    "advanceChargeType": "fixed",
    "advanceAmountCents": 0,
    "advanceHoldMinutes": 30
}

Response

{
    "success": true,
    "message": "Área de reserva creada",
    "data": {
        "reservationAreaId": "2"
    }
}