Papéis e permissões: o que cada um pode fazer
Administrador, gestor, atendente, tosador, banhista, veterinário e recepção. A matriz completa.
O PetShop Flow tem 7 papéis pré-definidos. Cada um tem um conjunto de capabilities (permissões). Quando uma ação roda no servidor, o PetShop Flow confirma o papel — não há como burlar pelo navegador.
A matriz completa
| Capability | Admin | Gestor | Atendente | Tosador | Banhista | Veterinário | Recepção |
|---|---|---|---|---|---|---|---|
manage_pet_shop |
✓ | ||||||
manage_team |
✓ | ✓ | |||||
manage_billing |
✓ | ||||||
manage_customers |
✓ | ✓ | ✓ | ✓ | ✓ | ||
manage_dogs |
✓ | ✓ | ✓ | ||||
manage_appointments |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
manage_services |
✓ | ✓ | |||||
manage_products |
✓ | ✓ | |||||
manage_sales |
✓ | ✓ | ✓ | ✓ | |||
view_reports |
✓ | ✓ | |||||
manage_campaigns |
✓ | ✓ | |||||
manage_branding |
✓ | ✓ | |||||
register_service_record |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
register_vaccine |
✓ | ✓ | ✓ | ✓ | |||
view_dog_history |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
manage_fiscal |
✓ | ✓ | |||||
manage_payments |
✓ | ||||||
manage_messaging |
✓ |
Resumo por papel
Administrador
Acesso total. Único que mexe em cobrança da própria assinatura, integrações de pagamento (Asaas) e WhatsApp (Evolution).
Gestor
Quase tudo, exceto: configurações de pagamento, mensageria e da assinatura SaaS. Boa escolha pra gerente operacional.
Atendente
Atende balcão: tutor, cão, agendamento, venda, ficha de saúde, vacina. Não mexe em serviços/produtos.
Tosador / Banhista
Foco em executar agendamento e marcar como concluído (gera registro de atendimento + comissão se houver). Vê histórico do cão pra entender preferências e alergias.
Veterinário
Atende clientes, registra vacinas e cadastra observações clínicas. Não vê vendas nem agenda completa.
Recepção
Recepciona clientes e cria agendamentos/vendas rápidas no balcão. Não mexe em ficha de saúde nem produtos.
Como o servidor verifica
Toda Server Action começa com:
const ctx = await requirePetShop();
assertCan(ctx, "<capability>");
Se o papel não tem a capability, lança Permissão negada: <capability> e a operação não acontece — independente do que a UI mostre.
Trocar o papel de alguém
- /equipe, achar a pessoa.
- Clicar em Editar e escolher novo papel.
- Salvar.
A mudança vale na próxima requisição.
Perguntas frequentes
Posso criar um papel customizado?
Hoje, não. Os 7 papéis cobrem a maioria dos casos. Se você precisa de uma combinação diferente, fala com o suporte.
Quem pode ver o relatório de comissão?
Quem tem view_reports (admin, gestor). Pra o funcionário ver a própria comissão, isso é exposto na ficha dele, não nos relatórios financeiros.
Posso ter mais de um administrador?
Pode, mas seja criterioso — administrador mexe em pagamento e cobrança.