# Manual do AppEmpresa

# Manual do AppEmpresa — MOC Fidelidade

App mobile da **empresa-operadora** do MOC Fidelidade. Use no balcão, na recepção, no caixa — onde for atender o cliente.

> **Pra quem é este app:** **administradores** e **operadores** das empresas que contratam o MOC Fidelidade. Tudo que o painel web (Admin) faz, esse app faz também.

---

## 1. Instalação

### Android

1. Abra a **Play Store**.
2. Procure por **"MOC Fidelidade - Empresa"**.
3. Toque em **Instalar**.

### iPhone

1. Abra a **App Store**.
2. Procure por **"MOC Fidelidade - Empresa"**.
3. Toque em **Obter**.

> Existem **dois apps diferentes** no MOC: o **cliente** (pra quem acumula pontos) e o **empresa** (pra quem opera). Instale o certo!

---

## 2. Acessar a sua conta

### Primeiro acesso (já criou empresa pelo site)

1. Abra o app.
2. Toque em **"Entrar"**.
3. Use o **mesmo e-mail e senha** que você cadastrou no site **mocfidelidade.com.br** ao contratar.
4. Pronto — entra direto no painel da sua empresa.

### Esqueceu a senha?

1. Toque em **"Esqueci minha senha"**.
2. Digite seu e-mail → receba código de 4 dígitos no e-mail.
3. Valide o código.
4. Crie uma senha nova (mínimo 6 caracteres).

### Ainda não tem empresa cadastrada?

Toque em **"Quero cadastrar uma empresa nova"** na tela de login — abre o site no navegador, onde o fluxo completo de cadastro (plano + dados) é feito.

> **Operador convidado** (sem ser dono da empresa): você ganhou acesso por um convite. Faça o **"Esqueci minha senha"** com seu e-mail pra ativar a conta.

---

## 3. Escolher a empresa ativa

Se você administra **mais de uma empresa**, após login aparece a tela **"Selecionar empresa"**:

- Toque na empresa pra ativar.
- Mostra seu papel: **Administrador** (gerencia tudo) ou **Operador** (opera o dia-a-dia).
- Se só houver uma, o app pula direto pro dashboard.

Pode trocar a empresa ativa depois: **menu lateral → "Trocar empresa"**.

---

## 4. Concluir cadastro (banner no dashboard)

Se sua empresa foi recém-criada e ainda **não definiu CNPJ + razão social + nome fantasia + modelo de fidelidade**, aparece um **banner laranja** no dashboard pedindo pra concluir.

1. Toque em **"Concluir"** no banner.
2. Preencha:
   - CNPJ (opcional)
   - Razão social
   - Nome fantasia
   - **Modelo de fidelidade**: Marcações ou Pontos
   - Meta de marcações (se mrc) **ou** Pontos por R$ (se ptc)
3. Toque em **"Concluir cadastro"**.

Após concluir, todas as telas refletem o modelo escolhido.

---

## 5. Dashboard (tela inicial)

Mostra:

- **Hero laranja:** modelo de fidelidade + total de clientes ativos.
- **KPIs do dia:** códigos gerados/usados, marcações ou pontos creditados, recompensas pendentes.
- **Ações rápidas:** atalhos pra gerar código, ler QR de cliente, ver clientes, recompensas etc.

**Alertas que podem aparecer no topo:**

- **Tarja vermelha — Cobrança em atraso:** fatura atrasada bloqueia operações novas (gerar código, criar produto). Toque em **"Ver"** pra pagar.
- **Banner laranja — Concluir cadastro:** onboarding incompleto.

---

## 6. Gerar código pra cliente

Operação principal do dia-a-dia. Cliente está no caixa, fez uma compra, hora de creditar marcação/pontuação.

1. Menu lateral → **"Códigos"** (ou ação rápida no dashboard).
2. Toque em **"Gerar código"** (botão flutuante).
3. Defina:
   - **Quantidade** — quantas marcações OU quantos pontos creditar.
   - **Expira em (minutos)** — padrão 60. Use menor pra códigos "de balcão", maior pra códigos por WhatsApp.
4. Toque em **"Gerar código"**.

O app mostra um **QR Code grande** + **código de 5 dígitos** (toque pra copiar). O cliente:

- **Escaneia o QR** pela câmera do celular (abre o AppCliente direto).
- **OU digita** os 5 dígitos no AppCliente dele.

### Visual da tela
- **Aguardando:** QR colorido + código grande.
- **Usado (verde):** overlay verde com check + nome/avatar/horário de quem usou + quantidade creditada. **Atualiza em ~2 segundos** após o cliente usar — sem precisar atualizar manualmente.
- **Expirado:** overlay cinza com "EXPIRADO".

### Histórico de códigos
Toque no **ícone de histórico** (relógio) no topo. Lista os 200 mais recentes. Filtre por **Ativos / Usados / Expirados / Cancelados**.

