Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/teofilobetancourt/Restaurant-Equis/llms.txt

Use this file to discover all available pages before exploring further.

The Kitchen Display System (KDS) is the cooks’ real-time command center inside Restaurant Equis. It shows every active order as a card on a responsive grid, auto-refreshes every 30 seconds, plays an audio chime when new orders arrive, and lets kitchen staff advance each order through its preparation lifecycle with a single tap — no keyboard or mouse required.

Active Orders Feed

The Kitchen module polls GET /api/ordenes?estatus=activo to retrieve all orders with a status of Recibido or Preparando. The backend filters to only those two statuses; orders that have already reached Listo or Entregado are not included in the active feed and will not appear on the board. The view auto-refreshes every 30 seconds via a setInterval loop. A manual Actualizar button is also available in the header for immediate on-demand refresh without waiting for the next cycle.

Order Card

Each active order is rendered as a self-contained card displaying all information the kitchen team needs:
FieldDescription
Ticket number (#id_pedido)Large monospace identifier at the top of the card
Elapsed timeMinutes since hora_creacion, updated every 30 s
Order typeMesa + table number, 🛍️ Para Llevar, or 🛵 Delivery
Customer nameFull name and optional phone number
Items listEach item shows quantity, name, and any special notes highlighted in red
Action buttonAdvances the order to the next status
Cards in Preparando status that have been open for 10 minutes or more are highlighted with a red pulsing border as an urgency alert, and the elapsed time counter turns red.

Status Workflow

Each order progresses through four statuses. The kitchen manages the first two transitions; Listo indicates readiness for delivery, and Entregado is the terminal state set after hand-off.
1

Recibido

The order has just been placed from the POS. The card shows a ▶ Iniciar preparación button. Tapping it opens a confirmation modal and then calls:
PUT /api/ordenes/{id_pedido}
Content-Type: application/json

{ "Estatus_Orden": "Preparando" }
2

Preparando

The kitchen is actively working on the order. The elapsed time counter runs continuously. The card shows a ✓ Despachar button. When preparation is complete, tapping it opens a confirmation modal and calls:
PUT /api/ordenes/{id_pedido}
Content-Type: application/json

{ "Estatus_Orden": "Listo" }
3

Listo

The order is ready for the customer. Once updated to Listo, the order is no longer returned by the ?estatus=activo feed and will be removed from the board on the next refresh cycle. A success toast fires: “Orden #X lista para entregar”.
4

Entregado

The order has been handed to the customer or dispatched for delivery. This is the terminal status. It can be set via PUT /api/ordenes/{id_pedido} with { "Estatus_Orden": "Entregado" } and removes the order from all active views.
Every status transition is confirmed through a modal dialog before the API call is made, preventing accidental taps on a touch screen.

Sound Alerts

The Kitchen module uses the Web Audio API to play a three-note ascending chime (Do–Mi–Sol, 523 Hz → 659 Hz → 784 Hz) whenever the active order count increases between refresh cycles and at least one order was already present. This alerts cooks to new incoming orders without requiring them to watch the screen. The sound toggle button in the top-right header switches between Sonido ON and Silencio modes. The current state is persisted in component memory for the session. If the browser does not support the Web Audio API, the notification is silently suppressed without affecting any other functionality.
Mount the Kitchen Display on a tablet in landscape mode placed at eye level near the cook’s station. The responsive grid adapts from 1 column on mobile to 2 on medium screens and 3–4 on large displays. Enable the sound alerts and set the device volume high enough to hear chimes over kitchen noise. Keep the browser tab active (foreground) so the Web Audio API can fire reliably.

Build docs developers (and LLMs) love