Hi,
I always assumed what I have always seen in the past (crm, billing, campaign tools): start and end were always inclusive.
GB922 ("Common") does have 2 sections describing Allen's interval algebra to descrive temporal relations and RFC 2445 for iCalendar.
Figure BT.02 – I01 Point – Interval Relations
Figure BT.03 – I02 Interval – Interval Relations 👈 this!
the Algebra suggests that that the intervals are half-open [start, end) to avoid overlaps (they would share a boundary instant).
which is not what I have used so far.
say I have 2 promotions running on day 1 and day 2, promotions cannot be active at the same time (no overlap):
| Promo 1 |
Promo 2 |
|
Start = 01/01/2000 00:00
|
Start = 02/01/2000 00:00 |
| end = 01/01/2000 23:59 |
end = 02/01/2000 23:59 |
If a system doesn't support date-time but just date, it would be:
| Promo 1 |
Promo 2 |
|
Start = 01/01/2000
|
Start = 02/01/2000 |
| end = 01/01/2000 |
end = 02/01/2000 |
If we use half-open intervals as GB922 suggests, my promo dates would look weird:
| Promo 1 |
Promo 2 |
|
Start = 01/01/2000 (included)
|
Start = 02/01/2000 (included) |
| end = 02/01/2000 (excluded) |
end = 03/01/2000 (excluded) |
but my software don't leave me a choice, the end date is always included and I won't change TMF API to show a different end date than what I see in my CRM, BSS, Campaign tool.
TMF OAS files I use (mostly core commerce APIs) do not spell out boundary semantics either. Given the ambiguity, it looks like we should document a house rule.
Let's wait for an official statement from TM Forum
------------------------------
Kind regards,
Matthieu Hattab
Digital Sales Domain Architect
Lyse Tele AS
------------------------------