{
  "$id": "urn:relationship",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "version": "0.4",
  "title": "Detalles del registro de relaciones",
  "description": "Información sobre los intereses que una parte interesada (una persona o entidad) tiene sobre el sujeto (una entidad).",
  "type": "object",
  "properties": {
    "isComponent": {
      "title": "Es componente",
      "description": "Si esta relación es un componente de una relación indirecta más amplia. Cuando `isComponent` es 'true': (1) el `recordId` de esta enunciado sobre relación secundaria DEBE ser un elemento en el arreglo de datos `componentRecords` de dicho enunciado sobre relación primaria, (2) este enunciado sobre relación DEBE venir antes de dicho enunciado sobre relación primaria en un paquete o transmisión del BODS, (3) el reemplazo de este enunciado sobre relación DEBERÍA considerarse al reemplazar el enunciado sobre relación primaria, y (4) el enunciado sobre relación primaria DEBE tener un valor `isComponent` 'false'. Cuando `isComponent` es 'false', este enunciado sobre relación es la declaración primaria de la relación entre el `subject` y la `interestedParty`.",
      "type": "boolean"
    },
    "componentRecords": {
      "title": "Identificaciones del registro de componentes",
      "description": "Los valores `recordId` de todos los registros de componentes que brindan detalles sobre esta relación entre el `subject` y la `interestedParty` (si es indirecta). Si esta relación tiene componentes, su propio valor `isComponent` DEBE ser 'false'.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "subject": {
      "title": "Sujeto",
      "description": "El `recordId` del sujeto de la relación o un motivo por el que el sujeto no puede especificarse. El sujeto DEBE ser una entidad.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "urn:components#/$defs/UnspecifiedRecord"
        }
      ]
    },
    "interestedParty": {
      "title": "Parte interesada",
      "description": "El `recordId` de la parte interesada en la relación o un objeto del registro no especificado con un motivo por el que esta información no se ha divulgado. La parte interesada PUEDE ser una entidad o una persona. Solo DEBERÍA usarse un registro no especificado cuando no se conozca ninguna información sobre las partes interesadas más allá de este punto de la red de titularidad real. Si se conoce que la parte interesada es una entidad o persona, pero su identidad particular no está disponible, aquí DEBERÍA proporcionarse un `recordId` para ella (y su `recordDetails.[person|entity]Type` debería indicar que es anónima o desconocida).",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "urn:components#/$defs/UnspecifiedRecord"
        }
      ]
    },
    "interests": {
      "title": "Participaciones",
      "description": "Una descripción de los intereses que la parte interesada tiene en el sujeto.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/Interest"
      }
    }
  },
  "required": [
    "isComponent",
    "subject",
    "interestedParty"
  ],
  "if": {
    "properties": {
      "isComponent": {
        "const": true
      }
    }
  },
  "then": {
    "properties": {
      "componentRecords": {
        "const": []
      }
    }
  },
  "$defs": {
    "Interest": {
      "title": "Interés",
      "description": "Una descripción de un interés que una interestedParty tiene en el sujeto.",
      "type": "object",
      "properties": {
        "type": {
          "title": "Tipo de interés",
          "description": "La naturaleza del interés, usando la lista de códigos interestType.",
          "type": "string",
          "enum": [
            "shareholding",
            "votingRights",
            "appointmentOfBoard",
            "otherInfluenceOrControl",
            "seniorManagingOfficial",
            "settlor",
            "trustee",
            "protector",
            "beneficiaryOfLegalArrangement",
            "rightsToSurplusAssetsOnDissolution",
            "rightsToProfitOrIncome",
            "rightsGrantedByContract",
            "conditionalRightsGrantedByContract",
            "controlViaCompanyRulesOrArticles",
            "controlByLegalFramework",
            "boardMember",
            "boardChair",
            "unknownInterest",
            "unpublishedInterest",
            "enjoymentAndUseOfAssets",
            "rightToProfitOrIncomeFromAssets",
            "nominee",
            "nominator"
          ],
          "codelist": "interestType.csv",
          "openCodelist": false
        },
        "directOrIndirect": {
          "title": "Directo o indirecto",
          "description": "La forma directa en que se ejerce el interés por la parte interesada. El valor DEBE ser 'indirecto' si se sabe que existen entidades o agentes intermediarios, y DEBE ser 'directo' si se sabe que dichos intermediarios no existen. De lo contrario, el valor DEBE ser 'desconocido'.",
          "type": "string",
          "enum": [
            "direct",
            "indirect",
            "unknown"
          ],
          "codelist": "directOrIndirect.csv",
          "openCodelist": false
        },
        "beneficialOwnershipOrControl": {
          "title": "Titularidad o control del beneficiario final",
          "description": "Si este interés (solo o con otros) significa que la parte interesada es un beneficiario final del sujeto. Si es 'true', la parte interesada DEBE ser una persona física. La definición de 'beneficiario final' usada DEBERÍA mencionarse en la guía complementaria (como una política de publicaciones o una guía de uso de datos).",
          "type": "boolean"
        },
        "details": {
          "title": "Detalles",
          "description": "El nombre local asignado a este tipo de interés, o más información (semiestructurada o no estructurada) para aclarar la naturaleza del interés.",
          "type": "string"
        },
        "share": {
          "title": "Porcentaje de participación",
          "description": "La proporción de este tipo de interés que la parte interesada posee, donde un interés es contable. Indique el porcentaje `exact` si lo conoce. De lo contrario, puede usar `minimum` (o `exclusiveMinimum`) y `maximum` (o `exclusiveMaximum`) para registrar el rango en el que cae la proporción (los valores `minimum` y `maximum` son inclusivos).",
          "type": "object",
          "properties": {
            "exact": {
              "title": "Porcentaje exacto",
              "description": "La cuota exacta que se tiene de este interés (si corresponde).",
              "type": "number",
              "maximum": 100,
              "minimum": 0
            },
            "maximum": {
              "title": "Porcentaje máximo",
              "description": "El límite superior inclusivo de la cuota de este interés.",
              "type": "number",
              "maximum": 100,
              "minimum": 0
            },
            "minimum": {
              "title": "Porcentaje mínimo",
              "description": "El límite inferior inclusivo de la cuota de este interés.",
              "type": "number",
              "maximum": 100,
              "minimum": 0
            },
            "exclusiveMinimum": {
              "title": "Porcentaje mínimo exclusivo",
              "description": "El límite inferior exclusivo de la cuota de este interés.",
              "type": "number",
              "maximum": 100,
              "minimum": 0
            },
            "exclusiveMaximum": {
              "title": "Porcentaje máximo exclusivo",
              "description": "El límite superior exclusivo de la cuota de este interés.",
              "type": "number",
              "maximum": 100,
              "minimum": 0
            }
          }
        },
        "startDate": {
          "title": "Fecha de inicio",
          "description": "La fecha desde la cual este interés estuvo activo. La fecha DEBE indicarse en formato AAAA-MM-DD. Si no se pueden indicar un mes o una fecha precisos, puede redondearse el valor al primer día del (primer) mes. Este redondeo DEBERÍA mencionarse en la guía complementaria (como una política de publicaciones o una guía de uso de datos).",
          "type": "string",
          "format": "date"
        },
        "endDate": {
          "title": "Fecha de finalización",
          "description": "La fecha desde la cual este interés dejó de existir. La fecha DEBE indicarse en formato AAAA-MM-DD. Si no se pueden indicar un mes o una fecha precisos, puede redondearse el valor al primer día del (primer) mes. Este redondeo DEBERÍA mencionarse en la guía complementaria (como una política de publicaciones o una guía de uso de datos).",
          "type": "string",
          "format": "date"
        }
      }
    }
  }
}
