Skip to main content
O TripReview representa a avaliação de uma Trip comprada dentro de um Order. O Order define a elegibilidade da compra; a Trip é a experiência avaliada.

Campos

Relacionamentos

  • Relaciona-se com Customer.
  • Relaciona-se com Trip.
  • Relaciona-se com Order.
  • Relaciona-se indiretamente com Checkout via Order.checkoutId.
  • Relaciona-se com Cooperative.
  • Relaciona-se com TransportOperator.
  • Relaciona-se com Driver.
  • Relaciona-se com User, quando houver resposta ou moderação.
  • Pode originar SupportCase, quando o passageiro usa o botão de contato na revisão.

Regras de Negócio

  • Registro único por viagem dentro do pedido: tripId + orderId deve ser único.
  • Um Order pode ter múltiplos TripReviews, um para cada Trip comprada.
  • Um checkout pode ter múltiplos TripReviews indiretamente pelos Orders gerados.
  • checkoutId não deve ser duplicado nesta entidade; ele é derivado por orderId -> Order.checkoutId.
  • A avaliação cobre a experiência daquela Trip.
  • Cada nota (rating) é um inteiro de 1 a 5.
  • Só pode ser criada quando o pedido está PAID, possui um ticket VALID da mesma Trip já embarcado e a Trip está COMPLETED.
  • cooperativeId, transportOperatorId e driverId devem repetir os dados da Trip avaliada.
  • overallRating é obrigatório para consolidar satisfação geral da viagem.
  • vehicleRating deve ser usado quando a avaliação separar qualidade do veículo da avaliação do permissionário.
  • A cooperativa da Trip pode registrar uma resposta oficial em cooperativeResponseMessage.
  • A resposta oficial é pública, direta e materializada na TripReview.
  • Conversa operacional privada continua em SupportCase com relatedTripReviewId.
  • Uma TripReview possui no máximo uma resposta oficial ativa; novas respostas substituem a anterior.
  • Moderação controla visibilidade de comentários e curadoria, sem apagar a avaliação.
  • Moderação deve preservar notas para análise interna, mesmo quando comentários públicos forem ocultados.
  • Estatísticas e tendências devem considerar moderationStatus, respondedAt, driverRating e transportOperatorRating.

Enums

TripReviewModerationStatus

Veja o fluxo de elegibilidade em Trip Review.

Example