Ver una reserva compartida
POST /api/diner-reservations/get-shared-reservation
Descripción
Devuelve los datos de una reserva que el cliente compartió por enlace con sus acompañantes.
Detalles
Recibe el restaurante y la reserva, y devuelve cuándo es, en qué zona, para cuántas personas, a nombre de quién, la ocasión especial y su estado. No pide sesión: la abre cualquiera que tenga el enlace. Nunca devuelve la nota ni el motivo de cancelación. Si quien la abre tiene sesión y es el dueño de la reserva, lo indica para llevarlo a su detalle.
Permisos requeridos
public
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| slug | string | Sí |
min:1
max:63
|
| reservationUuid | string | Sí |
min:36
max:36
|
Respuesta
Campos que devuelve dentro de data. Nada fuera de esta lista sale en la respuesta.
| Campo | Tipo | Descripción |
|---|---|---|
| reservation | object | Reserva compartida, sin datos privados |
| reservation.reservationUuid | string | Identificador de la reserva |
| reservation.reservedAt | datetime | Cuándo es la reserva |
| reservation.durationMinutes | int | Cuánto dura la reserva, en minutos |
| reservation.guestCount | int | Cuántas personas van |
| reservation.areaUuid | string Admite vacío | Identificador de la zona |
| reservation.areaName | string Admite vacío | Nombre de la zona |
| reservation.guestName | string Admite vacío | A nombre de quién está |
| reservation.guestOccasionId | int Admite vacío | Ocasión especial elegida |
| reservation.occasionName | string Admite vacío | Nombre de la ocasión especial |
| reservation.occasionIcon | string Admite vacío | Ícono de la ocasión especial |
| reservation.advanceAmountCents | int Admite vacío | Depósito recibido, en centavos |
| reservation.advanceRequiredCents | int Admite vacío | Depósito que pide la reserva, en centavos |
| reservation.advanceDueAt | datetime Admite vacío | Hasta cuándo hay plazo para pagar el depósito |
| reservation.isAwaitingAdvance | bool | Si la reserva espera el pago del depósito |
| reservation.status | string | Estado de la reserva |
| reservation.statusLabel | string | Estado para mostrar |
| reservation.statusTone | string | Tono del estado: success, warning, info, primary o neutral |
| isMine | bool | Si quien la abre con su sesión es el dueño de la reserva |
Ejemplo de request
curl -X POST https://restofy.pro/api/diner-reservations/get-shared-reservation \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"slug": "string",
"reservationUuid": "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_dinersharedreser_2345_1791511819_tenant",
"reservationUuid": "96023eaf-c386-11f1-a755-a2f78ac020f7"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"reservation": {
"reservationUuid": "96023eaf-c386-11f1-a755-a2f78ac020f7",
"reservedAt": "2026-10-09T17:00:00.000Z",
"durationMinutes": 90,
"guestCount": 2,
"areaUuid": "93ea497c-c386-11f1-a755-a2f78ac020f7",
"areaName": "Reservas b93e5e",
"guestName": "Comensal de prueba",
"guestOccasionId": null,
"occasionName": null,
"occasionIcon": null,
"advanceAmountCents": null,
"advanceRequiredCents": null,
"advanceDueAt": null,
"isAwaitingAdvance": false,
"status": "confirmed",
"statusLabel": "Confirmada",
"statusTone": "success"
},
"isMine": false
}
}