Skip to main content
O PromotionalRouteRule representa a regra de validação para uma promoção do tipo ROUTE. Ela guarda a FK da Route que precisa ser validada antes de aplicar o desconto.

Campos

CampoTipoDescrição
promotionalRouteRuleIdUUIDIdentificador único
promotionalIdUUIDPromoção dona da regra
organizationIdUUIDOrganização da Company responsável pela promoção
companyIdUUIDCompany dona da promoção
routeIdUUIDRota exigida para aplicação da promoção
applyToPromotionalRouteApplyTargetNível em que o desconto é aplicado
createdByUUID?Usuário que criou o registro, quando aplicável
createdAtDateTimeData de criação
updatedByUUID?Usuário que fez a última atualização, quando aplicável
updatedAtDateTimeData da última atualização
deletedByUUID?Usuário que removeu o registro, quando aplicável
deletedAtDateTime?Data de remoção lógica

Relacionamentos

  • Relaciona-se com Promotional por promotionalId.
  • Relaciona-se com Company por companyId.
  • Relaciona-se com Route por routeId.

Regras de Negócio

  • Deve existir apenas para Promotional com type = ROUTE.
  • Cada Promotional ROUTE deve ter exatamente uma PromotionalRouteRule ativa.
  • routeId deve apontar para uma Route existente e compatível com a mesma companyId.
  • A promoção só é elegível quando a compra contém ticket de uma Trip vinculada à Route informada em routeId.
  • applyTo = TICKET aplica o desconto somente nos tickets elegíveis da rota.
  • applyTo = ORDER aplica o desconto no Order quando todos os critérios da rota forem atendidos.
  • O front pode usar routeId para exibir a promoção em buscas daquela rota antes do checkout.
  • createdBy, updatedBy e deletedBy seguem o padrão de auditoria do DEVMOB e registram o usuário responsável pela mutação, quando aplicável.

Enums

PromotionalRouteApplyTarget

ValorDescrição
ORDERAplica o desconto no pedido
TICKETAplica o desconto nos tickets elegíveis

Example

{
  "promotionalRouteRuleId": "0197f7c1-9ef8-75c8-850f-fd412ac3a159",
  "promotionalId": "0197f7c0-55de-7b18-9073-c7d7c8c9a441",
  "organizationId": "0197a801-1690-7590-b3cf-19599b9be3e4",
  "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
  "routeId": "0197a80c-4204-7b77-9005-48cc23677587",
  "applyTo": "TICKET",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-04T15:05:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-04T15:05:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}