# Modelos Eloquent Gerados - SIGED

**Data de Geração:** 20/06/2026
**Total de Modelos:** 59 modelos

---

## 📚 Índice por Módulo

### 1. [Academia (6 modelos)](#academia)
### 2. [Disciplinar (5 modelos)](#disciplinar)
### 3. [Financeiro (10 modelos)](#financeiro)
### 4. [RH (8 modelos)](#rh)
### 5. [Biometria (4 modelos)](#biometria)
### 6. [Uniformes (3 modelos)](#uniformes)
### 7. [Refeitório (4 modelos)](#refeitório)
### 8. [Eventos (3 modelos)](#eventos)
### 9. [Cerimonial (4 modelos)](#cerimonial)
### 10. [Esportes (4 modelos)](#esportes)
### 11. [Comunicação (4 modelos)](#comunicação)
### 12. [Análise (3 modelos)](#análise)
### 13. [Portal (4 modelos)](#portal)
### 14. [Sistema (6 modelos)](#sistema)
### 15. [Auxiliares (3 modelos)](#auxiliares)

---

## <a name="academia"></a>1. Academia (6 modelos)

### Aluno
**Arquivo:** `app/Modelos/Aluno.php`
**Tabela:** `alunos`

**Propriedades:**
- id, tenant_id, matricula, nome, email, cpf, rg, data_nascimento, genero, telefone, turma_id, status, endereco, cidade, estado, cep, data_matricula, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Turma
- hasMany: Responsavel, OcorrenciaDisciplinar, Suspensao, Nota, FolhaPonto, RegistroPonto, FotoAluno, HistoricoAcesso, Atraso, PedidoUniforme, PresencaEvento, MensagemChat, AlergiasRestricoes, AnaliseDesempenho, AnaliseIA
- hasOne: PortalAluno

**Scopes:**
- scopePorTurma, scopeAtivo, scopePorMatricula, scopePorNome, scopePorCpf

**Accessors:**
- idade, nomeCompleto

---

### Turma
**Arquivo:** `app/Modelos/Turma.php`
**Tabela:** `turmas`

**Propriedades:**
- id, tenant_id, nome, periodo_id, serie, responsavel_turma_id, quantidade_alunos, sala, turno, status, data_inicio, data_fim, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Periodo, Professor (responsavel_turma_id)
- hasMany: Aluno, Nota, Horario
- belongsToMany: Disciplina

**Scopes:**
- scopeAtiva, scopePorPeriodo, scopePorSerie, scopePorTurno

**Accessors:**
- taxaOcupacao

---

### Disciplina
**Arquivo:** `app/Modelos/Disciplina.php`
**Tabela:** `disciplinas`

**Propriedades:**
- id, tenant_id, nome, codigo, descricao, carga_horaria, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsToMany: Turma, Professor
- hasMany: TipoAvaliacao, Nota

**Scopes:**
- scopeAtiva, scopePorCodigo

---

### Nota
**Arquivo:** `app/Modelos/Nota.php`
**Tabela:** `notas`

**Propriedades:**
- id, tenant_id, aluno_id, disciplina_id, periodo_id, tipo_avaliacao_id, valor_nota, nota_final, data_avaliacao, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno, Disciplina, Periodo, TipoAvaliacao

**Scopes:**
- scopePorAluno, scopePorDisciplina, scopePorPeriodo

**Accessors:**
- aprovado

---

### Periodo
**Arquivo:** `app/Modelos/Periodo.php`
**Tabela:** `periodos`

**Propriedades:**
- id, tenant_id, nome, descricao, data_inicio, data_fim, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- hasMany: Turma, Nota

**Scopes:**
- scopeAtivo, scopeVigente

---

### TipoAvaliacao
**Arquivo:** `app/Modelos/TipoAvaliacao.php`
**Tabela:** `tipos_avaliacao`

**Propriedades:**
- id, tenant_id, disciplina_id, nome, descricao, peso, nota_minima, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Disciplina
- hasMany: Nota

**Scopes:**
- scopePorDisciplina

---

## <a name="disciplinar"></a>2. Disciplinar (5 modelos)

