Papeis e Permissoes
O Opero utiliza um sistema de controle de acesso baseado em CASL (Code Access Security Layer), que combina papeis (roles), escopos e feature gates para determinar exatamente o que cada usuario pode ver e fazer no sistema.
Como Funciona
Cada usuario possui:
- Um ou mais papeis (roles) — definem quais acoes e entidades estao disponiveis
- Um escopo — restringe o acesso a um subconjunto de dados (tenant, property, owner, unit)
- Feature gates — limitam o acesso com base no plano contratado e nos add-ons ativos
A combinacao desses tres elementos determina as permissoes efetivas do usuario.
Papeis Disponiveis
Papeis de Tenant (Organizacao)
| Papel | Codigo | Descricao |
|---|---|---|
| Administrador | admin / tenant_admin | Acesso total ao tenant. Gerencia usuarios, configuracoes, todos os modulos. |
| Financeiro | financial / area_admin_finance | Acesso completo ao modulo financeiro. Leitura de reservas para contexto. |
| Operacional | operational / area_admin_operations | Acesso completo ao PMS (reservas, hospedes, governanca) e estoque. |
| PDV (POS) | area_admin_pos | Estoque e caixa. Para equipes de bar/restaurante. |
| Fornecedores | area_admin_suppliers | Contas a pagar e gestao de fornecedores. |
| Admin Geral | general_admin | PMS + Financeiro completos, mas sem acesso a configuracoes de tenant. |
Papeis de Plataforma (Equipe Opero)
| Papel | Codigo | Descricao |
|---|---|---|
| Superuser N1 | n1 | Acesso total cross-tenant. Gerencia plataforma, entitlements, tenants. |
| Superuser N2 | n2 | Somente leitura em tenants que aprovaram acesso de suporte. |
Acoes
Cada papel define quais acoes o usuario pode realizar sobre cada entidade:
| Acao | Descricao |
|---|---|
manage | Acesso total (criar, ler, editar, excluir) |
create | Criar novos registros |
read | Visualizar registros |
update | Editar registros existentes |
delete | Excluir registros |
financial_override | Sobrescrever valores financeiros (acao especial, restrita) |
Entidades (Subjects)
O sistema controla acesso a mais de 30 entidades, organizadas por area:
PMS
| Entidade | Descricao |
|---|---|
| Owner | Proprietarios |
| MasterProperty | Propriedades master (consolidacao) |
| Property | Propriedades operacionais |
| Unit | Unidades (quartos, camas) |
| Guest | Hospedes |
| Reservation | Reservas |
| ReservationService | Servicos adicionais da reserva |
Financeiro
| Entidade | Descricao |
|---|---|
| ChartOfAccounts | Plano de contas |
| CostCenter | Centros de custo |
| AccrualEntry | Lancamentos contabeis |
| CashAccount | Contas de caixa |
| BankAccount | Contas bancarias |
| BankStatement | Extratos bancarios |
| CashMovement | Movimentacoes de caixa |
| Supplier | Fornecedores |
| AccountsPayable | Contas a pagar |
| PayableInstallment | Parcelas de pagamento |
| PayablePayment | Pagamentos realizados |
| Customer | Clientes (contas a receber) |
| AccountsReceivable | Contas a receber |
| ReceivableReceipt | Recebimentos |
| RevenueType | Tipos de receita |
| ExpenseType | Tipos de despesa |
| FixedAsset | Ativos imobilizados |
| IntangibleAsset | Ativos intangiveis |
| FinancialReport | Relatorios financeiros |
| Document | Documentos fiscais |
Estoque
| Entidade | Descricao |
|---|---|
| InventoryItem | Itens de estoque |
| InventoryMovement | Movimentacoes de estoque |
| InventoryRecipe | Receitas (fichas tecnicas) |
| InventoryConsumption | Consumo de estoque |
Governanca
| Entidade | Descricao |
|---|---|
| Tenant | Configuracoes do tenant |
| User | Usuarios do sistema |
Matriz de Permissoes por Papel
| Recurso | Admin | Financeiro | Operacional | POS | Fornecedores | Geral |
|---|---|---|---|---|---|---|
| Propriedades / Unidades | Total | — | Total | — | — | Total |
| Reservas / Hospedes | Total | Leitura | Total | — | — | Total |
| Plano de Contas | Total | Total | — | — | — | Total |
| Contas a Pagar | Total | Total | — | — | Total | Total |
| Contas a Receber | Total | Total | — | — | — | Total |
| Caixa / Banco | Total | Total | — | Total | — | Total |
| Estoque | Total | Total | Total | Total | — | Total |
| Relatorios Financeiros | Total | Total | — | — | — | Total |
| Usuarios | Total | — | — | — | — | — |
| Configuracoes Tenant | Total | — | — | — | — | — |
| Auditoria | Total | — | — | — | — | — |
Feature Gates (Plano)
Alem dos papeis, o acesso e filtrado pelo plano do tenant e pelos add-ons contratados na Loja Opero:
| Plano | PMS | Financeiro | POS | Fornecedores |
|---|---|---|---|---|
| Small | Sim | Sim | Nao | Nao |
| Standard | Sim | Sim | Sim | Sim |
| Enterprise | Sim | Sim | Sim | Sim |
Se o plano nao inclui uma feature (ex: POS no plano Small), as entidades relacionadas sao bloqueadas mesmo para usuarios com papel Admin.
Funcionalidades adicionais podem ser habilitadas via Entitlements e Loja Opero.
Escopos
Escopos restringem quais dados o usuario ve dentro das permissoes do seu papel:
| Escopo | Significado | Exemplo |
|---|---|---|
tenant | Todo o tenant (padrao) | Gerente geral |
owner | Apenas propriedades de um dono | Socio com propriedades especificas |
property | Apenas uma propriedade | Recepcionista de uma unidade |
unit | Apenas unidades especificas | Governanta de andar |
Como Atribuir Papeis
- Acesse Configuracoes > Usuarios
- Selecione o usuario ou convide um novo
- Em “Papel”, escolha o role adequado
- Em “Escopo”, defina a restricao (opcional)
- Salve
A mudanca e imediata — na proxima acao do usuario, as novas permissoes ja se aplicam.
Boas Praticas
- Principio do menor privilegio — Atribua apenas o acesso necessario para a funcao
- Use escopos em redes — Restrinja por propriedade para equipes locais
- Revise periodicamente — Colaboradores mudam de funcao; atualize os papeis
- Nunca compartilhe credenciais — Cada pessoa deve ter seu proprio login
- Consulte a auditoria — Verifique acoes sensiveis em Trilha de Auditoria