Glossário do domínio¶
Fonte: o código (apps/api/app/models/ e apps/api/app/domain/) e o CLAUDE.md da raiz, seção "Domínio" — reproduzido aqui como página de produto porque é o texto mais consultado por quem chega novo, e porque o CLAUDE.md foca em quem vai mexer no código, não em quem quer entender o negócio. Entre parênteses, o nome no código quando ele difere do nome de tela.
Quem é quem¶
- Garantidora (
Tenant) — cliente do SaaS. Contrata a plataforma e, no negócio, é a fiadora (fiança onerosa) — não é parte do contrato de locação em si. - Imobiliária parceira (
PartnerAgency) — o canal: capta o cliente, fecha o aluguel e, quando a parceria prevê, recolhe a mensalidade da garantia junto com o aluguel e a repassa à garantidora. É também um segundo eixo de escopo: inquilino, imóvel, análise, garantia e usuário pertencem a uma imobiliária ou à carteira própria da garantidora (sem imobiliária). - Inquilino (
Renter, PF ou PJ) — quem contrata a garantia. A garantia é dele com a garantidora, formalizada por contrato assinado e pagamento. - Tomador — o locatário principal da análise de crédito. É o tipo dele (PF ou PJ) que escolhe a faixa da mensalidade (spec 0057). Corresponsáveis e locatários não principais não contam.
- Corresponsável (
CO_RESPONSIBLE) — participante que responde junto com o locatário; sempre pessoa física. - Proprietário (locador) — fora da relação com a garantidora: ela não o conhece nem o paga. No sinistro a garantidora paga a imobiliária, que repassa ao locador. Os dados dele vivem em campos do imóvel (
owner_name,owner_document…), não num cadastro de pessoa. Não existe "conta de repasse do proprietário" do lado da garantidora. - Responsável da imobiliária (
AGENCY_MANAGER) — o usuário da imobiliária que, além de operar, administra quem tem acesso por ela e declara no acerto quem pagou (specs 0051 e 0055).
Fluxo do dinheiro¶
Entrada — taxa de adesão, e a 1ª mensalidade junto quando a garantidora cobra o primeiro mês à vista — cobrada sempre pela garantidora, por boleto ou PIX. Do 2º mês em diante, a mensalidade chega por um de dois caminhos, e qual deles é cláusula da parceria (spec 0054): inquilino → imobiliária → garantidora, quando a parceira recolhe (PartnerAgency.collects_monthly), ou inquilino → garantidora direto, quando não recolhe. A imobiliária repassa só a garantia, nunca o aluguel, e o repasse é conferido mês a mês no acerto (spec 0055). Do mesmo acerto sai, no sentido inverso, a comissão que a garantidora devolve à imobiliária sobre a taxa de adesão (spec 0056).
Sinistro (regra do contrato, ainda não modelada no produto — ver o roadmap): inquilino não paga → imobiliária comunica (≤ 60 dias do 1º vencimento) → garantidora valida e paga a imobiliária (que repassa ao locador) → garantidora sub-roga e regressa contra o inquilino.
Base de tudo: Pacote Locatício (aluguel + condomínio + IPTU); o limite de cobertura é um múltiplo do pacote.
Confirmado pelo contrato real em
../contratos/— o mapeamento cláusula a cláusula está no roadmap. Ele é um retrato conferido contra o código em datas que ele mesmo declara; para status de implementação, a fonte viva é../specifications/index.md.
Termos¶
Análise, parecer e preço¶
- Análise de Crédito (
CreditAnalysis) — o pedido de garantia de um ou mais locatários para um imóvel, que percorre os estados do diagrama abaixo. Até a spec 0007 chamava-seProposalno código. - Parecer (
Decision) — a decisão do analista dentro da análise: aprovar, reprovar ou devolver em pendência. Até a spec 0007 chamava-seAnalysis. - Pendência (
PENDING, com um tipo de pendência,PendencyType) — a devolução da análise a quem a cadastrou para correção. O tipo diz do que se trata (spec 0037). - Recomendação — sugestão automática pela razão renda declarada ÷ Pacote Locatício: aprovar a partir de 3×, análise manual entre 2× e 3×, reprovar abaixo de 2×. Não decide nada sozinha, e não usa o resultado das consultas de crédito.
- Consulta de crédito (
CreditCheck) — uma consulta a bureau executada dentro de uma análise, sobre o locatário principal PF, a partir do catálogo da plataforma (specs 0050 e 0052). Perfil de consultas —NONE,ECONOMICO,COMPLETOouPERSONALIZADO: a composição que a garantidora escolhe. - Pacote Locatício — aluguel + condomínio + IPTU (spec 0006). É a base da mensalidade, da taxa de adesão percentual, do LMI e dos custos de saída.
- LMI — limite máximo de indenização: Pacote × múltiplo configurado (
lmi_months_multiplier;0= ilimitado). Custos de saída — sub-limite próprio e menor, para reparos e multa (exit_costs_multiplier). - Mensalidade — o valor mensal da garantia: Pacote Locatício × taxa da garantia ÷ 100. Na tela, o percentual também se chama "mensalidade"; no código é
guarantee_rate_percent(garantia),approved_guarantee_rate_percent(parecer) emonthly_value(o valor em reais). - Sugerida, mínima e máxima — a faixa da mensalidade, configurada pela garantidora por tipo de tomador, PF e PJ (spec 0057). O analista escolhe dentro da faixa ao aprovar; omitida, vale a sugerida.
- Taxa em vigor — a taxa que vale para uma análise: a da garantia, se já emitida; senão a aprovada no parecer; senão a sugerida do tipo atual do tomador (spec 0057, RN11 e RN16).
- Taxa de adesão (
initial_fee; antes "taxa setup") — cobrada uma vez, na entrada: nenhuma, valor fixo, ou percentual sobre Pacote, contrato total ou LMI. - Regra padrão, regra própria e regra em vigor (de adesão) — a regra da garantidora (
TenantSettings), a regra que uma imobiliária pode ter (PartnerAgency), e a que vale para uma análise: a própria, quando a imobiliária tem, senão a padrão (spec 0056, RN3).
Garantia¶
- Garantia (
Guarantee; até a spec 0027,Contract) — o contrato de fiança do inquilino com a garantidora, emitido de uma análise aprovada. Congela taxa, mensalidade, adesão, LMI e vigência no momento da emissão. A minuta (ContractTemplate) é outra coisa: o modelo de texto. - Aguardando assinatura (
PENDING_SIGNATURE), Vigente (ACTIVE), Encerrada (TERMINATED) — os três estados gravados. Vencida (EXPIRED) é derivada: vigente comend_dateno passado (spec 0038). - Dossiê — os documentos da garantia; depois de fechado, só se altera com permissões próprias (spec 0040).
Cobrança¶
- Cobrança (
Billing) — uma parcela devida pelo inquilino à garantidora. Desde a spec 0048 o calendário inteiro nasce na assinatura da garantia (origin = CALENDAR); a avulsa é lançada à mão (origin = MANUAL). - Tipo da cobrança (
fee_type) —SETUP(só adesão),GUARANTEE(só a mensalidade),SETUP_AND_GUARANTEE(a entrada que junta as duas, com os dois valores discriminados) eMISC(avulsa). Na tela: Adesão, Fiança, Adesão + fiança, Avulsa (spec 0054). - Canal da parcela (
channel) — por onde o dinheiro daquela parcela entra:GUARANTOR_BOLETO(boleto da garantidora),GUARANTOR_PIX(PIX da garantidora) ouAGENCY_PIX(a imobiliária recolhe e repassa). Ninguém escolhe entre os três: o canal sai do meio de cobrança da garantidora (collection_method) combinado com a cláusula da parceira (collects_monthly), e é gravado quando a parcela nasce — mudar a parceria em março não reescreve janeiro. A entrada e a avulsa nunca caem na imobiliária. - Canal do pagamento (
payment_channel) — por onde o dinheiro de fato entrou na baixa; pode diferir do canal previsto (boleto pago por PIX). É registro, não classificação. - Competência (
reference_month,AAAA-MM) — o mês a que a cobrança pertence; obrigatória desde a spec 0054. É o recorte do resumo do mês, da Central de Operações e do acerto. - Parcela n/N (
installment_number/installment_total) — a posição da mensalidade no plano. Nula na avulsa e na entrada só de adesão. - Situação (
situation) — o que a tela mostra, derivado do status gravado: Pendente, Aguardando a imobiliária (AWAITING_AGENCY: venceu, é de canal da imobiliária e ainda não foi repassada — não é inadimplência), Em atraso, Paga, Cancelada (spec 0054, RN24). - Encargo — multa mais juros de mora, calculados pela API sobre o principal, a partir de três parâmetros da garantidora: multa (%), juros ao mês (%, pro rata dia sobre 30 dias) e carência (dias). Dentro da carência, zero; passada, os juros correm desde o vencimento (spec 0054, RN12).
- Baixa — o registro do pagamento: data em que o dinheiro entrou (
paid_on), canal do pagamento e a distribuição do valor entre adesão, fiança, avulsa e multa e juros. - Abono — dispensar o encargo na baixa, sempre com motivo. Abatido (
discount_amount) — o principal que a garantidora aceitou não receber. - Comprovante — o documento do pagamento, anexado à cobrança.
- Remoção lógica — remover sem apagar: o registro some das listas, continua no banco e pode ser restaurado em até 60 dias (spec 0049).
Acerto com a imobiliária¶
- Acerto (
AgencySettlement) — o par (imobiliária, competência) dentro de uma garantidora: o que a parceira recolheu e deve repassar naquele mês, e a comissão que a garantidora lhe deve (specs 0055 e 0056). Existe sem ser criado — basta haver membro ou comissão no mês. Na tela é a aba Repasses. - Membro do acerto — a mensalidade de canal
AGENCY_PIXda competência, de garantia daquela imobiliária, não removida e não cancelada. - Declaração — o que se informa por membro: pagou (com data e multa cobrada) ou não pagou. Só produz efeito no fechamento.
- Transferência (
AgencySettlementTransfer) — um movimento de dinheiro do acerto, em um de dois sentidos: da imobiliária para a garantidora (FROM_AGENCY, o repasse) ou da garantidora para a imobiliária (TO_AGENCY, o pagamento da comissão). - Mensalidades e multas (
devidono código), recebido, comissão, saldo (balance= mensalidades e multas − comissão) e falta (saldo − recebido + pago à imobiliária) — as contas do acerto. Falta positiva: a imobiliária deve; negativa: a garantidora deve. - Pronto para fechar, Aberto, Fechado — a situação do acerto. Fechar dá baixa nos membros declarados pagos e marca em atraso os declarados não pagos; reabrir desfaz isso, com motivo.
- Membro tardio — cobrança que passou a pertencer a um acerto já fechado (emissão retroativa, restauração); pede reabertura.
- Comissão — a parte da taxa de adesão paga que volta à imobiliária: sobre o valor de adesão pago, descontam-se os impostos (
commission_tax_percent) e aplica-se o percentual de comissão (commission_percent, da imobiliária ou o padrão). Congela na baixa da adesão e entra no acerto da primeira competência ainda não fechada (spec 0056, RN8 e RN9).
Modelo de entidades¶
erDiagram
TENANT ||--|| TENANT_SETTINGS : configura
TENANT ||--o{ USER : tem
TENANT ||--o{ PARTNER_AGENCY : tem
TENANT ||--o{ RENTER : tem
TENANT ||--o{ PROPERTY : tem
TENANT ||--o{ CREDIT_ANALYSIS : tem
TENANT ||--o{ DOCUMENT_TYPE : define
PARTNER_AGENCY ||--o{ USER : "tem (usuários do canal)"
PARTNER_AGENCY ||--o{ PROPERTY : capta
PARTNER_AGENCY ||--o{ AGENCY_SETTLEMENT : "acerta por competência"
RENTER ||--o{ CREDIT_ANALYSIS_PARTICIPANT : participa
PROPERTY ||--o{ CREDIT_ANALYSIS : referenciado_por
CREDIT_ANALYSIS ||--o{ CREDIT_ANALYSIS_PARTICIPANT : tem
CREDIT_ANALYSIS ||--o{ CREDIT_ANALYSIS_STATUS_HISTORY : registra
CREDIT_ANALYSIS ||--o{ CREDIT_CHECK : consulta
CREDIT_ANALYSIS ||--o| DECISION : recebe
CREDIT_ANALYSIS ||--o| GUARANTEE : origina
GUARANTEE ||--o{ BILLING : gera
AGENCY_SETTLEMENT ||--o{ AGENCY_SETTLEMENT_TRANSFER : registra
AGENCY_SETTLEMENT ||--o{ BILLING : "baixa ao fechar"
DOCUMENT_TYPE ||--o{ DOCUMENT : tipifica
CREDIT_ANALYSIS {
uuid partner_agency_id
enum status
decimal informed_initial_fee
}
DECISION {
enum status
decimal approved_guarantee_rate_percent
decimal approved_initial_fee_value
}
GUARANTEE {
uuid partner_agency_id
enum status
decimal guarantee_rate_percent
decimal monthly_value
decimal initial_fee
decimal lmi_value
}
BILLING {
string reference_month
enum fee_type
enum channel
enum status
decimal amount
decimal commission_amount
}
AGENCY_SETTLEMENT {
uuid partner_agency_id
string reference_month
enum status
string invoice_number
} Documento pertence a uma entidade só. As seis FKs do Document — inquilino, imóvel, análise de crédito, garantia, cobrança (o comprovante, spec 0054) e acerto (a nota fiscal, spec 0055) — são mutuamente exclusivas. É isso que permite saber de quem é um documento.
Multi-tenant lógico: toda entidade de negócio tem tenant_id, filtrado automaticamente no BaseRepository. Só ADMIN_GLOBAL ignora o filtro, e só em dado de plataforma — ver ../architecture/data-model.md para o detalhe técnico, e as regras de papéis e escopo.
Papéis¶
São sete papéis de sistema (apps/api/app/db/rbac_seed.py):
| Papel | Nome na tela | Em uma linha |
|---|---|---|
ADMIN_GLOBAL | Administrador Global | Administra a plataforma (garantidoras, convites, catálogo de consultas); não é atalho para dado de negócio do cliente |
ADMIN_TENANT | Administrador da Garantidora | Controle total do próprio tenant; o único que escreve sobre dinheiro (baixa, acerto, parâmetros) |
ANALYST | Analista de Crédito | Decide a análise (aprova com a mensalidade, reprova, devolve) e emite a garantia |
OPERATOR | Operador | Cadastra, cria e submete análises, emite a garantia e registra a assinatura |
VIEWER | Visualizador | Só leitura no tenant |
AGENCY_USER | Usuário de Imobiliária | Origina análises e lê garantias e cobranças da própria imobiliária |
AGENCY_MANAGER | Responsável da Imobiliária | O AGENCY_USER mais administrar os usuários da imobiliária e declarar no acerto |
Os dois últimos são os papéis de parceiro, escopados ao partner_agency_id do usuário. Além dos papéis de sistema, a garantidora pode montar perfis personalizados com as permissões que escolher. O modelo-alvo de negócio tem 10 papéis area-scoped (Crédito/Financeiro/Imobiliário × Gestor/Analista + Gestor Geral + Estagiário + parceiro) — detalhado em ../navigation-brief.md; ele ainda não está no código.
Status da Análise de Crédito¶
stateDiagram-v2
[*] --> DRAFT
DRAFT --> SUBMITTED: submeter
DRAFT --> CANCELLED
SUBMITTED --> IN_ANALYSIS: iniciar análise
SUBMITTED --> CANCELLED
IN_ANALYSIS --> APPROVED
IN_ANALYSIS --> PENDING: devolver
IN_ANALYSIS --> REJECTED
IN_ANALYSIS --> CANCELLED
PENDING --> IN_ANALYSIS: retomar
PENDING --> APPROVED
PENDING --> REJECTED
PENDING --> CANCELLED
APPROVED --> [*]: Garantia emitida
REJECTED --> [*]
CANCELLED --> [*] A tabela que governa isso é ALLOWED_TRANSITIONS (apps/api/app/services/credit_analysis_service.py). CANCELLED chega por dois caminhos: o cancelamento pela garantidora e a desistência pela imobiliária, esta só em DRAFT, SUBMITTED ou PENDING — enquanto ninguém começou a trabalhar na análise (spec 0037).
PENDING chamava-se PENDING_DOCS até a spec 0037: desde a spec 0036 a devolução deixou de ser só documental (renda que não fecha, documento ilegível também devolvem) — quem diz do que se trata é o tipo da pendência, não mais o nome do estado.