### OcorrenciaDisciplinar
**Arquivo:** `app/Modelos/OcorrenciaDisciplinar.php`
**Tabela:** `ocorrencias_disciplinares`

**Propriedades:**
- id, tenant_id, aluno_id, professor_id, tipo_ocorrencia, data_ocorrencia, descricao, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno, Professor
- hasMany: Penalidade, RecursoDisciplinar

**Scopes:**
- scopePorAluno, scopePendentes, scopePorTipo, scopeRecentes

---

### Penalidade
**Arquivo:** `app/Modelos/Penalidade.php`
**Tabela:** `penalidades`

**Propriedades:**
- id, tenant_id, ocorrencia_disciplinar_id, tipo_penalidade, descricao, data_aplicacao, data_cumprimento, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: OcorrenciaDisciplinar

**Scopes:**
- scopePendentes, scopeCumpridas, scopePorTipo

---

### RecursoDisciplinar
**Arquivo:** `app/Modelos/RecursoDisciplinar.php`
**Tabela:** `recursos_disciplinares`

**Propriedades:**
- id, tenant_id, ocorrencia_disciplinar_id, descricao_recurso, parecer, data_recurso, status, data_resposta, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: OcorrenciaDisciplinar

**Scopes:**
- scopePendentes, scopeAprovados, scopeReprovados

---

### Suspensao
**Arquivo:** `app/Modelos/Suspensao.php`
**Tabela:** `suspensoes`

**Propriedades:**
- id, tenant_id, aluno_id, data_inicio, data_fim, dias_suspensao, motivo, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopeVigentes, scopeFinalizadas, scopePorAluno

---

### EscalaChefias
**Arquivo:** `app/Modelos/EscalaChefias.php`
**Tabela:** `escalas_chefias`

**Propriedades:**
- id, tenant_id, aluno_id, cargo_chefia, data_inicio, data_fim, turma, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopeVigentes, scopePorCargo

---

## <a name="financeiro"></a>3. Financeiro (10 modelos)

### ContaReceber
**Arquivo:** `app/Modelos/ContaReceber.php`
**Tabela:** `contas_receber`

**Propriedades:**
- id, tenant_id, numero_conta, aluno_id, valor, valor_pago, tipo_cobranca, data_vencimento, data_pagamento, status, descricao, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno
- hasMany: Boleto, Carne, Recibo, Desconto, Juros

**Scopes:**
- scopePendentes, scopePagas, scopeVencidas, scopePorAluno

**Accessors:**
- saldo, atrasada

---

### ContaPagar
**Arquivo:** `app/Modelos/ContaPagar.php`
**Tabela:** `contas_pagar`

**Propriedades:**
- id, tenant_id, numero_conta, fornecedor_id, valor, valor_pago, data_vencimento, data_pagamento, status, descricao, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Fornecedor
- hasMany: MovimentoCaixa

**Scopes:**
- scopePendentes, scopePagas, scopeVencidas

**Accessors:**
- saldo

---

### Boleto
**Arquivo:** `app/Modelos/Boleto.php`
**Tabela:** `boletos`

**Propriedades:**
- id, tenant_id, conta_receber_id, numero_boleto, codigo_barra, valor, data_emissao, data_vencimento, data_pagamento, banco, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: ContaReceber

**Scopes:**
- scopePendentes, scopePagas

---

### Carne
**Arquivo:** `app/Modelos/Carne.php`
**Tabela:** `carnes`

**Propriedades:**
- id, tenant_id, conta_receber_id, numero_carne, quantidade_parcelas, parcelas_pagas, valor_parcela, data_inicio, data_fim, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: ContaReceber

**Scopes:**
- scopePendentes, scopeFinalizadas

**Accessors:**
- parcelasRestantes

---

### Recibo
**Arquivo:** `app/Modelos/Recibo.php`
**Tabela:** `recibos`

**Propriedades:**
- id, tenant_id, conta_receber_id, numero_recibo, valor, data_emissao, forma_pagamento, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: ContaReceber
- hasMany: ItemRecibo, MovimentoCaixa

**Scopes:**
- scopePorPeriodo

---

### MovimentoCaixa
**Arquivo:** `app/Modelos/MovimentoCaixa.php`
**Tabela:** `movimentos_caixa`

**Propriedades:**
- id, tenant_id, recibo_id, plano_contas_id, valor, tipo_movimento, data_movimento, descricao, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Recibo, PlanoContas

**Scopes:**
- scopeEntradas, scopeSaidas, scopePorPeriodo

---

### PlanoContas
**Arquivo:** `app/Modelos/PlanoContas.php`
**Tabela:** `planos_contas`

**Propriedades:**
- id, tenant_id, codigo, descricao, tipo_conta, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- hasMany: MovimentoCaixa

**Scopes:**
- scopeAtivo, scopePorTipo

---

### ItemRecibo
**Arquivo:** `app/Modelos/ItemRecibo.php`
**Tabela:** `itens_recibos`

**Propriedades:**
- id, tenant_id, recibo_id, descricao, quantidade, valor_unitario, valor_total, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Recibo

**Accessors:**
- valorTotalComputed

---

### Desconto
**Arquivo:** `app/Modelos/Desconto.php`
**Tabela:** `descontos`

**Propriedades:**
- id, tenant_id, conta_receber_id, valor_desconto, tipo_desconto, percentual, data_aplicacao, motivo, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: ContaReceber

**Scopes:**
- scopeAtivos

---

### Juros
**Arquivo:** `app/Modelos/Juros.php`
**Tabela:** `juros`

**Propriedades:**
- id, tenant_id, conta_receber_id, valor_juros, taxa_juros, data_calculo, motivo, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: ContaReceber

**Scopes:**
- scopeAtivos

---

## <a name="rh"></a>4. RH (8 modelos)

### Funcionario
**Arquivo:** `app/Modelos/Funcionario.php`
**Tabela:** `funcionarios`

**Propriedades:**
- id, tenant_id, matricula, nome, email, cpf, rg, data_nascimento, genero, telefone, cargo_id, departamento_id, status, data_admissao, endereco, cidade, estado, cep, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Cargo, Departamento
- hasMany: FolhaPonto, RegistroPonto, Salario, DocumentoFuncionario

**Scopes:**
- scopeAtivo, scopePorCargo, scopePorDepartamento, scopePorMatricula

**Accessors:**
- idade

---

### Professor
**Arquivo:** `app/Modelos/Professor.php`
**Tabela:** `professores`

**Propriedades:**
- id, tenant_id, funcionario_id, especialidade, nivel_educacao, diploma, instituicao_ensino, data_graduacao, carga_horaria_semanal, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Funcionario
- belongsToMany: Disciplina
- hasMany: OcorrenciaDisciplinar, Turma (como responsavel)

**Scopes:**
- scopeAtivo, scopePorEspecialidade

---

### FolhaPonto
**Arquivo:** `app/Modelos/FolhaPonto.php`
**Tabela:** `folhas_ponto`

**Propriedades:**
- id, tenant_id, aluno_id, funcionario_id, data_folha, total_horas, valor_hora, valor_total, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno, Funcionario
- hasMany: RegistroPonto

**Scopes:**
- scopePorPeriodo, scopePorAluno

---

### RegistroPonto
**Arquivo:** `app/Modelos/RegistroPonto.php`
**Tabela:** `registros_ponto`

**Propriedades:**
- id, tenant_id, folha_ponto_id, data_registro, hora_entrada, hora_saida, total_minutos, tipo_registro, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: FolhaPonto

**Accessors:**
- totalHoras

---

### Departamento
**Arquivo:** `app/Modelos/Departamento.php`
**Tabela:** `departamentos`

**Propriedades:**
- id, tenant_id, nome, descricao, responsavel, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- hasMany: Funcionario

**Scopes:**
- scopeAtivo

---

### Cargo
**Arquivo:** `app/Modelos/Cargo.php`
**Tabela:** `cargos`

**Propriedades:**
- id, tenant_id, nome, descricao, salario_base, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- hasMany: Funcionario

**Scopes:**
- scopeAtivo

---

### Salario
**Arquivo:** `app/Modelos/Salario.php`
**Tabela:** `salarios`

**Propriedades:**
- id, tenant_id, funcionario_id, salario_base, adicional_insalubridade, adicional_periculosidade, bonificacao, desconto_inss, desconto_irrf, salario_liquido, data_referencia, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Funcionario

**Scopes:**
- scopePorPeriodo, scopePorFuncionario

**Accessors:**
- totalDescontos, totalAdicionais

---

### DocumentoFuncionario
**Arquivo:** `app/Modelos/DocumentoFuncionario.php`
**Tabela:** `documentos_funcionarios`

**Propriedades:**
- id, tenant_id, funcionario_id, tipo_documento, numero_documento, caminho_arquivo, data_expedicao, data_validade, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Funcionario

**Scopes:**
- scopePorTipo, scopeVencidos

**Accessors:**
- vencido

---

## <a name="biometria"></a>5. Biometria (4 modelos)

### ReconhecimentoFacial
**Arquivo:** `app/Modelos/ReconhecimentoFacial.php`
**Tabela:** `reconhecimentos_faciais`

**Propriedades:**
- id, tenant_id, aluno_id, probabilidade_match, dados_biometricos, data_coleta, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopeValidos

---

### Atraso
**Arquivo:** `app/Modelos/Atraso.php`
**Tabela:** `atrasos`

**Propriedades:**
- id, tenant_id, aluno_id, data_atraso, minutos_atraso, justificacao, comprovante, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopePorAluno, scopeJustificados, scopeNaoJustificados, scopePorPeriodo

---

### FotoAluno
**Arquivo:** `app/Modelos/FotoAluno.php`
**Tabela:** `fotos_alunos`

**Propriedades:**
- id, tenant_id, aluno_id, caminho_arquivo, tipo_foto, data_coleta, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopePorTipo, scopeAtivas

---

### HistoricoAcesso
**Arquivo:** `app/Modelos/HistoricoAcesso.php`
**Tabela:** `historicos_acesso`

**Propriedades:**
- id, tenant_id, aluno_id, data_hora_acesso, local_acesso, tipo_acesso, dispositivo_acesso, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopePorAluno, scopePorLocal, scopePorPeriodo, scopePorTipo

---

## <a name="uniformes"></a>6. Uniformes (3 modelos)

### PedidoUniforme
**Arquivo:** `app/Modelos/PedidoUniforme.php`
**Tabela:** `pedidos_uniformes`

**Propriedades:**
- id, tenant_id, aluno_id, data_pedido, descricao, valor_total, status, data_entrega_prevista, data_entrega_real, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno
- hasMany: ItemUniforme
- hasOne: ControleUniforme

**Scopes:**
- scopePendentes, scopeEntregues, scopePorAluno

---

### ItemUniforme
**Arquivo:** `app/Modelos/ItemUniforme.php`
**Tabela:** `itens_uniformes`

**Propriedades:**
- id, tenant_id, pedido_uniforme_id, tipo_uniforme, tamanho, quantidade, valor_unitario, valor_total, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: PedidoUniforme

**Accessors:**
- valorTotalComputed

---

### ControleUniforme
**Arquivo:** `app/Modelos/ControleUniforme.php`
**Tabela:** `controles_uniformes`

**Propriedades:**
- id, tenant_id, pedido_uniforme_id, data_entrega, condicao_uniforme, observacoes, assinatura_aluno, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: PedidoUniforme

---

## <a name="refeitório"></a>7. Refeitório (4 modelos)

### Cardapio
**Arquivo:** `app/Modelos/Cardapio.php`
**Tabela:** `cardapios`

**Propriedades:**
- id, tenant_id, data_cardapio, tipo_refeicao, descricao_menu, quantidade_preparada, quantidade_disponivel, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- hasMany: Refeicao, Nutricao

**Scopes:**
- scopePorData, scopePorTipoRefeicao

---

### Refeicao
**Arquivo:** `app/Modelos/Refeicao.php`
**Tabela:** `refeicoes`

**Propriedades:**
- id, tenant_id, cardapio_id, aluno_id, data_refeicao, hora_refeicao, quantidade_consumida, avaliacacao, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Cardapio, Aluno

**Scopes:**
- scopePorAluno, scopePorPeriodo

---

### AlergiasRestricoes
**Arquivo:** `app/Modelos/AlergiasRestricoes.php`
**Tabela:** `alergias_restricoes`

**Propriedades:**
- id, tenant_id, aluno_id, tipo_restricao, descricao, requer_intervencao_medica, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopePorAluno, scopeComIntervencaoMedica

---

### Nutricao
**Arquivo:** `app/Modelos/Nutricao.php`
**Tabela:** `nutricoes`

**Propriedades:**
- id, tenant_id, cardapio_id, calorias, proteina, carboidrato, gordura, fibra, sodio, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Cardapio

**Scopes:**
- scopeAltoTeorCalorico, scopeAltoTeorProteina

---

## <a name="eventos"></a>8. Eventos (3 modelos)

### Evento
**Arquivo:** `app/Modelos/Evento.php`
**Tabela:** `eventos`

**Propriedades:**
- id, tenant_id, tipo_evento_id, nome, descricao, data_inicio, data_fim, local, quantidade_prevista, quantidade_presentes, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: TipoEvento
- hasMany: PresencaEvento

**Scopes:**
- scopeVigentes, scopeProximos, scopePorTipo

**Accessors:**
- percentualPresenca

---

### PresencaEvento
**Arquivo:** `app/Modelos/PresencaEvento.php`
**Tabela:** `presencas_eventos`

**Propriedades:**
- id, tenant_id, evento_id, aluno_id, data_presenca, hora_entrada, hora_saida, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Evento, Aluno

**Scopes:**
- scopePorEvento, scopePorAluno, scopePresentes

---

### TipoEvento
**Arquivo:** `app/Modelos/TipoEvento.php`
**Tabela:** `tipos_eventos`

**Propriedades:**
- id, tenant_id, nome, descricao, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- hasMany: Evento

**Scopes:**
- scopeAtivo

---

## <a name="cerimonial"></a>9. Cerimonial (4 modelos)

### Pelotao
**Arquivo:** `app/Modelos/Pelotao.php`
**Tabela:** `pelotas`

**Propriedades:**
- id, tenant_id, nome, descricao, quantidade_elementos, responsavel, status, created_at, updated_at, deleted_at

**Scopes:**
- scopeAtivo

---

### Banda
**Arquivo:** `app/Modelos/Banda.php`
**Tabela:** `bandas`

**Propriedades:**
- id, tenant_id, nome, genero_musica, quantidade_integrantes, maestro, status, created_at, updated_at, deleted_at

**Scopes:**
- scopeAtiva, scopePorGenero

---

### GuardaBandeiras
**Arquivo:** `app/Modelos/GuardaBandeiras.php`
**Tabela:** `guardas_bandeiras`

**Propriedades:**
- id, tenant_id, aluno_id, cargo_guarda, data_inicio, data_fim, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopeVigentes, scopePorCargo

---

### ScriptCerimonial
**Arquivo:** `app/Modelos/ScriptCerimonial.php`
**Tabela:** `scripts_cerimoniais`

**Propriedades:**
- id, tenant_id, titulo_script, tipo_cerimonia, conteudo, data_criacao, autor, status, created_at, updated_at, deleted_at

**Scopes:**
- scopePorTipo, scopeAtivos

---

## <a name="esportes"></a>10. Esportes (4 modelos)

### Modalidade
**Arquivo:** `app/Modelos/Modalidade.php`
**Tabela:** `modalidades`

**Propriedades:**
- id, tenant_id, nome, descricao, tipo_esporte, quantidade_participantes_minima, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- hasMany: EquipeEsporte, CompetrcaoEsporte

**Scopes:**
- scopeAtiva, scopePorTipo

---

### AnaliseTatica
**Arquivo:** `app/Modelos/AnaliseTatica.php`
**Tabela:** `analises_taticas`

**Propriedades:**
- id, tenant_id, equipe_esporte_id, titulo_analise, descricao_tatica, pontos_fortes, pontos_fracos, data_analise, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: EquipeEsporte

**Scopes:**
- scopePorEquipe, scopeRecentes

---

### EquipeEsporte
**Arquivo:** `app/Modelos/EquipeEsporte.php`
**Tabela:** `equipes_esporte`

**Propriedades:**
- id, tenant_id, modalidade_id, nome, capitao_id, quantidade_jogadores, tecnico, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Modalidade
- hasMany: AnaliseTatica
- belongsToMany: CompetrcaoEsporte

**Scopes:**
- scopeAtiva, scopePorModalidade

---

### CompetrcaoEsporte
**Arquivo:** `app/Modelos/CompetrcaoEsporte.php`
**Tabela:** `competicoes_esporte`

**Propriedades:**
- id, tenant_id, modalidade_id, nome, data_inicio, data_fim, local, tipo_competicao, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Modalidade
- belongsToMany: EquipeEsporte

**Scopes:**
- scopeVigentes, scopeProximas, scopePorTipo

---

## <a name="comunicação"></a>11. Comunicação (4 modelos)

### Chat
**Arquivo:** `app/Modelos/Chat.php`
**Tabela:** `chats`

**Propriedades:**
- id, tenant_id, nome_chat, criador_id, tipo_chat, data_criacao, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Usuario (criador)
- hasMany: MensagemChat

**Scopes:**
- scopeAtivo, scopePorTipo

---

### MensagemChat
**Arquivo:** `app/Modelos/MensagemChat.php`
**Tabela:** `mensagens_chats`

**Propriedades:**
- id, tenant_id, chat_id, aluno_id, conteudo_mensagem, data_hora_mensagem, foi_lida, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Chat, Aluno

**Scopes:**
- scopePorChat, scopeNaoLidas, scopeRecentes

---

### WhatsApp
**Arquivo:** `app/Modelos/WhatsApp.php`
**Tabela:** `whatsapps`

**Propriedades:**
- id, tenant_id, aluno_id, numero_whatsapp, conteudo_mensagem, data_hora_envio, status_entrega, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopePorAluno, scopeEntregues, scopePendentes

---

### Aviso
**Arquivo:** `app/Modelos/Aviso.php`
**Tabela:** `avisos`

**Propriedades:**
- id, tenant_id, titulo_aviso, conteudo_aviso, tipo_aviso, data_publicacao, data_expiracao, status, created_at, updated_at, deleted_at

**Scopes:**
- scopeAtivos, scopePorTipo, scopeRecentes

---

## <a name="análise"></a>12. Análise (3 modelos)

### AnaliseDesempenho
**Arquivo:** `app/Modelos/AnaliseDesempenho.php`
**Tabela:** `analises_desempenho`

**Propriedades:**
- id, tenant_id, aluno_id, tipo_analise, descricao, pontuacao, comentarios, data_analise, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopePorAluno, scopePorTipo, scopeRecentes

**Accessors:**
- desempenho

---

### AnaliseIA
**Arquivo:** `app/Modelos/AnaliseIA.php`
**Tabela:** `analises_ia`

**Propriedades:**
- id, tenant_id, aluno_id, tipo_analise_ia, resultado_analise, confianca_predicao, recomendacoes, data_analise, modelo_ia_utilizado, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopePorAluno, scopeAltaConfianca, scopePorTipo

---

### RelatorioCustomizado
**Arquivo:** `app/Modelos/RelatorioCustomizado.php`
**Tabela:** `relatorios_customizados`

**Propriedades:**
- id, tenant_id, titulo_relatorio, usuario_id, descricao, filtros_aplicados, caminho_arquivo, formato_relatorio, data_geracao, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Usuario

**Scopes:**
- scopePorUsuario, scopePorFormato, scopeRecentes

---

## <a name="portal"></a>13. Portal (4 modelos)

### PortalAluno
**Arquivo:** `app/Modelos/PortalAluno.php`
**Tabela:** `portais_alunos`

**Propriedades:**
- id, tenant_id, aluno_id, pode_acessar_notas, pode_acessar_presencas, pode_acessar_comunicados, pode_visualizar_horarios, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno

**Scopes:**
- scopeAtivo

---

### PortalProfessor
**Arquivo:** `app/Modelos/PortalProfessor.php`
**Tabela:** `portais_professores`

**Propriedades:**
- id, tenant_id, professor_id, pode_lancar_notas, pode_lancar_presencas, pode_enviar_comunicados, pode_acessar_relatorios, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Professor

**Scopes:**
- scopeAtivo

---

