Painel de leitura da documentação, planejamento e implementação por feature, com seleção centralizada antes da navegação.
O sistema usa dois conjuntos de dados:
Nem todo schema esta formalizado no repositorio. Parte foi inferida a partir de queries e de criacao dinamica em runtime.
Entidades mais recorrentes nas consultas:
propostacondicao_pagamento_propostaparcelaparcela_condicaopagamentopropostatituloreceberamortizacaorenegociacaoclientepessoaitem_propostaunidade_vendamodulofaseempreendimentousuarioproposta: unidade central de contrato/negocio.parcela: vencimentos e composicao financeira.titulo + amortizacao: recebimento e pagamento efetivo.renegociacao: vinculo com usuario/cobrador em certos fluxos.cliente e pessoa: dados cadastrais.item_proposta ate empreendimento: hierarquia de produto/residencial.usuariosCampos inferidos:
idnomeemailsenha_hashperfilstatusUso:
historico_contatoTabela central da operacao, usada para:
Campos inferidos recorrentes:
idcpf_clientenumero_parcelatipo_contatoobservacaousuario_idusuario_nomedata_registrodata_proxima_cobrancamotivo_idlembrete_statuscobranca_atribuicao_clienteUso:
Campos inferidos:
idcliente_cpfcnpjcobrador_usuario_idcobrador_anterior_iddata_ultima_movimentacaofontestatuscobranca_atendimentoUso:
Campos inferidos:
cliente_cpfcnpjcobrador_usuario_idtipo_acaoobservacoesstatus_apos_acaocobranca_30dias_registrosUso:
Campos inferidos:
cobrador_usuario_idcpf_cnpjpropostadata_vencimentovalororigemadvogadoatualizado_emcobranca_titulos_cacheUso inferido:
em_advogadoStatus:
cobranca30/registrar.phpchronos_sync_creditsUso:
Campos principais versionados:
credit_idcpf_cnpjdebtor_namecontract_numberreference_identerprise_nameunity_namestatuspayment_statusnext_due_datepayment_total_amountoverdue_total_amountparcel_quantityparcel_paid_quantityparcel_overdue_quantityparcel_not_paid_quantitypayload_hashpayload_jsonsource_updated_atsynced_atchronos_sync_parcelsUso:
credit_id + parcel_idquebras, 30 dias, advogado e renegociacoesCampos principais versionados:
parcel_idcredit_idparcel_keycpf_cnpjcontract_numberparcel_numbernumber_descriptionstatusstatus_namedue_datepayment_datepayment_total_amountcurrent_total_amountparcel_frequency_nameparcel_frequencyparcel_type_namepayment_typenegotiation_idnegotiation_status_nameobspayload_hashpayload_jsonsource_updated_atsynced_atchronos_sync_runsUso:
Campos principais versionados:
idsync_typetrigger_sourcerequested_by_user_idstatusscope_referencetotal_credits_receivedtotal_parcels_receivedcredits_processedparcels_processedinserted_creditsupdated_creditsinserted_parcelsupdated_parcelsstarted_atfinished_aterror_messagemetadata_jsonclientes_inativosSchema formal em clientes_inativos.sql
Campos:
idcpf_cnpjnomeresidencialcobradortotal_debitostatus_inativomotivodata_inclusaousuario_inclusao_iddata_ultima_atualizacaocliente_atendidoUso:
documentos_clienteCriada em runtime por src/api/documentos/_bootstrap.php
Campos:
idcpfcategoriatituloarquivo_originalarquivo_salvomime_typetamanho_bytescriado_porcriado_por_nomecriado_emCategorias observadas:
nota_promissoriacontrato_compra_vendadocumento_pessoalrenegociacaometasCampos inferidos:
idmesanovalorvalor_atingidopremio_meta_atingidainadimplenciapercentual_inadimplenciacreated_atupdated_atgratificacao_parametrosUso:
gratificacao_fechamentoUso:
distribuicao_execucoesUso:
motivos_contatoUso:
ia_config_usuarioCriada em runtime por ia_config_repository.php
Campos:
usuario_idprovidergemini_api_keygemini_modelopenrouter_api_keyopenrouter_modelopenrouter_site_urlopenrouter_app_nameSchemas formais em kb_schema.sql
kb_categorieskb_articleskb_mediaerDiagram
usuarios ||--o{ cobranca_atribuicao_cliente : atribui
usuarios ||--o{ historico_contato : registra
usuarios ||--o{ cobranca_30dias_registros : opera
usuarios ||--o| ia_config_usuario : configura
historico_contato }o--|| motivos_contato : usa
kb_categories ||--o{ kb_articles : classifica
kb_articles ||--o{ kb_media : anexa