> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domsoftware.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Login e Empresas (Histórias)

> Login e Cadastro de Empresas

# Histórias de Usuário: OmniDom Login e Gestão de Empresas

### 📌 Épico Identificado

* **Nome do épico:** Gestão de Acessos e Unidades de Negócio (OmniDom BackOffice)
* **Objetivo de negócio:** Modernizar a camada de autenticação inicial e prover um módulo completo para cadastro, configuração e gestão descentralizada das empresas que operam na malha do OmniChannel.
* **Módulo/sistema identificado:** Painel OmniDom / Módulo BackOffice

***

### 📖 Histórias de Usuário

**HU1: Autenticação Segura no Painel BackOffice**

* **Como** Administrador do Sistema
* **Quero** realizar autenticação informando meu e-mail e senha
* **Para que** eu possa acessar o dashboard operacional de forma segura
* **Prioridade sugerida:** Alta
* **Estimativa de complexidade:** P

**✅ Critérios de Aceitação**

* **CA1:** Dado que informo um e-mail válido (ex: `teste@empresa.com.br`) e uma senha incorreta ou abaixo do limite / Quando tento logar / Então o sistema bloqueia o acesso e exibe a mensagem de validação (Visível nas telas)
* **CA2:** Dado que insiro credenciais válidas / Quando clico em "Entrar na Plataforma" / Então o sistema me redireciona para a Visão Geral Operacional (Visível nas telas)

**📋 Regras de Negócio Relacionadas**

* **RN1:** Validação Estrita de Senha
  * **Condição:** Na submissão do formulário de login.
  * **Comportamento:** A senha deve conter obrigatoriamente no mínimo 8 caracteres, caso contrário a validação vermelha é ativada.

**⚠️ Restrições e Dependências**

* Credenciais previamente cadastradas e ativas no banco de usuários.

***

**HU2: Listagem e Alteração de Status das Empresas**

* **Como** Gestor de Operações / Administrador
* **Quero** visualizar os cards das unidades de negócio cadastradas e ativar/desativar seus status
* **Para que** eu controle em tempo real quais filiais ou marcas estão liberadas para transacionar no sistema
* **Prioridade sugerida:** Alta
* **Estimativa de complexidade:** M

**✅ Critérios de Aceitação**

* **CA3:** Dado que acesso o módulo "Gestão de Empresas" / Quando visualizo a tela principal / Então devo ver a lista de empresas com resumo de informações (Visível nas telas)
* **CA4:** Dado que clico no toggle superior direito de um card / Quando confirmo a ação / Então o status da empresa muda para Inativo ou Ativo imediatamente (Visível nas telas)

**📋 Regras de Negócio Relacionadas**

* **RN2:** Restrição Operacional por Inativação
  * **Condição:** Empresa desativada.
  * **Comportamento:** Suspensão imediata da unidade na malha (A validar/Inferido).

**⚠️ Restrições e Dependências**

* Depende de interface de backend rápida para retorno do carregamento dos *cards*.

***

**HU3: Cadastro Completo de Unidade (Wizard em 5 Etapas)**

* **Como** Administrador Técnico do Sistema
* **Quero** adicionar uma nova empresa preenchendo o formulário em etapas (Dados Básicos, Endereço, Configurações, Certificado e Revisão)
* **Para que** uma nova unidade possua todos os vínculos tributários e de contato integrados sistemicamente
* **Prioridade sugerida:** Alta
* **Estimativa de complexidade:** G

**✅ Critérios de Aceitação**

* **CA5:** Dado que digito o CNPJ no cadastro básico / Quando formato o campo / Então o sistema valida se o CNPJ é verdadeiro (Visível nas telas)
* **CA6:** Dado que insiro um CEP válido / Quando tiro o foco do campo / Então o sistema preenche Endereço e Bairro automaticamente (Visível/Inferido)
* **CA7:** Dado que passo pela etapa do Certificado A1 / Quando não disponho do arquivo / Então o sistema permite avançar (Ignorar) sem bloqueio (Visível nas telas)

**📋 Regras de Negócio Relacionadas**

* **RN3:** Preenchimento Mínimo da Razão/Nome
  * **Condição:** Passo de "Dados Básicos".
  * **Comportamento:** O nome da empresa precisa ter no mínimo 3 caracteres para o botão de avançar ser liberado.
* **RN4:** Preenchimento de Regime Tributário e ICMS
  * **Condição:** Passo de "Configurações".
  * **Comportamento:** Obrigatório definir o Regime (Ex: Simples Nacional) e Método de Custo.

**⚠️ Restrições e Dependências**

* Endpoint `/api/empresas` robusto (observado falha ocasional "Bad Request" no vídeo ao salvar, exigir tratamento de erro).

***

**HU4: Relacionamento de Logística e Fiscal (Abas de Gestão)**

* **Como** Gerente de BackOffice
* **Quero** navegar nas abas (Dados Fiscais, Contatos, Logística) dentro da gestão
* **Para que** eu possa estabelecer vínculos de malha logística e checar obrigações fiscais já configuradas
* **Prioridade sugerida:** Média
* **Estimativa de complexidade:** M

**✅ Critérios de Aceitação**

* **CA8:** Dado que acesso a aba Logística / Quando clico em Vínculos / Então o sistema exibe outras unidades interligadas à mesma malha de estoque (Visível nas telas)

**📋 Regras de Negócio Relacionadas**

* **RN5:** Vínculo Estrutural de Estoque
  * **Condição:** Tela de logística.
  * **Comportamento:** Exige a correlação explícita de qual unidade absorve qual estoque (Visível nas telas).

**⚠️ Restrições e Dependências**

* Depende de HU3 (empresas precisam já estar configuradas).

***

### 🗂️ Backlog Sugerido

| ID  | História                                              | Prioridade | Tamanho |
| --- | ----------------------------------------------------- | ---------- | ------- |
| HU1 | Autenticação Segura no Painel BackOffice              | Alta       | P       |
| HU3 | Cadastro Completo de Unidade (Wizard em 5 Etapas)     | Alta       | G       |
| HU2 | Listagem e Alteração de Status das Empresas           | Alta       | M       |
| HU4 | Relacionamento de Logística e Fiscal (Abas de Gestão) | Média      | M       |

***

### 📝 Definition of Ready

* ✅ Critérios de aceitação definidos
* ✅ Regras de negócio mapeadas
* ✅ Dependências identificadas
* ✅ Protótipo/tela de referência disponível (Baseado na captura da OmniDom)
* ⬜ Especificação Swagger/Endpoint revisada (Backend para HU3 e Tratamento de Erros)
* ⬜ UX/UI aprovada pelo cliente final
