Reviewers (PortaOne-18348):
- PM
- Dev
- QA
- PO
- TW
User Story
As a Communication Service Provider, I need the possibility to assign several Sales discounts whose periods overlap on the same commitment — where any shared day, including a day on which one discount's period ends and another's begins, applies all overlapping discounts together — so that I can combine stacked promotional offers (for example a general onboarding discount and a shorter seasonal top-up) over the same period and bind customers to long-term commitments without having to split or manually merge the offers.
Current Solution
Currently, it's not possible to configure overlapping sales discounts because of the validation on the back-end side implemented in BA-44107 for MR125-3 and higher.
Use Cases
Use case #1: Assigning Sales discounts with overlapping periods
Roles: Administrator, CRM System, call center operator.
Preconditions: Customers are offered with additional discounts during Commitment signing. Monthly billing periods are used in scenarios.
Use scenario #1.7 Assigning Sales discounts with overlapping periods
Continued after: the packages and preconditions of Use case #1. Monthly billing periods are used. An overlap is any case where the [start date; end date] period of one Sales discount overlaps the period of another, including the case when one period ends exactly on the day the other begins (e.g. a discount for 01.08 - 10.08 and a discount for 10.08 - 20.08 overlap on 10.08). On every overlapping day all overlapping Sales discounts are applied together (summed).
- Customer John Smith signs a commitment for 24 months for period 02.06.2019 - 02.06.2021 for 'TV: 78 basic channels' package.
- On signing the commitment John Smith is offered two Sales discounts for the service fee whose periods overlap:
- Discount A: 6.00 EUR/month for period 02.06.2019 - 01.09.2019 (3 months).
- Discount B: 4.00 EUR/month for period 02.08.2019 - 01.11.2019 (3 months).
- The periods of Discount A and Discount B overlap for the window 02.08.2019 - 01.09.2019. On every day of this window both discounts are applied to the service fee and their amounts are summed.
- Starting from 02.06.2019 John Smith starts using service and fees start to be applied from this date to him.
- On 01.07.2019 monthly charges are calculated and applied to the balance of John Smith.
- On 01.07.2019 invoice for June is generated. Only Discount A is active in June (Discount B starts on 02.08.2019):
| Name | Fee, EUR | Commitment discount | Fee with commitment discount | Sale discount A (02.06.2019 - 01.09.2019) | Sale discount B (02.08.2019 - 01.11.2019) | Total amount due |
|---|---|---|---|---|---|---|
| Service fee | 16 EUR / 30 days * 29 days = 15.47 EUR (29 days in June 2019) | -2.42 EUR (15.47 EUR - 13.05 EUR) | 13.05 EUR | -6.00 EUR / 30 days * 29 days = 5.80 EUR (29 days: 02.06.2019 - 30.06.2019) | - | 7.25 EUR |
| Rent fee | 3 EUR / 30 days * 29 days = 2.90 EUR | -0.97 EUR (2.90 EUR - 1.93 EUR) | 1.93 EUR | - | - | 1.93 EUR |
| Device fee | 400 EUR | -399.99 EUR | 0.01 EUR | - | - | 0.01 EUR |
| Set-up fee | 50 EUR | -45 EUR | 5 EUR | - | - | 5 EUR |
| Total | 14.19 EUR | |||||
- John Smith pays invoice and continues using service.
- On 01.08.2019 invoice for July is generated. Only Discount A is active for the whole month (service fee 13.50 EUR - 6.00 EUR = 7.50 EUR, rent fee 2 EUR). John pays it.
- 02.08.2019 is the first day of Discount B. From 02.08.2019 to 01.09.2019 both Discount A and Discount B are applied to the service fee.
- On 01.09.2019 monthly charges are calculated and applied to the balance of John Smith.
- On 01.09.2019 invoice for August is generated. In August Discount A is applied for all 31 days (01.08 - 31.08); Discount B is applied for 30 days (02.08 - 31.08). Both discounts are applied together on the overlapping days:
| Name | Fee, EUR | Commitment discount | Fee with commitment discount | Sale discount A (02.06.2019 - 01.09.2019) | Sale discount B (02.08.2019 - 01.11.2019) | Total amount due |
|---|---|---|---|---|---|---|
| Service fee | 16 EUR | -2.50 EUR (16 EUR - 13.50 EUR) | 13.50 EUR | -6.00 EUR / 31 days * 31 days = 6.00 EUR (31 days: 01.08.2019 - 31.08.2019) | -4.00 EUR / 31 days * 30 days = 3.87 EUR (30 days: 02.08.2019 - 31.08.2019) | 3.63 EUR |
| Rent fee | 3 EUR | -1 EUR (3 EUR - 2 EUR) | 2 EUR | - | - | 2 EUR |
| Total | 5.63 EUR | |||||
- John Smith pays invoice and continues using service.
- 01.09.2019 is the last day of Discount A. This day also belongs to the period of Discount B (which runs until 01.11.2019), so 01.09.2019 is a shared boundary day on which both discounts are applied - this is an overlap according to the customer's definition. Starting from 02.09.2019 only Discount B remains active for the service fee.
- On 01.10.2019 invoice for September is generated. Discount A is applied only for 1 day (01.09.2019); Discount B is applied for all 30 days of September:
| Name | Fee, EUR | Commitment discount | Fee with commitment discount | Sale discount A (02.06.2019 - 01.09.2019) | Sale discount B (02.08.2019 - 01.11.2019) | Total amount due |
|---|---|---|---|---|---|---|
| Service fee | 16 EUR | -2.50 EUR (16 EUR - 13.50 EUR) | 13.50 EUR | -6.00 EUR / 30 days * 1 day = 0.20 EUR where 1 day is 01.09.2019 (shared with Discount B) | -4.00 EUR / 30 days * 30 days = 4.00 EUR (30 days: 01.09.2019 - 30.09.2019) | 9.30 EUR |
| Rent fee | 3 EUR | -1 EUR (3 EUR - 2 EUR) | 2 EUR | - | - | 2 EUR |
| Total | 11.30 EUR | |||||
- John Smith pays invoice and continues using service. Starting from 02.11.2019 no Sales discount is applied for the service fee.