Skip to main content

Campos

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 TripReview

Regras de Negócio

  • Cada User possui no máximo um Customer (relação 1:1). O Customer representa o perfil de passageiro — quem compra passagens.
  • Quando o mesmo User possui 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 guarda externalProvider + externalProviderId.
  • Quando CreditGrant recebe apenas userId, o sistema cria automaticamente um Customer mínimo usando nome, e-mail e telefone do User.
  • document e documentType são opcionais durante esse provisionamento, mas devem ser informados juntos quando preenchidos.
  • O documento deve ser único quando informado.
  • O endereço inicial é opcional. Quando informado, é criado junto com o Customer e marcado como isDefault = true.

Enums

DocumentType

Example