⏱️ 8 minutos de lecturaÚltima actualización: Enero 2025

Turnos de Meseros

Sistema completo de inicio, cierre y validación de turnos con rendición de efectivo.

💡 Antes de comenzar: Los turnos (shifts) registran el inicio y fin del trabajo del mesero, todas sus órdenes, ventas totales, y permiten rendición de efectivo al finalizar con validación del administrador.

¿Qué es un Turno?

Un turno es un período de trabajo que incluye:

  • Inicio: Cuándo el mesero comenzó a trabajar
  • Fin: Cuándo terminó su turno
  • Órdenes: Todos los pedidos tomados durante el turno
  • Ventas: Total vendido desglosado por método de pago
  • Rendición: Efectivo declarado por el mesero
  • Validación: Verificación del administrador/cajero

Iniciar un Turno

Desde la Interfaz del Mesero

  1. El mesero inicia sesión en /[slug]/waiter/login con su PIN
  2. Ve su panel de mesero
  3. Si no hay turno activo, ve el botón "Iniciar Turno"
  4. Haz clic en "Iniciar Turno"
  5. Se crea un WaiterShift con:
    • status = 'active'
    • startTime = ahora
    • salesSummary = {totalSales: 0, totalOrders: 0}
  6. Ahora el mesero puede tomar pedidos

✅ Un mesero, un turno: Solo puede haber un turno activo por mesero a la vez. Si intenta iniciar otro, el sistema lo previene automáticamente.

Durante el Turno

Mientras el turno está activo:

  • El mesero toma pedidos normalmente
  • Cada pedido se registra automáticamente en el turno
  • Se actualizan estadísticas en tiempo real:
    • Total de órdenes procesadas
    • Total de ventas acumuladas
    • Desglose por método de pago (efectivo, tarjeta, transferencia)
  • El mesero puede ver el resumen en la vista "Mi Turno"

Cerrar un Turno

Paso a Paso (Mesero)

  1. Al finalizar su jornada, el mesero va a "Mi Turno"
  2. Ve el resumen completo de sus ventas del día
  3. Haz clic en "Cerrar Turno"
  4. Se abre un modal de rendición con:
    • Efectivo Esperado: El sistema muestra cuánto debería haber en efectivo según las ventas
    • Efectivo a Declarar: Campo para ingresar el efectivo que realmente tiene
    • Propinas: Campo opcional para declarar propinas recibidas
    • Notas: Campo para observaciones
  5. Ingresa los datos:
    • Cuenta el efectivo físico
    • Ingresa el monto exacto
    • Si recibió propinas, las declara
    • Agrega notas si es necesario
  6. Haz clic en "Confirmar Cierre"
  7. El turno cambia a status = 'closed_by_waiter'
  8. El mesero entrega el efectivo al administrador/cajero

Ejemplo de Cierre

Resumen del Sistema:

  • Total Órdenes: 25
  • Total Ventas: $12,500
  • Efectivo (según ventas): $7,000
  • Tarjeta: $4,500
  • Transferencia: $1,000

Declaración del Mesero:

  • Efectivo contado: $7,000
  • Propinas: $500
  • Notas: "Todo en orden"

Validar un Turno (Administrador)

Proceso de Validación

  1. El mesero entrega el efectivo al administrador/cajero
  2. El admin va al panel de turnos
  3. Busca el turno con status = 'closed_by_waiter'
  4. Haz clic en "Validar Turno"
  5. Se abre modal de validación mostrando:
    • Efectivo declarado por el mesero
    • Efectivo esperado según el sistema
  6. El admin cuenta el efectivo recibido
  7. Ingresa el monto recibido en el campo
  8. El sistema calcula automáticamente la diferencia:
    • Si coincide → Diferencia = $0
    • Si recibió menos → Diferencia negativa (faltante)
    • Si recibió más → Diferencia positiva (sobrante)
  9. Agrega notas si es necesario
  10. Haz clic en "Validar"
  11. El turno cambia a status = 'validated_by_admin'

