Entidade: Plano Contratado
Camada: Domínio — Define o que o objeto é, seus atributos e relacionamentos.
Regras de comportamento: ver
Regras de Negócio/Módulo 12: Ativações & Vigência
1. Definição
Um Plano Contratado representa a assinatura de proteção veicular ativa vinculada a um veículo específico de um cliente. Enquanto o Contrato é a formalização jurídica histórica e a Proposta é a oferta comercial, o Plano Contratado é a entidade operacional que define se o veículo está de fato protegido ou não no momento atual (Status da Proteção).
Quando o contrato é assinado e os gatilhos de ativação são satisfeitos, o plano contratado entra em vigor, ganhando um ciclo de vida e monitoramento financeiro de recorrência próprio.
2. Atributos Principais
| Campo | Tipo | Obrigatório | Notas |
|---|---|---|---|
id | UUID | Sim | Gerado pelo sistema |
tenant_id | UUID | Sim | FK → Tenant |
cliente_id | UUID | Sim | FK → Cliente |
veiculo_id | UUID | Sim | FK → Veículo protegido |
contrato_origem_id | UUID | Sim | FK → Contrato que originou a ativação |
status | enum | Sim | AGUARDANDO_ATIVACAO, ATIVO, INADIMPLENTE, SUSPENSO, CANCELADO. Ver Ciclo de Vida |
data_ativacao | timestamp | Não | Timestamp em que o plano foi ativado |
vigencia_inicio | timestamp | Não | Início da vigência da proteção |
vigencia_fim | timestamp | Não | Fim da vigência da proteção (calculado) |
sincronizado_erp_em | timestamp | Não | Registro do envio bem-sucedido para o ERP |
id_externo_erp | string | Não | Chave identificadora do contrato/plano no ERP (ex: Hinova) |
created_at | timestamp | Sim | Registra o momento da criação do plano contratado |
updated_at | timestamp | Sim | Registra o momento da última modificação dos dados |
3. Estados do Ciclo de Vida Operacional
Abaixo estão os estados operacionais gerenciados para a proteção do veículo:
AGUARDANDO_ATIVACAO: O contrato foi gerado ou assinado digitalmente pelo cliente, mas o plano operacional de proteção veicular ainda não está em vigor. A migração paraATIVOfica suspensa até a satisfação cumulativa dos gatilhos: conciliação bancária da taxa de adesão E aprovação da vistoria veicular (quando o plano exigir).ATIVO: Cobertura do plano ativa (em vigor). Veículo efetivamente protegido e pagamentos mensais em dia.INADIMPLENTE: Mensalidade em atraso, mas o veículo ainda se encontra no prazo de carência/tolerância de cobertura.SUSPENSO: Atraso grave. Proteção paralisada. Cliente sem direito a cobertura em sinistros.CANCELADO: Contrato de proteção rompido de forma definitiva.
[!NOTE] Modos de Sincronismo do Ciclo de Vida (Gestão de Inadimplência):
- Modo
COMPLETO: O CRM atua de forma 100% reativa. O CRM não calcula regras de vencimento, dias de atraso ou prazos de carência localmente (para evitar divergências jurídicas com o financeiro). O ERP realiza todo o cálculo operacional e envia webhooks de alteração de estado para o CRM (ex: notificando transições paraINADIMPLENTEouSUSPENSO), cabendo ao CRM apenas espelhar passivamente os estados recebidos.- Modo
UNIDIRECIONAL: O CRM foca estritamente na venda. Após o plano transitar paraATIVOe ser sincronizado com o ERP, o CRM cessa o rastreamento financeiro. Os statusINADIMPLENTEeSUSPENSOsão ignorados/bypassados, e o plano permaneceATIVOpara fins de cadastro comercial. Cancelamentos ocorrem apenas de forma administrativa e manual no painel.
4. Relacionamentos
Plano_Contratado ──── pertence a ────── Tenant (N:1)
Plano_Contratado ──── pertence a ────── Cliente (N:1)
Plano_Contratado ──── protege a ─────── Veículo (1:1)
Plano_Contratado ──── originado por ─── Contrato (1:1)
Plano_Contratado ──── sincronizado com ── ERP (Hinova) (1:1 de integração)
Legenda de Cardinalidade:
N:1(Muitos para Um): Múltiplos registros deste domínio apontam para um mesmo registro de destino (ex: vários planos de clientes pertencem ao mesmo tenant).1:1(Um para Um): Relação exclusiva e de correspondência única (ex: um plano contratado protege exatamente um veículo, e é originado de exatamente um contrato).
5. Invariantes (Restrições Absolutas)
- Um
Plano_Contratadodeve possuir obrigatoriamente umveiculo_ide umcliente_id. - Um veículo só pode ter um único
Plano_Contratadoem statusATIVO,INADIMPLENTEouSUSPENSOao mesmo tempo por tenant. - A
vigencia_fimé calculada de forma imutável comovigencia_inicio + 1 ano(365 dias) a partir do momento em que o plano passa paraATIVOpela primeira vez. - O plano só pode ser sincronizado com o ERP (
id_externo_erppreenchido) quando o status mudar paraATIVO. - Planos em status
CANCELADOsão definitivos e não podem ser reativados; novas proteções exigem um novo processo comercial (Proposta -> Contrato).