Zonas del restaurante para reservar
POST /api/diner-reservations/list-areas
Descripción
Devuelve las zonas donde el cliente puede reservar, con sus días disponibles.
Detalles
Recibe la dirección pública del restaurante y devuelve las zonas que aceptan reservas, con su descripción, el rango de personas por grupo y el depósito que piden, si piden. Cada zona trae los días en que se puede reservar, ya calculados contra su horario y su anticipación. Suma las ocasiones especiales que el cliente puede marcar al reservar.
Permisos requeridos
public
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| slug | string | Sí |
min:1
max:63
|
Respuesta
Campos que devuelve dentro de data. Nada fuera de esta lista sale en la respuesta.
| Campo | Tipo | Descripción |
|---|---|---|
| areas | array | Zonas donde se puede reservar |
| areas[].uuid | string | Identificador de la zona |
| areas[].name | string | Nombre de la zona |
| areas[].description | string Admite vacío | Descripción de la zona |
| areas[].minPartySize | int | Mínimo de personas por reserva |
| areas[].maxPartySize | int | Máximo de personas por reserva |
| areas[].advance | object Admite vacío | Depósito que pide la zona; vacío si no pide |
| areas[].advance.chargeType | string | Cómo se cobra: por reserva o por persona |
| areas[].advance.amountCents | int | Monto del depósito, en centavos |
| areas[].advance.holdMinutes | int | Minutos de plazo para pagarlo |
| areas[].advance.terms | string Admite vacío | Condiciones del depósito |
| areas[].days | array | Días en que se puede reservar |
| areas[].days[].date | string | Día en la zona horaria del restaurante (AAAA-MM-DD) |
| areas[].days[].iso | datetime | Mediodía de ese día, para mostrarlo |
| areas[].days[].isToday | bool | Si es hoy |
| areas[].days[].isTomorrow | bool | Si es mañana |
| occasions | array | Ocasiones especiales que se pueden marcar |
| occasions[].id | int | Identificador de la ocasión |
| occasions[].name | string | Nombre de la ocasión |
| occasions[].icon | string Admite vacío | Ícono de la ocasión |
Ejemplo de request
curl -X POST https://restofy.pro/api/diner-reservations/list-areas \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"slug": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-10-09T02:12:12Z
HTTP 200
Request
{
"slug": "restofy_test_dinerreservation_2238_1791511161_tenant"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"areas": [
{
"uuid": "0be2132e-c385-11f1-a755-a2f78ac020f7",
"name": "Reservas a26e9e",
"description": null,
"minPartySize": 2,
"maxPartySize": 6,
"advance": null,
"days": [
{
"date": "2026-10-09",
"iso": "2026-10-09T17:00:00.000Z",
"isToday": false,
"isTomorrow": true
},
{
"date": "2026-10-10",
"iso": "2026-10-10T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-11",
"iso": "2026-10-11T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-12",
"iso": "2026-10-12T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-13",
"iso": "2026-10-13T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-14",
"iso": "2026-10-14T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-15",
"iso": "2026-10-15T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-16",
"iso": "2026-10-16T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-17",
"iso": "2026-10-17T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-18",
"iso": "2026-10-18T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-19",
"iso": "2026-10-19T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-20",
"iso": "2026-10-20T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-21",
"iso": "2026-10-21T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-22",
"iso": "2026-10-22T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-23",
"iso": "2026-10-23T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-24",
"iso": "2026-10-24T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-25",
"iso": "2026-10-25T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-26",
"iso": "2026-10-26T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-27",
"iso": "2026-10-27T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-28",
"iso": "2026-10-28T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-29",
"iso": "2026-10-29T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-30",
"iso": "2026-10-30T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-10-31",
"iso": "2026-10-31T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-11-01",
"iso": "2026-11-01T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-11-02",
"iso": "2026-11-02T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-11-03",
"iso": "2026-11-03T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-11-04",
"iso": "2026-11-04T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-11-05",
"iso": "2026-11-05T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-11-06",
"iso": "2026-11-06T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
},
{
"date": "2026-11-07",
"iso": "2026-11-07T17:00:00.000Z",
"isToday": false,
"isTomorrow": false
}
]
}
],
"occasions": [
{
"id": 1,
"name": "Cumpleaños",
"icon": "fa-solid fa-cake-candles"
},
{
"id": 2,
"name": "Aniversario",
"icon": "fa-solid fa-champagne-glasses"
},
{
"id": 3,
"name": "Pedida de Mano",
"icon": "fa-solid fa-ring"
},
{
"id": 4,
"name": "Graduación",
"icon": "fa-solid fa-graduation-cap"
},
{
"id": 5,
"name": "Despedida",
"icon": "fa-solid fa-hand-peace"
}
]
}
}