{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "$anchor": "cdm.legaldocumentation.master.isda",
  "type": "object",
  "title": "IsdaCalculationAgent",
  "description": "The set of elections to define and categorise the Calculation Agent for the ISDA master agreement.",
  "properties": {
    "asSpecifiedInConfirmation": {
      "description": "Specifies if the calculation agent is provided in the confirmation related to the relevant transaction (note this would override anything else in the calculation agent terms)",
      "type": "boolean"
    },
    "eventOfDefault": {
      "description": "Capturing the Calculation Agent in the Event of Default.",
      "$ref": "cdm-legaldocumentation-master-isda-IsdaCalculationAgentElection.schema.json"
    },
    "potentialEventOfDefault": {
      "description": "Capturing the Calculation in the potential of an event of default.",
      "$ref": "cdm-legaldocumentation-master-isda-IsdaCalculationAgentElection.schema.json"
    },
    "terminationEvent": {
      "description": "Capturing the Calculation Agent for a Termination Event.",
      "$ref": "cdm-legaldocumentation-master-isda-IsdaCalculationAgentElection.schema.json"
    },
    "noEvent": {
      "description": "Capturing the default Calculation Agent when no Event of Default or Termination Event occurs.",
      "$ref": "cdm-legaldocumentation-master-isda-IsdaCalculationAgentElection.schema.json"
    },
    "substituteCalculationAgent": {
      "description": "Capturing the details regarding appointing a substitute Calculation Agent.",
      "$ref": "cdm-legaldocumentation-master-isda-SubstituteCalculationAgentElection.schema.json"
    },
    "otherComments": {
      "description": "Optional string to capture further information regarding the Calculation Agent.",
      "type": "string"
    }
  },
  "required": [
    "asSpecifiedInConfirmation",
    "noEvent",
    "substituteCalculationAgent"
  ]
}
