{
  "$id": "urn:relationship",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "version": "0.4",
  "title": "Détails de l'enregistrement de la relation",
  "description": "Informations sur la participation qu'une partie intéressée (une personne ou une entité) détient dans le sujet (une entité).",
  "type": "object",
  "properties": {
    "isComponent": {
      "title": "Est un composant",
      "description": "Si cette relation est un composant d'une relation indirecte plus large. Lorsque `isComponent` est 'true' : 1) le `recordId` de cet énoncé de relation secondaire DOIT être un élément dans le tableau `componentRecords` de cet énoncé de relation principal, 2) cet énoncé de relation DOIT être antérieur à l'énoncé de relation principal dans un paquet ou un flux de la BODS, 3) le remplacement de cet énoncé de relation DEVRAIT être envisagé lors du remplacement de l'énoncé de relation principal et 4) la valeur `isComponent` de l'énoncé de relation principal DOIT être 'false'. Si `isComponent` est 'false', cet énoncé de relation constitue la déclaration principale de la relation entre le `subject` et la `interestedParty`.",
      "type": "boolean"
    },
    "componentRecords": {
      "title": "Identifiants des enregistrements de composants",
      "description": "Les valeurs `recordId` de tous les enregistrements de composants qui fournissent des détails sur cette relation entre le `subject` et la `interestedParty` (si elle est indirecte). Si cette relation a des composants, sa valeur `isComponent` DOIT être 'false'.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "subject": {
      "title": "Sujet",
      "description": "`recordId` du sujet de la relation ou raison pour laquelle le sujet ne peut pas être spécifié. Le sujet DOIT être une entité.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "urn:components#/$defs/UnspecifiedRecord"
        }
      ]
    },
    "interestedParty": {
      "title": "Partie intéressée",
      "description": "`recordId` de la partie intéressée dans la relation ou objet Enregistrement non spécifié accompagné d'un motif expliquant pourquoi ces informations n'ont pas été divulguées. La partie intéressée PEUT être une entité ou une personne. Un enregistrement non spécifié DEVRAIT uniquement être utilisé si aucune information n'est connue à propos des parties intéressées au-delà de ce point du réseau des bénéficiaires effectifs. Si la partie intéressée est connue comme une entité ou une personne mais que son identité n'est pas disponible, un `recordId` DEVRAIT lui être attribué ici (et ses `recordDetails.[person|entity]Type` devraient indiquer qu'elle est anonyme ou inconnue).",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "urn:components#/$defs/UnspecifiedRecord"
        }
      ]
    },
    "interests": {
      "title": "Participations au capital",
      "description": "Description des participations détenues par la partie intéressée dans le sujet.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/Interest"
      }
    }
  },
  "required": [
    "isComponent",
    "subject",
    "interestedParty"
  ],
  "if": {
    "properties": {
      "isComponent": {
        "const": true
      }
    }
  },
  "then": {
    "properties": {
      "componentRecords": {
        "const": []
      }
    }
  },
  "$defs": {
    "Interest": {
      "title": "Participation au capital",
      "description": "Description d'une participation détenue par une interestedParty dans le sujet.",
      "type": "object",
      "properties": {
        "type": {
          "title": "Type de participation",
          "description": "Nature de la participation, à l'aide de la liste de codes 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": "Directe ou indirecte",
          "description": "Degré auquel la participation est directement exercée par la partie intéressée. La valeur DOIT être 'indirecte' en présence d'entités ou d'agents intermédiaires et DOIT être 'directe' en l'absence de ces intermédiaires. Autrement, la valeur DOIT être 'inconnue'.",
          "type": "string",
          "enum": [
            "direct",
            "indirect",
            "unknown"
          ],
          "codelist": "directOrIndirect.csv",
          "openCodelist": false
        },
        "beneficialOwnershipOrControl": {
          "title": "Propriété effective ou contrôle",
          "description": "Si cette participation (seule ou non) signifie que la partie intéressée est un bénéficiaire effectif du sujet. Si c'est 'true', la partie intéressée DOIT être une personne physique. La définition de 'bénéficiaire effectif' utilisée DEVRAIT être notée dans les documents relatifs (comme une politique de publication ou un guide d'utilisation des données).",
          "type": "boolean"
        },
        "details": {
          "title": "Détails",
          "description": "Nom local donné à ce type de participation, ou informations complémentaires (semi-structurées ou non structurées) pour clarifier la nature de la participation.",
          "type": "string"
        },
        "share": {
          "title": "Quote-part en pourcentage",
          "description": "Quote-part de ce type de participation détenue par la partie intéressée, lorsqu'une participation est dénombrable. Il convient d'indiquer le pourcentage `exact`, s'il est connu. Autrement, un `minimum` (ou `exclusiveMinimum`) et `maximum` (ou `exclusiveMaximum`) peuvent être utilisés pour enregistrer la fourchette à laquelle la proportion appartient. (Les valeurs `minimum` et `maximum` sont inclusives.)",
          "type": "object",
          "properties": {
            "exact": {
              "title": "Pourcentage exact",
              "description": "Quote-part exact de cette participation (si disponible).",
              "type": "number",
              "maximum": 100,
              "minimum": 0
            },
            "maximum": {
              "title": "Pourcentage maximum",
              "description": "Limite supérieure inclusive de la quote-part de cette participation.",
              "type": "number",
              "maximum": 100,
              "minimum": 0
            },
            "minimum": {
              "title": "Pourcentage minimum",
              "description": "Limite inférieure inclusive de la quote-part de cette participation.",
              "type": "number",
              "maximum": 100,
              "minimum": 0
            },
            "exclusiveMinimum": {
              "title": "Pourcentage minimum exclusif",
              "description": "Limite inférieure exclusive de la quote-part de cette participation.",
              "type": "number",
              "maximum": 100,
              "minimum": 0
            },
            "exclusiveMaximum": {
              "title": "Pourcentage maximum exclusif",
              "description": "Limite supérieure exclusive de la quote-part de cette participation.",
              "type": "number",
              "maximum": 100,
              "minimum": 0
            }
          }
        },
        "startDate": {
          "title": "Date de début",
          "description": "Date à laquelle cette participation est active. La date DOIT respecter le format AAAA-MM-JJ. En cas d'absence de précision sur le mois ou la date, la valeur peut être arrondie au premier jour du (premier) mois. Cet arrondi DEVRAIT être noté dans les documents relatifs (comme une politique de publication ou un guide d'utilisation des données).",
          "type": "string",
          "format": "date"
        },
        "endDate": {
          "title": "Date de fin",
          "description": "Date à laquelle cette participation cesse d'exister. La date DOIT respecter le format AAAA-MM-JJ. En cas d'absence de précision sur le mois ou la date, la valeur peut être arrondie au premier jour du (premier) mois. Cet arrondi DEVRAIT être noté dans les documents relatifs (comme une politique de publication ou un guide d'utilisation des données).",
          "type": "string",
          "format": "date"
        }
      }
    }
  }
}
