{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "$anchor": "cdm.product.template",
  "type": "object",
  "title": "BasketConstituent",
  "description": "Identifies the constituents of the basket",
  "properties": {
    "quantity": {
      "description": "Specifies a quantity schedule to be associated to an individual underlier that is a basket constituent. The multiple cardinality is aligned to the one of the PriceQuantity->quantity that this quantity is referencing.",
      "type": "array",
      "items": {
        "$ref": "cdm-base-math-metafields-ReferenceWithMetaNonNegativeQuantitySchedule.schema.json"
      },
      "minItems": 0
    },
    "initialValuationPrice": {
      "description": "Specifies an initial price schedule to be associated to an individual underlier that is a basket constituent. The multiple cardinality is aligned to the one of the PriceQuantity->price that this price is referencing.",
      "type": "array",
      "items": {
        "$ref": "cdm-observable-asset-metafields-ReferenceWithMetaPriceSchedule.schema.json"
      },
      "minItems": 0
    },
    "interimValuationPrice": {
      "description": "Specifies an interim price schedule to be associated to an individual underlier that is a basket constituent. The multiple cardinality is aligned to the one of the PriceQuantity->price that this price is referencing.",
      "type": "array",
      "items": {
        "$ref": "cdm-observable-asset-metafields-ReferenceWithMetaPriceSchedule.schema.json"
      },
      "minItems": 0
    },
    "finalValuationPrice": {
      "description": "Specifies a final price schedule to be associated to an individual underlier that is a basket constituent. The multiple cardinality is aligned to the one of the PriceQuantity->price that this price is referencing.",
      "type": "array",
      "items": {
        "$ref": "cdm-observable-asset-metafields-ReferenceWithMetaPriceSchedule.schema.json"
      },
      "minItems": 0
    },
    "contractualProduct": {
      "description": "Specifies the contractual product's economic terms, product identifier, and product taxonomy.",
      "$ref": "cdm-product-template-ContractualProduct.schema.json"
    },
    "index": {
      "description": "Identifies an index by referencing a product identifier.",
      "$ref": "cdm-base-staticdata-asset-common-Index.schema.json"
    },
    "loan": {
      "description": "Identifies a loan by referencing a product identifier and an optional set of attributes.",
      "$ref": "cdm-base-staticdata-asset-common-Loan.schema.json"
    },
    "assetPool": {
      "description": "Identifies an asset pool product for defining pool of assets backing an asset backed security.",
      "$ref": "cdm-base-staticdata-asset-common-AssetPool.schema.json"
    },
    "foreignExchange": {
      "description": "Defines a foreign exchange spot or forward transaction.",
      "$ref": "cdm-product-asset-ForeignExchange.schema.json"
    },
    "commodity": {
      "description": "Identifies a commodity by referencing a product identifier.",
      "$ref": "cdm-base-staticdata-asset-common-metafields-ReferenceWithMetaCommodity.schema.json"
    },
    "security": {
      "description": "Identifies a security by referencing a product identifier and a security type, plus an optional set of attributes.",
      "$ref": "cdm-base-staticdata-asset-common-Security.schema.json"
    },
    "basket": {
      "description": "Identifies a custom basket by referencing a product identifier and its constituents.",
      "$ref": "cdm-product-template-Basket.schema.json"
    }
  }
}
