Qué pasa cuando un cliente entra al restaurante
Diez pasos, desde que el cliente se sienta hasta que paga. Para cada paso: qué ve el cliente, qué hace el staff, qué hace Ordina entre bastidores.
Ordina no es una app que el cliente descarga. Tampoco es un TPV. Es la capa intermedia: entre el cliente hambriento y la cocina, entre la caja y el fisco. Este es un día típico en nuestro local de Punta Ala, verano 2026, contado paso a paso.
01
El cliente llega
- Cliente
- Se sienta en la mesa que le ha indicado el host, deja las llaves, mira afuera. Huele a pan fresco.
- Staff
- Le saluda, le acompaña a la mesa, le dice 'acerca el móvil aquí para el menú' y señala la etiqueta NFC en la mesa.
- Ordina
- Nada todavía. La sesión de la mesa se abre en el primer tap.
02
El tap NFC
- Cliente
- Acerca el móvil a la etiqueta en la mesa. Safari/Chrome se abre con el menú del restaurante. Sin app que descargar, sin cámara, sin login.
- Staff
- Nada. Es el momento del cliente.
- Ordina
- Crea una BillSession para esa mesa. Carga el menú en el idioma del navegador (italiano o inglés, por defecto italiano). Si existe una reserva confirmada para esa mesa en el turno actual, la marca como 'llegado' automáticamente.
03
Navega el menú
- Cliente
- Desplaza los platos por categoría. Toca uno, ve una foto grande, descripción, alérgenos, modificadores (p. ej. 'pasta sin gluten', 'aceite extra'). Añade al carrito con un toque.
- Staff
- Continúa atendiendo otras mesas.
- Ordina
- Todo el menú está en caché (ISR 60 s) — carga instantánea. Fotos cargadas de forma diferida. Sin llamada al servidor hasta el envío del pedido.
04
Compone el pedido
- Cliente
- Añade platos, escribe una nota libre ('sin cebolla') en el campo de texto, ve actualizarse el total. Pulsa 'Enviar pedido'.
- Staff
- Se acerca solo si el cliente levanta la mano (botón 'Llamar camarero' en la app — pg_notify al staff).
- Ordina
- El payload del pedido se guarda en localStorage hasta que el servidor lo confirma. Si el cliente pierde la señal, el envío espera a que vuelva la conexión.
05
El pedido sale
- Cliente
- Ve una página de seguimiento: 'Pedido recibido, esperando aceptación'. Línea de tiempo visible.
- Staff
- Aparece una nueva tarjeta de pedido en el panel, con un pitido y una suave vibración de la tablet. Número de mesa grande, contenido compacto.
- Ordina
- Insert del Order en PG, pg_notify('orders'), SSE push a todos los clientes suscritos al canal del tenant. Latencia inferior a 200 ms.
06
El staff acepta
- Cliente
- Ve 'Pedido aceptado' con un ETA de 12 min. Sin recargar — la página se actualiza sola.
- Staff
- Pulsa 'Aceptar' en la tablet. El pedido pasa al KDS en cocina, agrupado por categoría (primeros, segundos, guarniciones).
- Ordina
- Actualiza OrderStatus → ACCEPTED, escribe OrderStatusEvent, emite pg_notify para el rastreador del cliente. AuditLog escrito.
07
La cocina cocina
- Cliente
- Espera. Bebe. Charla con quien está en la mesa.
- Staff
- En cocina el joven chef tiene el KDS delante. Ve el paquete de pedidos, marca 'en preparación' al empezar, 'listo' al terminar.
- Ordina
- Los nuevos estados se propagan al cliente. El temporizador de pedidos en IN_PREP alimenta el informe de latencia media de cocina.
08
Llega la comida
- Cliente
- Ve la animación en rojo Caveat '¡Buen provecho!' cuando el camarero pulsa 'Servido'.
- Staff
- Lleva los platos, pulsa 'Servido' en el carrito flotante.
- Ordina
- Estado final SERVED. Snapshot de Order.foodCostMinor tomado de Recipe.foodCostMinorCached en ese momento — este es el margen real, no el estimado.
09
El pago
- Cliente
- Abre la página del pedido, pulsa 'Pagar'. Stripe Element ofrece Apple Pay (reconoce iPhone) o tarjeta. Toca, desbloquea con FaceID, paga en 3 segundos. Deja una propina del 10 %.
- Staff
- Nada — el cliente ha pagado desde el móvil. Un aviso pasivo en el panel ('Mesa 7 ha pagado, todo en orden').
- Ordina
- PaymentIntent de Stripe creado en el servidor, el webhook 'payment_intent.succeeded' cambia paymentStatus a PAID. Propina registrada por separado. Recibo fiscal (RT) emitido por el proveedor elegido por el restaurante.
10
El cliente se va
- Cliente
- Se despide, se va. Comió en 45 minutos, pagó en 3 segundos, dijo 'gracias' a un camarero que nunca le preguntó dónde estaba el baño.
- Staff
- Limpia la mesa, pone en cola la próxima reserva confirmada en pantalla.
- Ordina
- BillSession cerrada, mesa de vuelta al pool, las próximas reservas notificadas (email t12 al cliente si tiene mesa asignada).
¿Quieres verlo en vivo?
Diez minutos de demo remota. Te hacemos recorrer el flujo tú mismo, desde la mesa ficticia hasta la cocina simulada. Sin compromiso, sin tarjeta de crédito.
Reservar la demo →