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
| Campo | Tipo | Descrição |
|---|---|---|
promotionalRouteRuleId | UUID | Identificador único |
promotionalId | UUID | Promoção dona da regra |
organizationId | UUID | Organização da Company responsável pela promoção |
companyId | UUID | Company dona da promoção |
routeId | UUID | Rota exigida para aplicação da promoção |
applyTo | PromotionalRouteApplyTarget | Nível em que o desconto é aplicado |
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 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
ROUTEdeve ter exatamente uma PromotionalRouteRule ativa. routeIddeve apontar para uma Route existente e compatível com a mesmacompanyId.- A promoção só é elegível quando a compra contém ticket de uma Trip vinculada à Route informada em
routeId. applyTo = TICKETaplica o desconto somente nos tickets elegíveis da rota.applyTo = ORDERaplica o desconto no Order quando todos os critérios da rota forem atendidos.- O front pode usar
routeIdpara exibir a promoção em buscas daquela rota antes do checkout. createdBy,updatedByedeletedByseguem o padrão de auditoria do DEVMOB e registram o usuário responsável pela mutação, quando aplicável.
Enums
PromotionalRouteApplyTarget
| Valor | Descrição |
|---|---|
ORDER | Aplica o desconto no pedido |
TICKET | Aplica o desconto nos tickets elegíveis |