SIPGR
Plataforma SaaS para cadenas de restaurantes: pedidos en tablet, pantalla de cocina en tiempo real, gestión de inventario y reportes automáticos desde un solo dashboard.
sipgr.edwsystem.comEl problema
Una cadena de restaurantes con 3 locales operaba con comandas en papel. Los meseros tomaban el pedido a mano, lo llevaban a la cocina y, en el camino, los papeles se perdían, se mojaban o se leían mal. El resultado promedio era 15 errores de pedido por día entre los tres locales: platos equivocados, modificaciones ignoradas, tiempos de entrega impredecibles.
Sin inventario en tiempo real, los meseros ofrecían platos que ya no había disponibles. El cierre de caja al final del día tomaba más de una hora porque había que cuadrar manualmente las comandas físicas con el registro de pagos. Y el dueño no tenía visibilidad sobre cuál local rendía más sin hacer llamadas a cada administrador.
"Abrir un cuarto local era imposible. No podíamos controlar bien los tres que teníamos. El caos operativo nos estaba frenando."
— Gerente de operaciones, cliente (anónimo)
La solución
Desarrollamos SIPGR, una plataforma SaaS multi-tenant que cubre el ciclo completo del restaurante: desde la toma de pedido hasta el reporte de ventas, pasando por la cocina y el inventario.
Pedidos en tablet (PWA)
Los meseros toman pedidos en una PWA instalada en tablets. Funciona sin conexión: si el WiFi falla, los pedidos se almacenan localmente y se sincronizan en cuanto la red vuelve.
Pantalla de cocina en tiempo real
Cada pedido aparece en la pantalla de cocina en menos de un segundo via WebSockets. El cocinero marca cada plato como listo y el sistema notifica al mesero automáticamente.
Menú QR y gestión en tiempo real
Cada mesa tiene un QR único. Los clientes acceden al menú digital actualizado; si un plato se acaba, el administrador lo desactiva desde el dashboard y desaparece del menú de todos los locales al instante.
Inventario y reportes automáticos
El inventario se descuenta en cada pedido confirmado. Si un ingrediente baja del umbral definido, el sistema genera una alerta. Al cierre del día, el reporte de ventas por local, mesero y plato está disponible en segundos.
Tecnologías utilizadas
Tiempo real con Socket.io
El flujo de un pedido atraviesa tres salas de Socket.io: waiter, kitchen y billing. Cada evento es persistido en PostgreSQL antes de emitirse, garantizando que ningún pedido se pierda si un cliente se desconecta y reconecta.
// Flujo de un pedido confirmado
socket.to(`kitchen:${restaurantId}`).emit('new_order', {
orderId,
tableNumber,
items,
notes,
timestamp: new Date().toISOString(),
})PWA con modo offline
La aplicación de meseros usa un Service Worker con estrategia background sync. Los pedidos tomados sin conexión se guardan en IndexedDB y se sincronizan automáticamente cuando la red vuelve, sin que el mesero deba hacer nada.
// Service Worker — background sync
self.addEventListener('sync', (event) => {
if (event.tag === 'sync-pending-orders') {
event.waitUntil(syncPendingOrders())
}
})Arquitectura multi-tenant
Un único despliegue sirve a múltiples restaurantes. El aislamiento se garantiza por restaurant_id en todas las consultas, reforzado con Row-Level Security en PostgreSQL para que ningún tenant pueda acceder a datos de otro.
-- RLS: cada fila pertenece a un restaurante
ALTER TABLE orders ENABLE ROW LEVEL SECURITY;
CREATE POLICY tenant_isolation ON orders
USING (restaurant_id = current_setting('app.restaurant_id')::uuid);PostgreSQL con índices para alto volumen
Las consultas de reporte (ventas por rango de fechas, ranking de platos, rendimiento por mesero) usan índices parciales y vistas materializadas que se refrescan al cierre de cada turno, manteniendo tiempos de respuesta por debajo de 200 ms incluso con meses de historial acumulado.
Resultados
En el primer mes de operación, los errores de pedido cayeron de un promedio de 15 por día a menos de 1. Los tres locales quedaron visibles desde un único dashboard, y el dueño puede ver las ventas consolidadas o por local en tiempo real desde su teléfono.
El proceso de cierre de caja bajó de más de una hora a menos de cinco minutos: el reporte diario se genera automáticamente al final del turno con ventas, propinas, platos más vendidos y alertas de inventario incluidas.
La capacitación del personal tomó un solo día por local gracias a la interfaz diseñada para ser aprendida rápidamente por personas sin experiencia técnica. El cuarto local ya está en proceso de apertura.
¿Necesitas algo similar?
Si tu negocio opera con procesos manuales que frenan tu crecimiento, podemos construir la plataforma que te dé control real sobre tus operaciones.
Hablemos de tu proyecto