# Form Requests SIGED - Documentação Completa

Gerado em: 20 de Junho de 2026

## Índice por Módulo

- [Disciplinar](#disciplinar) (4 requisições)
- [Financeiro](#financeiro) (5 requisições)
- [RH](#rh) (4 requisições)
- [Biometria](#biometria) (2 requisições)
- [Uniformes](#uniformes) (2 requisições)
- [Refeitório](#refeitorio) (2 requisições)
- [Eventos](#eventos) (2 requisições)
- [Comunicação](#comunicacao) (2 requisições)
- [Sistema](#sistema) (2 requisições)

**Total: 25 Form Requests**

---

## DISCIPLINAR

### 1. RequisicaoCriarOcorrenciaDisciplinar
**Namespace:** `App\Http\Requests\Disciplinar`  
**Permissão:** `criar-ocorrencia-disciplinar`

#### Validações:
- `militar_id` - obrigatório, inteiro, deve existir em militares
- `tipo_ocorrencia` - obrigatório, deve ser: falta, atraso, comportamento, uniforme, desobediencia, agressao
- `data_ocorrencia` - obrigatório, data válida, não pode ser no futuro
- `descricao` - obrigatório, string, 10-1000 caracteres
- `oficial_responsavel_id` - obrigatório, inteiro, deve existir em militares
- `testemunhas` - opcional, array de IDs válidos de militares
- `local_ocorrencia` - opcional, string, máx 255 caracteres

---

### 2. RequisicaoAtualizarOcorrenciaDisciplinar
**Namespace:** `App\Http\Requests\Disciplinar`  
**Permissão:** `atualizar-ocorrencia-disciplinar`

#### Validações:
- `id` - obrigatório, inteiro, deve existir em ocorrencias_disciplinares
- `militar_id` - opcional (às vezes), inteiro, deve existir em militares
- `tipo_ocorrencia` - opcional (às vezes), validação de tipo
- `data_ocorrencia` - opcional (às vezes), data válida
- `descricao` - opcional (às vezes), 10-1000 caracteres
- `oficial_responsavel_id` - opcional (às vezes), inteiro, deve existir em militares
- `testemunhas` - opcional, array de IDs válidos
- `local_ocorrencia` - opcional, string, máx 255 caracteres
- `status` - opcional (às vezes), deve ser: aberta, investigando, fechada, cancelada

---

### 3. RequisicaoCriarPenalidade
**Namespace:** `App\Http\Requests\Disciplinar`  
**Permissão:** `criar-penalidade`

#### Validações:
- `militar_id` - obrigatório, inteiro, deve existir em militares
- `tipo_penalidade` - obrigatório, deve ser: advertencia, repreensao, suspensao, degradacao, demissao
- `data_inicio` - obrigatório, data válida, não pode ser no futuro
- `data_fim` - opcional, data, deve ser posterior à data_inicio
- `descricao` - obrigatório, string, 20-1500 caracteres
- `ocorrencia_disciplinar_id` - obrigatório, inteiro, deve existir em ocorrencias_disciplinares
- `oficial_aplicante_id` - obrigatório, inteiro, deve existir em militares
- `numero_portaria` - opcional, string, máx 50 caracteres, único

---

### 4. RequisicaoAtualizarPenalidade
**Namespace:** `App\Http\Requests\Disciplinar`  
**Permissão:** `atualizar-penalidade`

#### Validações:
- `id` - obrigatório, inteiro, deve existir em penalidades
- `tipo_penalidade` - opcional (às vezes), validação de tipo
- `data_inicio` - opcional (às vezes), data válida, não pode ser no futuro
- `data_fim` - opcional, data, deve ser posterior à data_inicio
- `descricao` - opcional (às vezes), 20-1500 caracteres
- `status` - opcional (às vezes), deve ser: ativa, suspensa, cumprida, cancelada
- `numero_portaria` - opcional, string, máx 50 caracteres, único por registro
- `data_cancelamento` - opcional, data válida
- `motivo_cancelamento` - opcional, string, máx 500 caracteres

---

## FINANCEIRO

### 1. RequisicaoCriarContaReceber
**Namespace:** `App\Http\Requests\Financeiro`  
**Permissão:** `criar-conta-receber`

#### Validações:
- `militar_id` - obrigatório, inteiro, deve existir em militares
- `tipo_cobranca` - obrigatório, deve ser: aluguel, alimentacao, uniforme, equipamento, emprestimo, outro
- `valor` - obrigatório, numérico, 0.01-999999.99
- `data_vencimento` - obrigatório, data, deve ser no futuro
- `descricao` - obrigatório, string, 5-500 caracteres
- `juros_mensal` - opcional, numérico, 0-100%
- `multa_atraso` - opcional, numérico, 0-100%
- `observacoes` - opcional, string, máx 1000 caracteres

---

### 2. RequisicaoAtualizarContaReceber
**Namespace:** `App\Http\Requests\Financeiro`  
**Permissão:** `atualizar-conta-receber`

#### Validações:
- `id` - obrigatório, inteiro, deve existir em contas_receber
- `militar_id` - opcional (às vezes), inteiro, deve existir em militares
- `tipo_cobranca` - opcional (às vezes), validação de tipo
- `valor` - opcional (às vezes), numérico, 0.01-999999.99
- `data_vencimento` - opcional (às vezes), data válida
- `descricao` - opcional (às vezes), 5-500 caracteres
- `juros_mensal` - opcional, numérico, 0-100%
- `multa_atraso` - opcional, numérico, 0-100%
- `status` - opcional (às vezes), deve ser: aberta, parcial, paga, cancelada, vencida
- `data_pagamento` - opcional, data, não pode ser no futuro
- `valor_pago` - opcional, numérico, 0-999999.99
- `observacoes` - opcional, string, máx 1000 caracteres

---

### 3. RequisicaoCriarBoleto
**Namespace:** `App\Http\Requests\Financeiro`  
**Permissão:** `criar-boleto`

#### Validações:
- `conta_receber_id` - obrigatório, inteiro, deve existir em contas_receber
- `valor` - obrigatório, numérico, 0.01-999999.99
- `data_vencimento` - obrigatório, data, deve ser no futuro
- `banco_id` - obrigatório, inteiro, deve existir em bancos
- `agencia` - obrigatório, string, máx 10 caracteres
- `conta` - obrigatório, string, máx 20 caracteres
- `numero_sequencial` - obrigatório, string, máx 50 caracteres, único
- `juros_diario` - opcional, numérico, 0-100%
- `multa_percentual` - opcional, numérico, 0-100%
- `desconto_ate` - opcional, data, deve ser no futuro
- `valor_desconto` - opcional, numérico, mínimo 0

---

### 4. RequisicaoCriarContaPagar
**Namespace:** `App\Http\Requests\Financeiro`  
**Permissão:** `criar-conta-pagar`

#### Validações:
- `fornecedor_id` - obrigatório, inteiro, deve existir em fornecedores
- `tipo_despesa` - obrigatório, deve ser: manutencao, suprimentos, servicos, aluguel, energia, agua, comunicacao, transporte, outro
- `valor` - obrigatório, numérico, 0.01-999999.99
- `data_vencimento` - obrigatório, data, deve ser no futuro
- `descricao` - obrigatório, string, 5-500 caracteres
- `numero_documento` - obrigatório, string, máx 50 caracteres
- `centro_custo` - opcional, string, máx 100 caracteres
- `numero_nfe` - opcional, string, máx 50 caracteres, único
- `observacoes` - opcional, string, máx 1000 caracteres

---

### 5. RequisicaoAtualizarContaPagar
**Namespace:** `App\Http\Requests\Financeiro`  
**Permissão:** `atualizar-conta-pagar`

#### Validações:
- `id` - obrigatório, inteiro, deve existir em contas_pagar
- `fornecedor_id` - opcional (às vezes), inteiro, deve existir em fornecedores
- `tipo_despesa` - opcional (às vezes), validação de tipo
- `valor` - opcional (às vezes), numérico, 0.01-999999.99
- `data_vencimento` - opcional (às vezes), data válida
- `descricao` - opcional (às vezes), 5-500 caracteres
- `numero_documento` - opcional (às vezes), string, máx 50 caracteres
- `centro_custo` - opcional, string, máx 100 caracteres
- `numero_nfe` - opcional, string, máx 50 caracteres, único por registro
- `status` - opcional (às vezes), deve ser: aberta, parcial, paga, cancelada, vencida
- `data_pagamento` - opcional, data, não pode ser no futuro
- `valor_pago` - opcional, numérico, 0-999999.99
- `observacoes` - opcional, string, máx 1000 caracteres

---

## RH

### 1. RequisicaoCriarFuncionario
**Namespace:** `App\Http\Requests\RH`  
**Permissão:** `criar-funcionario`

#### Validações:
- `nome` - obrigatório, string, 5-255 caracteres
- `email` - obrigatório, email válido, máx 255 caracteres, único em usuarios
- `cpf` - obrigatório, formato XXX.XXX.XXX-XX, único em funcionarios
- `rg` - obrigatório, string, máx 20 caracteres, único
- `data_nascimento` - obrigatório, data válida, deve ser no passado
- `genero` - obrigatório, deve ser: masculino, feminino, outro
- `data_admissao` - obrigatório, data válida, não pode ser no futuro
- `cargo_id` - obrigatório, inteiro, deve existir em cargos
- `departamento_id` - obrigatório, inteiro, deve existir em departamentos
- `salario` - obrigatório, numérico, 0.01-999999.99
- `tipo_contrato` - obrigatório, deve ser: efetivo, temporario, terceirizado
- `telefone` - obrigatório, string, máx 20 caracteres
- `endereco` - obrigatório, string, 10-500 caracteres
- `cidade` - obrigatório, string, máx 100 caracteres
- `estado` - obrigatório, string, exatamente 2 caracteres
- `cep` - obrigatório, formato XXXXX-XXX
- `numero_matricula` - obrigatório, string, máx 50 caracteres, único

---

### 2. RequisicaoAtualizarFuncionario
**Namespace:** `App\Http\Requests\RH`  
**Permissão:** `atualizar-funcionario`

#### Validações:
- `id` - obrigatório, inteiro, deve existir em funcionarios
- `nome` - opcional (às vezes), string, 5-255 caracteres
- `email` - opcional (às vezes), email válido, unique por funcionario
- `cpf` - opcional (às vezes), formato XXX.XXX.XXX-XX, unique por registro
- `rg` - opcional (às vezes), string, máx 20 caracteres, unique por registro
- `data_nascimento` - opcional (às vezes), data válida, deve ser no passado
- `genero` - opcional (às vezes), validação de gênero
- `data_admissao` - opcional (às vezes), data válida, não pode ser no futuro
- `cargo_id` - opcional (às vezes), inteiro, deve existir em cargos
- `departamento_id` - opcional (às vezes), inteiro, deve existir em departamentos
- `salario` - opcional (às vezes), numérico, 0.01-999999.99
- `tipo_contrato` - opcional (às vezes), validação de tipo
- `telefone` - opcional (às vezes), string, máx 20 caracteres
- `endereco` - opcional (às vezes), string, 10-500 caracteres
- `cidade` - opcional (às vezes), string, máx 100 caracteres
- `estado` - opcional (às vezes), string, exatamente 2 caracteres
- `cep` - opcional (às vezes), formato XXXXX-XXX
- `status` - opcional (às vezes), deve ser: ativo, inativo, afastado, ferias
- `data_demissao` - opcional, data válida, não pode ser no futuro

---

### 3. RequisicaoCriarFolhaPonto
**Namespace:** `App\Http\Requests\RH`  
**Permissão:** `criar-folha-ponto`

#### Validações:
- `funcionario_id` - obrigatório, inteiro, deve existir em funcionarios
- `data_ponto` - obrigatório, data válida
- `hora_entrada` - obrigatório, formato HH:MM
- `hora_saida` - obrigatório, formato HH:MM, deve ser posterior à entrada
- `intervalo_minutos` - obrigatório, inteiro, 0-480
- `total_horas` - obrigatório, numérico, 0-24
- `tipo_ponto` - obrigatório, deve ser: normal, feriado, folga, abono, falso, bonus
- `observacoes` - opcional, string, máx 500 caracteres
- `comprovacao` - opcional, deve ser: biometria, manual, justificativa
- `justificativa_id` - opcional, inteiro, deve existir em justificativas

---

### 4. RequisicaoAtualizarFolhaPonto
**Namespace:** `App\Http\Requests\RH`  
**Permissão:** `atualizar-folha-ponto`

#### Validações:
- `id` - obrigatório, inteiro, deve existir em folhas_ponto
- `data_ponto` - opcional (às vezes), data válida
- `hora_entrada` - opcional (às vezes), formato HH:MM
- `hora_saida` - opcional (às vezes), formato HH:MM, posterior à entrada
- `intervalo_minutos` - opcional (às vezes), inteiro, 0-480
- `total_horas` - opcional (às vezes), numérico, 0-24
- `tipo_ponto` - opcional (às vezes), validação de tipo
- `observacoes` - opcional, string, máx 500 caracteres
- `comprovacao` - opcional, validação de comprovação
- `justificativa_id` - opcional, inteiro, deve existir em justificativas
- `aprovado` - opcional (às vezes), booleano
- `aprovado_por_id` - opcional, inteiro, deve existir em usuarios

---

## BIOMETRIA

### 1. RequisicaoCriarReconhecimentoFacial
**Namespace:** `App\Http\Requests\Biometria`  
**Permissão:** `criar-reconhecimento-facial`

#### Validações:
- `militar_id` - obrigatório, inteiro, deve existir em militares
- `imagem` - obrigatório, imagem, formatos: jpeg, png, jpg, máx 5MB
- `tipo_registro` - obrigatório, deve ser: entrada, saida, verificacao, atualizar
- `data_registro` - obrigatório, formato: YYYY-MM-DD HH:MM:SS
- `local` - obrigatório, string, máx 100 caracteres
- `qualidade_imagem` - obrigatório, numérico, 0-100%
- `observacoes` - opcional, string, máx 500 caracteres

---

### 2. RequisicaoCriarAtraso
**Namespace:** `App\Http\Requests\Biometria`  
**Permissão:** `criar-atraso`

#### Validações:
- `militar_id` - obrigatório, inteiro, deve existir em militares
- `data_atraso` - obrigatório, data válida, não pode ser no futuro
- `hora_chegada` - obrigatório, formato HH:MM
- `hora_esperada` - obrigatório, formato HH:MM, deve ser anterior à chegada
- `minutos_atraso` - obrigatório, inteiro, 1-1440
- `motivo` - obrigatório, deve ser: transporte, doenca, pessoal, justificativa, desconhecido
- `justificativa` - opcional, string, 10-500 caracteres
- `documento_justificativa` - opcional, arquivo, formatos: pdf, doc, docx, jpg, jpeg, png, máx 5MB
- `observacoes` - opcional, string, máx 500 caracteres

---

## UNIFORMES

### 1. RequisicaoCriarPedidoUniforme
**Namespace:** `App\Http\Requests\Uniformes`  
**Permissão:** `criar-pedido-uniforme`

#### Validações:
- `militar_id` - obrigatório, inteiro, deve existir em militares
- `tipo_uniforme` - obrigatório, deve ser: fardamento, calçado, meia, cinto, quepe, jaqueta, calca, blusa
- `tamanho` - obrigatório, deve ser: PP, P, M, G, GG, XG, XGG
- `quantidade` - obrigatório, inteiro, 1-100
- `cor` - opcional, string, máx 50 caracteres
- `motivo_pedido` - obrigatório, deve ser: desgaste, danificado, novo_uniforme, reposicao, especial
- `data_necessario` - obrigatório, data, deve ser no futuro
- `prioridade` - obrigatório, deve ser: baixa, media, alta, urgente
- `observacoes` - opcional, string, máx 500 caracteres

---

### 2. RequisicaoAtualizarPedidoUniforme
**Namespace:** `App\Http\Requests\Uniformes`  
**Permissão:** `atualizar-pedido-uniforme`

#### Validações:
- `id` - obrigatório, inteiro, deve existir em pedidos_uniformes
- `tipo_uniforme` - opcional (às vezes), validação de tipo
- `tamanho` - opcional (às vezes), validação de tamanho
- `quantidade` - opcional (às vezes), inteiro, 1-100
- `cor` - opcional, string, máx 50 caracteres
- `motivo_pedido` - opcional (às vezes), validação de motivo
- `data_necessario` - opcional (às vezes), data válida
- `prioridade` - opcional (às vezes), validação de prioridade
- `status` - opcional (às vezes), deve ser: pendente, aprovado, cancelado, entregue, em_producao
- `data_entrega` - opcional, data, não pode ser no futuro
- `observacoes` - opcional, string, máx 500 caracteres

---

## REFEITORIO

### 1. RequisicaoCriarCardapio
**Namespace:** `App\Http\Requests\Refeitorio`  
**Permissão:** `criar-cardapio`

#### Validações:
- `data` - obrigatório, data, deve ser no futuro
- `dia_semana` - obrigatório, deve ser: segunda, terca, quarta, quinta, sexta, sabado, domingo
- `items` - obrigatório, array, 1-10 itens
  - `items.*.nome` - obrigatório, string, máx 255 caracteres
  - `items.*.tipo` - obrigatório, deve ser: proteina, acompanhamento, salada, sobremesa, bebida, outro
  - `items.*.descricao` - opcional, string, máx 500 caracteres
  - `items.*.contem_alergeno` - obrigatório, booleano
  - `items.*.alergenos` - opcional, array de: gluten, leite, ovo, amendoim, castanha, soja, peixe, marisco, sesamo
- `itens_especiais` - opcional, string, máx 500 caracteres
- `observacoes` - opcional, string, máx 500 caracteres

---

### 2. RequisicaoCriarAlergiasRestricoes
**Namespace:** `App\Http\Requests\Refeitorio`  
**Permissão:** `criar-alergias-restricoes`

#### Validações:
- `militar_id` - obrigatório, inteiro, deve existir em militares
- `tipo` - obrigatório, deve ser: alergia, intolerancia, restricao_religiosa, preferencia, outro
- `alergenos` - opcional, array de: gluten, leite, ovo, amendoim, castanha, soja, peixe, marisco, sesamo, latex
- `restricoes` - opcional, array de: vegetariano, vegano, hindu, musulmano, kosher, outro
- `descricao` - obrigatório, string, 10-500 caracteres
- `gravidade` - opcional (às vezes), deve ser: leve, moderado, grave, anafilatico
- `medicacao_necessaria` - opcional, booleano
- `tipo_medicacao` - opcional, string, máx 255 caracteres
- `observacoes` - opcional, string, máx 500 caracteres
- `documentacao` - opcional, arquivo, formatos: pdf, doc, docx, jpg, jpeg, png, máx 5MB

---

## EVENTOS

### 1. RequisicaoCriarEvento
**Namespace:** `App\Http\Requests\Eventos`  
**Permissão:** `criar-evento`

#### Validações:
- `nome` - obrigatório, string, 5-255 caracteres
- `descricao` - obrigatório, string, 10-2000 caracteres
- `tipo_evento` - obrigatório, deve ser: treinamento, comemoracao, reuniao, palestra, atividade, festa, outro
- `data_inicio` - obrigatório, data, deve ser no futuro
- `data_fim` - obrigatório, data, posterior à data_inicio
- `hora_inicio` - obrigatório, formato HH:MM
- `hora_fim` - obrigatório, formato HH:MM, posterior à hora_inicio
- `local` - obrigatório, string, 5-255 caracteres
- `endereco_completo` - obrigatório, string, 10-500 caracteres
- `capacidade_maxima` - obrigatório, inteiro, 1-10000
- `responsavel_id` - obrigatório, inteiro, deve existir em militares
- `status` - opcional, deve ser: planejamento, confirmado, cancelado, realizado
- `requer_inscricao` - obrigatório, booleano
- `limite_inscricoes` - opcional, inteiro, mínimo 1
- `contato_responsavel` - obrigatório, string, máx 20 caracteres
- `observacoes` - opcional, string, máx 1000 caracteres

---

### 2. RequisicaoAtualizarEvento
**Namespace:** `App\Http\Requests\Eventos`  
**Permissão:** `atualizar-evento`

#### Validações:
- `id` - obrigatório, inteiro, deve existir em eventos
- `nome` - opcional (às vezes), string, 5-255 caracteres
- `descricao` - opcional (às vezes), string, 10-2000 caracteres
- `tipo_evento` - opcional (às vezes), validação de tipo
- `data_inicio` - opcional (às vezes), data válida
- `data_fim` - opcional (às vezes), data, posterior à data_inicio
- `hora_inicio` - opcional (às vezes), formato HH:MM
- `hora_fim` - opcional (às vezes), formato HH:MM, posterior à hora_inicio
- `local` - opcional (às vezes), string, 5-255 caracteres
- `endereco_completo` - opcional (às vezes), string, 10-500 caracteres
- `capacidade_maxima` - opcional (às vezes), inteiro, 1-10000
- `responsavel_id` - opcional (às vezes), inteiro, deve existir em militares
- `status` - opcional (às vezes), validação de status
- `requer_inscricao` - opcional (às vezes), booleano
- `limite_inscricoes` - opcional, inteiro, mínimo 1
- `contato_responsavel` - opcional (às vezes), string, máx 20 caracteres
- `observacoes` - opcional, string, máx 1000 caracteres

---

## COMUNICACAO

### 1. RequisicaoCriarChat
**Namespace:** `App\Http\Requests\Comunicacao`  
**Permissão:** `criar-chat` ou usuário autenticado

#### Validações:
- `participantes` - obrigatório, array, mínimo 1
  - `participantes.*` - inteiro, deve existir em usuarios, distinto
- `titulo` - obrigatório, string, 3-255 caracteres
- `tipo_chat` - obrigatório, deve ser: privado, grupo, oficial, anuncio
- `descricao` - opcional, string, máx 500 caracteres
- `mensagem_inicial` - opcional, string, 1-2000 caracteres
- `imagem_grupo` - opcional, imagem, formatos: jpeg, png, jpg, máx 2MB

---

### 2. RequisicaoCriarAviso
**Namespace:** `App\Http\Requests\Comunicacao`  
**Permissão:** `criar-aviso`

#### Validações:
- `titulo` - obrigatório, string, 5-255 caracteres
- `conteudo` - obrigatório, string, 20-5000 caracteres
- `tipo_aviso` - obrigatório, deve ser: informativo, alerta, obrigatorio, denuncia, advertencia, outro
- `prioridade` - obrigatório, deve ser: baixa, media, alta, urgente
- `departamento_alvo` - opcional, array de IDs válidos de departamentos
- `cargo_alvo` - opcional, array de IDs válidos de cargos
- `data_publicacao` - obrigatório, data, não pode ser no futuro
- `data_expiracao` - opcional, data, posterior à data_publicacao
- `requer_confirmacao` - obrigatório, booleano
- `imagem` - opcional, imagem, formatos: jpeg, png, jpg, máx 5MB
- `anexos` - opcional, array, máximo 5 arquivos
  - `anexos.*` - arquivo, formatos: pdf, doc, docx, xls, xlsx, máx 5MB cada
- `observacoes` - opcional, string, máx 500 caracteres

---

## SISTEMA

### 1. RequisicaoCriarUsuario
**Namespace:** `App\Http\Requests\Sistema`  
**Permissão:** `criar-usuario`

#### Validações:
- `nome` - obrigatório, string, 5-255 caracteres
- `email` - obrigatório, email válido, máx 255 caracteres, único
- `password` - obrigatório, 8+ caracteres, com maiúscula, minúscula, número e caractere especial (@$!%*?&)
- `password_confirmation` - obrigatório, deve corresponder à password
- `role_id` - obrigatório, inteiro, deve existir em roles
- `militar_id` - opcional, inteiro, deve existir em militares, único
- `status` - opcional, deve ser: ativo, inativo, bloqueado, suspenso
- `autenticacao_dupla` - obrigatório, booleano
- `aceita_termos` - obrigatório, aceito
- `observacoes` - opcional, string, máx 500 caracteres

---

### 2. RequisicaoAtualizarUsuario
**Namespace:** `App\Http\Requests\Sistema`  
**Permissão:** `atualizar-usuario` ou é o próprio usuário

#### Validações:
- `id` - obrigatório, inteiro, deve existir em usuarios
- `nome` - opcional (às vezes), string, 5-255 caracteres
- `email` - opcional (às vezes), email válido, unique por usuario
- `password` - opcional, 8+ caracteres com requisitos de complexidade
- `password_confirmation` - corresponder à password se fornecida
- `role_id` - opcional (às vezes), inteiro, deve existir em roles
- `militar_id` - opcional, inteiro, deve existir em militares, unique por usuario
- `status` - opcional (às vezes), validação de status
- `autenticacao_dupla` - opcional (às vezes), booleano
- `ultimo_acesso` - opcional, data válida
- `observacoes` - opcional, string, máx 500 caracteres

---

## Resumo de Recursos

### Total de Requisições: 25

| Módulo | Quantidade | Permissão Base |
|--------|-----------|----------------|
| Disciplinar | 4 | `*-ocorrencia-disciplinar`, `*-penalidade` |
| Financeiro | 5 | `*-conta-receber`, `*-boleto`, `*-conta-pagar` |
| RH | 4 | `*-funcionario`, `*-folha-ponto` |
| Biometria | 2 | `*-reconhecimento-facial`, `*-atraso` |
| Uniformes | 2 | `*-pedido-uniforme` |
| Refeitório | 2 | `*-cardapio`, `*-alergias-restricoes` |
| Eventos | 2 | `*-evento` |
| Comunicação | 2 | `*-chat`, `*-aviso` |
| Sistema | 2 | `*-usuario` |

### Padrões Implementados

✅ Nomenclatura: `RequisicaoAcaoModulo`  
✅ Namespaces: `App\Http\Requests\NomeModulo`  
✅ Validações robustas com `rules()`  
✅ Mensagens em português em `messages()`  
✅ Autorização em `authorize()`  
✅ Validações de unicidade (`unique`)  
✅ Validações de existência (`exists`)  
✅ Validações de data e hora  
✅ Validações de upload de arquivos  
✅ Validações de arrays complexos  
✅ Validações de email com regex para senha  
✅ Validações de formato (CPF, CEP, etc)

---

**Data de Geração:** 20 de Junho de 2026  
**Status:** ✅ Todos os 25 Form Requests criados com sucesso
