Modelo de dados
Onboarding
Prospects de corretor antes de virarem corretores do tenant.
Onboarding guarda o corretor antes de virar cliente: o pipeline do cadastro, não um funil de vendas. Fica em domínio próprio porque o prospect é criado por uma membership (Workforce), e Workforce depende de Brokers; colocá-lo em Brokers criaria um ciclo.
Tabelas (1)
| Tabela | Para quê |
|---|---|
broker_prospects | Prospect de corretor no tenant: documento, contato, quem captou e quem digitou, e o corretor resultante da conversão. |
Referência
broker_prospects
Prospect de corretor no tenant: documento, contato, quem captou e quem digitou, e o corretor resultante da conversão.
| Coluna | Tipo | Nulo | Observação |
|---|---|---|---|
id | bigint | não | identity (GENERATED ALWAYS) |
uid | text | não | |
tenant_id | bigint | não | |
document_type | text | não | |
document_number | text | não | |
party_id | bigint | sim | ligado quando a Receita confirma |
legal_name | text | sim | |
contact_name | text | não | |
contact_email | text | sim | |
contact_phone | text | sim | |
stage | text | não | hoje só intent |
owner_membership_id | bigint | não | comercial que captou |
created_by_membership_id | bigint | não | quem digitou |
broker_id | bigint | sim | preenchido na conversão |
closed_reason | text | sim | |
created_at | timestamptz | não | padrão clock_timestamp() |
updated_at | timestamptz | não | padrão clock_timestamp() |
Chaves estrangeiras
(created_by_membership_id, tenant_id)→memberships (id, tenant_id)(mesmo tenant)(owner_membership_id, tenant_id)→memberships (id, tenant_id)(mesmo tenant)(tenant_id, broker_id)→tenant_brokers (tenant_id, broker_id)(mesmo tenant)party_id→parties.idtenant_id→tenants.id
Garantido pelo banco
| Tipo | Nome | Definição |
|---|---|---|
| PK | broker_prospects_pkey | PRIMARY KEY (id) |
| UNIQUE | broker_prospects_uid_unique | UNIQUE (uid) |
Fora do banco
stagenão tem CHECK de valores.- Fechamento (
closed_reason) e conversão (broker_id) coerentes entre si são regra da aplicação.