### Cancelar um código ativo
No histórico, cada código com status **Ativo** mostra um ícone vermelho de
bloqueio no canto direito. Toque, confirme no diálogo, e o código fica
**Cancelado** — não pode mais ser usado. Útil quando você gerou errado
ou descobriu que ele vazou pra alguém que não devia receber. Códigos já
**Usados** ou **Expirados** não precisam ser cancelados.

---

## 7. Ler QR Code do cliente

Cliente está apresentando uma recompensa? Quer identificar o cliente rapidamente?

1. Menu lateral → **"Ler QR do cliente"** (ou ação rápida).
2. Aponte a câmera pro QR que o cliente está mostrando.
3. App identifica o cliente e abre a tela **detalhe do cliente** automaticamente.

> Funciona com flash (toque no raio no topo) e câmera frontal (toque no switch).

---

## 8. Clientes

Menu lateral → **"Clientes"**.

- **Lista** todos os clientes vinculados à empresa ativa, ordenados por nome.
- **Busca** por nome, e-mail ou telefone (debounced — digita e busca sozinho em meio segundo).
- **Cada item** mostra saldo (marcações OU pontos, conforme modelo).

### Cadastrar cliente manual

Toque em **"Novo cliente"**:

- Nome (obrigatório)
- E-mail (obrigatório)
- Telefone (opcional)

> **Idempotente no e-mail:** se já existe usuário com esse e-mail no MOC, vincula direto. Senão, cria conta nova com senha aleatória — cliente ativa via "esqueci minha senha".

### Detalhe do cliente

Toque em um cliente. Mostra:

- Foto/nome/e-mail.
- **Card hero** do saldo (marcações ou pontos).
- **Histórico** unificado: créditos, débitos, ajustes — cada item mostra origem (`código`, `resgate`, `ajuste manual`) + observação se houver.

### Ajustar saldo manualmente

Toque em **"Ajustar saldo"** (botão flutuante) no detalhe do cliente.

- Escolha **Creditar** ou **Debitar** (botão segmentado).
- Digite **quantidade** (sempre positiva — o botão escolhe o sinal).
- **Observação** (opcional, máx 255 caracteres) — fica visível no histórico do cliente.

Use para:
- Estornar marcação errada.
- Premiar cliente por motivo especial.
- Corrigir saldo após problema.

---

## 9. Recompensas

Menu lateral → **"Recompensas"**.

Lista os resgates da empresa. Filtre por status:

- **Solicitadas** — cliente pediu o resgate, aguardando você aprovar.
- **Aprovadas** — você aprovou, aguardando entrega.
- **Entregues** — finalizadas.
- **Canceladas** — descartadas.

### Ações inline (botões no card)

- **Solicitada:** **Aprovar** (vira aprovada) ou **Cancelar** (devolve pontos no modelo ptc).
- **Aprovada:** **Marcar como entregue** (finaliza) ou **Cancelar**.

> Ação é **imediata** no card — sem confirmação extra. Em caso de erro, o card volta ao status anterior e mostra uma mensagem.

---

## 10. Produtos (catálogo)

Menu lateral → **"Produtos"**.

- Lista produtos da empresa com preview da foto, preço (em BRL), pontos pra resgate (modelo ptc).
- **Inativos** aparecem riscados.

### Criar/editar produto

Toque em **"Novo produto"** (FAB) ou em um produto existente.

- **Foto** — tira foto ou escolhe da galeria. Upload em background com indicador.
- **Nome** (obrigatório, máx 180 caracteres).
- **Descrição** (opcional).
- **Preço** em R$ (opcional).
- **Pontos para resgate** (só aparece em modelo ptc).
- **Categoria** (opcional, dropdown — aparecem só categorias ativas).
- **Ativo** — toggle (inativo some das listas pro cliente).

> **Remover foto?** Toque em **"Remover imagem"** abaixo da preview.

### Excluir produto

Menu de 3 pontos (⋮) no item → **Excluir**. Confirmação modal. Resgates anteriores ficam intactos.

---

## 11. Categorias

Menu lateral → **"Categorias"** (ou ícone de categoria no topo da tela de Produtos).

- Lista das categorias da empresa.
- CRUD simples: criar, renomear, ativar/desativar, excluir.

> **Categoria com produto não pode ser excluída.** O backend devolve erro 409 e o app mostra mensagem.

---

## 12. Plano (só Admin)

Menu lateral → **"Plano"**.

Mostra:
- Plano atual + valor mensal.
- Janela de **trial** (se aplicável).
- **Próxima fatura** (data prevista).
- Limite de clientes ativos.

Pra **trocar de plano**, use o site **mocfidelidade.com.br** ou o painel Admin (web).

---

## 13. Faturas (só Admin)

Menu lateral → **"Faturas"**.

Lista todas as faturas da empresa. Filtre por status:

- **Abertas** — aguardando pagamento dentro do prazo.
- **Atrasadas** — vencidas (bloqueia operações novas).
- **Pagas** — quitadas.

### Detalhe da fatura

Toque em uma fatura.

- **Hero colorido** por status com valor e vencimento.
- **Métodos de pagamento** (PIX, Boleto, Cartão) — toque pra iniciar checkout.

