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

Roles y Permisos de Empleados

Entiende los diferentes tipos de usuarios y qué puede hacer cada rol en el sistema.

💡 Antes de comenzar: El sistema tiene dos tipos principales de usuarios: Administradores (con acceso al panel de gestión) y Empleados Operativos (con acceso a interfaces específicas según su rol). Cada rol tiene acceso a diferentes funcionalidades.

Tipos de Usuarios

👔 Administradores

Usuarios con acceso completo al panel administrativo

  • Acceso con email + password
  • Gestionan el negocio
  • Pueden acceder al POS (con PIN opcional)

👷 Empleados Operativos

Personal operativo con acceso limitado

  • Acceso con PIN de 4 dígitos
  • Sin acceso al panel admin
  • Interfaces específicas por rol

Roles de Administradores

1. Owner (Propietario)

Acceso: Total y sin restricciones

Quién es: La persona que creó la cuenta del negocio

Puede hacer:

  • ✅ Gestionar todos los aspectos del negocio
  • ✅ Crear y eliminar otros administradores
  • ✅ Gestionar empleados operativos
  • ✅ Configurar el sistema completo
  • ✅ Ver y descargar reportes financieros
  • ✅ Gestionar suscripción y facturación
  • ✅ Configurar múltiples sucursales
  • ✅ Eliminar la cuenta del negocio

2. Admin (Administrador)

Acceso: Completo al panel administrativo

Quién es: Administradores agregados por el Owner

Puede hacer:

  • ✅ Gestionar productos, categorías e inventario
  • ✅ Crear y gestionar empleados operativos
  • ✅ Ver órdenes y reportes
  • ✅ Configurar sucursales
  • ✅ Gestionar gastos operativos
  • ✅ Configurar cadetes y meseros
  • ❌ NO puede eliminar la cuenta del negocio
  • ❌ NO puede cambiar el plan de suscripción

Roles de Empleados Operativos

RolInterfazFunciones Principales
💰 Cashier
(Cajero)
/pos
  • Procesar órdenes
  • Cobrar con efectivo/tarjeta
  • Aplicar descuentos
  • Cierre de caja
👨‍🍳 Kitchen
(Cocina)
/kitchen
  • Ver órdenes pendientes
  • Marcar como "En Preparación"
  • Marcar como "Listo"
  • Ver tickets de cocina
🍽️ Waiter
(Mesero)
/waiter
  • Tomar órdenes en mesas
  • Asignarse mesas
  • Ver estado de pedidos
  • Entregar pedidos
🚴 Cadete
(Repartidor)
/cadete/[id]
  • Ver órdenes asignadas
  • Actualizar estado de entrega
  • Ver dirección en mapa
  • Registrar pago al recibir

Asignar Roles a Empleados

Paso a Paso

  1. Ve a /[slug]/admin/employees
  2. Haz clic en "Crear Empleado"
  3. Completa la información:
    • Nombre y apellido
    • Email (opcional)
    • Teléfono
    • PIN de 4 dígitos (único)
    • Selecciona el rol del dropdown
  4. Guarda el empleado

💡 Sincronización automática: Si seleccionas rol "Waiter", el sistema crea automáticamente un registro en la tabla de Meseros. Si seleccionas "Cadete", crea el registro en la tabla de Cadetes. Esto permite gestionar turnos y asignaciones específicas.

Cambiar el Rol de un Empleado

  1. Ve a la lista de empleados
  2. Haz clic en el empleado que quieres modificar
  3. Haz clic en "Editar"
  4. Cambia el rol en el dropdown
  5. Guarda los cambios

⚠️ Importante: Al cambiar de rol, el empleado pierde acceso a su interfaz anterior y obtiene acceso a la nueva. Si tenía una sesión activa, deberá cerrarla e iniciar sesión nuevamente para que el cambio surta efecto.

Control de Acceso por Interfaz

El sistema usa segregación de interfaces para controlar el acceso:

Ejemplo de Restricción de Acceso

Si un empleado con rol "Kitchen" intenta acceder a:

  • /kitchen → Permitido
  • /pos → Redirigido a su interfaz
  • /admin → Acceso denegado
  • /waiter → Acceso denegado

Permisos Granulares (Estado Actual)

El modelo de Employee incluye campos de permisos específicos:

  • canProcessPayments - Procesar pagos
  • canCancelOrders - Cancelar órdenes
  • canViewReports - Ver reportes
  • canManageProducts - Gestionar productos

⚠️ Estado: Estos permisos están definidos en la base de datos pero NO se validan actualmente en el backend. El control de acceso se hace mediante segregación de interfaces por rol. Los permisos granulares están planificados para futuras versiones.

Comparación de Roles

FuncionalidadOwnerAdminEmployees
Panel Admin
Gestionar Suscripción
Eliminar Cuenta
Crear Empleados
Acceso al POS✅ (con PIN)✅ (con PIN)✅ (según rol)
Reportes Financieros

Buenas Prácticas

✅ Principio de mínimo privilegio: Asigna a cada empleado el rol que necesita para su trabajo, no más. No des acceso de Admin si solo necesita usar el POS.

✅ Revisa roles regularmente: Cuando un empleado cambia de función, actualiza su rol en el sistema inmediatamente.

✅ Desactiva en lugar de eliminar: Si un empleado ya no trabaja, desactívalo en lugar de eliminarlo para mantener el historial de órdenes y sesiones.

✅ Protege el rol Owner: Solo el propietario del negocio debe tener el rol Owner. Delega tareas con rol Admin cuando sea necesario.

Solución de Problemas

Un empleado no puede acceder a su interfaz

Verifica que: (1) El rol asignado coincide con la interfaz (cashier → /pos, kitchen → /kitchen), (2) El empleado está activo (isActive = true), (3) Tiene un PIN válido configurado, (4) No tiene una sesión activa en otro dispositivo (si el límite es 1 sesión).

¿Puedo tener múltiples Owners?

Técnicamente sí, pero NO es recomendable. El Owner tiene control total, incluyendo eliminar la cuenta. Para dar acceso completo a otros usuarios, usa el rol "Admin" que tiene casi las mismas funciones excepto gestión de suscripción y eliminación de cuenta.

¿Cómo dar acceso al POS a un Admin?

Ve al perfil del Admin, habilita "Permitir acceso POS" y asigna un PIN de 4 dígitos. Esto le permitirá autenticarse en el POS con el PIN además de tener acceso al panel admin con su email/password.

Cambié el rol pero sigue viendo la interfaz anterior

El empleado debe cerrar sesión y volver a iniciar sesión para que el cambio de rol se aplique. Cierra su sesión activa desde el panel admin (/admin/employees/sessions) si es necesario.

¿Los roles afectan las sesiones de trabajo?

No, las sesiones (check-in/check-out) funcionan igual para todos los roles de empleados. Todos pueden tener sesiones, independientemente de su rol (cashier, kitchen, waiter, cadete).

¿Te fue útil este artículo?

Centro de ayuda: guías y tutoriales | Nandu