Mesas y planos de planta
Plano = zona del restaurante
Un plano representa una zona física: salón principal, terraza, barra, sala privada, VIP. Cada plano tiene su propio canvas con coordenadas y agrupa las mesas que viven en esa zona.
Un restaurante puede tener uno o varios planos activos simultáneamente.
Crear, renombrar, eliminar planos
En el editor (Ajustes → Mesas):
- + Nueva zona → dialog con nombre. Crea un canvas de 1000×700 px.
- Renombrar → editar el nombre desde la pestaña activa.
- Eliminar zona → solo si tienes más de un plano. Las mesas no se borran, sólo quedan desvinculadas y puedes reasignarlas.
Crear mesas y moverlas con drag & drop
- + Nueva mesa crea una mesa al centro del canvas, con nombre auto-generado y capacidad 2.
- Drag & drop sobre el canvas con snap a cuadrícula de 20 px.
- Umbral de drag: 8 px (en tablet/móvil evita drags accidentales en taps).
Botón "Deshacer" tras mover
Cuando mueves una mesa, aparece un toast con botón Deshacer. Captura la posición previa y permite revertir con un click. Cubre el 90% del caso real (drag accidental en pico de servicio).
Propiedades de una mesa
- Capacidad: cuántas personas caben.
- Forma: rectángulo (default) o círculo.
- Rotación: 0-359 grados, con botones rápidos −90° / +90°.
- Tamaño visual: 40-400 px ancho/alto (no afecta a la capacidad).
- Zona: dropdown para reasignar a otro plano sin moverla visualmente.
Merge group: combinar mesas para grupos grandes
Para grupos que ocupan varias mesas:
- En la lista de mesas, columna Combina con introduces un código (
A,B,Grupo 1). - Columna Orden numeras las mesas del grupo (1, 2, 3).
Cuando una reserva grande necesita ese grupo, RestaPro asigna las mesas en bloque. Visualmente se destacan como conjunto.
Bloqueo puntual de mesas
Las table_blocks marcan una mesa como no asignable durante un rango horario:
- Mantenimiento ("se rompió la pata de la mesa 4").
- Evento privado en una mesa concreta.
- Reconfiguración de zona.
En la vista de servicio, la mesa aparece en gris (estado bloqueado) y no se ofrece como opción de asignación. Caduca solo cuando termina el rango.
Estados visuales
| Color | Estado | Significado |
|---|---|---|
| Verde claro | Libre | Sin reserva ni bloqueo |
| Rojo claro | Ocupada (busy) | Reserva confirmada en este horario |
| Verde oscuro | Sentada (arrived) | Cliente ya en sala |
| Gris | Bloqueada | table_block activo |
| Azul | Seleccionada | Marcada para edición |
Sobre cada mesa pueden aparecer distintivos: ⚠ rojo (cliente de alto riesgo), ⭐ dorado (cliente frecuente), reloj (minutos en sala / sobrepase).
Vista de servicio en vivo
/app/local te lleva a una pantalla optimizada para tablet en pase/sala:
- Plano grande con todas las mesas.
- Sidebar con reservas del día ordenadas por urgencia.
- KPIs en vivo: en sala, mesas libres, pendientes, no-shows hoy, ocupación.
- Drag & drop desde la sidebar a una mesa para asignar reservas.
En modo kiosk también está el toggle global "Aceptar reservas" que cierra el canal público indefinidamente (cuidado: no se reanuda solo, ver Pausa de servicio para cierres temporales).
Mobile
El plano se puede scrollear con el dedo. El zoom (pinch) no está implementado todavía. Para reasignaciones rápidas, abre el detalle de la reserva y usa el selector de mesa.