Projet

Général

Profil

Development #67675

Tarification - pouvoir calculer un tarif indépendamment d'un event (mode forfait/adhésion)

Ajouté par Lauréline Guérin il y a presque 2 ans. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
25 juillet 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Besoin: calculer un forfait ou une adhésion.

Actuellement, la tarification ne se fait qu'a posteriori, selon un pointage, sur un event particulier.
Pour le forfait et ou l'adhésion, on a besoin de pouvoir calculer un tarif indépendamment d'un event et d'un pointage.

Pouvoir préciser sur une grille tarifaire, que cette grille est forfaitaire.
(sur la grille, et non sur le modèle de grille !)

Permettre d'avoir une grille tarifaire normale et une grille forfaitaire sur un agenda avec des périodes qui se chevauchent.

Pouvoir paramétrer des dates de facturation: une date, un label
Exemple: date=01/01/2023, label=Trimestre 1 2023
La date est un déclencheur: une fois qu'elle est passée, on doit facturer.
Elle peut servir d'identifiant pour la ligne de facturation.
Le label permet d'afficher un truc userfriendly dans la facture.

Pour le calcul d'un tarif:
  • mode normal (calcul du tarif d'un event), ne chercher que parmi les grilles tarifaires normales.
  • mode forfaitaire, ne chercher que parmi les grilles tarifaires forfaitaires.
  • mode forfaitaire, prévoir un débrayage de la recherche de la subscription (adhésion: on n'a pas forcément de subscribed)
Techniquement:
  • Ajouter un bool au model AgendaPricing pour préciser que la grille est forfaitaire ou non
  • Ajouter un bool au model AgendaPricing pour préciser si on checke la subscription ou non (si activé, pas de rattachement à un agenda possible)
  • Ajouter une liste de dates de facturation (nouveau model avec une FK vers AgendaPricing, un champ date, un champ label)
  • Lors de l'ajout d'un agenda à une grille tarifaire, ne checker l'overlaps que sur les grilles de cet agenda avec le meme bool "forfaitaire"
  • Adapter la méthode de calcul de tarif
  • Adapter l'outil de test
  • Adapter le endpoint de calcul de tarif
    • Ajouter un param agenda (mode où on va checker la subscription)
    • Ajouter un param agenda_pricing (mode où on ne checke pas la subscription)
    • Les params slots, agenda, agenda_pricing sont exclusifs
  • Pour les modes agenda et agenda_pricing, on a besoin d'une date, pour trouver le bon QF. Prendre la date de début de période.

Fichiers

0001-pricing-update-model-for-flat-fee-schedule-mode-6767.patch (4,19 ko) 0001-pricing-update-model-for-flat-fee-schedule-mode-6767.patch Lauréline Guérin, 29 juillet 2022 21:57
0002-pricing-export-import-agenda-pricing-with-billing-da.patch (4,89 ko) 0002-pricing-export-import-agenda-pricing-with-billing-da.patch Lauréline Guérin, 29 juillet 2022 21:57
0003-pricing-flat-fee-schedule-configuration-67675.patch (7,11 ko) 0003-pricing-flat-fee-schedule-configuration-67675.patch Lauréline Guérin, 29 juillet 2022 21:57
0004-pricing-agendas-not-linkable-if-subscription-not-req.patch (6,56 ko) 0004-pricing-agendas-not-linkable-if-subscription-not-req.patch Lauréline Guérin, 29 juillet 2022 21:57
0005-pricing-flat-fee-schedule-overlapping-67675.patch (12,3 ko) 0005-pricing-flat-fee-schedule-overlapping-67675.patch Lauréline Guérin, 29 juillet 2022 21:57
0006-pricing-split-agenda-pricing-list-67675.patch (2,7 ko) 0006-pricing-split-agenda-pricing-list-67675.patch Lauréline Guérin, 29 juillet 2022 21:57
0007-pricing-billing-date-views-67675.patch (23 ko) 0007-pricing-billing-date-views-67675.patch Lauréline Guérin, 29 juillet 2022 22:03
0008-pricing-rename-rewrite-get_pricing_data-method-67675.patch (20,5 ko) 0008-pricing-rename-rewrite-get_pricing_data-method-67675.patch Lauréline Guérin, 29 juillet 2022 22:03
0009-pricing-new-method-get_pricing_data-for-flat_fee_sch.patch (3,39 ko) 0009-pricing-new-method-get_pricing_data-for-flat_fee_sch.patch Lauréline Guérin, 29 juillet 2022 22:03
0010-pricing-add-an-agenda-selector-in-test-tool-67675.patch (8,91 ko) 0010-pricing-add-an-agenda-selector-in-test-tool-67675.patch Lauréline Guérin, 29 juillet 2022 22:03
0011-pricing-adapt-test-tool-for-flat-fee-schedule-mode-6.patch (20,5 ko) 0011-pricing-adapt-test-tool-for-flat-fee-schedule-mode-6.patch Lauréline Guérin, 29 juillet 2022 22:03
0012-pricing-always-pass-a-pricing_date-in-context-67675.patch (5,46 ko) 0012-pricing-always-pass-a-pricing_date-in-context-67675.patch Lauréline Guérin, 29 juillet 2022 22:03
0013-pricing-adapt-get_agenda_pricing-method-for-flat-fee.patch (6,17 ko) 0013-pricing-adapt-get_agenda_pricing-method-for-flat-fee.patch Lauréline Guérin, 29 juillet 2022 22:03
0014-api-endpoint-to-get-pricing-data-for-flat-fee-schedu.patch (32,8 ko) 0014-api-endpoint-to-get-pricing-data-for-flat-fee-schedu.patch Lauréline Guérin, 29 juillet 2022 22:03

Révisions associées

Révision 23f5f70a (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: update model for flat fee schedule mode (#67675)

Révision fd540264 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: export/import agenda pricing with billing dates (#67675)

Révision caa584d9 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: flat fee schedule configuration (#67675)

Révision e3130958 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: agendas not linkable if subscription not required (#67675)

Révision a1eff5cb (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: flat fee schedule & overlapping (#67675)

Révision a179e2c0 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: split agenda pricing list (#67675)

Révision fc7dc98b (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: billing date views (#67675)

Révision 5d436273 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: rename & rewrite get_pricing_data method (#67675)

renamed into get_pricing_data_for_event, to prepare flat_fee_schedule
mode

Révision 35c27548 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: new method get_pricing_data for flat_fee_schedule mode (#67675)

Révision 9531507e (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: add an agenda selector in test tool (#67675)

Révision bbe4dce2 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: adapt test tool for flat fee schedule mode (#67675)

Révision 83684c38 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: always pass a pricing_date in context (#67675)

to be able to get the correct QF value

Révision f0503f91 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

pricing: adapt get_agenda_pricing method for flat fee schedule mode (#67675)

Révision 2cae1d52 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

api: endpoint to get pricing data for flat fee schedule mode (#67675)

Historique

#1

Mis à jour par Lauréline Guérin il y a presque 2 ans

  • Description mis à jour (diff)
#3

Mis à jour par Lauréline Guérin il y a plus d'un an

0001: update de model
0002: import/export avec les dates de facturations
0003: configuration du mode forfaitaire (UI/forms)
0004: si subscription_required est décoché, impossible de linker des agendas à une grille tarifaire
0005: overlaping des grilles tarifaires, uniquement pour des grilles tarifaires du même type (normal/forfaitaire)
0006: listing des grilles tarifaires, 2 listes: normales et forfaitaires

#4

Mis à jour par Lauréline Guérin il y a plus d'un an

0007: de quoi éditer les dates de facturation (UI)
0008: petit refacto pour préparer la méthode de calcul d'un tarif pour une grille forfaitaire
0009: la nouvelle méthode de calcul pour une grille forfaitaire
0010: outil de test, select d'agenda (que j'avais la flemme de faire dans #67196)
0011: outil de test avec le mode forfaitaire
0012: ajout d'une date de dans le contexte d'évaluation des critères
(pour le calcul du QF: c'est la date de l'event pour le mode normal, la date de facturation pour le mode forfaitaire)
0013: reprise de la méthode get_agenda_pricing (utilisée dans l'API) pour prendre en compte le mode forfaitaire
0014: adaptation du endpoint de calcul de tarif (#66354) pour le mode forfaitaire

branche basée sur #66354

#5

Mis à jour par Frédéric Péters il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée

Go tout ça.

#6

Mis à jour par Lauréline Guérin il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit f90bf991a356d03bacff9a0bd883b400789c0578
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Mon Aug 8 09:24:32 2022 +0200

    tests: drf default authentication class

commit 2cae1d52c5e73fe97705de86428026b1e4efac35
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Fri Jul 29 18:18:05 2022 +0200

    api: endpoint to get pricing data for flat fee schedule mode (#67675)

commit f0503f9190739e640ca337cde270d8590ea84df9
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Fri Jul 29 15:23:42 2022 +0200

    pricing: adapt get_agenda_pricing method for flat fee schedule mode (#67675)

commit 83684c38995d1f9653cfd763d38cc29a592d9d3f
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Thu Jul 28 16:34:53 2022 +0200

    pricing: always pass a pricing_date in context (#67675)

    to be able to get the correct QF value

commit bbe4dce2cf47c3eb1cfde6fcea6d7688ff5d2b66
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Thu Jul 28 16:24:13 2022 +0200

    pricing: adapt test tool for flat fee schedule mode (#67675)

commit 9531507e124e2e592de4bf2bc9749cc59a1c4834
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Thu Jul 28 11:36:04 2022 +0200

    pricing: add an agenda selector in test tool (#67675)

commit 35c27548df61c6105ff479c123d073cb11d1889b
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Thu Jul 28 10:46:22 2022 +0200

    pricing: new method get_pricing_data for flat_fee_schedule mode (#67675)

commit 5d43627364d0c1d0201d2d396b2ed35024256ef2
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Thu Jul 28 10:36:42 2022 +0200

    pricing: rename & rewrite get_pricing_data method (#67675)

    renamed into get_pricing_data_for_event, to prepare flat_fee_schedule
    mode

commit fc7dc98b1f54b6ffaa293840be49d21c32c54f19
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Tue Jul 26 15:55:17 2022 +0200

    pricing: billing date views (#67675)

commit a179e2c0ff7d371a346f723635538e255edb30bb
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Tue Jul 26 11:01:43 2022 +0200

    pricing: split agenda pricing list (#67675)

commit a1eff5cb917e69f8b441c3367c1514053e3fbc4e
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Tue Jul 26 10:45:05 2022 +0200

    pricing: flat fee schedule & overlapping (#67675)

commit e313095863b0c50a58d6673836051844af8b8d27
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Tue Jul 26 09:26:29 2022 +0200

    pricing: agendas not linkable if subscription not required (#67675)

commit caa584d998bebbbc7f98a04aa00ec5c48a6ae73a
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Mon Jul 25 16:50:52 2022 +0200

    pricing: flat fee schedule configuration (#67675)

commit fd54026499cb84a87fd3ef227d8db63fdaba7f10
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Mon Jul 25 15:51:49 2022 +0200

    pricing: export/import agenda pricing with billing dates (#67675)

commit 23f5f70a8a7529c1cadc219966274427ac10ca35
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Mon Jul 25 15:25:31 2022 +0200

    pricing: update model for flat fee schedule mode (#67675)
#7

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#8

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF