TM Forum · Schema

ProductOfferingPrice_FVO

TelcoTelecommunicationsBSSOSSOpen APIsStandards
View JSON Schema on GitHub

JSON Schema

tm-forum-productofferingprice-fvo-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ProductOfferingPrice_FVO",
  "title": "ProductOfferingPrice_FVO",
  "allOf": [
    {
      "$ref": "#/components/schemas/Entity_FVO"
    },
    {
      "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\nCould 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_FVO"
          },
          "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_FVO"
          },
          "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_FVO"
          },
          "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_FVO"
          },
          "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_FVO"
          },
          "description": "Place defines the places where the products are sold or delivered."
        },
        "policy": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/PolicyRef_FVO"
          },
          "description": "The Policy resource represents a policy/rule applied to ProductOfferingPrice."
        },
        "pricingLogicAlgorithm": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/PricingLogicAlgorithm_FVO"
          },
          "description": "The PricingLogicAlgorithm entity represents an instantiation of an interface specification to external rating function (without a modeled behavior in SID). Some of the parameters of the interface definition 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)."
        },
        "tax": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TaxItem_FVO"
          },
          "description": "An amount of money levied on the price of a Product by a legislative body."
        },
        "name": {
          "type": "string",
          "description": "Name of the productOfferingPrice"
        },
        "priceType": {
          "type": "string",
          "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth."
        },
        "lastUpdate": {
          "type": "string",
          "format": "date-time",
          "description": "the last update time of this ProductOfferingPrice"
        },
        "lifecycleStatus": {
          "type": "string",
          "description": "the lifecycle status of this ProductOfferingPrice"
        },
        "externalIdentifier": {
          "type": "array",
          "description": "List of external identifieers for the offering price, e.g. identifier in source catalog",
          "items": {
            "$ref": "#/components/schemas/ExternalIdentifier_FVO"
          }
        }
      },
      "required": [
        "name",
        "priceType",
        "lastUpdate",
        "lifecycleStatus",
        "@type"
      ]
    }
  ],
  "discriminator": {
    "propertyName": "@type",
    "mapping": {
      "ProductOfferingPrice": "#/components/schemas/ProductOfferingPrice_FVO"
    }
  }
}