#### PIX
- Mostra **QR Code** + **código copia-e-cola**.
- Toque em **"Copiar código PIX"** pra copiar pro clipboard.

#### Boleto
- **Linha digitável** (botão de copiar).
- **Abrir boleto** — abre PDF no navegador.

#### Cartão
- Abre Checkout Pro do **Mercado Pago** no navegador.

> **Idempotente:** se você já gerou o PIX/boleto, tocar de novo no método **não cria outro** — devolve o mesmo enquanto não expirar.

---

## 14. Operadores (só Admin)

Menu lateral → **"Operadores"**.

Lista todos os operadores vinculados à empresa, com badge **Admin** ou **Operador**.

### Convidar novo operador

Toque em **"Convidar"** (FAB).

- E-mail (obrigatório).
- Nome (opcional — usado se for cadastro novo).
- **Tipo:**
  - **Operador** — opera dia-a-dia (códigos, clientes, recompensas).
  - **Admin** — pode gerenciar plano, faturas, operadores e cadastros.

> **Se o e-mail já tiver conta MOC**, vincula direto. Senão, cria com senha aleatória — o operador ativa via **"esqueci minha senha"**.

### Cota do plano

O número de operadores que o plano permite é **adicional ao proprietário** — você (dono da conta) não consome a cota. Plano Start (1) = você + 1 funcionário. Profissional (3) = você + 3. E por aí vai. Pra saber quantos operadores adicionais seu plano permite, abra **Plano** no menu lateral.

### Remover operador

Lixeira ao lado do operador → confirmação modal → remoção imediata.

> **Operadores comuns** veem a lista mas não podem convidar/remover (botões somem).

---

## 15. Suporte (tickets MOC)

Menu lateral → **"Suporte"**.

- Lista tickets que você abriu pro time MOC, filtrados por status.
- **Abrir ticket:** botão flutuante. Assunto + mensagem.

### Detalhe do ticket
- Thread de mensagens com avatar e timestamp.
- **Composer** no rodapé pra responder enquanto o ticket está **aberto** ou **em atendimento**.
- **Fechar ticket:** ícone X no topo (não pode reabrir, mas pode criar outro depois).

---

## 16. Meus dados, Senha, Sobre

### Meus dados
Menu lateral → **"Meus dados"**. Edita nome e telefone. E-mail é fixo.

### Alterar senha
Menu lateral → **"Alterar senha"**. Pede senha atual + nova + confirmação (mínimo 6 caracteres).

### Sobre
- Versão do app.
- Links pra Site, Política, Termos.

---

## 17. Sair

Menu lateral → **"Sair"** (em vermelho, no rodapé). Limpa a sessão local. Próximo acesso pede login.

---

## 18. Notificações push

Quando um cliente solicita resgate, faz alguma operação relevante, ou uma fatura está perto de vencer, você recebe **notificação push**.

- Permita no primeiro login.
- Pra reativar depois: **Config do celular → Apps → MOC Fidelidade - Empresa → Notificações**.

---

## 19. Bloqueio por inadimplência

Se sua empresa tem **fatura atrasada**, operações de mutação ficam bloqueadas (gerar código, criar produto, ajustar saldo). Aparece a tarja vermelha no dashboard.

**Liberadas mesmo inadimplente:**
- Login / leitura.
- Ver clientes, faturas, plano.
- **Pagar a fatura** (PIX/Boleto/Cartão).

Após pagamento confirmado (webhook do PSP), a tarja some sozinha — pode demorar alguns minutos.

---

## 20. FAQ — Erros comuns

**"Código não encontrado" ao cliente tentar usar:**
- Cliente errou o código.
- Código expirou (verifique TTL ao gerar).
- Código já foi usado por outra pessoa (cada código é one-shot).

**"Saldo insuficiente" ao debitar:**
- Cliente não tem saldo pra completar o débito.
- Verifique histórico no detalhe do cliente.

**"Falha no checkout" da fatura:**
- Mercado Pago instável — espere 1 minuto e tente de novo.
- Verifique se o boleto não está vencido (depois de 30 dias o link some).

**"Categoria com produto vinculado":**
- Você tentou excluir uma categoria que tem produtos. Mude esses produtos pra outra categoria primeiro.

**App pede pra atualizar e não deixa entrar:**
- Atualização **obrigatória** por mudança crítica. Atualize na loja.

---

## 21. Limites do plano

Cada plano tem **limite de clientes ativos no mês**. "Cliente ativo" = cliente que recebeu ao menos uma marcação/pontuação no mês corrente.

Atingiu o limite? Operações de gerar código pra clientes **novos no mês** bloqueiam até o próximo ciclo. Considere **upgrade de plano**.

---

## 22. Suporte

- **Dentro do app:** menu **"Suporte"**.
- **E-mail:** **contato@mocfidelidade.com.br**
- **Site:** **https://mocfidelidade.com.br**

> Todos os horários no app aparecem em **horário de São Paulo (UTC-3)**.