### PortalResponsavel
**Arquivo:** `app/Modelos/PortalResponsavel.php`
**Tabela:** `portais_responsaveis`

**Propriedades:**
- id, tenant_id, responsavel_id, pode_acessar_notas, pode_acessar_presencas, pode_acessar_comunicados, pode_visualizar_custos, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Responsavel

**Scopes:**
- scopeAtivo

---

### PortalAdmin
**Arquivo:** `app/Modelos/PortalAdmin.php`
**Tabela:** `portais_admin`

**Propriedades:**
- id, tenant_id, usuario_id, pode_gerenciar_usuarios, pode_gerenciar_permissoes, pode_acessar_backup, pode_visualizar_logs, pode_configurar_sistema, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Usuario

**Scopes:**
- scopeAtivo

---

## <a name="sistema"></a>14. Sistema (6 modelos)

### Configuracao
**Arquivo:** `app/Modelos/Configuracao.php`
**Tabela:** `configuracoes`

**Propriedades:**
- id, tenant_id, chave_configuracao, valor_configuracao, tipo, descricao, created_at, updated_at, deleted_at

**Scopes:**
- scopePorChave, scopePorTipo

**Accessors:**
- valorProcessado

---

### Usuario
**Arquivo:** `app/Modelos/Usuario.php`
**Tabela:** `usuarios`

**Propriedades:**
- id, tenant_id, nome_usuario, email, password, tipo_usuario, status, data_ultimo_acesso, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsToMany: PermissaoSistema
- hasMany: LogAuditoria, GestaoAcesso, RelatorioCustomizado

**Scopes:**
- scopeAtivo, scopePorTipo, scopeComAcessoRecente

---

### GestaoAcesso
**Arquivo:** `app/Modelos/GestaoAcesso.php`
**Tabela:** `gestoes_acessos`

**Propriedades:**
- id, tenant_id, usuario_id, tipo_recurso, recurso_id, tipo_acesso, data_acesso, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Usuario

**Scopes:**
- scopePorUsuario, scopePorTipoRecurso, scopeRecentes

---

### Backup
**Arquivo:** `app/Modelos/Backup.php`
**Tabela:** `backups`

**Propriedades:**
- id, tenant_id, nome_backup, caminho_arquivo, tamanho_mb, data_backup, tipo_backup, status, created_at, updated_at, deleted_at

**Scopes:**
- scopePorTipo, scopeRecentes, scopeComSucesso

---

### LogAuditoria
**Arquivo:** `app/Modelos/LogAuditoria.php`
**Tabela:** `logs_auditoria`

**Propriedades:**
- id, tenant_id, usuario_id, acao_realizada, tipo_evento, descricao_evento, tabela_afetada, registro_id, valor_anterior, valor_novo, data_hora_evento, endereco_ip, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Usuario

**Scopes:**
- scopePorUsuario, scopePorTipoEvento, scopePorPeriodo, scopeRecentes

---

### PermissaoSistema
**Arquivo:** `app/Modelos/PermissaoSistema.php`
**Tabela:** `permissoes_sistema`

**Propriedades:**
- id, tenant_id, nome_permissao, descricao_permissao, modulo, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsToMany: Usuario

**Scopes:**
- scopeAtiva, scopePorModulo, scopePorNome

---

## <a name="auxiliares"></a>15. Auxiliares (3 modelos)

### Responsavel
**Arquivo:** `app/Modelos/Responsavel.php`
**Tabela:** `responsaveis`

**Propriedades:**
- id, tenant_id, aluno_id, nome, email, telefone, cpf, endereco, parentesco, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Aluno
- hasOne: PortalResponsavel

**Scopes:**
- scopePorAluno, scopePorParentesco, scopeAtivo

---

### Fornecedor
**Arquivo:** `app/Modelos/Fornecedor.php`
**Tabela:** `fornecedores`

**Propriedades:**
- id, tenant_id, nome_fornecedor, cnpj, email, telefone, endereco, cidade, estado, cep, tipo_fornecimento, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- hasMany: ContaPagar

**Scopes:**
- scopeAtivo, scopePorTipo, scopePorCidade

---

### Horario
**Arquivo:** `app/Modelos/Horario.php`
**Tabela:** `horarios`

