Open APIs

 View Only
  • 1.  TMF637 productPrice priceAlteration validFor property

    TM Forum Member
    Posted Mar 16, 2021 19:12
    Hi All,
    I was wondering if someone can tell me why TMF637 productPrice priceAlteration validFor property was removed from v19 of the TMF637 API, when it was present in v18 of the API?

    For Your Information
    v19 swagger: https://github.com/tmforum-apis/TMF637_ProductInventory/blob/master/TMF637-ProductInventory-v4.0.0.swagger.json
    v18 swagger: https://github.com/tmforum-apis/TMF637_ProductInventory/blob/master/Product_Inventory_Management.swagger.json

    This was a very useful field for defining the validity period of a discount or "special price", which I think should never have been removed.

    Is the intention for a PriceAlteration , that ProductOfferingPriceRef be always used as part of the price alteration, as it is only the ProductOfferingPrice data object that contains a validFor field?
    Thanks

    ------------------------------
    Richard Loo
    Telstra Corporation
    ------------------------------


  • 2.  RE: TMF637 productPrice priceAlteration validFor property

    TM Forum Member
    Posted Mar 17, 2021 08:50
    Hello Richard

    We introduced an applicationDuration attribute in the v4.0 for this purposed. This is the Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge).

    This is not related to the introduction of a link to ProductOfferingPriceRef. For me (but I'm not an expert on catalog API) the validFor in the ProductOfferingPriceRef i used to manage the validity itself of this entity.

    Hope it helps
    Ludovic


    ------------------------------
    Ludovic Robert
    Orange
    My answer are my own & don't represent necessarily my company or the TMF
    ------------------------------



  • 3.  RE: TMF637 productPrice priceAlteration validFor property

    TM Forum Member
    Posted Mar 17, 2021 18:13
    Thanks Ludovic,Thanks Matthieu,

    I fail to see how applicationDuration is an adequate substitute for a validFor period, as the applicationDuration does not have any reference to any start date/time in the product inventory price data. For example, how do you specify a priceAlteration that only applies for May 2021, when the product instance was instantiated in January 2019. Hence my opinion that theTMF637 productPrice priceAlteration validFor property should never have been removed still stands.

    ------------------------------
    Richard Loo
    Telstra Corporation
    ------------------------------



  • 4.  RE: TMF637 productPrice priceAlteration validFor property

    TM Forum Member
    Posted Mar 17, 2021 09:49
    +1 for Ludo's answer.

    ValidFor
    means:
    The period for which the price is valid.
    For instance, the price alterations could be:
    €22 for Q1
    €23 for Q2
    €25 for Q3
    It's particularly useful for absolute values. so you can keep in sync ProductOfferingPriceAlteration and ProductOfferingPrice

    while applicationDuration means:

    Specifies for a ProductOfferingPriceAlteration that impacts recurring ProductOfferingPrice the duration of application.

    Say, the price alteration has a duration of 3 months.
    In March, Customer buys the ProductOffering with a non discounted recurring ProductOfferingPrice of €46.

    it would pay this ProdOfferPrice 
    €22 in Mar
    €23 in Apr*
    €23 in May
    €46 thereafter

    * from April, the pricealteration goes up by €1

    PS: PriceAlteration are not necessarily discount, they could be the exact opposite (as per priceType LOV)

    ------------------------------
    Matthieu Hattab
    Altibox AS
    ------------------------------



  • 5.  RE: TMF637 productPrice priceAlteration validFor property

    TM Forum Member
    Posted 5 days ago

    Hi

    I created a JIRA to add the validFor : https://projects.tmforum.org/jira/browse/AP-6008 



    ------------------------------
    Olivier Arnaud
    Orange
    ------------------------------



  • 6.  RE: TMF637 productPrice priceAlteration validFor property

    TM Forum Member
    Posted 4 days ago
    Edited by Matthieu Hattab 4 days ago

    Olivier,

    I read the JIRA issue. it shows an example from TMF620 and application duration.

    If this helps, this is how we adjusted TMF637 and we us both applicationDuration and validFor for the priceAlteration sub-resource:
    (note that we don't use @schemaLocation, @type, @referredType and @baseType, so we removed them.)

    {
        "productPrice": [
            {
                "id": "47020611",
                "name": "AIB_BB_500",
                "priceType": "recurring",
                "recurringChargePeriod": "month",
                "price": {
                    "taxIncludedAmount": {
                        "value": 979,
                        "unit": "NOK"
                    }
                },
                "priceAlteration": [
                    {
                        "id": "47020602",
                        "name": "AIB_BB_500_FREE_OV",
                        "priceType": "recurring",
                        "recurringChargePeriod": "month",
                        "applicationDuration": {
                            "amount": 2,
                            "units": "Month"
                        },
                        "validFor": {
                            "startDateTime": "2024-02-07T09:47:52+01:00",
                            "endDateTime": "2024-05-07T09:47:52+02:00"
                        },
                        "priority": 1,
                        "price": {
                            "taxIncludedAmount": {
                                "value": -979,
                                "unit": "NOK"
                            }
                        }
                    }
                ]
            }
        ]
    }



  • 7.  RE: TMF637 productPrice priceAlteration validFor property

    TM Forum Member
    Posted 4 days ago

    and it could probably be called "duration" instead of "applicationDuration" which sounds odd and it would also be consistent with other "duration" attribute present in the API, for instance product terms:

    {
        "productTerm": [
            {
                "@type": "BindingPeriod",
                "@baseType": "#components/schemas/ProductTerm",
                "name": "BP_3_Months_Free",
                "duration": {
                    "amount": 12,
                    "units": "month"
                },
                "validFor": {
                    "startDateTime": "2024-02-07T09:47:52+01:00",
                    "endDateTime": "2025-02-07T09:47:51+01:00"
                }
            },
            {
                "@type": "PriceGuarantee",
                "@baseType": "#components/schemas/ProductTerm",
                "name": "PG_6_Months",
                "duration": {
                    "amount": 6,
                    "units": "month"
                },
                "validFor": {
                    "startDateTime": "2024-02-07T09:47:52+01:00",
                    "endDateTime": "2024-08-07T09:47:51+01:00"
                }
            }
        ]
    }


    ------------------------------
    Kind regards,

    Matthieu Hattab
    Lyse Platform
    ------------------------------