Ir al contenido

Ciclo de Vida de Órdenes POS

El módulo de Punto de Venta (POS) administra las órdenes de los clientes desde su apertura hasta su cobro o cancelación.

stateDiagram-v2
[*] --> Draft: Abrir orden (post /pos/orders)
Draft --> Sent: Enviar a cocina (post /pos/orders/:id/send)
Draft --> Voided: Anular borrador
Sent --> Billed: Generar pre-cuenta (post /pos/orders/:id/bill)
Sent --> Paid: Pago completo directo
Sent --> Voided: Anular orden enviada
Billed --> Paid: Registrar pago (post /pos/orders/:id/payments)
Billed --> Sent: Reabrir cuenta / agregar ítems
Paid --> [*]: Orden cerrada
Voided --> [*]: Orden anulada
  1. draft (Borrador):

    • Estado inicial al crear una orden asociada a una mesa o llevar (openOrderInput).
    • Se pueden agregar, modificar o eliminar ítems libremente.
  2. sent (Enviada a Cocina):

    • Se activa al llamar a POST /api/pos/orders/:id/send.
    • Se generan los tickets correspondientes para las estaciones KDS (Cocina/Barra).
    • Los ítems enviados requieren motivo explícito de anulación (voidItemInput).
  3. billed (Pre-cuenta):

    • Se imprime o genera el desglose de la cuenta para los comensales.
    • La mesa pasa a estado “esperando pago”.
  4. paid (Pagada):

    • Transición alcanzada cuando la suma de pagos registrados en payments cubre o supera el total de la orden.
    • Libera automáticamente la mesa asociada.
    • El recibo de la orden (GET /api/pos/orders/:id/receipt) o de una cuenta dividida (GET /api/pos/orders/checks/:checkId/receipt) se muestra en un Sheet lateral en la plataforma y se puede imprimir, descargar como PDF, compartir por WhatsApp o enviar por correo (POST /api/pos/orders/:id/receipt/email, body sendReceiptEmailInput).
  5. voided (Anulada):

    • Cancela la orden y revierte los consumos de stock asociados (restoreOrderItemStock).