The POS module is the primary entry point for all customer-facing transactions in Restaurant Equis. Cashiers use it to browse the live menu catalog, assemble a cart by adding and adjusting items, collect basic customer information, choose the fulfillment type, and submit the order — which immediately registers in the database and appears on the Kitchen Display. Upon confirmation the system also generates a pre-filled WhatsApp summary for the restaurant’s business line.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.
Order Types
Restaurant Equis supports three fulfillment types, each with its own data requirements. Select the appropriate type in the order panel before confirming.- 🪑 Mesa (Dine-In)
- 🛍️ Pickup (Para Llevar)
- 🛵 Delivery
The customer is seated inside the restaurant. You must enter the table number in the numeric field that appears after selecting Mesa. The table number is stored on the order and displayed prominently on the Kitchen Display card.Required field: Mesa (table number, integer ≥ 1)
Menu Catalog
The catalog is loaded on mount by callingGET /api/productos. Each product belongs to one of the following categories:
| Category key | Display label |
|---|---|
entrada | Entrada |
plato_principal | Plato Principal |
postre | Postre |
bebida | Bebida |
acompañante | Acompañante |
disponible = false) are rendered with reduced opacity and cannot be added to the cart.
Each product card displays:
- Category label
- Product name and description
- Price (e.g.
$12.50) - Availability badge (
Disponible/Agotado)
Cart Management
Clicking an available product card adds it to the cart (or increments its quantity if it already exists). Inside the cart panel each line item shows:- Item name and category
- A free-text special notes field (e.g. sin cebolla)
- Quantity controls (− / +); reducing quantity to 0 removes the item
- Line subtotal (
price × quantity)
| Field | Formula |
|---|---|
| Subtotal | Sum of all line item subtotals |
| IVA (16%) | subtotal × 0.16 |
| Total a Pagar | subtotal + IVA |
Customer Info
Before submitting, the cashier fills in the customer panel at the top of the cart sidebar:| Field | Notes |
|---|---|
| Cédula / RIF | Venezuelan national ID or company tax ID (optional) |
| Teléfono | Phone number — recommended for pickup and delivery orders |
| Nombre | Customer’s full name — required |
Placing an Order
When the cashier clicks Confirmar Pedido, the POS performs the following validations before submitting:- Cart must not be empty.
- Customer name (
cliente_nombre) must not be blank. - If order type is
mesa, a table number must be provided. - If order type is
delivery, a delivery address must be provided.
Recibido status) and in the Orders history view. The cart, customer fields, and address are reset so the POS is ready for the next transaction.
WhatsApp Integration
Immediately after the API call succeeds, the POS constructs a pre-filled WhatsApp message containing the full order summary and opens it in a new browser tab via:The WhatsApp destination number is configured via the
VITE_WHATSAPP_NUMERO environment variable in .env.local. Set it to the restaurant’s WhatsApp Business number in international format without spaces or dashes (e.g. 584140000000). If the variable is not defined, the system falls back to the placeholder 584140000000. Add the variable to your environment before deploying to production: