TM Forum productOffering API

Operations for ProductOffering Resource

Operations 5

GET /productOffering TM Forum List or Find ProductOffering Objects #
POST /productOffering TM Forum Creates a ProductOffering #
GET /productOffering/{id} TM Forum Retrieves a ProductOffering by ID #
PATCH /productOffering/{id} TM Forum Updates Partially a ProductOffering #
DELETE /productOffering/{id} TM Forum Deletes a ProductOffering #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tm-forum-productoffering-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tm-forum-productoffering-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Product Catalog Management Product Offering API
  description: "Product Catalog API is one of Catalog Management API Family. Product Catalog API goal is to provide a catalog of products. \n### Operations\nProduct Catalog API performs the following operations on the resources :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity\n- Manage notification of events"
  version: 5.0.0
servers:
- url: https://serverRoot/productCatalogManagement/v5/
tags:
- name: productOffering
  description: Operations for ProductOffering Resource
paths:
  /productOffering:
    get:
      tags:
      - productOffering
      summary: TM Forum List or Find ProductOffering Objects
      description: List or find ProductOffering objects
      operationId: listProductOffering
      parameters:
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          $ref: '#/components/responses/200ProductOfferingArray'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '500':
          $ref: '#/components/responses/500'
        '501':
          $ref: '#/components/responses/501'
        '503':
          $ref: '#/components/responses/503'
    post:
      tags:
      - productOffering
      summary: TM Forum Creates a ProductOffering
      description: This operation creates a ProductOffering entity.
      operationId: createProductOffering
      parameters:
      - $ref: '#/components/parameters/Fields'
      requestBody:
        $ref: '#/components/requestBodies/ProductOffering_FVO'
      responses:
        '201':
          $ref: '#/components/responses/201ProductOffering'
        '202':
          description: Accepted
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '409':
          $ref: '#/components/responses/409'
        '500':
          $ref: '#/components/responses/500'
        '501':
          $ref: '#/components/responses/501'
        '503':
          $ref: '#/components/responses/503'
  /productOffering/{id}:
    get:
      tags:
      - productOffering
      summary: TM Forum Retrieves a ProductOffering by ID
      description: This operation retrieves a ProductOffering entity. Attribute selection enabled for all first level attributes.
      operationId: retrieveProductOffering
      parameters:
      - $ref: '#/components/parameters/Id'
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          $ref: '#/components/responses/200ProductOffering_Get'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '500':
          $ref: '#/components/responses/500'
        '501':
          $ref: '#/components/responses/501'
        '503':
          $ref: '#/components/responses/503'
    patch:
      tags:
      - productOffering
      summary: TM Forum Updates Partially a ProductOffering
      description: This operation updates partially a ProductOffering entity.
      operationId: patchProductOffering
      parameters:
      - $ref: '#/components/parameters/Id'
      - $ref: '#/components/parameters/Fields'
      requestBody:
        $ref: '#/components/requestBodies/ProductOffering_MVO'
      responses:
        '200':
          $ref: '#/components/responses/200ProductOffering_Patch'
        '202':
          description: Accepted
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '409':
          $ref: '#/components/responses/409'
        '500':
          $ref: '#/components/responses/500'
        '501':
          $ref: '#/components/responses/501'
        '503':
          $ref: '#/components/responses/503'
    delete:
      tags:
      - productOffering
      summary: TM Forum Deletes a ProductOffering
      description: This operation deletes a ProductOffering entity.
      operationId: deleteProductOffering
      parameters:
      - $ref: '#/components/parameters/Id'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '409':
          $ref: '#/components/responses/409'
        '500':
          $ref: '#/components/responses/500'
        '501':
          $ref: '#/components/responses/501'
        '503':
          $ref: '#/components/responses/503'
components:
  schemas:
    ProductOfferingRef:
      allOf:
      - $ref: '#/components/schemas/EntityRef'
      - type: object
        description: ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
        properties:
          version:
            type: string
            description: Version of the product offering
      discriminator:
        propertyName: '@type'
        mapping:
          ProductOfferingRef: '#/components/schemas/ProductOfferingRef'
          BundledProductOffering: '#/components/schemas/BundledProductOffering'
    CharacteristicValueSpecification_MVO:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: specification of a value (number or text or an object) that can be assigned to a Characteristic. This is an abstract base class, the actual value is in one of the strongly-typed subclasses
        properties:
          valueType:
            type: string
            description: A kind of value that the characteristic value can take on, such as numeric, text and so forth
          isDefault:
            type: boolean
            description: If true, the Boolean Indicates if the value is the default value for a characteristic
          unitOfMeasure:
            type: string
            description: A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot.
          validFor:
            $ref: '#/components/schemas/TimePeriod'
          valueFrom:
            type: integer
            description: The low range value that a characteristic can take on
          valueTo:
            type: integer
            description: The upper range value that a characteristic can take on
          rangeInterval:
            type: string
            description: An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are "open", "closed", "closedBottom" and "closedTop".
          regex:
            type: string
            description: A regular expression constraint for given value
      discriminator:
        propertyName: '@type'
        mapping:
          CharacteristicValueSpecification: '#/components/schemas/CharacteristicValueSpecification_MVO'
          StringCharacteristicValueSpecification: '#/components/schemas/StringCharacteristicValueSpecification_MVO'
          StringArrayCharacteristicValueSpecification: '#/components/schemas/StringArrayCharacteristicValueSpecification_MVO'
          ObjectCharacteristicValueSpecification: '#/components/schemas/ObjectCharacteristicValueSpecification_MVO'
          ObjectArrayCharacteristicValueSpecification: '#/components/schemas/ObjectArrayCharacteristicValueSpecification_MVO'
          NumberCharacteristicValueSpecification: '#/components/schemas/NumberCharacteristicValueSpecification_MVO'
          NumberArrayCharacteristicValueSpecification: '#/components/schemas/NumberArrayCharacteristicValueSpecification_MVO'
          MapCharacteristicValueSpecification: '#/components/schemas/MapCharacteristicValueSpecification_MVO'
          MapArrayCharacteristicValueSpecification: '#/components/schemas/MapArrayCharacteristicValueSpecification_MVO'
          IntegerCharacteristicValueSpecification: '#/components/schemas/IntegerCharacteristicValueSpecification_MVO'
          IntegerArrayCharacteristicValueSpecification: '#/components/schemas/IntegerArrayCharacteristicValueSpecification_MVO'
    PricingLogicAlgorithm_FVO:
      allOf:
      - $ref: '#/components/schemas/Entity_FVO'
      - type: object
        description: The PricingLogicAlgorithm entity represents an instantiation of an interface specification to external rating function (without a modeled bahavior in SID). Some of the parameters of the interface definiition may be already set (such as price per unit) and some may be gathered during the rating process from the event (such as call duration) or from ProductCharacteristicValues (such as assigned bandwidth)
        properties:
          description:
            type: string
            description: Description of the PricingLogicAlgorithm
          name:
            type: string
            description: Name given to the PricingLogicAlgorithm
          plaSpecId:
            type: string
            description: id of corresponding PricingLogicAlgorithm specification
          validFor:
            $ref: '#/components/schemas/TimePeriod'
      discriminator:
        propertyName: '@type'
        mapping:
          PricingLogicAlgorithm: '#/components/schemas/PricingLogicAlgorithm_FVO'
    TimePeriod:
      type: object
      description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both
      properties:
        startDateTime:
          description: Start of the time period, using IETC-RFC-3339 format
          type: string
          format: date-time
          example: '1985-04-12T23:20:50.52Z'
        endDateTime:
          description: End of the time period, using IETC-RFC-3339 format
          type: string
          format: date-time
          example: '1985-04-12T23:20:50.52Z'
    Entity:
      type: object
      description: Base entity schema for use in TMForum Open-APIs. Property.
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - $ref: '#/components/schemas/Addressable'
    Attachment_MVO:
      allOf:
      - $ref: '#/components/schemas/Entity_MVO'
      - type: object
        description: Complements the description of an element (for instance a product) through video, pictures...
        properties:
          name:
            type: string
            description: The name of the attachment
          description:
            type: string
            description: A narrative text describing the content of the attachment
            example: Photograph of the Product
          url:
            type: string
            description: Uniform Resource Locator, is a web page address (a subset of URI)
            example: http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f
          content:
            type: string
            format: base64
            description: The actual contents of the attachment object, if embedded, encoded as base64
          size:
            $ref: '#/components/schemas/Quantity'
          validFor:
            $ref: '#/components/schemas/TimePeriod'
          attachmentType:
            type: string
            description: a business characterization of the purpose of the attachment, for example logo, instructionManual, contractCopy
          mimeType:
            type: string
            description: a technical characterization of the attachment content format using IETF Mime Types
      discriminator:
        propertyName: '@type'
        mapping:
          Attachment: '#/components/schemas/Attachment_MVO'
    BundledGroupProductOffering:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: A group of product offerings that can be chosen for instantiation of children of the parent product offering, for example a list of channels for selection under a TV offering. Sometimes known as Selection Group. The group can also hierarchically contain other groups
        properties:
          id:
            type: string
            description: Locally unique identifier of the group, useful in case the parent product offering or group includes multiple groups.
            example: '1'
          name:
            type: string
            description: The name of the group of child offerings. Required to distinguish several choice groups.
            example: TV Channels
          bundledProductOffering:
            type: array
            items:
              $ref: '#/components/schemas/BundledProductOffering'
            description: Child offerings, from which instances can be created as direct or hierarchically indirect children of the parent offering.
          bundledGroupProductOffering:
            type: array
            items:
              $ref: '#/components/schemas/BundledGroupProductOffering'
            description: Child groups of product offerings, to enable hierarchical sub-grouping.
          bundledGroupProductOfferingOption:
            $ref: '#/components/schemas/BundledGroupProductOfferingOption'
      discriminator:
        propertyName: '@type'
        mapping:
          BundledGroupProductOffering: '#/components/schemas/BundledGroupProductOffering'
    BundledGroupProductOffering_MVO:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: A group of product offerings that can be chosen for instantiation of children of the parent product offering, for example a list of channels for selection under a TV offering. Sometimes known as Selection Group. The group can also hierarchically contain other groups
        properties:
          id:
            type: string
            description: Locally unique identifier of the group, useful in case the parent product offering or group includes multiple groups.
            example: '1'
          name:
            type: string
            description: The name of the group of child offerings. Required to distinguish several choice groups.
            example: TV Channels
          bundledProductOffering:
            type: array
            items:
              $ref: '#/components/schemas/BundledProductOffering_MVO'
            description: Child offerings, from which instances can be created as direct or hierarchically indirect children of the parent offering.
          bundledGroupProductOffering:
            type: array
            items:
              $ref: '#/components/schemas/BundledGroupProductOffering_MVO'
            description: Child groups of product offerings, to enable hierarchical sub-grouping.
          bundledGroupProductOfferingOption:
            $ref: '#/components/schemas/BundledGroupProductOfferingOption_MVO'
        required:
        - name
      discriminator:
        propertyName: '@type'
        mapping:
          BundledGroupProductOffering: '#/components/schemas/BundledGroupProductOffering_MVO'
    ProductSpecificationRef_MVO:
      allOf:
      - $ref: '#/components/schemas/EntityRef'
      - type: object
        description: ProductSpecification reference. A product Specification represents entities that are orderable from the provider of the catalog.
        properties:
          version:
            type: string
            description: Version of the product specification
          targetProductSchema:
            $ref: '#/components/schemas/TargetProductSchema_MVO'
      discriminator:
        propertyName: '@type'
        mapping:
          ProductSpecificationRef: '#/components/schemas/ProductSpecificationRef_MVO'
    AgreementRef_FVO:
      type: object
      description: Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.
      allOf:
      - $ref: '#/components/schemas/Extensible_FVO'
      - $ref: '#/components/schemas/EntityRef_FVO'
      discriminator:
        propertyName: '@type'
        mapping:
          AgreementRef: '#/components/schemas/AgreementRef_FVO'
    CategoryRef:
      allOf:
      - $ref: '#/components/schemas/EntityRef'
      - type: object
        description: Reference to a category in the catalog.
        properties:
          version:
            type: string
            description: Version of the category
      discriminator:
        propertyName: '@type'
        mapping:
          CategoryRef: '#/components/schemas/CategoryRef'
    BundledGroupProductOfferingOption_FVO:
      allOf:
      - $ref: '#/components/schemas/Extensible_FVO'
      - type: object
        description: Defines for a BundledProductOfferingGroup (i.e. a group of multiple child offerings of a parent product offering), how many instances from the child offerings can be chosen in total. For example facilitate the choice of between 2 and 7 channel packs from a list, and cause certain items to be selected by default
        properties:
          numberRelOfferLowerLimit:
            type: integer
            description: The minimum total number of instances of the child offerings directly of hierarchically in the group that should be instantiated
            example: 2
          numberRelOfferUpperLimit:
            type: integer
            description: The maximum total number of instances of the child offerings directly of hierarchically in the group that should be instantiated
            example: 7
        required:
        - numberRelOfferLowerLimit
        - numberRelOfferUpperLimit
      discriminator:
        propertyName: '@type'
        mapping:
          BundledGroupProductOfferingOption: '#/components/schemas/BundledGroupProductOfferingOption_FVO'
    Extensible:
      type: object
      description: Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema  MUST be extended with the @type
      properties:
        '@type':
          type: string
          description: When sub-classing, this defines the sub-class Extensible name
        '@baseType':
          type: string
          description: When sub-classing, this defines the super-class
        '@schemaLocation':
          type: string
          description: A URI to a JSON-Schema file that defines additional attributes and relationships
      required:
      - '@type'
    CharacteristicSpecification:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: This class defines a characteristic specification.
        properties:
          id:
            type: string
            description: Unique ID for the characteristic
          name:
            type: string
            description: A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications.
          valueType:
            type: string
            description: A kind of value that the characteristic can take on, such as numeric, text and so forth
          description:
            type: string
            description: A narrative that explains the CharacteristicSpecification.
          configurable:
            type: boolean
            description: If true, the Boolean indicates that the target Characteristic is configurable
          validFor:
            $ref: '#/components/schemas/TimePeriod'
          minCardinality:
            type: integer
            description: The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality.
          maxCardinality:
            type: integer
            description: The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality.
          isUnique:
            type: boolean
            description: Specifies if the value of this characteristic is unique across all entities instantiated from the specification that uses this characteristc. For example, consider a ProductSpecification for a set-top box, with a CharacteristicSpecification cardID. Each set-top box must have a different value for cardID, so this isUnique attribute would be set to true for the characteristic.
          regex:
            type: string
            description: A rule or principle represented in regular expression used to derive the value of a characteristic value.
          extensible:
            type: boolean
            description: An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource.
          '@valueSchemaLocation':
            type: string
            description: This (optional) field provides a link to the schema describing the value type.
          charSpecRelationship:
            type: array
            items:
              $ref: '#/components/schemas/CharacteristicSpecificationRelationship'
            description: An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics.
          characteristicValueSpecification:
            type: array
            items:
              $ref: '#/components/schemas/CharacteristicValueSpecification'
            description: A CharacteristicValueSpecification object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a CharacteristicSpecification object. The values of the attributes in the CharacteristicValueSpecification object describe the values of the attributes that a corresponding Characteristic object can take on.
      discriminator:
        propertyName: '@type'
        mapping:
          CharacteristicSpecification: '#/components/schemas/CharacteristicSpecification'
    PolicyRef:
      allOf:
      - $ref: '#/components/schemas/EntityRef'
      - type: object
        description: Reference to managed Policy object
        properties:
          id:
            type: string
            description: unique identifier
          href:
            type: string
            description: Hyperlink reference
          version:
            type: string
          '@type':
            type: string
            description: When sub-classing, this defines the sub-class Extensible name
          '@baseType':
            type: string
            description: When sub-classing, this defines the super-class
          '@schemaLocation':
            type: string
            description: A URI to a JSON-Schema file that defines additional attributes and relationships
      discriminator:
        propertyName: '@type'
        mapping:
          PolicyRef: '#/components/schemas/PolicyRef'
    ResourceCandidateRef_MVO:
      allOf:
      - $ref: '#/components/schemas/EntityRef'
      - type: object
        description: ResourceCandidate is an entity that makes a resource specification available to a catalog. A ResourceCandidate and its associated resource specification may be published - made visible - in any number of resource catalogs, or in none.
        properties:
          version:
            type: string
            description: the version of resource candidate
      discriminator:
        propertyName: '@type'
        mapping:
          ResourceCandidateRef: '#/components/schemas/ResourceCandidateRef_MVO'
    CharacteristicSpecificationRelationship:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: An aggregation, migration, substitution, dependency or exclusivity relationship between/among Characteristic specifications. The specification characteristic is embedded within the specification whose ID and href are in this entity, and identified by its ID.
        properties:
          relationshipType:
            type: string
            description: Type of relationship such as aggregation, migration, substitution, dependency, exclusivity
          name:
            type: string
            description: Name of the target characteristic within the specification
          characteristicSpecificationId:
            type: string
            description: Unique identifier of the characteristic within the specification
          parentSpecificationHref:
            type: string
            format: uri
            description: Hyperlink reference to the parent specification containing the target characteristic
          validFor:
            $ref: '#/components/schemas/TimePeriod'
          parentSpecificationId:
            type: string
            description: Unique identifier of the parent specification containing the target characteristic
      discriminator:
        propertyName: '@type'
        mapping:
          CharacteristicSpecificationRelationship: '#/components/schemas/CharacteristicSpecificationRelationship'
    ProductOfferingPriceRefOrValue_FVO:
      type: object
      description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the ProductOfferingPrice entity and not the ProductOfferingPriceRefOrValue class itself
      oneOf:
      - $ref: '#/components/schemas/ProductOfferingPrice_FVO'
      - $ref: '#/components/schemas/ProductOfferingPriceRef_FVO'
      discriminator:
        propertyName: '@type'
        mapping:
          ProductOfferingPrice: '#/components/schemas/ProductOfferingPrice_FVO'
          ProductOfferingPriceRef: '#/components/schemas/ProductOfferingPriceRef_FVO'
    PricingLogicAlgorithm_MVO:
      allOf:
      - $ref: '#/components/schemas/Entity_MVO'
      - type: object
        description: The PricingLogicAlgorithm entity represents an instantiation of an interface specification to external rating function (without a modeled bahavior in SID). Some of the parameters of the interface definiition may be already set (such as price per unit) and some may be gathered during the rating process from the event (such as call duration) or from ProductCharacteristicValues (such as assigned bandwidth)
        properties:
          description:
            type: string
            description: Description of the PricingLogicAlgorithm
          name:
            type: string
            description: Name given to the PricingLogicAlgorithm
          plaSpecId:
            type: string
            description: id of corresponding PricingLogicAlgorithm specification
          validFor:
            $ref: '#/components/schemas/TimePeriod'
      discriminator:
        propertyName: '@type'
        mapping:
          PricingLogicAlgorithm: '#/components/schemas/PricingLogicAlgorithm_MVO'
    JsonPatch:
      type: object
      description: A JSONPatch document as defined by RFC 6902
      required:
      - op
      - path
      properties:
        op:
          type: string
          description: The operation to be performed
          enum:
          - add
          - remove
          - replace
          - move
          - copy
          - test
        path:
          type: string
          description: A JSON-Pointer
        value:
          description: The value to be used within the operations.
        from:
          type: string
          description: A string containing a JSON Pointer value.
    ProductOfferingPrice_MVO:
      allOf:
      - $ref: '#/components/schemas/Entity_MVO'
      - type: object
        description: 'Is based on both the basic cost to develop and produce products and the enterprises policy on revenue targets. This price may be further revised through discounting (a Product Offering Price that reflects an alteration). The price, applied for a productOffering may also be influenced by the productOfferingTerm, the customer selected, eg: a productOffering can be offered with multiple terms, like commitment periods for the contract. The price may be influenced by this productOfferingTerm. A productOffering may be cheaper with a 24 month commitment than with a 12 month commitment.'
        properties:
          description:
            type: string
            description: Description of the productOfferingPrice
          version:
            type: string
            description: ProductOfferingPrice version
          validFor:
            $ref: '#/components/schemas/TimePeriod'
          unitOfMeasure:
            $ref: '#/components/schemas/Quantity'
          recurringChargePeriodType:
            type: string
            description: 'The period to repeat the application of the price

              Could be month, week...'
          recurringChargePeriodLength:
            type: integer
            description: 'the period of the recurring charge:  1, 2, ... .It sets to zero if it is not applicable'
          isBundle:
            type: boolean
            description: A flag indicating if this ProductOfferingPrice is composite (bundle) or not
          price:
            $ref: '#/components/schemas/Money'
          percentage:
            type: number
            format: float
            description: Percentage to apply if this Product Offering Price is an Alteration (such as a Discount)
          bundledPopRelationship:
            type: array
            items:
              $ref: '#/components/schemas/BundledProductOfferingPriceRelationship_MVO'
            description: this object represents a bundle relationship from a bundle product offering price (parent) to a simple product offering price (child). A simple product offering price may participate in more than one bundle relationship.
          popRelationship:
            type: array
            items:
              $ref: '#/components/schemas/ProductOfferingPriceRelationship_MVO'
            description: Product Offering Prices related to this Product Offering Price, for example a price alteration such as allowance or discount
          prodSpecCharValueUse:
            type: array
            items:
              $ref: '#/components/schemas/ProductSpecificationCharacteristicValueUse_MVO'
            description: A use of the ProductSpecificationCharacteristicValue by a ProductOfferingPrice to which additional properties (attributes) apply or override the properties of similar properties contained in ProductSpecificationCharacteristicValue. It should be noted that characteristics which their value(s) addressed by this object must exist in corresponding product specification. The available characteristic values for a ProductSpecificationCharacteristic in a Product specification can be modified at the ProductOffering and ProcuctOfferingPrice level. The list of values in ProductSpecificationCharacteristicValueUse is a strict subset of the list of values as defined in the corresponding product specification characteristics.
          productOfferingTerm:
            type: array
            items:
              $ref: '#/components/schemas/ProductOfferingTerm_MVO'
            description: A list of conditions under which a ProductOfferingPrice is made available to Customers. For instance, a Product Offering Price can be offered with multiple commitment periods.
          place:
            type: array
            items:
              $ref: '#/components/schemas/PlaceRef_MVO'
            description: Place defines

# --- truncated at 32 KB (211 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-productoffering-api-openapi.yml