Mesas
Mesas
Prefijo: /api/mesas
Requiere Auth: Sí
Control de estado de mesas (16 mesas fijas). Permite consultar estado, actualizar y liberar mesas.
GET /api/mesas
Descripción: Obtiene el estado de todas las mesas (16 mesas siempre)
Requiere Auth: Sí
Permiso requerido: ventas, leer
Respuesta exitosa: 200 OK
Response:
[ { "mesa_numero": 1, "tenant_id": "uuid-tenant", "tiene_productos": 1 }, { "mesa_numero": 2, "tenant_id": "uuid-tenant", "tiene_productos": 0 }]cURL:
curl http://localhost/api/mesas -H "Authorization: Bearer <token>"GET /api/mesas/{mesa_numero}
Descripción: Obtiene el estado de una mesa específica
Requiere Auth: Sí
Permiso requerido: ventas, leer
Parámetros path:
| Parámetro | Tipo | Descripción |
|---|---|---|
mesa_numero | int | Número de mesa (1-16) |
Respuesta exitosa: 200 OK
Errores: 404 (mesa no encontrada)
cURL:
curl http://localhost/api/mesas/5 -H "Authorization: Bearer <token>"PUT /api/mesas/{mesa_numero}/estado
Descripción: Actualiza el estado de una mesa
Requiere Auth: Sí
Permiso requerido: ventas, actualizar
Parámetros body:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tiene_productos | int | ✅ | 0 = libre, 1 = ocupada |
Respuesta exitosa: 200 OK
Request:
{ "tiene_productos": 1 }cURL:
curl -X PUT http://localhost/api/mesas/5/estado \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ -d '{"tiene_productos":1}'POST /api/mesas/{mesa_numero}/liberar
Descripción: Libera una mesa (limpia carrito + cambia estado)
Requiere Auth: Sí
Permiso requerido: ventas, actualizar
Respuesta exitosa: 200 OK
Response:
{ "mensaje": "Mesa 5 liberada exitosamente" }cURL:
curl -X POST http://localhost/api/mesas/5/liberar -H "Authorization: Bearer <token>"