Ejemplo de Validación

Declarado por mesero: $7,000

Esperado por sistema: $7,000

Recibido por admin: $6,950

Diferencia: -$50 (faltante)

El admin puede agregar notas explicando la diferencia (ej: "Se dio cambio incorrecto en mesa 5")

Estados del Turno

EstadoDescripción
activeTurno en curso, mesero trabajando
closed_by_waiterMesero cerró y declaró efectivo, esperando validación
validated_by_adminAdmin validó el turno, proceso completo
rejectedAdmin rechazó el turno (raro, requiere corrección)

Información del Turno

Cada turno guarda:

  • Tiempos: startTime, endTime, durationMinutes (calculado automáticamente)
  • Órdenes: Array completo de todas las órdenes con código, total, método de pago
  • Resumen de Ventas:
    • totalSales, totalOrders
    • paymentBreakdown: {cash, card, transfer}
    • tips (propinas declaradas)
  • Declaración del Mesero: cashDeclared, tipsDeclared, notes, declaredAt
  • Validación del Admin: cashReceived, difference, notes, validatedBy, validatedAt
  • Estadísticas: averageOrderValue, topTable (futura implementación), peakHour

Ver Historial de Turnos

Como Mesero

  1. En el panel de mesero, ve a "Mi Turno"
  2. Haz clic en "Historial"
  3. Ve la lista de todos tus turnos anteriores
  4. Cada turno muestra:
    • Fecha y duración
    • Órdenes procesadas
    • Total vendido
    • Estado del turno

Como Administrador

Puedes ver turnos de todos los meseros desde el panel admin con filtros por:

  • Mesero específico
  • Rango de fechas
  • Estado (activo, cerrado, validado)

Propinas

El sistema permite registrar propinas:

  1. Al cerrar el turno, el mesero declara propinas recibidas
  2. Se guardan en waiterDeclaration.tipsDeclared
  3. También en salesSummary.tips
  4. El admin puede verificar propinas durante la validación
  5. Las propinas se incluyen en reportes y estadísticas

💡 Nota: Las propinas son opcionales y voluntarias. El mesero decide si declararlas o no según la política del establecimiento.

Buenas Prácticas

✅ Inicia turno al comenzar: El mesero debe iniciar su turno apenas llega para que todas las órdenes queden registradas.

✅ Cuenta con calma: Tómate tu tiempo para contar el efectivo correctamente antes de declarar.

✅ Valida el mismo día: El admin debe validar los turnos el mismo día para mantener el control financiero actualizado.

✅ Documenta diferencias: Si hay diferencia en la validación, agrega notas explicando el motivo.

Solución de Problemas

No puedo iniciar un turno

Verifica que: (1) No tengas ya un turno activo, (2) Estés autenticado correctamente como mesero, (3) Tu cuenta esté activa. Si ya cerraste un turno hoy, puedes iniciar uno nuevo sin problemas.

Hay diferencia entre lo declarado y lo recibido

Las diferencias pueden ocurrir por errores al dar cambio, ventas no registradas, o conteo incorrecto. El admin debe verificar con el mesero y documentar la causa. Si es recurrente, capacita sobre el manejo de efectivo.

¿Puedo cerrar y abrir múltiples turnos en un día?

Sí, puedes cerrar un turno y luego iniciar otro. Esto es útil si trabajas en dos horarios diferentes (ej: almuerzo y cena) o si necesitas hacer un corte de caja intermedio.

Olvidé cerrar mi turno ayer

El turno quedó activo desde ayer. Contacta al administrador para que cierre manualmente el turno y ajuste los datos (hora de cierre, efectivo, etc.) según corresponda. El admin puede editar turnos desde el panel.

¿Te fue útil este artículo?

Centro de ayuda: guías y tutoriales | Nandu