Open APIs

 View Only
  • 1.  Meaning of ProductOfferingPrice.policy

    TM Forum Member
    Posted Oct 08, 2025 15:00
    Edited by Peter Rajsky Oct 08, 2025 15:10

    Hi all,

    In GB922 there are two different relationships:

    1) ProductOfferingPriceGovernedBy - from ProductOffering to PolicySet

    2) ProductOfferActionResultsInProdOfferPrice - from ProductOfferAction (subclass if PolicyAction) to ProductOfferingPrice

    In TMF620 there are two different relationships:

    1) ProductOffering.policy

    2) ProductOfferingPrice.policy

    Both have very generic description: "A PolicyRef. The Policy resource represents a policy/rule applied to ..."

    What is exact meaning of ProductOfferingPrice.policy? Options:

    A) ProductOfferingPrice.policy specifies that this ProductOfferingPrice can be result of Policy (PolicyAction). It means this Policy is condition under which is this ProductOfferingPrice available to customer. But Policy is governed on ProductOffering level as in GB922 (using ProductOffering.policy)

    B) Or that this this policy is evaluated on this ProductOfferingPrice.

    I would prefer A, but it seems that Matthieu Hattab considers it B (Support for Different prices of same bundledProductOfferings in context of different Product Offerings | Open APIs).



    ------------------------------
    Peter Rajsky
    CGI Information Systems and Management Consultants Inc.
    ------------------------------



  • 2.  RE: Meaning of ProductOfferingPrice.policy

    TM Forum Member
    Posted Oct 09, 2025 03:26

    Hi,

    ProductOfferingPrice.policy is a reference to a policy Id.

    If you prices cannot be modelled in 620, then you have the possibility to model them outside the product catalogue as a "policy".

    that policy is authored in a PAP or BRM system. Tmforum suggests to use TMF723 to manage the policies.

    that policy has an id that you store in the product catalogue.



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

    Matthieu Hattab
    Digital Sales Domain Architect
    Lyse Tele AS
    ------------------------------



  • 3.  RE: Meaning of ProductOfferingPrice.policy

    TM Forum Member
    Posted Oct 09, 2025 12:49

    Thanks a lot for quick response.

    I understand the purpose of Policy, but I wanted to govern price on BundledProductOffering as specified in GB922. 

    But then I need to have some relationship/attribute to indicate that 0EUR price is not standard pricelist price, but "price override", which can be result of Policy "First 2 TV packs for free": 



    ------------------------------
    Peter Rajsky
    CGI Information Systems and Management Consultants Inc.
    ------------------------------



  • 4.  RE: Meaning of ProductOfferingPrice.policy

    TM Forum Member
    Posted Oct 10, 2025 10:13

    But Policy is governed on ProductOffering level as in GB922 (using ProductOffering.policy)

    You're posting in the OpenAPI community, so I answer from an API perspective (TMF620)

    Yes, you have ProductOffering.policyRef but policy is also on POP and PS to have more flexibility and repeatability.

    I don't see difference between your option A or B. Policy is agnostic to how you use the actions.

    the policyAction could say:

    add/don't add this pop to the cart (the price is that of the catalogue)

    add this pop to the cart and this is the amount (override the price from the catalogue)

    Just to be clear, the product catalogue is a resource API, not a task API. the catalogue exposes intents

    example: PO is sold in 20 regions. each regions has its own price. I have many options:

    • I could create 20 POs each with one POP and:
      • I add an (product eligibility) policy on each PO one per PO that will check that customer is eligible to buy this offer (based on where they live)
    • I could create 1 PO  with 20 POPs and:
      • I add one (price eligibility) policy to the PO to evaluate the correct POP
        • OR:
      • I add 20 policies, one per POP, to evaluate the correct POP
    • I could create 1 PO  with 1 POP and:
      • I add one (price calculation) policy to the PO or the POP to calculate the POP amount.

    (they are easier ways to model price per post code, the above is just for illustrating policies)

    Of course, the above can be completely different if the price alteration is for instance a discount, in which case, you may want to expose the "discount" as a separate POP.



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

    Matthieu Hattab
    Digital Sales Domain Architect
    Lyse Tele AS
    ------------------------------



  • 5.  RE: Meaning of ProductOfferingPrice.policy

    TM Forum Member
    Posted Oct 13, 2025 10:44

    Thanks again. Yes, I am interested in TMF620 API.

    Ad "Yes, you have ProductOffering.policyRef but policy is also on POP and PS to have more flexibility and repeatability."

    I get it. But what does it mean exactly? It means that this policy is governed on this level (PO, PS or POP), or? Probably nothing else. 

    As you say, PolicyAction (and PolicyCondition) can be anything.

    I want to govern it on PO level, so I will create reference PO.policyRef:

    Great. This is almost what I want!
    Only thing I miss is:
    How can I express that "POP - Included Price 0EUR" is not standard price (list price), but only result of PolicyAction "First 2 TV packs for free". It should NOT be applied without this policy action during offering.
    This is why I was looking for some relationship "resultOfPolicy" from POP to Policy. But probably I can use generic POP.policyRef also for this purpose.


    ------------------------------
    Peter Rajsky
    CGI Information Systems and Management Consultants Inc.
    ------------------------------



  • 6.  RE: Meaning of ProductOfferingPrice.policy

    TM Forum Member
    Posted Oct 14, 2025 04:21
    Edited by Matthieu Hattab Oct 14, 2025 06:56

    hi,

    This is why I was looking for some relationship "resultOfPolicy" from POP to Policy.

    There is no such thing in the APIs. Also policy don't have a "result" managed entity. result are never persistent.

    1. TMF0027 (Product Configurator) is the PDP (Policy Decision Point) that will:
      1. get the policy id from TNF620
      2. get the policy expression (conditions, actions etc) from TMF723
      3. compute the policy (evaluate condition, apply actions)
      4. in the strict case of a "price" policy:
        1. use the policy-computed price on the POP that is affected by the policy
        2. expose the POP and its computed price via TMF679 or TMF760

    Notes:

    1. TMF620 and TMF723 are resource APIs
    2. TMF679 and TMF760 are task APIs

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

    Matthieu Hattab
    Digital Sales Domain Architect
    Lyse Tele AS
    ------------------------------