PromotionalLowDemandTimeRule representa a regra de validação para uma promoção do tipo LOW_DEMAND_TIME. Ela define janela de dia/horário, rota opcional e limite de ocupação para aplicar o desconto.
Campos
| Campo | Tipo | Descrição |
|---|---|---|
promotionalLowDemandTimeRuleId | 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, quando a regra é restrita a uma rota |
weekdays | Int[] | Dias da semana aceitos, de 0 a 6 |
startTime | String | Horário inicial aceito no formato HH:mm |
endTime | String | Horário final aceito no formato HH:mm |
maxOccupancyRateBps | Int? | Ocupação máxima permitida em basis points |
applyTo | PromotionalLowDemandTimeApplyTarget | 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, quando preenchido.
Regras de Negócio
- Deve existir apenas para Promotional com
type = LOW_DEMAND_TIME. - Cada Promotional
LOW_DEMAND_TIMEdeve ter exatamente uma PromotionalLowDemandTimeRule ativa. - Quando
routeIdestiver preenchido, a Trip do ticket deve pertencer à Route informada. weekdaysvalida o dia da semana da partida da Trip.startTimeeendTimevalidam o horário de partida da Trip.maxOccupancyRateBps, quando preenchido, valida a ocupação da Trip antes da aplicação do desconto.applyTo = TICKETaplica o desconto somente nos tickets elegíveis.applyTo = ORDERaplica o desconto no Order quando todos os critérios forem atendidos.- O front pode usar a janela de horário e rota para exibir a promoção em buscas elegíveis.
createdBy,updatedByedeletedByseguem o padrão de auditoria do DEVMOB e registram o usuário responsável pela mutação, quando aplicável.
Enums
PromotionalLowDemandTimeApplyTarget
| Valor | Descrição |
|---|---|
ORDER | Aplica o desconto no pedido |
TICKET | Aplica o desconto nos tickets elegíveis |