**Propriedades:**
- id, tenant_id, turma_id, dia_semana, hora_inicio, hora_fim, disciplina_id, professor_id, sala, status, created_at, updated_at, deleted_at

**Relacionamentos:**
- belongsTo: Turma, Disciplina, Professor

**Scopes:**
- scopePorTurma, scopePorDiaSemana, scopePorProfessor, scopeAtivo

---

## 📊 Resumo Estatístico

| Módulo | Quantidade | Arquivo |
|--------|-----------|---------|
| Academia | 6 | Aluno, Turma, Disciplina, Nota, Periodo, TipoAvaliacao |
| Disciplinar | 5 | OcorrenciaDisciplinar, Penalidade, RecursoDisciplinar, Suspensao, EscalaChefias |
| Financeiro | 10 | ContaReceber, ContaPagar, Boleto, Carne, Recibo, MovimentoCaixa, PlanoContas, ItemRecibo, Desconto, Juros |
| RH | 8 | Funcionario, Professor, FolhaPonto, RegistroPonto, Departamento, Cargo, Salario, DocumentoFuncionario |
| Biometria | 4 | ReconhecimentoFacial, Atraso, FotoAluno, HistoricoAcesso |
| Uniformes | 3 | PedidoUniforme, ItemUniforme, ControleUniforme |
| Refeitório | 4 | Cardapio, Refeicao, AlergiasRestricoes, Nutricao |
| Eventos | 3 | Evento, PresencaEvento, TipoEvento |
| Cerimonial | 4 | Pelotao, Banda, GuardaBandeiras, ScriptCerimonial |
| Esportes | 4 | Modalidade, AnaliseTatica, EquipeEsporte, CompetrcaoEsporte |
| Comunicação | 4 | Chat, MensagemChat, WhatsApp, Aviso |
| Análise | 3 | AnaliseDesempenho, AnaliseIA, RelatorioCustomizado |
| Portal | 4 | PortalAluno, PortalProfessor, PortalResponsavel, PortalAdmin |
| Sistema | 6 | Configuracao, Usuario, GestaoAcesso, Backup, LogAuditoria, PermissaoSistema |
| Auxiliares | 3 | Responsavel, Fornecedor, Horario |
| **TOTAL** | **59** | **Modelos** |

---

## 🔗 Diagrama de Relacionamentos Principais

```
Aluno (centro)
├── Turma (belongsTo)
├── Responsaveis (hasMany)
├── OcorrenciasDisciplinares (hasMany)
├── Suspensoes (hasMany)
├── Notas (hasMany)
├── FolhasPonto (hasMany)
├── RegistrosPonto (hasMany)
├── FotosAluno (hasMany)
├── HistoricoAcesso (hasMany)
├── Atrasos (hasMany)
├── PedidosUniforme (hasMany)
├── PresencasEventos (hasMany)
├── MensagensChat (hasMany)
├── AlergiasRestricoes (hasMany)
├── AnaliseDesempenho (hasMany)
├── AnaliseIA (hasMany)
└── PortalAluno (hasOne)

ContaReceber (centro financeiro)
├── Aluno (belongsTo)
├── Boletos (hasMany)
├── Carnês (hasMany)
├── Recibos (hasMany)
├── Descontos (hasMany)
└── Juros (hasMany)

Usuario (administração)
├── Permissoes (belongsToMany)
├── LogsAuditoria (hasMany)
├── GestaoAcessos (hasMany)
└── Relatorios (hasMany)
```

---

## ✅ Checklist de Implementação

- [x] Todos os 59 modelos criados
- [x] Relacionamentos configurados (hasMany, belongsTo, belongsToMany)
- [x] Soft deletes implementados
- [x] Trait BelongsToTenant adicionado
- [x] Fillable/Guarded configurado
- [x] Casts definidos para tipos apropriados
- [x] Scopes úteis implementados
- [x] Accessors criados onde necessário
- [x] PHPDoc com propriedades do banco
- [x] Documentação completa gerada

---

**Gerado com sucesso em:** 20/06/2026
**Localização:** C:\Users\Win10\Desktop\ATUALIZAÇÃO SIGED\Conversão SIGED para Laravel\app\Modelos\
