{
  "id": "https://standard.open-contracting.org/schema/1__1__5/record-package-schema.json",
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Esquema para un paquete de Registros de Contrataciones Abiertas",
  "description": "El paquete de registros contiene una lista de registros junto con algunos meta-datos de publicación. Los registros reúnen todas las entregas bajo un sólo Open Contracting ID y las compilan en la última versión de la información junto con el historial de cualquier cambio en los datos.",
  "type": "object",
  "properties": {
    "uri": {
      "title": "Identificador de paquete",
      "description": "La URI de este paquete que lo identifica de manera única en el mundo.",
      "type": "string",
      "format": "uri"
    },
    "version": {
      "title": "Versión del esquema de OCDS",
      "description": "La versión del esquema de OCDS usada en este paquete, expresada como major.minor. Por ejemplo 1.0 o 1.1",
      "type": "string",
      "pattern": "^(\\d+\\.)(\\d+)$"
    },
    "extensions": {
      "title": "Extensiones OCDS",
      "description": "Una lista de extensiones OCDS que se utiliza en este paquete, en el cual cada item es el URL de un archivo extension.json.",
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      }
    },
    "publisher": {
      "title": "Publicador",
      "description": "Información que identifica de manera única al publicador de este paquete.",
      "type": "object",
      "properties": {
        "name": {
          "title": "Nombre",
          "description": "El nombre de la organización o departamento responsable de publicar estos datos.",
          "type": "string"
        },
        "scheme": {
          "title": "Esquema",
          "description": "El esquema que tiene los identificadores únicos utilizados para identificar el artículo que se identifica.",
          "type": [
            "string",
            "null"
          ]
        },
        "uid": {
          "title": "uid",
          "description": "El ID único para esta entidad en el esquema de identificadores dado.",
          "type": [
            "string",
            "null"
          ]
        },
        "uri": {
          "title": "URI",
          "description": "Una URI para identificar al publicador.",
          "type": [
            "string",
            "null"
          ],
          "format": "uri"
        }
      },
      "required": [
        "name"
      ]
    },
    "license": {
      "title": "Licencia",
      "description": "Un enlace a la licencia que aplica para los datos en este paquete. Se recomiendan licencias de Entrega al Dominio Público o [que cumplan con la Open Definition](https://opendefinition.org/licenses/). Se deberá usar la URI canónica de la licencia. Los documentos enlazados desde este archivo pueden estar bajo otras condiciones de licencia.",
      "type": [
        "string",
        "null"
      ],
      "format": "uri"
    },
    "publicationPolicy": {
      "title": "Política de publicación",
      "description": "Un enlace a un documento que describe la política de publicación de los publicadores.",
      "type": [
        "string",
        "null"
      ],
      "format": "uri"
    },
    "publishedDate": {
      "title": "Fecha de publicación",
      "description": "La fecha en que se publicó este paquete. Si se generó 'bajo demanda', esta fecha debe de reflejar la fecha del último cambio y los contenidos subyacentes del paquete.",
      "type": "string",
      "format": "date-time"
    },
    "packages": {
      "title": "Paquetes",
      "description": "Una lista de URIs de todos los paquetes de entregas que se usaron para crear este paquete de registros.",
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string",
        "format": "uri"
      },
      "uniqueItems": true
    },
    "records": {
      "title": "Registros",
      "description": "Los registros para este paquete de datos.",
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/definitions/record"
      },
      "uniqueItems": true
    }
  },
  "required": [
    "uri",
    "publisher",
    "publishedDate",
    "records",
    "version"
  ],
  "definitions": {
    "record": {
      "title": "Registro",
      "description": "Un registro o *record* OCDS debe proporcionar una lista de todas las entregas o *releases* OCDS existentes que están relacionadas con un solo proceso de contratación y debería proporcionar una entrega compilada que contenga el estado actual de todos los campos en el esquema de entrega. Un registro OCDS también puede proporcionar un historial versionado de todos los cambios a los datos en la entrega compilada.",
      "type": "object",
      "properties": {
        "ocid": {
          "title": "Open Contracting ID",
          "description": "Un identificador único que identifica un único Proceso de Contrataciones Abiertas. Para más información puede ver: https://standard.open-contracting.org/1.1/es/getting_started/contracting_process/",
          "type": "string"
        },
        "releases": {
          "title": "Entregas",
          "description": "Una matriz de enlaces a identificadores o entregas",
          "oneOf": [
            {
              "title": "Entregas vinculadas",
              "description": "Una lista de objetos que identifican las entregas asociadas con este Open Contracting ID. Las entregas DEBEN estar ordenadas por fecha en la lista, de la más antigua (en la posición 0) hasta la más reciente (última).",
              "type": "array",
              "items": {
                "description": "Información para identificar de manera única la entrega.",
                "type": "object",
                "properties": {
                  "url": {
                    "title": "URL de la Entrega",
                    "description": "La URL de la entrega que contiene la URL del paquete con el `id` de entrega anexado usando un identificador de fragmento e.j. https://standard.open-contracting.org/1.1/es/examples/tender.json#ocds-213czf-000-00001.",
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "uri"
                  },
                  "date": {
                    "title": "Fecha de entrega",
                    "description": "La fecha de una entrega. Debe ser igual al valor del campo `date` de la entrega. Esto se usa para ordenar las entregas en la lista en orden cronológico.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "tag": {
                    "title": "Etiqueta de entrega",
                    "description": "Las etiquetas de la entrega. Deben ser iguales al valor del campo `tag` de la entrega. Esto da contexto adicional cuando se revisa un registro para ver qué tipos de entrega se incluyen para este ocid.",
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "planning",
                        "planningUpdate",
                        "tender",
                        "tenderAmendment",
                        "tenderUpdate",
                        "tenderCancellation",
                        "award",
                        "awardUpdate",
                        "awardCancellation",
                        "contract",
                        "contractUpdate",
                        "contractAmendment",
                        "implementation",
                        "implementationUpdate",
                        "contractTermination",
                        "compiled"
                      ]
                    },
                    "codelist": "releaseTag.csv",
                    "openCodelist": false,
                    "minItems": 1
                  }
                },
                "required": [
                  "url",
                  "date"
                ]
              },
              "minItems": 1
            },
            {
              "title": "Entregas embebidas",
              "description": "Una lista de entregas, con todos los datos. Las entregas DEBEN ordenarse por fecha en la lista, desde la más antigua (en la posición 0) hasta la más reciente (última).",
              "type": "array",
              "items": {
                "$ref": "https://standard.open-contracting.org/schema/1__1__5/release-schema.json"
              },
              "minItems": 1
            }
          ]
        },
        "compiledRelease": {
          "title": "Entrega compilada",
          "description": "Esta es la versión más reciente de todos los datos de la contratación, tiene el mismo esquema que una entrega de datos de contratación abierta.",
          "$ref": "https://standard.open-contracting.org/schema/1__1__5/release-schema.json"
        },
        "versionedRelease": {
          "title": "Entrega versionada",
          "description": "Esto contiene el historial de todos los datos en la entrega compilada.",
          "$ref": "https://standard.open-contracting.org/schema/1__1__5/versioned-release-validation-schema.json"
        }
      },
      "required": [
        "ocid",
        "releases"
      ]
    }
  }
}