Saltar al contenido principal

Roles y permisos del equipo

RestaPro tiene tres roles dentro del workspace, jerárquicos y bien diferenciados.

Los tres roles

Owner (propietario)

Acceso total al workspace. Solo existe a nivel workspace (no por restaurante). El owner puede:

  • Gestión completa de billing y suscripciones de Stripe.
  • Invitar a otros con cualquier rol (incluido owner).
  • Ajustar roles de cualquier miembro.
  • Editar configuración global.
  • Acceder a analytics del workspace.
  • Eliminar el workspace (irreversible).
  • Todo lo de admin y staff.

Admin (administrador)

Permisos amplios excepto billing crítico:

  • Gestión completa de cada restaurante.
  • Editar carta, horarios, mesas, configuración operativa.
  • Invitar staff (no admins ni owners).
  • Ajustar roles de staff.
  • Ver analytics.
  • Gestionar reservas, walk-ins, clientes.
  • Configurar integraciones.
  • NO puede: cambiar plan, cancelar suscripción, crear nuevos owners, eliminar workspace.

Staff (operativo)

Operativa diaria:

  • Crear, editar, confirmar, cancelar reservas.
  • Registrar walk-ins.
  • Ver clientes y editar notas internas.
  • Gestión limitada de carta (visualización; edición según config).
  • Ver mesas y estados de servicio.
  • NO puede: invitar miembros, editar configuración, ver billing, ver analytics.

Cómo invitar a un miembro

En Ajustes → Miembros:

  1. Email del nuevo miembro.
  2. Rol (owner/admin/staff).
  3. (Opcional) Restaurantes específicos a los que tendrá acceso.
  4. Enviar.

RestaPro hace automáticamente:

  • Si el email es nuevo: crea cuenta con contraseña temporal y la envía por email.
  • Si ya existe: lo añade al workspace directamente.
  • Inserta filas en workspace_users y restaurant_users con el rol indicado.
  • Le envía email con instrucciones de acceso.

Por seguridad, la contraseña temporal nunca se devuelve en pantalla — solo en el email al destinatario.

Validaciones de seguridad

  • Solo owner crea owners: un admin no puede ascender a alguien a owner.
  • Email único: no se puede invitar el mismo email dos veces al mismo workspace.
  • Rate limiting: máximo 10 invitaciones por hora por workspace.
  • Cambios de rol auditables: todo movimiento queda en activity_log.

Autenticación

Dos métodos de login:

Email + contraseña

Estándar, contraseña con mínimo 8 caracteres, hash bcrypt en BD.

Google Sign-In

OAuth con tu cuenta de Google. RestaPro vincula la identidad de Google al perfil. No requiere recordar contraseña adicional.

Autenticación multifactor (MFA)

Soporte para TOTP (Google Authenticator, Authy, Microsoft Authenticator):

  • Tabla workspace_users_mfa registra mfa_required_at por workspace.
  • Owner decide cuándo activarlo y desde qué fecha es obligatorio.
  • Aplicación gradual: período de gracia para que cada miembro inscriba su autenticador.

Activar MFA en Ajustes → Seguridad → Activar 2FA:

  1. Escanea QR con la app de autenticador.
  2. Introduce código de 6 dígitos para confirmar.
  3. En el próximo login, email + contraseña + código.

Cambiar rol de un miembro

Solo owner. Ajustes → Miembros:

  1. Selecciona miembro.
  2. Cambia el rol del dropdown.
  3. Confirma.

El cambio aplica inmediatamente sin necesidad de re-login.

Buenas prácticas

  • Pocos owners: solo quien gestiona el negocio realmente.
  • MFA obligatorio para owner/admin: cuentas críticas merecen 2FA.
  • Staff por defecto: si no necesitas que alguien edite carta o cancele reservas, dale rol staff.
  • Revoca al salir: cuando alguien deja el equipo, retírale el acceso desde Ajustes → Miembros.
  • Audita periódicamente: revisa la lista de miembros 1-2 veces al año.
ESENCA