Open APIs

 View Only
  • 1.  ProductSpecificationCharacteristicValueUse for PO and for POP

    TM Forum Member
    Posted Jul 06, 2023 11:46
    Edited by Matthieu Hattab Jul 07, 2023 04:29
    Hi,
     
    In TMF620 the prodSpecCharValueUse relationship is used for both Product offering (PO) and product offering price (POP).
     
    Its definition for PO  (page 32) makes sense:
     
    "A use of the ProductSpecificationCharacteristicValue by a ProductOffering to which additional properties (attributes) apply or override the properties of similar properties contained in ProductSpecificationCharacteristicValue.[...] For example, a characteristic 'Color' might have values White, Blue, Green, and Red. But, the list of values can be restricted to e.g. White and Blue in an associated product offering."
     
    But the same sub-resource name and defition is used with POP (page 45)
    But I understand the purpose of xxxValueUse entity, when connected to a POP, should be used associate a price with 1...n  characteristic/characteristic Value. It's not about restricting a list of values.
    Shouldn't we have 2 separate xxxxxValueUse sub-resources, one  for PO and one for POP?
    say I have a handset product spec and the characteristic "colour" has 12 values (Yellow... Gold)
    Say, marketing creates a new offer related to the handset PS whith a price of €500. But the colour gold carries an extra charge of €50 (cost of handset in gold is €550)
    this offer is only available in 4 colours: Green, Yellow, orange and Gold
    Get productoffering should return me this payload which includes acceptable char values:
    [
        {
            "@type": "ProductOffering",
            "name": "Handset ABC",
            "prodSpecCharValueUse": [
                {
                    "@type": "ProductSpecificationCharacteristicValueUse",
                    "name": "colour",
                    "productSpecCharacteristicValue": [
                        {
                            "value": "Green"
                        },
                        {
                            "value": "Yellow"
                        },
                        {
                            "value": "Orange"
                        },
                        {
                            "value": "Gold"
                        }
                    ],
                    "productSpecification": {
                        "@type": "ProductSpecificationRef",
                        "name": "handset PS"
                    }
                }
            ],
            "productOfferingPrice": [
                {
                    "id": "POP1",
                    "name": "one-time price for Handset ABC"
                },
                {
                    "id": "POP2",
                    "name": "one-time price for Handset ABC in Gold"
                }
            ]
        }
    ]
    Then I can get my 2 prices:
    [
        {
            "@type": "ProductOfferingPrice",
            "Id": "POP1",
            "name": "one-time price for Handset ABC",
            "popRelationship": []
            "price": {
                "unit": "EUR",
                "value": 500
            },
            "prodSpecCharValueUse": [
            ]
        }
    ]
    2nd price:
    [
        {
            "@type": "ProductOfferingPrice",
            "Id": "POP2",
            "name": "one-time price for Handset ABC",
            "popRelationship": [
                {
                    "id": "POP1",
                    "relationshipType": "overrides"
                }
            ],
            "price": {
                "unit": "EUR",
                "value": 550
            },
            "prodSpecCharValueUse": [
                {
                    "name": "colour",
                    "productSpecCharacteristicValue": [
                        {
                            "value": "Gold"
                        }
                    ],
                    "productSpecification": {
                        "name": "handset PS"
                    }
                }
            ]
        }
    ]
    This would work if POP uses a different relationship (prodSpecCharValueUse) and  sub-resource (ProductSpecificationCharacteristicValueUse) than the PO's



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

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



  • 2.  RE: ProductSpecificationCharacteristicValueUse for PO and for POP

    TM Forum Member
    Posted Jul 09, 2023 04:44

    Not sure I understand the problem, Matthieu

    ProdSpecCharValueUse is an embedded entity (by value), it's not shareable. So it's up to you when authoring your POs and POPs to provide correct implementation of PSCVU based on the underlying PS that you are selling via the POs and pricing via the POPs.

    Hope it helps



    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
    ------------------------------



  • 3.  RE: ProductSpecificationCharacteristicValueUse for PO and for POP

    TM Forum Member
    Posted 21 days ago

    Hi,

    ProdSpecCharValueUse should be embedded by value in PO and should be reference in POP to ensure POP is aligned with PO.

    POP can also be embedded in PO in which case the above makes even more sense. Plan to use this approach. Hope I am not missing anything..

    Appreciate inputs.

    Thank you



    ------------------------------
    Srinivasa Vellanki
    Jio Platforms Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of my employer or TM Forum.
    ------------------------------



  • 4.  RE: ProductSpecificationCharacteristicValueUse for PO and for POP

    TM Forum Member
    Posted 21 days ago

    "embedded by value in PO" vs "reference in POP"

    can you provide example? I don't understand.



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

    Matthieu Hattab
    Lyse Tele AS
    ------------------------------