Règles de priorité
Conception du modèle Priority
Une règle de priorité :
- Est le modèle parent du module, il sert à configurer les priorités de vente
- Génère des
PriorityItemquand elle est attribuée à un contact. - Sert aussi à gérer les limites/l'état global (états, ouverture ...)
classDiagram
class Priority {
+bigint club_id
+bigint saison_id
+bigint id
+int status
+int priority_type
+int target_type
+int articles_count
}
Priority "0..n" <--> "0..n" FiliereVente
Priority "0..n" <--> "0..n" CategoriePublic
Priority "1" <--> "0..n" PriorityDisponibility
Priority "0..n" <--> "0..n" TemplateArticleEvent
Priority "0..n" <--> "0..n" Event
Priority "0..n" <--> "0..n" Formule
Priority "0..n" <--> "1" PriorityItem
Statut et type
-
Statut
status:draft: état brouillon, ignoré dans les jobsactive: état actif, utilisé dans les jobs, limité par club si automatiqueinactive: état archivé, équivalent à un soft delete mais toujours visible dans les listes
-
Type
priority_type:with_place: Verrouille une placewithout_place: Ne verrouille pas de place
-
Type de portée
target_type:events: Cible un ou plusieursTemplateArticleEventet un ou plusieursEvent=> On démultiplie les disponibilités pour chaque events.formules: Cible une ou plusieursFormules=> une seule disponibilité globalebundles: Cible les pass, à déterminer.
Nombre d'articles
articles_count : Défini le nombre d'articles auxquels pes PriorityItems donnent droit.
Si la règle bloque des places, alors articles_count est forcément 1. Sinon articles_count >= 1.
Disponibilités PriorityDisponibility
Modèle servant à la gestion des ouvertures des priorités à la vente. Pour chaque règle, on a une
disponibilité par couple [FiliereVente, CategoriePublic].
Pour le fonctionnement général, cf ArticleDisponibilite.
Portée
Ensemble de filtres déterminant les produits rendus accessibles par les priorités de vente (PriorityItem) générés.
Priorités de vente.
Modèle enfant des règles.
Attribution
- Selon la valeur de
priority_type, deux modes d'attribution : - Si
with_place: attribution manuelle => choix d'un contact et de sa place. - Si
without_place: attribution en bulk, sous le même format que les packs de coupons.
Pour le cas without_place, on peut soit choisir une liste de contacts à la main, soit une ListeContact.
Question : On garde le système semi-automatique des TemplatePackcoupon? Cela risque d'entrer en concurrence avec le
futur module d'automatisation. Suggestion : lors d'une attribution, permettre ou non les doublons afin de pouvoir
réutiliser des listes + Ajouter dès le début la gestion par contact des PriorityItem.
Autres règles et observations
- Pour le moment, pas d'édition de règle une fois cette dernière activée.
- Évolution des tarifs : possibilité de définir, pour un groupe de tarif, s'il est disponible, ou non, pour les ventes en priorité ?