Campos
| Campo | Tipo | Descrição |
|---|---|---|
customerId | UUID | Identificador único |
userId | UUID | Referência ao usuário |
externalProvider | String | Identificador lógico do provider de billing usado pela interface |
externalProviderId | String | Identificador do customer no provedor de billing |
document | String | Número do documento |
documentType | DocumentType | Tipo do documento |
birthDate | Date? | Data de nascimento |
phoneIso | String | Código ISO do país do telefone |
phoneDdi | String | DDI do telefone |
phoneNumber | String | Número do telefone |
phoneVerified | Boolean | Indica se o telefone foi verificado. Default: false |
createdBy | UUID? | Usuário que criou o registro, quando aplicável |
createdAt | DateTime | Data de criação |
updatedBy | UUID? | Usuário que fez a última atualização, quando aplicável |
updatedAt | DateTime | Data da última atualização |
deletedBy | UUID? | Usuário que removeu o registro, quando aplicável |
deletedAt | DateTime? | Data de remoção |
Relacionamentos
- Relaciona-se com User (1:1)
- Relaciona-se com múltiplos CustomerAddress
- Relaciona-se com múltiplos Employee, quando o cliente também é funcionário de uma Company
- Relaciona-se com múltiplos Order (como comprador)
- Relaciona-se com múltiplas PassengerBenefitRequest, quando solicita benefício
- Relaciona-se com múltiplos BenefitUsageHistory, quando recebe benefício aplicado a um pedido
- Relaciona-se com múltiplos PaymentMethod
- Relaciona-se com múltiplos CreditGrant, quando recebe crédito de uma Company
- Relaciona-se com múltiplos PromotionalUsageHistory, quando promoções são aplicadas em compras
- Relaciona-se com múltiplos TripReview
Regras de Negócio
- Cada
Userpossui no máximo umCustomer(relação 1:1). OCustomerrepresenta o perfil de passageiro — quem compra passagens. - Quando o mesmo
Userpossui Employee em uma Company, esse Customer pode receber créditos concedidos por regra de funcionário nessa Company. - Ao criar o
Customer, o sistema registra um customer correspondente no provider de billing e guardaexternalProvider+externalProviderId. - O
documenté obrigatório no cadastro do Customer e deve ser único. - O endereço inicial é criado junto com o
Customere marcado comoisDefault = true.
Enums
DocumentType
| Valor | Descrição |
|---|---|
CPF | Cadastro de Pessoa Física |
CNPJ | Cadastro Nacional da Pessoa Jurídica |
RG | Registro Geral |