{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "$anchor": "cdm.event.common",
  "type": "object",
  "title": "Trade",
  "description": "Defines the output of a financial transaction between parties - a Business Event. A Trade impacts the financial position (i.e. the balance sheet) of involved parties.",
  "properties": {
    "tradeIdentifier": {
      "description": "Represents the identifier(s) that uniquely identify a trade for an identity issuer. A trade can include multiple identifiers, for example a trade that is reportable to both the CFTC and ESMA, and then has an associated USI (Unique Swap Identifier) UTI (Unique Trade Identifier).",
      "type": "array",
      "items": {
        "$ref": "cdm-event-common-TradeIdentifier.schema.json"
      },
      "minItems": 1
    },
    "tradeDate": {
      "description": "Specifies the date which the trade was agreed.",
      "$ref": "com-rosetta-model-metafields-FieldWithMetaString.schema.json"
    },
    "tradeTime": {
      "description": "Denotes the trade time and timezone as agreed by the parties to the trade.",
      "$ref": "cdm-base-datetime-metafields-FieldWithMetaTimeZone.schema.json"
    },
    "tradableProduct": {
      "description": "Represents the financial instrument The corresponding FpML construct is the product abstract element and the associated substitution group.",
      "$ref": "cdm-product-template-TradableProduct.schema.json"
    },
    "party": {
      "description": "Represents the parties to the trade. The cardinality is optional to address the case where the trade is defined within a BusinessEvent data type, in which case the party is specified in BusinessEvent.",
      "type": "array",
      "items": {
        "$ref": "cdm-base-staticdata-party-Party.schema.json"
      },
      "minItems": 0
    },
    "partyRole": {
      "description": "Represents the role each specified party takes in the trade. further to the principal roles, payer and receiver.",
      "type": "array",
      "items": {
        "$ref": "cdm-base-staticdata-party-PartyRole.schema.json"
      },
      "minItems": 0
    },
    "executionDetails": {
      "description": "Represents information specific to trades that arose from executions.",
      "$ref": "cdm-event-common-ExecutionDetails.schema.json"
    },
    "contractDetails": {
      "description": "Represents information specific to trades involving contractual products.",
      "$ref": "cdm-event-common-ContractDetails.schema.json"
    },
    "clearedDate": {
      "description": "Specifies the date on which a trade is cleared (novated) through a central counterparty clearing service.",
      "type": "string"
    },
    "collateral": {
      "description": "Represents the collateral obligations of a party.",
      "$ref": "cdm-product-collateral-Collateral.schema.json"
    },
    "account": {
      "description": "Represents a party's granular account information, which may be used in subsequent internal processing.",
      "type": "array",
      "items": {
        "$ref": "cdm-base-staticdata-party-Account.schema.json"
      },
      "minItems": 0
    }
  },
  "required": [
    "tradeDate",
    "tradableProduct"
  ]
}
