Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Early-bird" and "last-minute" pricing for products #1052

Open
4 tasks
NamFra opened this issue Feb 12, 2025 · 0 comments
Open
4 tasks

"Early-bird" and "last-minute" pricing for products #1052

NamFra opened this issue Feb 12, 2025 · 0 comments
Labels

Comments

@NamFra
Copy link

NamFra commented Feb 12, 2025

Feature Request

Is your feature request related to a problem or unsupported use case? Please describe.

Currently, there is no way to dynamically adjust product prices based on temporary offers, such as "early-bird" or "last-minute" discounts. This limitation affects the implementation of flexible pricing strategies.

Describe the solution you'd like

Introduce a feature in Joanie to manage temporary discounts with:

  • Configurable discounts (fixed amount or percentage)
  • Validity period (specific dates or duration)
  • Automatic return to standard pricing after expiration
  • Dynamic display of active discounts on Richie
  • Accurate reflection on payment schedules and contracts

Describe alternatives you've considered

  • Manually creating separate products for standard and discounted prices (impractical and not scalable).
  • Manually applying promo codes, which does not automate price adjustments or conditional display.
  • Preventing the risk of overlapping or incorrect application of discounts (parallel development of promo codes).

Discovery, Documentation, Adoption, Migration Strategy

The chosen solution is to create a Discount object that will be linked to a product's OrderGroup (#1055).
In the future, this object could be linked to a discount code, which would allow for parallel development of this feature (see #1019 and #1031).

Tasks:

  • Add fields in Joanie's OrderGroup to configure the discount type, value, and validity period.
  • Develop a front-end integration on Richie to display dynamic offers (e.g., "Offer valid until X" - Enhance course product widget to display discounted prices richie#2584).
  • Integrate discount information into CSV exports or order views (e.g., "Discount type: early-bird").
  • Test and validate discount functionality across all use cases, including:
    • Correct application of discounts (early-bird, last-minute) on product pages
    • Accurate display on Richie, including validity periods and countdowns (if requested)
    • Proper reflection of discounted prices in payment schedules and contracts
    • CSV export accuracy

Additional Considerations:

  • Evaluate the need to limit the number of available discounted seats (e.g., X early-bird enrollments).
  • Ensure compatibility with free enrollments outside the discount period (100% coupons).
  • In the future, consider extending this feature to certificates: Richie display and Joanie product integration (with ✨(courses) add offer and price fields to courseRun richie#2549 ?).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant