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

Crear y Gestionar Meseros

Crea meseros con PIN, asigna mesas y gestiona su acceso a la interfaz de toma de pedidos.

💡 Antes de comenzar: Los meseros son empleados con rol "waiter" que acceden con PIN de 4 dígitos a una interfaz especial para tomar pedidos en mesas. El sistema sincroniza automáticamente entre Employee y Waiter.

Crear un Mesero

Paso a Paso

  1. Ve a /[slug]/admin/employees
  2. Haz clic en "Crear Empleado"
  3. Completa el formulario:
    • Nombre: Nombre del mesero
    • Apellido: Apellido
    • DNI/ID: Documento de identidad (único)
    • Email: Email único (opcional pero recomendado)
    • Teléfono: Número de contacto
    • PIN: 4 dígitos numéricos (ej: 1234)
    • Rol: Selecciona "Waiter (Mesero)"
  4. Haz clic en "Guardar"

✨ Sincronización automática: Al crear un empleado con rol "waiter", el sistema automáticamente crea un registro duplicado en la tabla Waiter con el mismo ID. Esto permite gestión centralizada de empleados y funcionalidad específica de meseros.

Qué se Crea Automáticamente

Registros Creados

  1. Employee: Registro principal con:
    • role = "waiter"
    • PIN hasheado con bcrypt
    • tenantId (negocio)
    • isActive = true
  2. Waiter: Registro sincronizado con:
    • Mismo _id que Employee
    • Mismo PIN (hasheado)
    • assignedTables = [] (vacío inicialmente)
    • stats = {totalOrders: 0, totalSales: 0}

Información del Mesero

CampoDescripción
name, lastNameNombre completo del mesero
emailEmail único por tenant
phoneTeléfono de contacto
pin4 dígitos para login (encriptado)
assignedTablesMesas asignadas (se configuran después)
settings.commissionRate% de comisión sobre ventas (opcional)
settings.colorColor de identificación (default: verde)

Editar un Mesero

  1. Ve a la lista de empleados
  2. Encuentra al mesero (filtra por rol "waiter" si es necesario)
  3. Haz clic en el icono de Editar ✏️
  4. Modifica los campos que necesites:
    • Nombre, apellido, email, teléfono
    • PIN (si lo olvidó o necesita cambiarse)
    • Estado activo/inactivo
  5. Haz clic en "Guardar Cambios"

✅ Sincronización bidireccional: Los cambios en Employee se sincronizan automáticamente al Waiter. El sistema usa updateOne() para evitar re-hashear el PIN si no cambió.

Desactivar un Mesero

Si un mesero ya no trabaja en el negocio:

  1. Edita el empleado
  2. Cambia el estado a "Inactivo"
  3. Guarda los cambios

Efectos:

  • ❌ No podrá iniciar sesión con su PIN
  • ✅ Se mantiene el historial de órdenes y turnos
  • ✅ Las estadísticas se preservan
  • ✅ Puede reactivarse en el futuro si vuelve

⚠️ No eliminar: Evita eliminar meseros permanentemente. Desactívalos para mantener la integridad de los datos históricos.

Resetear PIN Olvidado

Si un mesero olvidó su PIN:

  1. Edita el empleado/mesero
  2. En el campo "PIN", ingresa un nuevo PIN de 4 dígitos
  3. Guarda los cambios
  4. Comunica el nuevo PIN al mesero de forma segura

🔒 Seguridad: Los PINs están encriptados con bcrypt y es imposible recuperarlos. Solo puedes asignar un nuevo PIN.

Validaciones del Sistema

Al Crear Mesero

  • DNI único: No puede haber dos empleados con el mismo DNI en el tenant
  • Email único: Si se proporciona email, debe ser único en el tenant
  • PIN único: El PIN no puede estar en uso por otro empleado/admin/cadete
  • PIN válido: Debe ser exactamente 4 dígitos numéricos
  • Rollback automático: Si falla la creación del Waiter, se elimina el Employee

Acceso del Mesero

Una vez creado, el mesero puede:

  1. Ir a /[slug]/waiter/login
  2. Ingresar su PIN de 4 dígitos
  3. Acceder a su panel de mesero
  4. Iniciar turno
  5. Tomar pedidos en sus mesas asignadas
  6. Ver estado de pedidos
  7. Cerrar turno al finalizar

💡 Siguiente paso: Después de crear el mesero, asigna mesas desde la sección de edición o desde el panel de gestión de mesas.

Configuraciones Opcionales

Tasa de Comisión

Puedes configurar un porcentaje de comisión sobre las ventas:

Ejemplo:

commissionRate: 5% → Si vende $10,000, gana $500 de comisión

Nota: Esta configuración está disponible en el modelo pero el cálculo automático de comisiones no está implementado actualmente.

Color de Identificación

Asigna un color único a cada mesero para identificarlo visualmente en reportes y dashboards:

  • Default: Verde (#10b981)
  • Útil cuando tienes múltiples meseros
  • Se puede cambiar en cualquier momento

Buenas Prácticas

✅ PINs fáciles de recordar: Aunque deben ser únicos, elige PINs que el mesero pueda recordar fácilmente.

✅ Email obligatorio: Aunque es opcional, es recomendable para poder contactar al mesero y futuras funcionalidades.

✅ Asigna mesas inmediatamente: Después de crear el mesero, asígnale mesas para que pueda empezar a trabajar.

✅ Capacita sobre el PIN: Explica al mesero la importancia de no compartir su PIN y mantenerlo seguro.

Solución de Problemas

Error: "El PIN ya está en uso"

Otro empleado, administrador o cadete ya tiene ese PIN. Elige un PIN diferente. El sistema verifica contra todos los usuarios del negocio.

El mesero no aparece en la lista de empleados

Verifica que: (1) El empleado fue creado exitosamente, (2) No está filtrado por otro rol, (3) Está activo (isActive = true). Usa el buscador para encontrarlo por nombre.

Error al crear: "Rollback por fallo en Waiter"

El Employee se creó pero falló la sincronización con Waiter. Puede ser por: (1) Email duplicado en Waiter, (2) Error de conexión a base de datos. El sistema automáticamente eliminó el Employee para evitar inconsistencias. Reintenta con datos diferentes.

¿Puedo convertir un empleado existente en mesero?

Sí, simplemente edita el empleado y cambia su rol de "cashier"/"kitchen" a "waiter". El sistema sincronizará automáticamente y creará el registro de Waiter. Asegúrate de asignar mesas después del cambio.

El mesero no puede iniciar sesión con su PIN

Verifica: (1) El mesero está activo, (2) El PIN es correcto (4 dígitos), (3) El tenant está activo, (4) Está intentando acceder desde la URL correcta (/[slug]/waiter/login).

¿Te fue útil este artículo?

Centro de ayuda: guías y tutoriales | Nandu