{
  "$id": "urn:entity",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "version": "0.4",
  "title": "Detalles del registro de entidades",
  "description": "Información sobre una entidad.",
  "type": "object",
  "properties": {
    "isComponent": {
      "title": "Es componente",
      "description": "Si una entidad es un componente en una relación indirecta. Cuando `isComponent` es 'true': (1) el `recordId` de esta entidad DEBE ser un elemento en el arreglo de datos `componentRecords` de ese enunciado sobre relación primaria, (2) este enunciado sobre entidad DEBE venir antes de ese enunciado sobre relación primaria en un paquete o transmisión del BODS, (3) el reemplazo de este enunciado sobre entidad DEBERÍA considerarse al reemplazar el enunciado sobre relación primaria. El enunciado sobre relación primaria DEBE tener un valor `isComponent` 'false'.",
      "type": "boolean"
    },
    "entityType": {
      "type": "object",
      "title": "Tipo de entidad",
      "description": "La forma de la entidad descrita en el enunciado.",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "title": "Tipo",
          "description": "La forma general de la entidad, usando la lista de códigos entityType.",
          "codelist": "entityType.csv",
          "enum": [
            "registeredEntity",
            "legalEntity",
            "arrangement",
            "anonymousEntity",
            "unknownEntity",
            "state",
            "stateBody"
          ]
        },
        "subtype": {
          "type": "string",
          "title": "Subtipo",
          "description": "La forma particular de la entidad, si corresponde, usando la lista de códigos entitySubtype. El valor DEBE alinearse con el valor `entityType`.",
          "codelist": "entitySubtype.csv",
          "enum": [
            "governmentDepartment",
            "stateAgency",
            "other",
            "trust",
            "nomination"
          ],
          "openCodelist": false
        },
        "details": {
          "type": "string",
          "title": "Detalles",
          "description": "Esto puede usarse para proporcionar un nombre local para este tipo de entidad o más información para identificar el tipo de entidad. Por ejemplo, en Finlandia, 'ministeriö' para un departamento gubernamental."
        }
      },
      "propertyOrder": 4,
      "allOf": [
        {
          "if": {
            "properties": {
              "type": {
                "enum": [
                  "arrangement"
                ]
              }
            }
          },
          "then": {
            "properties": {
              "subtype": {
                "enum": [
                  "trust",
                  "nomination",
                  "other"
                ]
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "enum": [
                  "legalEntity"
                ]
              }
            }
          },
          "then": {
            "properties": {
              "subtype": {
                "enum": [
                  "trust",
                  "other"
                ]
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "enum": [
                  "stateBody"
                ]
              }
            }
          },
          "then": {
            "properties": {
              "subtype": {
                "enum": [
                  "governmentDepartment",
                  "stateAgency",
                  "other"
                ]
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "enum": [
                  "registeredEntity",
                  "state",
                  "anonymousEntity",
                  "unknownEntity"
                ]
              }
            }
          },
          "then": {
            "properties": {
              "subtype": {
                "enum": [
                  "other"
                ]
              }
            }
          }
        }
      ]
    },
    "unspecifiedEntityDetails": {
      "$ref": "urn:components#/$defs/UnspecifiedRecord",
      "description": "Una explicación del motivo por el que una entidad es anónima o desconocida."
    },
    "name": {
      "title": "Nombre de la entidad",
      "description": "El nombre declarado de la entidad.",
      "type": "string",
      "propertyOrder": 10
    },
    "alternateNames": {
      "title": "Nombres alternativos",
      "description": "Arreglo de otros nombres con los que se conoce a esta entidad.",
      "type": "array",
      "items": {
        "type": "string",
        "title": "Nombre",
        "description": "Nombre con el que se conoce a la entidad."
      },
      "propertyOrder": 12
    },
    "jurisdiction": {
      "title": "Jurisdicción",
      "description": "La jurisdicción donde esta entidad fue inscripta o creada (para entidades legales e inscriptas y estructuras jurídicas). O la jurisdicción del estado (para estados y órganos estatales).",
      "propertyOrder": 15,
      "$ref": "urn:components#/$defs/Jurisdiction"
    },
    "identifiers": {
      "title": "Identificadores",
      "description": "Uno o más identificadores oficiales de la entidad. De encontrarse disponibles, deberían indicarse los números de inscripción oficiales.",
      "type": "array",
      "items": {
        "$ref": "urn:components#/$defs/Identifier"
      },
      "propertyOrder": 20
    },
    "foundingDate": {
      "title": "Fecha de fundación",
      "description": "La fecha en la que esta entidad fue fundada, creada o inscripta. 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",
      "propertyOrder": 30
    },
    "dissolutionDate": {
      "title": "Fecha de disolución",
      "description": "La fecha en la que esta entidad fue disuelta o concluida, si ya no está activa. 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",
      "propertyOrder": 35
    },
    "addresses": {
      "title": "Domicilios",
      "description": "Uno o más domicilios de la entidad.",
      "type": "array",
      "items": {
        "$ref": "urn:components#/$defs/Address",
        "properties": {
          "type": {
            "enum": [
              "registered",
              "business",
              "alternative"
            ]
          }
        }
      },
      "propertyOrder": 40
    },
    "uri": {
      "title": "URI",
      "description": "Cuando haya un URI persistente (https://en.wikipedia.org/wiki/Uniform_Resource_Identifier) disponible para esta entidad, debe incluirse.",
      "type": "string",
      "format": "uri",
      "propertyOrder": 21
    },
    "publicListing": {
      "title": "Cotización en bolsa",
      "description": "Detalles de una empresa que cotiza en bolsa, sus valores (acciones y otros instrumentos financieros negociables relacionados con la entidad) y documentos regulatorios relacionados.",
      "$ref": "#/$defs/PublicListing"
    },
    "formedByStatute": {
      "type": "object",
      "title": "Formada por estatuto",
      "description": "La ley que ordenó la formación de la entidad descrita en el enunciado, en su caso. Esta información DEBERÍA proporcionarse cuando un estado haya creado una agencia u otra entidad con legislación específica.",
      "properties": {
        "name": {
          "type": "string",
          "title": "Nombre del estatuto",
          "description": "El nombre de la ley."
        },
        "date": {
          "type": "string",
          "title": "Fecha",
          "description": "La fecha en la que la ley entró en vigencia. 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).",
          "format": "date"
        }
      },
      "propertyOrder": 18
    }
  },
  "required": [
    "isComponent",
    "entityType"
  ],
  "$defs": {
    "PublicListing": {
      "type": "object",
      "title": "Cotización en bolsa",
      "description": "Detalles de una empresa que cotiza en bolsa, sus valores (acciones y otros instrumentos financieros negociables relacionados con la entidad) y documentos regulatorios relacionados.",
      "required": [
        "hasPublicListing"
      ],
      "minProperties": 1,
      "properties": {
        "hasPublicListing": {
          "type": "boolean",
          "title": "Cotiza en bolsa",
          "description": "Si una entidad es una empresa que cotiza en bolsa."
        },
        "companyFilingsURLs": {
          "type": "array",
          "title": "URL de presentaciones formales de la empresa",
          "description": "La URL o las URLs donde se pueden recuperar las presentaciones reglamentarias relacionadas con las principales participaciones. Las URLs pueden apuntar a páginas mantenidas por organismos reguladores, bolsas de valores o por la propia empresa.",
          "items": {
            "type": "string",
            "format": "uri"
          }
        },
        "securitiesListings": {
          "type": "array",
          "title": "Cotizaciones de valores en bolsa",
          "description": "Detalles de los valores de la entidad y las bolsas y mercados en los que se cotizan. Todos los valores de renta variable DEBERÍAN cotizarse aquí, además de cualquier otro valor del cual puede derivarse una titularidad real. Cuando un valor se cotiza en más de un mercado, DEBERÍA haber una entrada por cada mercado (o segmento de mercado).",
          "items": {
            "title": "Listado de valores",
            "description": "Detalles de un valor y el mercado en el que se negocia.",
            "$ref": "#/$defs/SecuritiesListing"
          }
        }
      }
    },
    "SecuritiesListing": {
      "type": "object",
      "title": "Cotización de valores en bolsa",
      "description": "Detalles de un valor y el mercado en el que se negocia.",
      "required": [
        "stockExchangeJurisdiction",
        "security",
        "stockExchangeName"
      ],
      "properties": {
        "marketIdentifierCode": {
          "type": "string",
          "title": "Códigos de Identificación del Mercado (MIC)",
          "description": "El Código de Identificación del Mercado (MIC) del mercado en el que se negocia el valor. Cuando el valor se negocia en un segmento de una bolsa, este es el MIC del segmento. Cuando se negocia en la bolsa principal, este es el MIC de la bolsa principal y DEBE coincidir con el `operatingMarketIdentifierCode`. Los MIC se asignan y gestionan según el estándar ISO 10383."
        },
        "operatingMarketIdentifierCode": {
          "type": "string",
          "title": "Código de Identificación del Mercado Operativo (MIC Operativo)",
          "description": "El código de Identificación del Mercado (MIC) de la principal bolsa o plataforma de negociación que maneja transacciones en este valor. Cuando el valor se negocia en un segmento de una bolsa, este es el MIC de la plataforma de negociación o bolsa matriz. Cuando se negocia en la bolsa principal, este es el MIC de esa bolsa principal y DEBE coincidir con el `marketIdentifierCode`. Los MIC se asignan y gestionan según el estándar ISO 10383."
        },
        "stockExchangeJurisdiction": {
          "type": "string",
          "title": "Jurisdicción de la bolsa de valores",
          "description": "El código de país de 2 letras (ISO 3166-1) o el código de subdivisión (ISO 3166-2) de la jurisdicción bajo la cual se regula la bolsa, el mercado o la plataforma de negociación.",
          "maxLength": 6,
          "minLength": 2
        },
        "stockExchangeName": {
          "type": "string",
          "title": "Nombre de la bolsa de valores",
          "description": "El nombre de la bolsa, mercado o plataforma de negociación en la que se negocia el valor. Si el valor se negocia en un segmento de la bolsa, entonces el nombre DEBERÍA incluir ambos elementos. Por ejemplo, 'Bolsa de Valores de Londres'."
        },
        "security": {
          "type": "object",
          "title": "Valores",
          "description": "información identificatoria de la acción o de otro valor.",
          "required": [
            "ticker"
          ],
          "properties": {
            "idScheme": {
              "type": "string",
              "title": "Esquema de identificadores",
              "description": "El esquema bajo el cual se ha emitido un identificador único y persistente para el valor usando la lista de códigos securitiesIdentifierSchemes.",
              "enum": [
                "isin",
                "figi",
                "cusip",
                "cins"
              ],
              "codelist": "securitiesIdentifierSchemes.csv"
            },
            "id": {
              "type": "string",
              "title": "Identificador",
              "description": "El identificador único del valor tal como se emitió bajo `idScheme`."
            },
            "ticker": {
              "type": "string",
              "title": "Tablero de cotizaciones",
              "description": "El tablero de cotizaciones que identifica este valor en la bolsa de valores mencionada."
            }
          }
        }
      }
    }
  }
}
