diff --git a/docs/examples/release_schema_reference/release_package.json b/docs/examples/release_schema_reference/release_package.json index 31d3154f4..0ed33e3e6 100644 --- a/docs/examples/release_schema_reference/release_package.json +++ b/docs/examples/release_schema_reference/release_package.json @@ -94,6 +94,47 @@ "projectID": "SP001", "uri": "https://openspending.org/uk-barnet-budget/entries/6801ad388f3a38b7740dde20108c58b35984ee91" }, + "project": { + "id": "oc4ids-bu3kcz-0000", + "title": "Central Junction Cycle Lane Construction", + "description": "Design, construction and supervision of a new cycle lane for the Central Junction.", + "totalValue": { + "amount": 1100000, + "currency": "GBP" + }, + "uri": "http://example.com/projects/oc4ids-bu3kcz-0000.json", + "sector": { + "id": "transport.road", + "description": "Road transport, including roads, highways, streets, tunnels and bridges.", + "scheme": "oc4idsProjectSector" + }, + "additionalClassifications": [ + { + "id": "03.04.05", + "description": "Cycle lanes for road transport.", + "scheme": "GB-EXAMPLE" + } + ], + "locations": [ + { + "description": "Barnet, London, UK", + "geometry": { + "type": "Point", + "coordinates": [ + 51.605, + 0.2076 + ] + }, + "gazetteer": { + "scheme": "GEONAMES", + "identifier": [ + "2656295" + ] + }, + "uri": "https://www.geonames.org/2656295/barnet.html" + } + ] + }, "documents": [ { "datePublished": "2009-01-05T00:00:00Z", diff --git a/docs/guidance/map/linked_standards.md b/docs/guidance/map/linked_standards.md index 654e927f0..c946cdec1 100644 --- a/docs/guidance/map/linked_standards.md +++ b/docs/guidance/map/linked_standards.md @@ -8,7 +8,7 @@ The [Open Contracting for Infrastructure Data Standards](https://standard.open-c A joint effort by the [Infrastructure Transparency Initiative](https://infrastructuretransparency.org) (CoST) and the Open Contracting Partnership, it builds on best practice in open data and openness of public infrastructure procurement globally. -The [Project](https://extensions.open-contracting.org/en/extensions/project/master/) extension describes how to connect OCDS and OC4IDS datasets. +OC4IDS datasets ought to be linked from OCDS datasets using the `planning.project` object, by referencing the OC4IDS project identifier in the `planning.project.id` field. ## Open Fiscal Data Package diff --git a/docs/guidance/map/translations.md b/docs/guidance/map/translations.md index 2923ebc57..d3d9f97a4 100644 --- a/docs/guidance/map/translations.md +++ b/docs/guidance/map/translations.md @@ -14,12 +14,12 @@ You can publish the values of these fields in any language: - `description`, in any location - `finalStatusDetails`, in any location - `legalName`, in any location +- `locality`, in any location - `name`, in any location - `rationale`, in any location +- `region`, in any location +- `streetAddress`, in any location - `title`, in any location -- `parties/address/locality` -- `parties/address/region` -- `parties/address/streetAddress` - `planning/budget/project` - `tender/awardCriteriaDetails` - `tender/procurementMethodDetails` diff --git a/docs/history/changelog.md b/docs/history/changelog.md index 167035f81..d69d0305d 100644 --- a/docs/history/changelog.md +++ b/docs/history/changelog.md @@ -72,8 +72,10 @@ Per the [normative and non-normative content and changes policy](../governance/n * Add new codelists: * [#1372](https://github.com/open-contracting/standard/pull/1372) `country` + * [#1684](https://github.com/open-contracting/standard/pull/1684) `geometryType` * [#1316](https://github.com/open-contracting/standard/pull/1316) `language` * [#1326](https://github.com/open-contracting/standard/pull/1326) `linkRelationType` + * [#1684](https://github.com/open-contracting/standard/pull/1684) `locationGazetteer` * [#1308](https://github.com/open-contracting/standard/pull/1308) `mediaType` * [#1459](https://github.com/open-contracting/standard/pull/1459) `partyScale` * [#1654](https://github.com/open-contracting/standard/pull/1654) `permission` @@ -87,14 +89,16 @@ Per the [normative and non-normative content and changes policy](../governance/n * [#1210](https://github.com/open-contracting/standard/pull/1210) Add codes from the legal basis extension: * 'CELEX' * 'LEXML' - * [#1218](https://github.com/open-contracting/standard/pull/1218) [#1679](https://github.com/open-contracting/standard/pull/1679) Add codes from the organization classification extension: + * [#1218](https://github.com/open-contracting/standard/pull/1218) [#1679](https://github.com/open-contracting/standard/pull/1679) [#1692](https://github.com/open-contracting/standard/pull/1692) Add codes from the organization classification extension: * 'COFOG' * 'TED_CA_TYPE' * 'TED_CE_ACTIVITY' * 'eu-buyer-contracting-type' * 'eu-main-activity' + * 'eu-buyer-legal-type' * [#1452](https://github.com/open-contracting/standard/pull/1452) Add 'proClass'. * [#1637](https://github.com/open-contracting/standard/pull/1637) Add 'sdg' and 'sdgTarget'. + * [#1684](https://github.com/open-contracting/standard/pull/1684) Add 'oc4idsProjectSector' from project extension. * `documentType.csv`: * Add codes: @@ -185,9 +189,10 @@ Per the [normative and non-normative content and changes policy](../governance/n * Clarify core concepts: * [#1216](https://github.com/open-contracting/standard/pull/1216) Define contracting process and planning process in the schema description. Update definition of release, record and ocid. Update references to contracting process so that it takes take the planning process into account. - * [#1513](https://github.com/open-contracting/standard/pull/1513) Update fields' use of "contracting process" and "contracting (or planning) process" to reflect the new definition. Align `planning.budget.project` and `planning.budget.projectID`. + * [#1513](https://github.com/open-contracting/standard/pull/1513) Update fields' use of "contracting process" and "contracting (or planning) process" to reflect the new definition. * [#1443](https://github.com/open-contracting/standard/pull/1443) `date` * [#1182](https://github.com/open-contracting/standard/pull/1182) `buyer` + * [#1684](https://github.com/open-contracting/standard/pull/1684) `planning.budget.project` and `planning.budget.projectID` * [#1163](https://github.com/open-contracting/standard/pull/1163) `tender.procuringEntity` * [#1395](https://github.com/open-contracting/standard/pull/1417) `tender.procurementMethod` * [#1442](https://github.com/open-contracting/standard/pull/1442) `tender.submissionMethodDetails` @@ -201,7 +206,9 @@ Per the [normative and non-normative content and changes policy](../governance/n * [#1459](https://github.com/open-contracting/standard/pull/1459) `parties.details.scale` * [#1335](https://github.com/open-contracting/standard/pull/1335) `planning.id` * [#1642](https://github.com/open-contracting/standard/pull/1642) `planning.finalStatus`, `planning.finalStatusDetails` and `planning.finalStatusDate` + * [#1684](https://github.com/open-contracting/standard/pull/1684) `planning.project` * [#1324](https://github.com/open-contracting/standard/pull/1324) `tender.datePublished` + * [#1684](https://github.com/open-contracting/standard/pull/1684) `tender.deliveryLocations` and `tender.deliveryAddresses` * [#1296](https://github.com/open-contracting/standard/pull/1296) [#1674](https://github.com/open-contracting/standard/pull/1674) `tender.exclusionGrounds` * [#1669](https://github.com/open-contracting/standard/pull/1669) `tender.expressionOfInterestDeadline` * [#1490](https://github.com/open-contracting/standard/pull/1490) `tender.identifiers` @@ -222,6 +229,7 @@ Per the [normative and non-normative content and changes policy](../governance/n * [#1372](https://github.com/open-contracting/standard/pull/1372) `Address.country` * [#1380](https://github.com/open-contracting/standard/pull/1380) [#1440](https://github.com/open-contracting/standard/pull/1440) `Document.languages` * [#1439](https://github.com/open-contracting/standard/pull/1439) `Document.relatedItems` + * [#1684](https://github.com/open-contracting/standard/pull/1684) `Item.deliveryLocations` and `Item.deliveryAddresses` * [#1689](https://github.com/open-contracting/standard/pull/1689) `Item.immediateContainer` * [#1455](https://github.com/open-contracting/standard/pull/1455) `Milestone.dueAfterDate` * [#1434](https://github.com/open-contracting/standard/pull/1434) `Milestone.value` diff --git a/docs/schema/reference.md b/docs/schema/reference.md index 670bc74fe..698b4754c 100644 --- a/docs/schema/reference.md +++ b/docs/schema/reference.md @@ -135,7 +135,7 @@ The planning section is used in a planning process. This includes information ab ```{jsonschema} ../../build/current_lang/release-schema.json :pointer: /definitions/Planning -:collapse: budget,documents,milestones +:collapse: budget,project,documents,milestones ``` ```{extensionlist} The following extensions are available for planning @@ -168,6 +168,26 @@ Apart from documents, the majority of planning information is held within the bu :list: budget ``` +#### Project + +````{admonition} Example +:class: hint + +```{jsoninclude} ../examples/release_schema_reference/release_package.json +:jsonpointer: /releases/0/planning/project +:title: project +``` +```` + +```{jsonschema} ../../build/current_lang/release-schema.json +:pointer: /definitions/Project +:collapse: totalValue,additionalClassifications,locations +``` + +```{extensionlist} The following extensions are available for project +:list: +``` + ### Tender The tender section includes details of the announcement that an organization intends to source some particular goods, services or works and to establish one or more contract(s) for these. @@ -681,7 +701,18 @@ As well as providing this machine-readable link between processes, publishers ma ### Location -The [Location](https://extensions.open-contracting.org/en/extensions/location/v1.1.4/) extension can be used to provide location information. +````{admonition} Example +:class: hint + +```{jsoninclude} ../examples/release_schema_reference/release_package.json +:jsonpointer: /releases/0/planning/project/locations/0 +:title: location +``` +```` + +```{jsonschema} ../../build/current_lang/release-schema.json +:pointer: /definitions/Location +``` ### Link diff --git a/manage.py b/manage.py index 3bce47b69..117fa426d 100755 --- a/manage.py +++ b/manage.py @@ -523,7 +523,7 @@ def pre_commit(): """ nonmultilingual = { # Identifiers. - 'amendsReleaseID', 'id', 'identifier', 'ocid', 'relatedItems', 'releaseID', + 'amendsReleaseID', 'id', 'identifier', 'identifiers', 'ocid', 'relatedItems', 'releaseID', # Missing format properties. https://github.com/open-contracting/standard/issues/881 'email', # Published-defined formats. @@ -536,6 +536,7 @@ def pre_commit(): jsonref_release_schema = json_load('release-schema.json', jsonref, merge_props=True) counts = defaultdict(list) + nonstring = ('boolean', 'integer', 'number', 'object') for field in get_schema_fields(jsonref_release_schema): name = field.path_components[-1] # Skip definitions (output dereferenced properties only). Skip deprecated fields. @@ -543,7 +544,8 @@ def pre_commit(): continue multilingual = ( # If a field can be a non-string, it is not multilingual. - not any(t in field.schema['type'] for t in ('boolean', 'integer', 'number', 'object')) + not any(t in field.schema['type'] for t in nonstring) + and ('array' not in field.schema['type'] or not any(t in field.schema['items']['type'] for t in nonstring)) # If a field's value is constrained to a codelist or format, it is not multilingual. and not any(prop in field.schema for prop in ('codelist', 'format')) # If an array can contain non-strings, it is not multilingual. @@ -553,14 +555,16 @@ def pre_commit(): ) field.sep = '/' if name in counts and bool(counts[name]) ^ multilingual: - if multilingual: + if not multilingual and field.schema['type'] == 'object': + click.secho(f'{field.path} is an object. {" & ".join(counts[name])} is/are multilingual.', fg='yellow') + elif multilingual: raise Exception(f'{name} is multilingual at {field.path}, but not elsewhere') else: raise Exception(f'{name} is multilingual at {" & ".join(counts[name])}, but not at {field.path}') if multilingual: counts[name].append(field.path) else: - counts[name] = [] + counts[name] = counts[name] bulletlist = [ '% STARTLIST', diff --git a/schema/codelists/classificationScheme.csv b/schema/codelists/classificationScheme.csv index 2aca73f40..4ab61ec8a 100644 --- a/schema/codelists/classificationScheme.csv +++ b/schema/codelists/classificationScheme.csv @@ -18,5 +18,7 @@ sdg,Sustainable Development Goals,"The Sustainable Development Goals are a colle sdgTarget,Sustainable Development Goal Targets,The Sustainable Development Goal Targets are specific targets for each Sustainable Development Goal.,https://unstats.un.org/sdgs/indicators/indicators-list/,tender TED_CA_TYPE,EU Type of contracting authority (TED schema),The types of contracting authority within the domain of public procurement according to the legislation of the European Parliament. This scheme's codes match those in TED schema.,https://simap.ted.europa.eu/documents/10184/99173/EN_F01.pdf,organization TED_CE_ACTIVITY,EU Main activity of contracting entity (TED schema),The main activity of the contracting entity within the domain of public procurement according to the legislation of the European Parliament. This scheme's codes match those in TED schema.,https://simap.ted.europa.eu/documents/10184/99173/EN_F04.pdf,organization -eu-buyer-contracting-type,EU Buyer contracting entity type,Whether or not the buyer is a contracting entity within the domain of public procurement according to the legislation of the European Parliament.,https://docs.ted.europa.eu/eforms/latest/reference/code-lists/buyer-contracting-type.html,organization +eu-buyer-contracting-type,EU Buyer contracting entity type (eForms),Whether or not the buyer is a contracting entity within the domain of public procurement according to the legislation of the European Parliament.,https://docs.ted.europa.eu/eforms/latest/reference/code-lists/buyer-contracting-type.html,organization eu-main-activity,EU Main activity authority list (eForms),The main activity of the contracting entity within the domain of public procurement according to the legislation of the European Parliament. This scheme's codes match those in eForms.,https://op.europa.eu/en/web/eu-vocabularies/concept-scheme/-/resource?uri=http://publications.europa.eu/resource/authority/main-activity,organization +eu-buyer-legal-type,EU Buyer legal type (eForms),The type of the procuring authority within the domain of public procurement according to the legislation of the European Parliament. This scheme's codes match those in eForms.,https://op.europa.eu/en/web/eu-vocabularies/concept-scheme/-/resource?uri=http://publications.europa.eu/resource/authority/buyer-legal-type,organization +oc4idsProjectSector,OC4IDS Project Sector,Open Contracting for Infrastructure Data Standards Toolkit projectSector codelist,https://standard.open-contracting.org/infrastructure/latest/en/reference/codelists/#projectsector,project diff --git a/schema/codelists/geometryType.csv b/schema/codelists/geometryType.csv new file mode 100644 index 000000000..6706bafdd --- /dev/null +++ b/schema/codelists/geometryType.csv @@ -0,0 +1,7 @@ +Code,Title,Description,Source +Point,Point,The `coordinates` field is a single position.,https://tools.ietf.org/html/rfc7946#section-3.1 +MultiPoint,MultiPoint,The `coordinates` field is an array of positions.,https://tools.ietf.org/html/rfc7946#section-3.1 +LineString,LineString,The `coordinates` field is an array of two or more positions.,https://tools.ietf.org/html/rfc7946#section-3.1 +MultiLineString,MultiLineString,The `coordinates` field is an array of LineString coordinate arrays.,https://tools.ietf.org/html/rfc7946#section-3.1 +Polygon,Polygon,The `coordinates` field is an array of linear ring coordinate arrays.,https://tools.ietf.org/html/rfc7946#section-3.1 +MultiPolygon,MultiPolygon,The `coordinates` field is an array of Polygon coordinate arrays.,https://tools.ietf.org/html/rfc7946#section-3.1 diff --git a/schema/codelists/locationGazetteer.csv b/schema/codelists/locationGazetteer.csv new file mode 100644 index 000000000..fbcc3869c --- /dev/null +++ b/schema/codelists/locationGazetteer.csv @@ -0,0 +1,7 @@ +Category,Code,Title,Description,Source,URI Pattern +Sub-National,NUTS,EU Nomenclature of Territorial Units for Statistics,The Nomenclature of Territorial Units for Statistics (NUTS) was established by Eurostat in order to provide a single uniform breakdown of territorial units for the production of regional statistics for the European Union.,https://ec.europa.eu/eurostat/web/nuts/linked-open-data,http://data.europa.eu/nuts/code/ +National,ISO2,ISO 3166-1 alpha-2,ISO 3166-1 alpha-2 assigns two-letter codes to countries.,https://www.iso.org/iso-3166-country-codes.html, +Universal,GEONAMES,GeoNames,GeoNames assigns numerical identifiers to geographical names.,https://www.geonames.org/,https://www.geonames.org/ +Universal,OSMN,OpenStreetMap node,An OpenStreetMap node defines a point in space.,,https://www.openstreetmap.org/node/ +Universal,OSMW,OpenStreetMap way,"An OpenStreetMap way defines linear features and area boundaries, as an ordered list of nodes.",https://wiki.openstreetmap.org/wiki/Way,https://www.openstreetmap.org/way/ +Universal,OSMR,OpenStreetMap relation,"An OpenStreetMap relation combines nodes, ways, and/or other relations.",https://wiki.openstreetmap.org/wiki/Relation,https://www.openstreetmap.org/relation/ diff --git a/schema/dereferenced-release-schema.json b/schema/dereferenced-release-schema.json index 4be286c08..fb181d345 100644 --- a/schema/dereferenced-release-schema.json +++ b/schema/dereferenced-release-schema.json @@ -515,6 +515,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } } }, @@ -1038,6 +1046,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -1161,7 +1177,7 @@ "properties": { "id": { "title": "Planning ID", - "description": "An identifier for this planning process.", + "description": "An identifier for the planning process.", "type": [ "string", "null" @@ -1545,7 +1561,7 @@ }, "project": { "title": "Project title", - "description": "The name of the project of which the future contract(s) will be part or through which it/they will be funded. Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry.", + "description": "The name of the programme of work as it appears in a budget (for example, a national or state budget), of which the future contract(s) will be part or through which it/they will be funded.", "type": [ "string", "null" @@ -1553,7 +1569,7 @@ }, "projectID": { "title": "Project identifier", - "description": "The identifier of the project of which the future contract(s) will be part or through which it/they will be funded. Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", + "description": "The identifier of the programme of work as it appears in a budget (for example, a national or state budget), of which the future contract(s) will be part or through which it/they will be funded. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -1584,1290 +1600,467 @@ } } }, - "finalStatus": { - "title": "Final status", - "description": "The final status of the planning process, using the closed [planningFinalStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#planning-final-status) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "planningFinalStatus.csv", - "openCodelist": false, - "enum": [ - "cancelled", - "unsuccessful", - null - ] - }, - "finalStatusDetails": { - "title": "Final status details", - "description": "Additional details on the final status of the planning process. This field can be used to provide the local name of the final status.", - "type": [ - "string", - "null" - ] - }, - "finalStatusDate": { - "title": "Final status date", - "description": "The date on which the planning process reached its final status.", - "format": "date-time", - "type": [ - "string", - "null" - ] - }, - "documents": { - "title": "Documents", - "description": "Documents related to the planning process (for example, notices, needs assessments and market studies).", - "type": "array", - "items": { - "type": "object", - "title": "Document", - "description": "Links to, or descriptions of, external documents can be attached at various locations within the standard. Documents can be supporting information, formal notices, downloadable forms, or any other kind of resource that ought to be made public as part of full open contracting.", - "required": [ - "id" - ], - "properties": { - "id": { - "title": "ID", - "description": "A local, unique identifier for this document. This field is used to keep track of multiple revisions of a document through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer" - ], - "minLength": 1 - }, - "documentType": { - "title": "Document type", - "description": "A classification of the document described, using the open [documentType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#document-type) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "documentType.csv", - "openCodelist": true - }, - "title": { - "title": "Title", - "description": "The document title.", - "type": [ - "string", - "null" - ] - }, - "description": { - "title": "Description", - "description": "A short description of the document. Descriptions are recommended to not exceed 250 words. In the event the document is not accessible online, the description field can be used to describe arrangements for obtaining a copy of the document.", - "type": [ - "string", - "null" - ] - }, - "url": { - "title": "URL", - "description": "A web address for accessing the document. The server providing access to this document ought to be configured to report the correct IANA media type. If the relevant information is within a larger document, the first page should be indicated by adding a fragment identifier to the end of the URL, such as #page=32.", - "type": [ - "string", - "null" - ], - "format": "uri" - }, - "datePublished": { - "title": "Date published", - "description": "The date on which the document was first published. This is particularly important for legally important documents such as notices of a tender.", - "type": [ - "string", - "null" - ], - "format": "date-time" - }, - "dateModified": { - "title": "Date modified", - "description": "Date that the document was last modified", - "type": [ - "string", - "null" - ], - "format": "date-time" - }, - "format": { - "title": "Format", - "description": "The format of the document, using the open [media type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#media-type) codelist. For example, a web page has a format of 'text/html'. The 'offline/print' code is reserved for printed documents not available in other formats.", - "type": [ - "string", - "null" - ], - "codelist": "mediaType.csv", - "openCodelist": true - }, - "languages": { - "title": "Languages", - "description": "The languages used in the document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.", - "type": [ - "array", - "null" - ], - "items": { - "type": "string" + "project": { + "title": "Project", + "description": "Information about the infrastructure or public-private partnership (PPP) project to which the planning process is related.", + "type": "object", + "properties": { + "id": { + "title": "Identifier", + "description": "An externally provided identifier for the project. This can be a URI, an [Open Contracting for Infrastructure Data Standards Toolkit (OC4IDS)](https://standard.open-contracting.org/infrastructure/latest/en/guidance/identifiers/) project identifier, [OCDS for PPPs](https://standard.open-contracting.org/profiles/ppp/latest/en/framework/#i-basic-project-information) project identifier, an identifier from a projects register, or an identifier based on the canonical version of the project's name. Project identifiers should be unique within the scope of the publication.", + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "title": { + "title": "Title", + "description": "The name of the project. If a project's register is available, this should be the same as the project's name in that register.", + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "description": { + "title": "Description", + "description": "A short description of the project.", + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "totalValue": { + "title": "Total value", + "description": "The total anticipated value of the project over its lifetime.", + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "description": "The amount as entered into a system or published in a document.", + "type": [ + "number", + "null" + ] }, - "codelist": "language.csv", - "openCodelist": true - }, - "language": { - "title": "Language", - "description": "The language of the linked document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.", - "type": [ - "string", - "null" - ], - "codelist": "language.csv", - "openCodelist": true, - "deprecated": { - "description": "This field is deprecated in favor of `languages`, to support documents in which multiple languages are used.", - "deprecatedVersion": "1.2" - } - }, - "relatedItems": { - "title": "Related items", - "description": "The subset of items to which this document relates, expressed as the `id` values of the related entries in the parent object's `items` array. For example, an entry in the `tender.documents` array may be related only to entries in the `tender.items` array.", - "type": [ - "array", - "null" - ], - "items": { + "amountNet": { + "title": "Net amount", + "description": "The amount excluding all taxes.", "type": [ - "string" + "number", + "null" ] - } - } - } - } - }, - "milestones": { - "title": "Planning milestones", - "description": "Milestones associated with the planning process.", - "type": "array", - "items": { - "title": "Milestone", - "description": "The milestone block can be used to represent a wide variety of events in the lifetime of a contracting (or planning) process.", - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "title": "ID", - "description": "A local identifier for this milestone, unique within this block. This field is used to keep track of multiple revisions of a milestone through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer" - ], - "minLength": 1 - }, - "title": { - "title": "Title", - "description": "Milestone title", - "type": [ - "string", - "null" - ] - }, - "type": { - "title": "Milestone type", - "description": "The nature of the milestone, using the open [milestoneType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#milestone-type) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "milestoneType.csv", - "openCodelist": true - }, - "description": { - "title": "Description", - "description": "A description of the milestone.", - "type": [ - "string", - "null" - ] - }, - "code": { - "title": "Milestone code", - "description": "Milestone codes can be used to track specific events that take place for a particular kind of contracting (or planning) process. For example, a code of 'approvalLetter' can be used to allow applications to understand this milestone represents the date an approvalLetter is due or signed.", - "type": [ - "string", - "null" - ] - }, - "dueAfterDate": { - "title": "Due after date", - "description": "The date after which the milestone is due.", - "type": [ - "string", - "null" - ], - "format": "date-time" - }, - "dueDate": { - "title": "Due date", - "description": "The date the milestone is due.", - "type": [ - "string", - "null" - ], - "format": "date-time" - }, - "dateMet": { - "format": "date-time", - "title": "Date met", - "description": "The date on which the milestone was met.", - "type": [ - "string", - "null" - ] - }, - "dateModified": { - "title": "Date modified", - "description": "The date the milestone was last reviewed or modified and the status was altered or confirmed to still be correct.", - "type": [ - "string", - "null" - ], - "format": "date-time" - }, - "status": { - "title": "Status", - "description": "The status that was realized on the date provided in `dateModified`, from the closed [milestoneStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#milestone-status) codelist.", - "type": [ - "string", - "null" - ], - "enum": [ - "scheduled", - "met", - "notMet", - "partiallyMet", - null - ], - "codelist": "milestoneStatus.csv", - "openCodelist": false - }, - "documents": { - "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", - "type": "array", - "deprecated": { - "deprecatedVersion": "1.1", - "description": "Inclusion of documents at the milestone level is now deprecated. Documentation should be attached in the tender, award, contract or implementation sections, and titles and descriptions used to highlight the related milestone. Publishers who wish to continue to provide documents at the milestone level should explicitly declare this by using the milestone documents extension." }, - "items": { - "type": "object", - "title": "Document", - "description": "Links to, or descriptions of, external documents can be attached at various locations within the standard. Documents can be supporting information, formal notices, downloadable forms, or any other kind of resource that ought to be made public as part of full open contracting.", - "required": [ - "id" - ], - "properties": { - "id": { - "title": "ID", - "description": "A local, unique identifier for this document. This field is used to keep track of multiple revisions of a document through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer" - ], - "minLength": 1 - }, - "documentType": { - "title": "Document type", - "description": "A classification of the document described, using the open [documentType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#document-type) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "documentType.csv", - "openCodelist": true - }, - "title": { - "title": "Title", - "description": "The document title.", - "type": [ - "string", - "null" - ] - }, - "description": { - "title": "Description", - "description": "A short description of the document. Descriptions are recommended to not exceed 250 words. In the event the document is not accessible online, the description field can be used to describe arrangements for obtaining a copy of the document.", - "type": [ - "string", - "null" - ] - }, - "url": { - "title": "URL", - "description": "A web address for accessing the document. The server providing access to this document ought to be configured to report the correct IANA media type. If the relevant information is within a larger document, the first page should be indicated by adding a fragment identifier to the end of the URL, such as #page=32.", - "type": [ - "string", - "null" - ], - "format": "uri" - }, - "datePublished": { - "title": "Date published", - "description": "The date on which the document was first published. This is particularly important for legally important documents such as notices of a tender.", - "type": [ - "string", - "null" - ], - "format": "date-time" - }, - "dateModified": { - "title": "Date modified", - "description": "Date that the document was last modified", - "type": [ - "string", - "null" - ], - "format": "date-time" - }, - "format": { - "title": "Format", - "description": "The format of the document, using the open [media type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#media-type) codelist. For example, a web page has a format of 'text/html'. The 'offline/print' code is reserved for printed documents not available in other formats.", - "type": [ - "string", - "null" - ], - "codelist": "mediaType.csv", - "openCodelist": true - }, - "languages": { - "title": "Languages", - "description": "The languages used in the document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.", - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - }, - "codelist": "language.csv", - "openCodelist": true - }, - "language": { - "title": "Language", - "description": "The language of the linked document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.", - "type": [ - "string", - "null" - ], - "codelist": "language.csv", - "openCodelist": true, - "deprecated": { - "description": "This field is deprecated in favor of `languages`, to support documents in which multiple languages are used.", - "deprecatedVersion": "1.2" - } - }, - "relatedItems": { - "title": "Related items", - "description": "The subset of items to which this document relates, expressed as the `id` values of the related entries in the parent object's `items` array. For example, an entry in the `tender.documents` array may be related only to entries in the `tender.items` array.", - "type": [ - "array", - "null" - ], - "items": { - "type": [ - "string" - ] - } - } - } + "amountGross": { + "title": "Gross amount", + "description": "The amount including all taxes.", + "type": [ + "number", + "null" + ] }, - "uniqueItems": true - }, - "value": { - "title": "Value", - "description": "The payment's value, if the milestone represents a planned payment.", - "type": "object", - "properties": { - "amount": { - "title": "Amount", - "description": "The amount as entered into a system or published in a document.", - "type": [ - "number", - "null" - ] - }, - "amountNet": { - "title": "Net amount", - "description": "The amount excluding all taxes.", - "type": [ - "number", - "null" - ] - }, - "amountGross": { - "title": "Gross amount", - "description": "The amount including all taxes.", - "type": [ - "number", - "null" - ] - }, - "currency": { - "title": "Currency", - "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "currency.csv", - "openCodelist": false, - "enum": [ - "ADP", - "AED", - "AFA", - "AFN", - "ALK", - "ALL", - "AMD", - "ANG", - "AOA", - "AOK", - "AON", - "AOR", - "ARA", - "ARP", - "ARS", - "ARY", - "ATS", - "AUD", - "AWG", - "AYM", - "AZM", - "AZN", - "BAD", - "BAM", - "BBD", - "BDT", - "BEC", - "BEF", - "BEL", - "BGJ", - "BGK", - "BGL", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BOP", - "BOV", - "BRB", - "BRC", - "BRE", - "BRL", - "BRN", - "BRR", - "BSD", - "BTN", - "BUK", - "BWP", - "BYB", - "BYN", - "BYR", - "BZD", - "CAD", - "CDF", - "CHC", - "CHE", - "CHF", - "CHW", - "CLF", - "CLP", - "CNY", - "COP", - "COU", - "CRC", - "CSD", - "CSJ", - "CSK", - "CUC", - "CUP", - "CVE", - "CYP", - "CZK", - "DDM", - "DEM", - "DJF", - "DKK", - "DOP", - "DZD", - "ECS", - "ECV", - "EEK", - "EGP", - "ERN", - "ESA", - "ESB", - "ESP", - "ETB", - "EUR", - "FIM", - "FJD", - "FKP", - "FRF", - "GBP", - "GEK", - "GEL", - "GHC", - "GHP", - "GHS", - "GIP", - "GMD", - "GNE", - "GNF", - "GNS", - "GQE", - "GRD", - "GTQ", - "GWE", - "GWP", - "GYD", - "HKD", - "HNL", - "HRD", - "HRK", - "HTG", - "HUF", - "IDR", - "IEP", - "ILP", - "ILR", - "ILS", - "INR", - "IQD", - "IRR", - "ISJ", - "ISK", - "ITL", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAJ", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LSM", - "LTL", - "LTT", - "LUC", - "LUF", - "LUL", - "LVL", - "LVR", - "LYD", - "MAD", - "MDL", - "MGA", - "MGF", - "MKD", - "MLF", - "MMK", - "MNT", - "MOP", - "MRO", - "MRU", - "MTL", - "MTP", - "MUR", - "MVQ", - "MVR", - "MWK", - "MXN", - "MXP", - "MXV", - "MYR", - "MZE", - "MZM", - "MZN", - "NAD", - "NGN", - "NIC", - "NIO", - "NLG", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEH", - "PEI", - "PEN", - "PES", - "PGK", - "PHP", - "PKR", - "PLN", - "PLZ", - "PTE", - "PYG", - "QAR", - "RHD", - "ROK", - "ROL", - "RON", - "RSD", - "RUB", - "RUR", - "RWF", - "SAR", - "SBD", - "SCR", - "SDD", - "SDG", - "SDP", - "SEK", - "SGD", - "SHP", - "SIT", - "SKK", - "SLL", - "SOS", - "SRD", - "SRG", - "SSP", - "STD", - "STN", - "SUR", - "SVC", - "SYP", - "SZL", - "THB", - "TJR", - "TJS", - "TMM", - "TMT", - "TND", - "TOP", - "TPE", - "TRL", - "TRY", - "TTD", - "TWD", - "TZS", - "UAH", - "UAK", - "UGS", - "UGW", - "UGX", - "USD", - "USN", - "USS", - "UYI", - "UYN", - "UYP", - "UYU", - "UYW", - "UZS", - "VEB", - "VEF", - "VES", - "VNC", - "VND", - "VUV", - "WST", - "XAF", - "XAG", - "XAU", - "XBA", - "XBB", - "XBC", - "XBD", - "XCD", - "XDR", - "XEU", - "XFO", - "XFU", - "XOF", - "XPD", - "XPF", - "XPT", - "XRE", - "XSU", - "XTS", - "XUA", - "XXX", - "YDD", - "YER", - "YUD", - "YUM", - "YUN", - "ZAL", - "ZAR", - "ZMK", - "ZMW", - "ZRN", - "ZRZ", - "ZWC", - "ZWD", - "ZWL", - "ZWN", - "ZWR", - null - ] - } - } - } - } - } - } - } - }, - "tender": { - "title": "Tender", - "description": "Information about, for example, the needed items and their estimated value, procurement method, award criteria, and various deadlines. This information concerns either the contracting process or the planning process. For a contracting process, this information typically concerns the period starting with contracting documents (for example, procurement documents) being available to potential suppliers and ending with the bid submission deadline. For a planning process, this information typically concerns the period before contracting documents are available to potential suppliers.", - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "title": "Tender ID", - "description": "An identifier for this tender. This may be the same as the ocid, or may be an internal identifier for this tender. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer" - ], - "minLength": 1 - }, - "identifiers": { - "title": "Additional tender identifiers", - "description": "Additional identifiers for this tender. This field can be used to provide local identifiers for the tender.", - "type": "array", - "items": { - "title": "Simple identifier", - "description": "An unambiguous reference to a resource within a given context.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The list, register or system from which the identifier is taken. If the scope of the list, register or system from which the identifier is drawn is national, it is suggested to follow the pattern {ISO 3166-1 alpha-2}-{system}. If it is subnational, it is suggested to follow the pattern {ISO 3166-2}-{system}.", - "type": [ - "string", - "null" - ] - }, - "id": { - "title": "ID", - "description": "The identifier taken from the scheme.", - "type": [ - "string", - "null" - ], - "versionId": true - } - } - }, - "uniqueItems": true, - "wholeListMerge": true - }, - "title": { - "title": "Tender title", - "description": "A title for this tender. This will often be used by applications as a headline to attract interest, and to help analysts understand the nature of this procurement. The title should be less than 150 characters in length.", - "type": [ - "string", - "null" - ] - }, - "description": { - "title": "Tender description", - "description": "A summary description of the tender. Descriptions should be short and easy to read. Avoid using ALL CAPS.", - "type": [ - "string", - "null" - ] - }, - "status": { - "title": "Tender status", - "description": "The current status of the tender, from the closed [tenderStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#tender-status) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "tenderStatus.csv", - "openCodelist": false, - "enum": [ - "planning", - "planned", - "active", - "complete", - "cancelled", - "unsuccessful", - "withdrawn", - null - ], - "deprecated": { - "description": "This field is deprecated, because the same information can be provided by filling in the relevant date fields.", - "deprecatedVersion": "1.2" - } - }, - "finalStatus": { - "title": "Final status", - "description": "The final status of the tender, using the closed [tenderFinalStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#tender-final-status) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "tenderFinalStatus.csv", - "openCodelist": false, - "enum": [ - "complete", - "cancelled", - "unsuccessful", - null - ] - }, - "finalStatusDetails": { - "title": "Final status details", - "description": "Additional details on the final status of the tender. This field can be used to provide the local name of the final status.", - "type": [ - "string", - "null" - ] - }, - "finalStatusDate": { - "title": "Final status date", - "description": "The date on which the tender reached its final status.", - "type": [ - "string", - "null" - ], - "format": "date-time" - }, - "procuringEntity": { - "properties": { - "name": { - "type": [ - "string", - "null" - ], - "description": "The name of the organization being referenced. This must match the name of an entry in the parties section.", - "title": "Organization name", - "minLength": 1 - }, - "id": { - "type": [ - "string", - "integer" - ], - "description": "The `id` of the organization's entry in the parties array. Although an integer is allowed, it is recommended to use a string.", - "title": "ID" - }, - "identifier": { - "title": "Primary identifier", - "description": "The primary identifier for this organization. Identifiers that uniquely pick out a legal entity should be preferred. Consult the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for the preferred scheme and identifier to use.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", - "type": [ - "string", - "null" - ] - }, - "id": { - "title": "ID", - "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer", - "null" - ] - }, - "legalName": { - "title": "Legal Name", - "description": "The legally registered name of the organization.", - "type": [ - "string", - "null" - ] - }, - "uri": { - "title": "URI", - "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", - "type": [ - "string", - "null" - ], - "format": "uri" - } - }, - "deprecated": { - "deprecatedVersion": "1.1", - "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and detailed legal identifier information should only be provided in the relevant cross-referenced entry in the parties section at the top level of a release." - } - }, - "address": { - "title": "Address", - "description": "(Deprecated outside the parties section)", - "type": "object", - "properties": { - "streetAddress": { - "title": "Street address", - "type": [ - "string", - "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." - }, - "locality": { - "title": "Locality", - "type": [ - "string", - "null" - ], - "description": "The locality. For example, Mountain View." - }, - "region": { - "title": "Region", - "type": [ - "string", - "null" - ], - "description": "The region. For example, CA." - }, - "postalCode": { - "title": "Postal code", + "currency": { + "title": "Currency", + "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", "type": [ "string", "null" ], - "description": "The postal code. For example, 94043." + "codelist": "currency.csv", + "openCodelist": false, + "enum": [ + "ADP", + "AED", + "AFA", + "AFN", + "ALK", + "ALL", + "AMD", + "ANG", + "AOA", + "AOK", + "AON", + "AOR", + "ARA", + "ARP", + "ARS", + "ARY", + "ATS", + "AUD", + "AWG", + "AYM", + "AZM", + "AZN", + "BAD", + "BAM", + "BBD", + "BDT", + "BEC", + "BEF", + "BEL", + "BGJ", + "BGK", + "BGL", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOP", + "BOV", + "BRB", + "BRC", + "BRE", + "BRL", + "BRN", + "BRR", + "BSD", + "BTN", + "BUK", + "BWP", + "BYB", + "BYN", + "BYR", + "BZD", + "CAD", + "CDF", + "CHC", + "CHE", + "CHF", + "CHW", + "CLF", + "CLP", + "CNY", + "COP", + "COU", + "CRC", + "CSD", + "CSJ", + "CSK", + "CUC", + "CUP", + "CVE", + "CYP", + "CZK", + "DDM", + "DEM", + "DJF", + "DKK", + "DOP", + "DZD", + "ECS", + "ECV", + "EEK", + "EGP", + "ERN", + "ESA", + "ESB", + "ESP", + "ETB", + "EUR", + "FIM", + "FJD", + "FKP", + "FRF", + "GBP", + "GEK", + "GEL", + "GHC", + "GHP", + "GHS", + "GIP", + "GMD", + "GNE", + "GNF", + "GNS", + "GQE", + "GRD", + "GTQ", + "GWE", + "GWP", + "GYD", + "HKD", + "HNL", + "HRD", + "HRK", + "HTG", + "HUF", + "IDR", + "IEP", + "ILP", + "ILR", + "ILS", + "INR", + "IQD", + "IRR", + "ISJ", + "ISK", + "ITL", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAJ", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LSM", + "LTL", + "LTT", + "LUC", + "LUF", + "LUL", + "LVL", + "LVR", + "LYD", + "MAD", + "MDL", + "MGA", + "MGF", + "MKD", + "MLF", + "MMK", + "MNT", + "MOP", + "MRO", + "MRU", + "MTL", + "MTP", + "MUR", + "MVQ", + "MVR", + "MWK", + "MXN", + "MXP", + "MXV", + "MYR", + "MZE", + "MZM", + "MZN", + "NAD", + "NGN", + "NIC", + "NIO", + "NLG", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEH", + "PEI", + "PEN", + "PES", + "PGK", + "PHP", + "PKR", + "PLN", + "PLZ", + "PTE", + "PYG", + "QAR", + "RHD", + "ROK", + "ROL", + "RON", + "RSD", + "RUB", + "RUR", + "RWF", + "SAR", + "SBD", + "SCR", + "SDD", + "SDG", + "SDP", + "SEK", + "SGD", + "SHP", + "SIT", + "SKK", + "SLL", + "SOS", + "SRD", + "SRG", + "SSP", + "STD", + "STN", + "SUR", + "SVC", + "SYP", + "SZL", + "THB", + "TJR", + "TJS", + "TMM", + "TMT", + "TND", + "TOP", + "TPE", + "TRL", + "TRY", + "TTD", + "TWD", + "TZS", + "UAH", + "UAK", + "UGS", + "UGW", + "UGX", + "USD", + "USN", + "USS", + "UYI", + "UYN", + "UYP", + "UYU", + "UYW", + "UZS", + "VEB", + "VEF", + "VES", + "VNC", + "VND", + "VUV", + "WST", + "XAF", + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XCD", + "XDR", + "XEU", + "XFO", + "XFU", + "XOF", + "XPD", + "XPF", + "XPT", + "XRE", + "XSU", + "XTS", + "XUA", + "XXX", + "YDD", + "YER", + "YUD", + "YUM", + "YUN", + "ZAL", + "ZAR", + "ZMK", + "ZMW", + "ZRN", + "ZRZ", + "ZWC", + "ZWD", + "ZWL", + "ZWN", + "ZWR", + null + ] + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the project.", + "type": [ + "string", + "null" + ], + "format": "uri" + }, + "sector": { + "title": "Sector", + "description": "The primary sector to which the project relates. It is recommended to use the scheme 'oc4idsProjectSector' and codes from the [OC4IDS projectSector codelist](https://standard.open-contracting.org/infrastructure/latest/en/reference/codelists/#projectsector).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "classificationScheme.csv", + "openCodelist": true }, - "country": { - "title": "Country code", - "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "id": { + "title": "ID", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", "type": [ "string", "null" ], - "codelist": "country.csv", - "openCodelist": false, - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "XK", - "YE", - "YT", - "ZA", - "ZM", - "ZW", - null - ] - }, - "countryName": { - "title": "Country name", - "type": [ - "string", - "null" - ], - "description": "The country name. For example, United States.", - "deprecated": { - "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", - "deprecatedVersion": "1.2" - } + "format": "uri" } - }, - "deprecated": { - "deprecatedVersion": "1.1", - "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and address information should only be provided in the relevant cross-referenced entry in the parties section at the top level of a release." } }, - "additionalIdentifiers": { + "additionalClassifications": { + "title": "Additional classifications", + "description": "Additional classifications for the project. For example, a sector or strategic framework classification.", "type": "array", - "deprecated": { - "deprecatedVersion": "1.1", - "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and additional identifiers for an organization should be provided in the relevant cross-referenced entry in the parties section at the top level of a release." - }, "items": { - "title": "Identifier", - "description": "A unique identifier for an organization.", + "title": "Classification", + "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", "type": "object", "properties": { "scheme": { "title": "Scheme", - "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", "type": [ "string", "null" - ] + ], + "codelist": "classificationScheme.csv", + "openCodelist": true }, "id": { "title": "ID", - "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", "null" ] }, - "legalName": { - "title": "Legal Name", - "description": "The legally registered name of the organization.", + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", "type": [ "string", "null" @@ -2875,7 +2068,7 @@ }, "uri": { "title": "URI", - "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "description": "A URI to uniquely identify the classification code.", "type": [ "string", "null" @@ -2884,743 +2077,2588 @@ } } }, - "title": "Additional identifiers", - "uniqueItems": true, "wholeListMerge": true, - "description": "(Deprecated outside the parties section) A list of additional / supplemental identifiers for the organization, using the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/). This can be used to provide an internally used identifier for this organization in addition to the primary legal entity identifier." + "uniqueItems": true, + "minItems": 1 }, - "contactPoint": { - "title": "Contact point", - "type": "object", - "description": "(Deprecated outside the parties section)", - "properties": { - "name": { - "title": "Name", - "type": [ - "string", - "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting (or planning) process." - }, - "email": { - "title": "Email", - "type": [ - "string", - "null" - ], - "description": "The e-mail address of the contact point/person." - }, - "telephone": { - "title": "Telephone", - "type": [ - "string", - "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." - }, - "faxNumber": { - "title": "Fax number", - "type": [ - "string", - "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." - }, - "url": { - "title": "URL", - "type": [ - "string", - "null" - ], - "description": "A web address for the contact point/person.", - "format": "uri" + "locations": { + "title": "Locations", + "description": "Information about the locations where the project takes place.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } } }, - "deprecated": { - "deprecatedVersion": "1.1", - "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and contact point information for an organization should be provided in the relevant cross-referenced entry in the parties section at the top level of a release." - } + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 } }, - "type": "object", - "description": "The organization managing the contracting (or planning) process. If an organization is both a buyer and a procuring entity (as can be the case in simple contracting processes), it should be disclosed using the buyer field, but not this field.", - "title": "Procuring entity" + "minProperties": 1 }, - "items": { - "title": "Items to be procured", - "description": "The goods, services or works to be purchased, broken into line items wherever possible. Items should not be duplicated, but the quantity specified instead.", + "finalStatus": { + "title": "Final status", + "description": "The final status of the planning process, using the closed [planningFinalStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#planning-final-status) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "planningFinalStatus.csv", + "openCodelist": false, + "enum": [ + "cancelled", + "unsuccessful", + null + ] + }, + "finalStatusDetails": { + "title": "Final status details", + "description": "Additional details on the final status of the planning process. This field can be used to provide the local name of the final status.", + "type": [ + "string", + "null" + ] + }, + "finalStatusDate": { + "title": "Final status date", + "description": "The date on which the planning process reached its final status.", + "format": "date-time", + "type": [ + "string", + "null" + ] + }, + "documents": { + "title": "Documents", + "description": "Documents related to the planning process (for example, notices, needs assessments and market studies).", "type": "array", "items": { - "title": "Item", "type": "object", - "description": "A line-item of the goods, services, or works to be contracted.", + "title": "Document", + "description": "Links to, or descriptions of, external documents can be attached at various locations within the standard. Documents can be supporting information, formal notices, downloadable forms, or any other kind of resource that ought to be made public as part of full open contracting.", "required": [ "id" ], "properties": { "id": { "title": "ID", - "description": "A local identifier to reference and merge the items by. Must be unique within a given array of items. Although an integer is allowed, it is recommended to use a string.", + "description": "A local, unique identifier for this document. This field is used to keep track of multiple revisions of a document through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer" ], "minLength": 1 }, + "documentType": { + "title": "Document type", + "description": "A classification of the document described, using the open [documentType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#document-type) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "documentType.csv", + "openCodelist": true + }, + "title": { + "title": "Title", + "description": "The document title.", + "type": [ + "string", + "null" + ] + }, "description": { "title": "Description", - "description": "A description of the goods, services or works to be provided.", + "description": "A short description of the document. Descriptions are recommended to not exceed 250 words. In the event the document is not accessible online, the description field can be used to describe arrangements for obtaining a copy of the document.", "type": [ "string", "null" ] }, - "classification": { - "title": "Classification", - "description": "The primary classification for the item.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "classificationScheme.csv", - "openCodelist": true - }, - "id": { - "title": "ID", - "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer", - "null" - ] - }, - "description": { - "title": "Description", - "description": "A textual description or title for the classification code.", - "type": [ - "string", - "null" - ] - }, - "uri": { - "title": "URI", - "description": "A URI to uniquely identify the classification code.", - "type": [ - "string", - "null" - ], - "format": "uri" - } - } + "url": { + "title": "URL", + "description": "A web address for accessing the document. The server providing access to this document ought to be configured to report the correct IANA media type. If the relevant information is within a larger document, the first page should be indicated by adding a fragment identifier to the end of the URL, such as #page=32.", + "type": [ + "string", + "null" + ], + "format": "uri" }, - "additionalClassifications": { - "title": "Additional classifications", - "description": "Additional classifications for the item.", - "type": "array", + "datePublished": { + "title": "Date published", + "description": "The date on which the document was first published. This is particularly important for legally important documents such as notices of a tender.", + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "dateModified": { + "title": "Date modified", + "description": "Date that the document was last modified", + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "format": { + "title": "Format", + "description": "The format of the document, using the open [media type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#media-type) codelist. For example, a web page has a format of 'text/html'. The 'offline/print' code is reserved for printed documents not available in other formats.", + "type": [ + "string", + "null" + ], + "codelist": "mediaType.csv", + "openCodelist": true + }, + "languages": { + "title": "Languages", + "description": "The languages used in the document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.", + "type": [ + "array", + "null" + ], "items": { - "title": "Classification", - "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "classificationScheme.csv", - "openCodelist": true - }, - "id": { - "title": "ID", - "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer", - "null" - ] - }, - "description": { - "title": "Description", - "description": "A textual description or title for the classification code.", - "type": [ - "string", - "null" - ] - }, - "uri": { - "title": "URI", - "description": "A URI to uniquely identify the classification code.", - "type": [ - "string", - "null" - ], - "format": "uri" - } - } + "type": "string" }, - "uniqueItems": true, - "wholeListMerge": true + "codelist": "language.csv", + "openCodelist": true }, - "quantity": { - "title": "Quantity", - "description": "The number of units to be provided.", + "language": { + "title": "Language", + "description": "The language of the linked document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.", "type": [ - "number", + "string", "null" - ] + ], + "codelist": "language.csv", + "openCodelist": true, + "deprecated": { + "description": "This field is deprecated in favor of `languages`, to support documents in which multiple languages are used.", + "deprecatedVersion": "1.2" + } }, - "unit": { - "title": "Pricing unit", - "description": "The pricing unit. It is recommended to use the unit of measurement in which the goods, services or works are provided (e.g. kilogram, hour), rather than the unit of presentation (e.g. box), because units of measurement are easier to compare and convert than units of presentation. A unit of measurement is a definite magnitude of a quantity, defined and adopted by convention or law, that is used as a standard of measurement for the same kind of quantity. For example, mass, a quantity, can be measured in kilograms, a unit of measurement.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the identifier for the unit is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended for a unit of measurement.", - "type": [ - "string", - "null" - ], - "codelist": "unitClassificationScheme.csv", - "openCodelist": true - }, - "id": { - "title": "ID", - "description": "The identifier for the unit, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", - "type": [ - "string", - "null" - ] - }, - "name": { - "title": "Name", - "description": "The name of the unit.", - "type": [ - "string", - "null" - ] - }, - "value": { - "title": "Value", - "description": "The monetary value of a single unit.", - "type": "object", - "properties": { - "amount": { - "title": "Amount", - "description": "The amount as entered into a system or published in a document.", - "type": [ - "number", - "null" - ] - }, - "amountNet": { - "title": "Net amount", - "description": "The amount excluding all taxes.", - "type": [ - "number", - "null" - ] - }, - "amountGross": { - "title": "Gross amount", - "description": "The amount including all taxes.", - "type": [ - "number", - "null" - ] - }, - "currency": { - "title": "Currency", - "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "currency.csv", - "openCodelist": false, - "enum": [ - "ADP", - "AED", - "AFA", - "AFN", - "ALK", - "ALL", - "AMD", - "ANG", - "AOA", - "AOK", - "AON", - "AOR", - "ARA", - "ARP", - "ARS", - "ARY", - "ATS", - "AUD", - "AWG", - "AYM", - "AZM", - "AZN", - "BAD", - "BAM", - "BBD", - "BDT", - "BEC", - "BEF", - "BEL", - "BGJ", - "BGK", - "BGL", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BOP", - "BOV", - "BRB", - "BRC", - "BRE", - "BRL", - "BRN", - "BRR", - "BSD", - "BTN", - "BUK", - "BWP", - "BYB", - "BYN", - "BYR", - "BZD", - "CAD", - "CDF", - "CHC", - "CHE", - "CHF", - "CHW", - "CLF", - "CLP", - "CNY", - "COP", - "COU", - "CRC", - "CSD", - "CSJ", - "CSK", - "CUC", - "CUP", - "CVE", - "CYP", - "CZK", - "DDM", - "DEM", - "DJF", - "DKK", - "DOP", - "DZD", - "ECS", - "ECV", - "EEK", - "EGP", - "ERN", - "ESA", - "ESB", - "ESP", - "ETB", - "EUR", - "FIM", - "FJD", - "FKP", - "FRF", - "GBP", - "GEK", - "GEL", - "GHC", - "GHP", - "GHS", - "GIP", - "GMD", - "GNE", - "GNF", - "GNS", - "GQE", - "GRD", - "GTQ", - "GWE", - "GWP", - "GYD", - "HKD", - "HNL", - "HRD", - "HRK", - "HTG", - "HUF", - "IDR", - "IEP", - "ILP", - "ILR", - "ILS", - "INR", - "IQD", - "IRR", - "ISJ", - "ISK", - "ITL", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAJ", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LSM", - "LTL", - "LTT", - "LUC", - "LUF", - "LUL", - "LVL", - "LVR", - "LYD", - "MAD", - "MDL", - "MGA", - "MGF", - "MKD", - "MLF", - "MMK", - "MNT", - "MOP", - "MRO", - "MRU", - "MTL", - "MTP", - "MUR", - "MVQ", - "MVR", - "MWK", - "MXN", - "MXP", - "MXV", - "MYR", - "MZE", - "MZM", - "MZN", - "NAD", - "NGN", - "NIC", - "NIO", - "NLG", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEH", - "PEI", - "PEN", - "PES", - "PGK", - "PHP", - "PKR", - "PLN", - "PLZ", - "PTE", - "PYG", - "QAR", - "RHD", - "ROK", - "ROL", - "RON", - "RSD", - "RUB", - "RUR", - "RWF", - "SAR", - "SBD", - "SCR", - "SDD", - "SDG", - "SDP", - "SEK", - "SGD", - "SHP", - "SIT", - "SKK", - "SLL", - "SOS", - "SRD", - "SRG", - "SSP", - "STD", - "STN", - "SUR", - "SVC", - "SYP", - "SZL", - "THB", - "TJR", - "TJS", - "TMM", - "TMT", - "TND", - "TOP", - "TPE", - "TRL", - "TRY", - "TTD", - "TWD", - "TZS", - "UAH", - "UAK", - "UGS", - "UGW", - "UGX", - "USD", - "USN", - "USS", - "UYI", - "UYN", - "UYP", - "UYU", - "UYW", - "UZS", - "VEB", - "VEF", - "VES", - "VNC", - "VND", - "VUV", - "WST", - "XAF", - "XAG", - "XAU", - "XBA", - "XBB", - "XBC", - "XBD", - "XCD", - "XDR", - "XEU", - "XFO", - "XFU", - "XOF", - "XPD", - "XPF", - "XPT", - "XRE", - "XSU", - "XTS", - "XUA", - "XXX", - "YDD", - "YER", - "YUD", - "YUM", - "YUN", - "ZAL", - "ZAR", - "ZMK", - "ZMW", - "ZRN", - "ZRZ", - "ZWC", - "ZWD", - "ZWL", - "ZWN", - "ZWR", - null - ] - } - } - }, - "uri": { - "title": "URI", - "description": "A URI to uniquely identify the unit.", - "format": "uri", - "type": [ - "string", - "null" - ] - } + "relatedItems": { + "title": "Related items", + "description": "The subset of items to which this document relates, expressed as the `id` values of the related entries in the parent object's `items` array. For example, an entry in the `tender.documents` array may be related only to entries in the `tender.items` array.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "string" + ] } - }, - "immediateContainer": { - "title": "Immediate container", - "description": "The immediate container for the item. Also known as: presentation, presentation form, package.", - "type": "object", - "properties": { - "name": { - "title": "Name", - "description": "The common name of the container. For medicine items, it is recommended to use a title from the [immediateContainer](https://extensions.open-contracting.org/en/extensions/medicine/master/codelists/#immediateContainer.csv) codelist in the OCDS [Medicine](https://extensions.open-contracting.org/en/extensions/medicine/master/) extension. For other items, it is recommended to use a title from PackageTypeCodelist in the GS1 [Global Data Synchronisation Network (GDSN)](https://www.gs1.org/standards/gdsn) standard.", - "type": [ - "string", - "null" - ], - "minLength": 1 - }, - "capacity": { - "title": "Capacity", - "description": "The storage capacity of the container.", - "type": "object", - "properties": { - "unit": { - "title": "Unit", - "description": "The unit of measurement for the quantity.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the identifier for the unit of measurement is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended.", - "type": [ - "string", - "null" - ], - "codelist": "unitClassificationScheme.csv", - "openCodelist": true, - "minLength": 1 - }, - "id": { - "title": "ID", - "description": "The identifier for the unit of measurement, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", - "type": [ - "string", - "null" - ], - "versionId": true, - "minLength": 1 - } - }, - "minProperties": 1 - }, - "value": { - "title": "Value", - "description": "The quantity, as a multiple of the unit of measurement. The quantity is expressed in interval notation, for example: \"[10,10]\" for 10 units, \"[1,10]\" for 1 to 10 units, or \"[10,INF[\" for 10 or more units.", - "type": [ - "string", - "number", - "null" - ], - "pattern": "^[([\\]][0-9]+,([0-9]+|INF)[)[\\]]$" - } - }, - "minProperties": 1 - } - }, - "minProperties": 1 } } - }, - "uniqueItems": true + } }, - "value": { - "title": "Value", - "description": "The estimated value of the procurement, as estimated when publishing the tender information. A negative value indicates that the future contract(s) may involve payments from the supplier to the buyer (commonly used in concession contracts).", - "type": "object", - "properties": { - "amount": { - "title": "Amount", - "description": "The amount as entered into a system or published in a document.", - "type": [ - "number", - "null" - ] - }, - "amountNet": { - "title": "Net amount", - "description": "The amount excluding all taxes.", - "type": [ - "number", - "null" - ] - }, - "amountGross": { - "title": "Gross amount", - "description": "The amount including all taxes.", - "type": [ - "number", - "null" - ] - }, - "currency": { - "title": "Currency", - "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "currency.csv", - "openCodelist": false, - "enum": [ - "ADP", - "AED", - "AFA", - "AFN", - "ALK", - "ALL", - "AMD", - "ANG", - "AOA", - "AOK", - "AON", - "AOR", - "ARA", - "ARP", - "ARS", - "ARY", - "ATS", - "AUD", - "AWG", - "AYM", - "AZM", - "AZN", - "BAD", - "BAM", - "BBD", - "BDT", - "BEC", - "BEF", - "BEL", - "BGJ", - "BGK", - "BGL", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BOP", - "BOV", - "BRB", - "BRC", - "BRE", - "BRL", - "BRN", - "BRR", - "BSD", - "BTN", - "BUK", - "BWP", + "milestones": { + "title": "Planning milestones", + "description": "Milestones associated with the planning process.", + "type": "array", + "items": { + "title": "Milestone", + "description": "The milestone block can be used to represent a wide variety of events in the lifetime of a contracting (or planning) process.", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "title": "ID", + "description": "A local identifier for this milestone, unique within this block. This field is used to keep track of multiple revisions of a milestone through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer" + ], + "minLength": 1 + }, + "title": { + "title": "Title", + "description": "Milestone title", + "type": [ + "string", + "null" + ] + }, + "type": { + "title": "Milestone type", + "description": "The nature of the milestone, using the open [milestoneType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#milestone-type) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "milestoneType.csv", + "openCodelist": true + }, + "description": { + "title": "Description", + "description": "A description of the milestone.", + "type": [ + "string", + "null" + ] + }, + "code": { + "title": "Milestone code", + "description": "Milestone codes can be used to track specific events that take place for a particular kind of contracting (or planning) process. For example, a code of 'approvalLetter' can be used to allow applications to understand this milestone represents the date an approvalLetter is due or signed.", + "type": [ + "string", + "null" + ] + }, + "dueAfterDate": { + "title": "Due after date", + "description": "The date after which the milestone is due.", + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "dueDate": { + "title": "Due date", + "description": "The date the milestone is due.", + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "dateMet": { + "format": "date-time", + "title": "Date met", + "description": "The date on which the milestone was met.", + "type": [ + "string", + "null" + ] + }, + "dateModified": { + "title": "Date modified", + "description": "The date the milestone was last reviewed or modified and the status was altered or confirmed to still be correct.", + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "status": { + "title": "Status", + "description": "The status that was realized on the date provided in `dateModified`, from the closed [milestoneStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#milestone-status) codelist.", + "type": [ + "string", + "null" + ], + "enum": [ + "scheduled", + "met", + "notMet", + "partiallyMet", + null + ], + "codelist": "milestoneStatus.csv", + "openCodelist": false + }, + "documents": { + "title": "Documents", + "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "type": "array", + "deprecated": { + "deprecatedVersion": "1.1", + "description": "Inclusion of documents at the milestone level is now deprecated. Documentation should be attached in the tender, award, contract or implementation sections, and titles and descriptions used to highlight the related milestone. Publishers who wish to continue to provide documents at the milestone level should explicitly declare this by using the milestone documents extension." + }, + "items": { + "type": "object", + "title": "Document", + "description": "Links to, or descriptions of, external documents can be attached at various locations within the standard. Documents can be supporting information, formal notices, downloadable forms, or any other kind of resource that ought to be made public as part of full open contracting.", + "required": [ + "id" + ], + "properties": { + "id": { + "title": "ID", + "description": "A local, unique identifier for this document. This field is used to keep track of multiple revisions of a document through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer" + ], + "minLength": 1 + }, + "documentType": { + "title": "Document type", + "description": "A classification of the document described, using the open [documentType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#document-type) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "documentType.csv", + "openCodelist": true + }, + "title": { + "title": "Title", + "description": "The document title.", + "type": [ + "string", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A short description of the document. Descriptions are recommended to not exceed 250 words. In the event the document is not accessible online, the description field can be used to describe arrangements for obtaining a copy of the document.", + "type": [ + "string", + "null" + ] + }, + "url": { + "title": "URL", + "description": "A web address for accessing the document. The server providing access to this document ought to be configured to report the correct IANA media type. If the relevant information is within a larger document, the first page should be indicated by adding a fragment identifier to the end of the URL, such as #page=32.", + "type": [ + "string", + "null" + ], + "format": "uri" + }, + "datePublished": { + "title": "Date published", + "description": "The date on which the document was first published. This is particularly important for legally important documents such as notices of a tender.", + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "dateModified": { + "title": "Date modified", + "description": "Date that the document was last modified", + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "format": { + "title": "Format", + "description": "The format of the document, using the open [media type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#media-type) codelist. For example, a web page has a format of 'text/html'. The 'offline/print' code is reserved for printed documents not available in other formats.", + "type": [ + "string", + "null" + ], + "codelist": "mediaType.csv", + "openCodelist": true + }, + "languages": { + "title": "Languages", + "description": "The languages used in the document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + }, + "codelist": "language.csv", + "openCodelist": true + }, + "language": { + "title": "Language", + "description": "The language of the linked document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.", + "type": [ + "string", + "null" + ], + "codelist": "language.csv", + "openCodelist": true, + "deprecated": { + "description": "This field is deprecated in favor of `languages`, to support documents in which multiple languages are used.", + "deprecatedVersion": "1.2" + } + }, + "relatedItems": { + "title": "Related items", + "description": "The subset of items to which this document relates, expressed as the `id` values of the related entries in the parent object's `items` array. For example, an entry in the `tender.documents` array may be related only to entries in the `tender.items` array.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "string" + ] + } + } + } + }, + "uniqueItems": true + }, + "value": { + "title": "Value", + "description": "The payment's value, if the milestone represents a planned payment.", + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "description": "The amount as entered into a system or published in a document.", + "type": [ + "number", + "null" + ] + }, + "amountNet": { + "title": "Net amount", + "description": "The amount excluding all taxes.", + "type": [ + "number", + "null" + ] + }, + "amountGross": { + "title": "Gross amount", + "description": "The amount including all taxes.", + "type": [ + "number", + "null" + ] + }, + "currency": { + "title": "Currency", + "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "currency.csv", + "openCodelist": false, + "enum": [ + "ADP", + "AED", + "AFA", + "AFN", + "ALK", + "ALL", + "AMD", + "ANG", + "AOA", + "AOK", + "AON", + "AOR", + "ARA", + "ARP", + "ARS", + "ARY", + "ATS", + "AUD", + "AWG", + "AYM", + "AZM", + "AZN", + "BAD", + "BAM", + "BBD", + "BDT", + "BEC", + "BEF", + "BEL", + "BGJ", + "BGK", + "BGL", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOP", + "BOV", + "BRB", + "BRC", + "BRE", + "BRL", + "BRN", + "BRR", + "BSD", + "BTN", + "BUK", + "BWP", + "BYB", + "BYN", + "BYR", + "BZD", + "CAD", + "CDF", + "CHC", + "CHE", + "CHF", + "CHW", + "CLF", + "CLP", + "CNY", + "COP", + "COU", + "CRC", + "CSD", + "CSJ", + "CSK", + "CUC", + "CUP", + "CVE", + "CYP", + "CZK", + "DDM", + "DEM", + "DJF", + "DKK", + "DOP", + "DZD", + "ECS", + "ECV", + "EEK", + "EGP", + "ERN", + "ESA", + "ESB", + "ESP", + "ETB", + "EUR", + "FIM", + "FJD", + "FKP", + "FRF", + "GBP", + "GEK", + "GEL", + "GHC", + "GHP", + "GHS", + "GIP", + "GMD", + "GNE", + "GNF", + "GNS", + "GQE", + "GRD", + "GTQ", + "GWE", + "GWP", + "GYD", + "HKD", + "HNL", + "HRD", + "HRK", + "HTG", + "HUF", + "IDR", + "IEP", + "ILP", + "ILR", + "ILS", + "INR", + "IQD", + "IRR", + "ISJ", + "ISK", + "ITL", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAJ", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LSM", + "LTL", + "LTT", + "LUC", + "LUF", + "LUL", + "LVL", + "LVR", + "LYD", + "MAD", + "MDL", + "MGA", + "MGF", + "MKD", + "MLF", + "MMK", + "MNT", + "MOP", + "MRO", + "MRU", + "MTL", + "MTP", + "MUR", + "MVQ", + "MVR", + "MWK", + "MXN", + "MXP", + "MXV", + "MYR", + "MZE", + "MZM", + "MZN", + "NAD", + "NGN", + "NIC", + "NIO", + "NLG", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEH", + "PEI", + "PEN", + "PES", + "PGK", + "PHP", + "PKR", + "PLN", + "PLZ", + "PTE", + "PYG", + "QAR", + "RHD", + "ROK", + "ROL", + "RON", + "RSD", + "RUB", + "RUR", + "RWF", + "SAR", + "SBD", + "SCR", + "SDD", + "SDG", + "SDP", + "SEK", + "SGD", + "SHP", + "SIT", + "SKK", + "SLL", + "SOS", + "SRD", + "SRG", + "SSP", + "STD", + "STN", + "SUR", + "SVC", + "SYP", + "SZL", + "THB", + "TJR", + "TJS", + "TMM", + "TMT", + "TND", + "TOP", + "TPE", + "TRL", + "TRY", + "TTD", + "TWD", + "TZS", + "UAH", + "UAK", + "UGS", + "UGW", + "UGX", + "USD", + "USN", + "USS", + "UYI", + "UYN", + "UYP", + "UYU", + "UYW", + "UZS", + "VEB", + "VEF", + "VES", + "VNC", + "VND", + "VUV", + "WST", + "XAF", + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XCD", + "XDR", + "XEU", + "XFO", + "XFU", + "XOF", + "XPD", + "XPF", + "XPT", + "XRE", + "XSU", + "XTS", + "XUA", + "XXX", + "YDD", + "YER", + "YUD", + "YUM", + "YUN", + "ZAL", + "ZAR", + "ZMK", + "ZMW", + "ZRN", + "ZRZ", + "ZWC", + "ZWD", + "ZWL", + "ZWN", + "ZWR", + null + ] + } + } + } + } + } + } + } + }, + "tender": { + "title": "Tender", + "description": "Information about, for example, the needed items and their estimated value, procurement method, award criteria, and various deadlines. This information concerns either the contracting process or the planning process. For a contracting process, this information typically concerns the period starting with contracting documents (for example, procurement documents) being available to potential suppliers and ending with the bid submission deadline. For a planning process, this information typically concerns the period before contracting documents are available to potential suppliers.", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "title": "Tender ID", + "description": "An identifier for this tender. This may be the same as the ocid, or may be an internal identifier for this tender. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer" + ], + "minLength": 1 + }, + "identifiers": { + "title": "Additional tender identifiers", + "description": "Additional identifiers for this tender. This field can be used to provide local identifiers for the tender.", + "type": "array", + "items": { + "title": "Simple identifier", + "description": "An unambiguous reference to a resource within a given context.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The list, register or system from which the identifier is taken. If the scope of the list, register or system from which the identifier is drawn is national, it is suggested to follow the pattern {ISO 3166-1 alpha-2}-{system}. If it is subnational, it is suggested to follow the pattern {ISO 3166-2}-{system}.", + "type": [ + "string", + "null" + ] + }, + "id": { + "title": "ID", + "description": "The identifier taken from the scheme.", + "type": [ + "string", + "null" + ], + "versionId": true + } + } + }, + "uniqueItems": true, + "wholeListMerge": true + }, + "title": { + "title": "Tender title", + "description": "A title for this tender. This will often be used by applications as a headline to attract interest, and to help analysts understand the nature of this procurement. The title should be less than 150 characters in length.", + "type": [ + "string", + "null" + ] + }, + "description": { + "title": "Tender description", + "description": "A summary description of the tender. Descriptions should be short and easy to read. Avoid using ALL CAPS.", + "type": [ + "string", + "null" + ] + }, + "status": { + "title": "Tender status", + "description": "The current status of the tender, from the closed [tenderStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#tender-status) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "tenderStatus.csv", + "openCodelist": false, + "enum": [ + "planning", + "planned", + "active", + "complete", + "cancelled", + "unsuccessful", + "withdrawn", + null + ], + "deprecated": { + "description": "This field is deprecated, because the same information can be provided by filling in the relevant date fields.", + "deprecatedVersion": "1.2" + } + }, + "finalStatus": { + "title": "Final status", + "description": "The final status of the tender, using the closed [tenderFinalStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#tender-final-status) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "tenderFinalStatus.csv", + "openCodelist": false, + "enum": [ + "complete", + "cancelled", + "unsuccessful", + null + ] + }, + "finalStatusDetails": { + "title": "Final status details", + "description": "Additional details on the final status of the tender. This field can be used to provide the local name of the final status.", + "type": [ + "string", + "null" + ] + }, + "finalStatusDate": { + "title": "Final status date", + "description": "The date on which the tender reached its final status.", + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "procuringEntity": { + "properties": { + "name": { + "type": [ + "string", + "null" + ], + "description": "The name of the organization being referenced. This must match the name of an entry in the parties section.", + "title": "Organization name", + "minLength": 1 + }, + "id": { + "type": [ + "string", + "integer" + ], + "description": "The `id` of the organization's entry in the parties array. Although an integer is allowed, it is recommended to use a string.", + "title": "ID" + }, + "identifier": { + "title": "Primary identifier", + "description": "The primary identifier for this organization. Identifiers that uniquely pick out a legal entity should be preferred. Consult the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for the preferred scheme and identifier to use.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "type": [ + "string", + "null" + ] + }, + "id": { + "title": "ID", + "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "legalName": { + "title": "Legal Name", + "description": "The legally registered name of the organization.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + }, + "deprecated": { + "deprecatedVersion": "1.1", + "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and detailed legal identifier information should only be provided in the relevant cross-referenced entry in the parties section at the top level of a release." + } + }, + "address": { + "title": "Address", + "description": "(Deprecated outside the parties section)", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] + } + }, + "deprecated": { + "deprecatedVersion": "1.1", + "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and address information should only be provided in the relevant cross-referenced entry in the parties section at the top level of a release." + } + }, + "additionalIdentifiers": { + "type": "array", + "deprecated": { + "deprecatedVersion": "1.1", + "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and additional identifiers for an organization should be provided in the relevant cross-referenced entry in the parties section at the top level of a release." + }, + "items": { + "title": "Identifier", + "description": "A unique identifier for an organization.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "type": [ + "string", + "null" + ] + }, + "id": { + "title": "ID", + "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "legalName": { + "title": "Legal Name", + "description": "The legally registered name of the organization.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "title": "Additional identifiers", + "uniqueItems": true, + "wholeListMerge": true, + "description": "(Deprecated outside the parties section) A list of additional / supplemental identifiers for the organization, using the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/). This can be used to provide an internally used identifier for this organization in addition to the primary legal entity identifier." + }, + "contactPoint": { + "title": "Contact point", + "type": "object", + "description": "(Deprecated outside the parties section)", + "properties": { + "name": { + "title": "Name", + "type": [ + "string", + "null" + ], + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting (or planning) process." + }, + "email": { + "title": "Email", + "type": [ + "string", + "null" + ], + "description": "The e-mail address of the contact point/person." + }, + "telephone": { + "title": "Telephone", + "type": [ + "string", + "null" + ], + "description": "The telephone number of the contact point/person. This should include the international dialing code." + }, + "faxNumber": { + "title": "Fax number", + "type": [ + "string", + "null" + ], + "description": "The fax number of the contact point/person. This should include the international dialing code." + }, + "url": { + "title": "URL", + "type": [ + "string", + "null" + ], + "description": "A web address for the contact point/person.", + "format": "uri" + } + }, + "deprecated": { + "deprecatedVersion": "1.1", + "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and contact point information for an organization should be provided in the relevant cross-referenced entry in the parties section at the top level of a release." + } + } + }, + "type": "object", + "description": "The organization managing the contracting (or planning) process. If an organization is both a buyer and a procuring entity (as can be the case in simple contracting processes), it should be disclosed using the buyer field, but not this field.", + "title": "Procuring entity" + }, + "items": { + "title": "Items to be procured", + "description": "The goods, services or works to be purchased, broken into line items wherever possible. Items should not be duplicated, but the quantity specified instead.", + "type": "array", + "items": { + "title": "Item", + "type": "object", + "description": "A line-item of the goods, services, or works to be contracted.", + "required": [ + "id" + ], + "properties": { + "id": { + "title": "ID", + "description": "A local identifier to reference and merge the items by. Must be unique within a given array of items. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer" + ], + "minLength": 1 + }, + "description": { + "title": "Description", + "description": "A description of the goods, services or works to be provided.", + "type": [ + "string", + "null" + ] + }, + "classification": { + "title": "Classification", + "description": "The primary classification for the item.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "classificationScheme.csv", + "openCodelist": true + }, + "id": { + "title": "ID", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "additionalClassifications": { + "title": "Additional classifications", + "description": "Additional classifications for the item.", + "type": "array", + "items": { + "title": "Classification", + "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "classificationScheme.csv", + "openCodelist": true + }, + "id": { + "title": "ID", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "uniqueItems": true, + "wholeListMerge": true + }, + "quantity": { + "title": "Quantity", + "description": "The number of units to be provided.", + "type": [ + "number", + "null" + ] + }, + "unit": { + "title": "Pricing unit", + "description": "The pricing unit. It is recommended to use the unit of measurement in which the goods, services or works are provided (e.g. kilogram, hour), rather than the unit of presentation (e.g. box), because units of measurement are easier to compare and convert than units of presentation. A unit of measurement is a definite magnitude of a quantity, defined and adopted by convention or law, that is used as a standard of measurement for the same kind of quantity. For example, mass, a quantity, can be measured in kilograms, a unit of measurement.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the identifier for the unit is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended for a unit of measurement.", + "type": [ + "string", + "null" + ], + "codelist": "unitClassificationScheme.csv", + "openCodelist": true + }, + "id": { + "title": "ID", + "description": "The identifier for the unit, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", + "type": [ + "string", + "null" + ] + }, + "name": { + "title": "Name", + "description": "The name of the unit.", + "type": [ + "string", + "null" + ] + }, + "value": { + "title": "Value", + "description": "The monetary value of a single unit.", + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "description": "The amount as entered into a system or published in a document.", + "type": [ + "number", + "null" + ] + }, + "amountNet": { + "title": "Net amount", + "description": "The amount excluding all taxes.", + "type": [ + "number", + "null" + ] + }, + "amountGross": { + "title": "Gross amount", + "description": "The amount including all taxes.", + "type": [ + "number", + "null" + ] + }, + "currency": { + "title": "Currency", + "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "currency.csv", + "openCodelist": false, + "enum": [ + "ADP", + "AED", + "AFA", + "AFN", + "ALK", + "ALL", + "AMD", + "ANG", + "AOA", + "AOK", + "AON", + "AOR", + "ARA", + "ARP", + "ARS", + "ARY", + "ATS", + "AUD", + "AWG", + "AYM", + "AZM", + "AZN", + "BAD", + "BAM", + "BBD", + "BDT", + "BEC", + "BEF", + "BEL", + "BGJ", + "BGK", + "BGL", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOP", + "BOV", + "BRB", + "BRC", + "BRE", + "BRL", + "BRN", + "BRR", + "BSD", + "BTN", + "BUK", + "BWP", + "BYB", + "BYN", + "BYR", + "BZD", + "CAD", + "CDF", + "CHC", + "CHE", + "CHF", + "CHW", + "CLF", + "CLP", + "CNY", + "COP", + "COU", + "CRC", + "CSD", + "CSJ", + "CSK", + "CUC", + "CUP", + "CVE", + "CYP", + "CZK", + "DDM", + "DEM", + "DJF", + "DKK", + "DOP", + "DZD", + "ECS", + "ECV", + "EEK", + "EGP", + "ERN", + "ESA", + "ESB", + "ESP", + "ETB", + "EUR", + "FIM", + "FJD", + "FKP", + "FRF", + "GBP", + "GEK", + "GEL", + "GHC", + "GHP", + "GHS", + "GIP", + "GMD", + "GNE", + "GNF", + "GNS", + "GQE", + "GRD", + "GTQ", + "GWE", + "GWP", + "GYD", + "HKD", + "HNL", + "HRD", + "HRK", + "HTG", + "HUF", + "IDR", + "IEP", + "ILP", + "ILR", + "ILS", + "INR", + "IQD", + "IRR", + "ISJ", + "ISK", + "ITL", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAJ", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LSM", + "LTL", + "LTT", + "LUC", + "LUF", + "LUL", + "LVL", + "LVR", + "LYD", + "MAD", + "MDL", + "MGA", + "MGF", + "MKD", + "MLF", + "MMK", + "MNT", + "MOP", + "MRO", + "MRU", + "MTL", + "MTP", + "MUR", + "MVQ", + "MVR", + "MWK", + "MXN", + "MXP", + "MXV", + "MYR", + "MZE", + "MZM", + "MZN", + "NAD", + "NGN", + "NIC", + "NIO", + "NLG", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEH", + "PEI", + "PEN", + "PES", + "PGK", + "PHP", + "PKR", + "PLN", + "PLZ", + "PTE", + "PYG", + "QAR", + "RHD", + "ROK", + "ROL", + "RON", + "RSD", + "RUB", + "RUR", + "RWF", + "SAR", + "SBD", + "SCR", + "SDD", + "SDG", + "SDP", + "SEK", + "SGD", + "SHP", + "SIT", + "SKK", + "SLL", + "SOS", + "SRD", + "SRG", + "SSP", + "STD", + "STN", + "SUR", + "SVC", + "SYP", + "SZL", + "THB", + "TJR", + "TJS", + "TMM", + "TMT", + "TND", + "TOP", + "TPE", + "TRL", + "TRY", + "TTD", + "TWD", + "TZS", + "UAH", + "UAK", + "UGS", + "UGW", + "UGX", + "USD", + "USN", + "USS", + "UYI", + "UYN", + "UYP", + "UYU", + "UYW", + "UZS", + "VEB", + "VEF", + "VES", + "VNC", + "VND", + "VUV", + "WST", + "XAF", + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XCD", + "XDR", + "XEU", + "XFO", + "XFU", + "XOF", + "XPD", + "XPF", + "XPT", + "XRE", + "XSU", + "XTS", + "XUA", + "XXX", + "YDD", + "YER", + "YUD", + "YUM", + "YUN", + "ZAL", + "ZAR", + "ZMK", + "ZMW", + "ZRN", + "ZRZ", + "ZWC", + "ZWD", + "ZWL", + "ZWN", + "ZWR", + null + ] + } + } + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the unit.", + "format": "uri", + "type": [ + "string", + "null" + ] + } + } + }, + "immediateContainer": { + "title": "Immediate container", + "description": "The immediate container for the item. Also known as: presentation, presentation form, package.", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "The common name of the container. For medicine items, it is recommended to use a title from the [immediateContainer](https://extensions.open-contracting.org/en/extensions/medicine/master/codelists/#immediateContainer.csv) codelist in the OCDS [Medicine](https://extensions.open-contracting.org/en/extensions/medicine/master/) extension. For other items, it is recommended to use a title from PackageTypeCodelist in the GS1 [Global Data Synchronisation Network (GDSN)](https://www.gs1.org/standards/gdsn) standard.", + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "capacity": { + "title": "Capacity", + "description": "The storage capacity of the container.", + "type": "object", + "properties": { + "unit": { + "title": "Unit", + "description": "The unit of measurement for the quantity.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the identifier for the unit of measurement is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended.", + "type": [ + "string", + "null" + ], + "codelist": "unitClassificationScheme.csv", + "openCodelist": true, + "minLength": 1 + }, + "id": { + "title": "ID", + "description": "The identifier for the unit of measurement, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", + "type": [ + "string", + "null" + ], + "versionId": true, + "minLength": 1 + } + }, + "minProperties": 1 + }, + "value": { + "title": "Value", + "description": "The quantity, as a multiple of the unit of measurement. The quantity is expressed in interval notation, for example: \"[10,10]\" for 10 units, \"[1,10]\" for 1 to 10 units, or \"[10,INF[\" for 10 or more units.", + "type": [ + "string", + "number", + "null" + ], + "pattern": "^[([\\]][0-9]+,([0-9]+|INF)[)[\\]]$" + } + }, + "minProperties": 1 + } + }, + "minProperties": 1 + }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Address", + "description": "An address.", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + } + } + }, + "uniqueItems": true + }, + "value": { + "title": "Value", + "description": "The estimated value of the procurement, as estimated when publishing the tender information. A negative value indicates that the future contract(s) may involve payments from the supplier to the buyer (commonly used in concession contracts).", + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "description": "The amount as entered into a system or published in a document.", + "type": [ + "number", + "null" + ] + }, + "amountNet": { + "title": "Net amount", + "description": "The amount excluding all taxes.", + "type": [ + "number", + "null" + ] + }, + "amountGross": { + "title": "Gross amount", + "description": "The amount including all taxes.", + "type": [ + "number", + "null" + ] + }, + "currency": { + "title": "Currency", + "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "currency.csv", + "openCodelist": false, + "enum": [ + "ADP", + "AED", + "AFA", + "AFN", + "ALK", + "ALL", + "AMD", + "ANG", + "AOA", + "AOK", + "AON", + "AOR", + "ARA", + "ARP", + "ARS", + "ARY", + "ATS", + "AUD", + "AWG", + "AYM", + "AZM", + "AZN", + "BAD", + "BAM", + "BBD", + "BDT", + "BEC", + "BEF", + "BEL", + "BGJ", + "BGK", + "BGL", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOP", + "BOV", + "BRB", + "BRC", + "BRE", + "BRL", + "BRN", + "BRR", + "BSD", + "BTN", + "BUK", + "BWP", "BYB", "BYN", "BYR", @@ -4570,6 +5608,434 @@ } } }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity will take place.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity will be delivered.", + "type": "array", + "items": { + "title": "Address", + "description": "An address.", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] + } + } + }, + "wholeListMerge": true, + "uniqueItems": true + }, "procurementMethod": { "title": "Procurement method", "description": "The method describing which organizations can submit a bid, using the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist. In releases concerning second stages (e.g. in framework agreements) or other subsequent stages, the procurement method always refers to the first stage of the contracting process.", @@ -5367,6 +6833,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -7912,6 +9386,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -8612,6 +10094,436 @@ } }, "minProperties": 1 + }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Address", + "description": "An address.", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 } } }, @@ -10736,6 +12648,436 @@ } }, "minProperties": 1 + }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Address", + "description": "An address.", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 } } }, @@ -11680,6 +14022,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -12171,6 +14521,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -14297,173 +16655,592 @@ } } }, - "deprecated": { - "description": "The single amendment object has been deprecated in favor of including amendments in an amendments (plural) array.", - "deprecatedVersion": "1.1" - } - } - } - }, - "uniqueItems": true - }, - "language": { - "title": "Release language", - "description": "The default language of the data, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.", - "type": [ - "string", - "null" - ], - "codelist": "language.csv", - "openCodelist": true - }, - "relatedProcesses": { - "uniqueItems": true, - "items": { - "description": "A reference to a related, preceding contracting (or planning) process. For example, the contracting process may refer to its planning process(es). In multi-stage procedures (e.g. framework agreements with reopening of competition), the contracting process for a later stage may refer to the contracting process for the first stage.", - "type": "object", - "title": "Related Process", - "properties": { - "id": { - "title": "Relationship ID", - "description": "A local identifier for this relationship, unique within this array.", - "type": "string" - }, - "relationship": { - "items": { - "type": "string" + "deprecated": { + "description": "The single amendment object has been deprecated in favor of including amendments in an amendments (plural) array.", + "deprecatedVersion": "1.1" + } + } + } + }, + "uniqueItems": true + }, + "language": { + "title": "Release language", + "description": "The default language of the data, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.", + "type": [ + "string", + "null" + ], + "codelist": "language.csv", + "openCodelist": true + }, + "relatedProcesses": { + "uniqueItems": true, + "items": { + "description": "A reference to a related, preceding contracting (or planning) process. For example, the contracting process may refer to its planning process(es). In multi-stage procedures (e.g. framework agreements with reopening of competition), the contracting process for a later stage may refer to the contracting process for the first stage.", + "type": "object", + "title": "Related Process", + "properties": { + "id": { + "title": "Relationship ID", + "description": "A local identifier for this relationship, unique within this array.", + "type": "string" + }, + "relationship": { + "items": { + "type": "string" + }, + "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", + "title": "Relationship", + "type": [ + "array", + "null" + ], + "codelist": "relatedProcess.csv", + "openCodelist": true + }, + "title": { + "description": "The title of the related process, where referencing a contracting (or planning) process, this field should match the tender/title field in the related process.", + "title": "Related process title", + "type": [ + "string", + "null" + ] + }, + "scheme": { + "title": "Scheme", + "description": "The identification scheme used by this cross-reference, using the open [relatedProcessScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "relatedProcessScheme.csv", + "openCodelist": true + }, + "identifier": { + "description": "The identifier of the related process. If the scheme is 'ocid', this must be an open contracting process identifier (ocid).", + "title": "Identifier", + "type": [ + "string", + "null" + ] + }, + "uri": { + "format": "uri", + "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", + "title": "Related process URI", + "type": [ + "string", + "null" + ] + } + } + }, + "description": "References to related, preceding contracting (or planning) processes. This information concerns the contracting process. For example, the contracting process may refer to its planning process(es). In multi-stage procedures (e.g. framework agreements with reopening of competition), the contracting process for a later stage may refer to the contracting process for the first stage.", + "title": "Related processes", + "type": "array" + }, + "links": { + "title": "Links", + "description": "Links to related resources. In a release, links relate to the individual release: for example, a link to a canonical version of the release in another OCDS publication. In a compiled release, links relate to the entire contracting (or planning) process: for example, a link to a resource in a non-OCDS publication that represents the entire contracting process. For references to related processes, see the `relatedProcesses` array.", + "type": "array", + "items": { + "title": "Link", + "description": "A reference to a related resource.", + "type": "object", + "properties": { + "rel": { + "title": "Link relation type", + "description": "The relationship with the related resource, using the open [link relation type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#link-relation-type) codelist.", + "type": "string", + "codelist": "linkRelationType.csv", + "openCodelist": true + }, + "href": { + "title": "Link target", + "description": "The URL of the related resource.", + "type": "string", + "format": "uri" + } + } + }, + "uniqueItems": true, + "omitWhenMerged": true + } + }, + "required": [ + "ocid", + "id", + "date", + "tag", + "initiationType" + ], + "definitions": { + "Planning": { + "title": "Planning", + "description": "Information about, for example, needs identification, budget planning and market research. This information concerns the planning process. This information typically concerns the period before contracting documents (for example, procurement documents) are available to potential suppliers.", + "type": "object", + "properties": { + "id": { + "title": "Planning ID", + "description": "An identifier for the planning process.", + "type": [ + "string", + "null" + ] + }, + "rationale": { + "title": "Rationale", + "description": "The rationale for the planned procurement provided in free text. More detail can be provided in an attached document.", + "type": [ + "string", + "null" + ] + }, + "budget": { + "type": "object", + "title": "Budget", + "description": "Details of the budget that will fund the future contract(s)", + "properties": { + "id": { + "title": "ID", + "description": "An identifier of the budget that will fund the future contract(s). This identifier should be possible to cross-reference against formal budget documents.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Budget Source", + "description": "A short free-text description of the budget that will fund the future contract(s). This may be used to provide human-readable information on: the budget category for the future contract(s) and/or the nature and source of the budget allocation (e.g. conditional, confirmed, or any official authorizations given to the budget allocation).", + "type": [ + "string", + "null" + ] + }, + "amount": { + "title": "Amount", + "description": "The value reserved for the future contract(s), within the budget. A negative value indicates income to the budget as a result of the future contract(s), rather than expenditure. This field should not be used to report the total value of the budget line that will fund the future contract(s).", + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "description": "The amount as entered into a system or published in a document.", + "type": [ + "number", + "null" + ] + }, + "amountNet": { + "title": "Net amount", + "description": "The amount excluding all taxes.", + "type": [ + "number", + "null" + ] + }, + "amountGross": { + "title": "Gross amount", + "description": "The amount including all taxes.", + "type": [ + "number", + "null" + ] + }, + "currency": { + "title": "Currency", + "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "currency.csv", + "openCodelist": false, + "enum": [ + "ADP", + "AED", + "AFA", + "AFN", + "ALK", + "ALL", + "AMD", + "ANG", + "AOA", + "AOK", + "AON", + "AOR", + "ARA", + "ARP", + "ARS", + "ARY", + "ATS", + "AUD", + "AWG", + "AYM", + "AZM", + "AZN", + "BAD", + "BAM", + "BBD", + "BDT", + "BEC", + "BEF", + "BEL", + "BGJ", + "BGK", + "BGL", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOP", + "BOV", + "BRB", + "BRC", + "BRE", + "BRL", + "BRN", + "BRR", + "BSD", + "BTN", + "BUK", + "BWP", + "BYB", + "BYN", + "BYR", + "BZD", + "CAD", + "CDF", + "CHC", + "CHE", + "CHF", + "CHW", + "CLF", + "CLP", + "CNY", + "COP", + "COU", + "CRC", + "CSD", + "CSJ", + "CSK", + "CUC", + "CUP", + "CVE", + "CYP", + "CZK", + "DDM", + "DEM", + "DJF", + "DKK", + "DOP", + "DZD", + "ECS", + "ECV", + "EEK", + "EGP", + "ERN", + "ESA", + "ESB", + "ESP", + "ETB", + "EUR", + "FIM", + "FJD", + "FKP", + "FRF", + "GBP", + "GEK", + "GEL", + "GHC", + "GHP", + "GHS", + "GIP", + "GMD", + "GNE", + "GNF", + "GNS", + "GQE", + "GRD", + "GTQ", + "GWE", + "GWP", + "GYD", + "HKD", + "HNL", + "HRD", + "HRK", + "HTG", + "HUF", + "IDR", + "IEP", + "ILP", + "ILR", + "ILS", + "INR", + "IQD", + "IRR", + "ISJ", + "ISK", + "ITL", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAJ", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LSM", + "LTL", + "LTT", + "LUC", + "LUF", + "LUL", + "LVL", + "LVR", + "LYD", + "MAD", + "MDL", + "MGA", + "MGF", + "MKD", + "MLF", + "MMK", + "MNT", + "MOP", + "MRO", + "MRU", + "MTL", + "MTP", + "MUR", + "MVQ", + "MVR", + "MWK", + "MXN", + "MXP", + "MXV", + "MYR", + "MZE", + "MZM", + "MZN", + "NAD", + "NGN", + "NIC", + "NIO", + "NLG", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEH", + "PEI", + "PEN", + "PES", + "PGK", + "PHP", + "PKR", + "PLN", + "PLZ", + "PTE", + "PYG", + "QAR", + "RHD", + "ROK", + "ROL", + "RON", + "RSD", + "RUB", + "RUR", + "RWF", + "SAR", + "SBD", + "SCR", + "SDD", + "SDG", + "SDP", + "SEK", + "SGD", + "SHP", + "SIT", + "SKK", + "SLL", + "SOS", + "SRD", + "SRG", + "SSP", + "STD", + "STN", + "SUR", + "SVC", + "SYP", + "SZL", + "THB", + "TJR", + "TJS", + "TMM", + "TMT", + "TND", + "TOP", + "TPE", + "TRL", + "TRY", + "TTD", + "TWD", + "TZS", + "UAH", + "UAK", + "UGS", + "UGW", + "UGX", + "USD", + "USN", + "USS", + "UYI", + "UYN", + "UYP", + "UYU", + "UYW", + "UZS", + "VEB", + "VEF", + "VES", + "VNC", + "VND", + "VUV", + "WST", + "XAF", + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XCD", + "XDR", + "XEU", + "XFO", + "XFU", + "XOF", + "XPD", + "XPF", + "XPT", + "XRE", + "XSU", + "XTS", + "XUA", + "XXX", + "YDD", + "YER", + "YUD", + "YUM", + "YUN", + "ZAL", + "ZAR", + "ZMK", + "ZMW", + "ZRN", + "ZRZ", + "ZWC", + "ZWD", + "ZWL", + "ZWN", + "ZWR", + null + ] + } + } + }, + "project": { + "title": "Project title", + "description": "The name of the programme of work as it appears in a budget (for example, a national or state budget), of which the future contract(s) will be part or through which it/they will be funded.", + "type": [ + "string", + "null" + ] }, - "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", - "title": "Relationship", - "type": [ - "array", - "null" - ], - "codelist": "relatedProcess.csv", - "openCodelist": true - }, - "title": { - "description": "The title of the related process, where referencing a contracting (or planning) process, this field should match the tender/title field in the related process.", - "title": "Related process title", - "type": [ - "string", - "null" - ] - }, - "scheme": { - "title": "Scheme", - "description": "The identification scheme used by this cross-reference, using the open [relatedProcessScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process-scheme) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "relatedProcessScheme.csv", - "openCodelist": true - }, - "identifier": { - "description": "The identifier of the related process. If the scheme is 'ocid', this must be an open contracting process identifier (ocid).", - "title": "Identifier", - "type": [ - "string", - "null" - ] - }, - "uri": { - "format": "uri", - "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", - "title": "Related process URI", - "type": [ - "string", - "null" - ] - } - } - }, - "description": "References to related, preceding contracting (or planning) processes. This information concerns the contracting process. For example, the contracting process may refer to its planning process(es). In multi-stage procedures (e.g. framework agreements with reopening of competition), the contracting process for a later stage may refer to the contracting process for the first stage.", - "title": "Related processes", - "type": "array" - }, - "links": { - "title": "Links", - "description": "Links to related resources. In a release, links relate to the individual release: for example, a link to a canonical version of the release in another OCDS publication. In a compiled release, links relate to the entire contracting (or planning) process: for example, a link to a resource in a non-OCDS publication that represents the entire contracting process. For references to related processes, see the `relatedProcesses` array.", - "type": "array", - "items": { - "title": "Link", - "description": "A reference to a related resource.", - "type": "object", - "properties": { - "rel": { - "title": "Link relation type", - "description": "The relationship with the related resource, using the open [link relation type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#link-relation-type) codelist.", - "type": "string", - "codelist": "linkRelationType.csv", - "openCodelist": true - }, - "href": { - "title": "Link target", - "description": "The URL of the related resource.", - "type": "string", - "format": "uri" + "projectID": { + "title": "Project identifier", + "description": "The identifier of the programme of work as it appears in a budget (for example, a national or state budget), of which the future contract(s) will be part or through which it/they will be funded. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "uri": { + "title": "Linked budget information", + "description": "The URL of a machine-readable resource about the budget that will fund the future contract(s). For human-readable documents, see the `planning.documents` array.", + "type": [ + "string", + "null" + ], + "format": "uri" + }, + "source": { + "title": "Data Source", + "description": "(Deprecated in 1.1) Used to point either to a corresponding Budget Data Package, or to a machine or human-readable source where users can find further information on the budget line item identifiers, or project identifiers, provided here.", + "type": [ + "string", + "null" + ], + "deprecated": { + "deprecatedVersion": "1.1", + "description": "The budget data source field was intended to link to machine-readable data about the budget for a contracting process, but has been widely mis-used to provide free-text descriptions of budget providers. As a result, it has been removed from version 1.1. budget/uri can be used to provide a link to machine-readable budget information, and budget/description can be used to provide human-readable information on the budget source." + }, + "format": "uri" + } } - } - }, - "uniqueItems": true, - "omitWhenMerged": true - } - }, - "required": [ - "ocid", - "id", - "date", - "tag", - "initiationType" - ], - "definitions": { - "Planning": { - "title": "Planning", - "description": "Information about, for example, needs identification, budget planning and market research. This information concerns the planning process. This information typically concerns the period before contracting documents (for example, procurement documents) are available to potential suppliers.", - "type": "object", - "properties": { - "id": { - "title": "Planning ID", - "description": "An identifier for this planning process.", - "type": [ - "string", - "null" - ] - }, - "rationale": { - "title": "Rationale", - "description": "The rationale for the planned procurement provided in free text. More detail can be provided in an attached document.", - "type": [ - "string", - "null" - ] }, - "budget": { + "project": { + "title": "Project", + "description": "Information about the infrastructure or public-private partnership (PPP) project to which the planning process is related.", "type": "object", - "title": "Budget", - "description": "Details of the budget that will fund the future contract(s)", "properties": { "id": { - "title": "ID", - "description": "An identifier of the budget that will fund the future contract(s). This identifier should be possible to cross-reference against formal budget documents.", + "title": "Identifier", + "description": "An externally provided identifier for the project. This can be a URI, an [Open Contracting for Infrastructure Data Standards Toolkit (OC4IDS)](https://standard.open-contracting.org/infrastructure/latest/en/guidance/identifiers/) project identifier, [OCDS for PPPs](https://standard.open-contracting.org/profiles/ppp/latest/en/framework/#i-basic-project-information) project identifier, an identifier from a projects register, or an identifier based on the canonical version of the project's name. Project identifiers should be unique within the scope of the publication.", "type": [ "string", - "integer", "null" - ] + ], + "minLength": 1 + }, + "title": { + "title": "Title", + "description": "The name of the project. If a project's register is available, this should be the same as the project's name in that register.", + "type": [ + "string", + "null" + ], + "minLength": 1 }, "description": { - "title": "Budget Source", - "description": "A short free-text description of the budget that will fund the future contract(s). This may be used to provide human-readable information on: the budget category for the future contract(s) and/or the nature and source of the budget allocation (e.g. conditional, confirmed, or any official authorizations given to the budget allocation).", + "title": "Description", + "description": "A short description of the project.", "type": [ "string", "null" - ] + ], + "minLength": 1 }, - "amount": { - "title": "Amount", - "description": "The value reserved for the future contract(s), within the budget. A negative value indicates income to the budget as a result of the future contract(s), rather than expenditure. This field should not be used to report the total value of the budget line that will fund the future contract(s).", + "totalValue": { + "title": "Total value", + "description": "The total anticipated value of the project over its lifetime.", "type": "object", "properties": { "amount": { @@ -14807,46 +17584,211 @@ } } }, - "project": { - "title": "Project title", - "description": "The name of the project of which the future contract(s) will be part or through which it/they will be funded. Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry.", - "type": [ - "string", - "null" - ] - }, - "projectID": { - "title": "Project identifier", - "description": "The identifier of the project of which the future contract(s) will be part or through which it/they will be funded. Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer", - "null" - ] - }, "uri": { - "title": "Linked budget information", - "description": "The URL of a machine-readable resource about the budget that will fund the future contract(s). For human-readable documents, see the `planning.documents` array.", + "title": "URI", + "description": "The URI of a resource about the project.", "type": [ "string", "null" ], "format": "uri" }, - "source": { - "title": "Data Source", - "description": "(Deprecated in 1.1) Used to point either to a corresponding Budget Data Package, or to a machine or human-readable source where users can find further information on the budget line item identifiers, or project identifiers, provided here.", - "type": [ - "string", - "null" - ], - "deprecated": { - "deprecatedVersion": "1.1", - "description": "The budget data source field was intended to link to machine-readable data about the budget for a contracting process, but has been widely mis-used to provide free-text descriptions of budget providers. As a result, it has been removed from version 1.1. budget/uri can be used to provide a link to machine-readable budget information, and budget/description can be used to provide human-readable information on the budget source." + "sector": { + "title": "Sector", + "description": "The primary sector to which the project relates. It is recommended to use the scheme 'oc4idsProjectSector' and codes from the [OC4IDS projectSector codelist](https://standard.open-contracting.org/infrastructure/latest/en/reference/codelists/#projectsector).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "classificationScheme.csv", + "openCodelist": true + }, + "id": { + "title": "ID", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "additionalClassifications": { + "title": "Additional classifications", + "description": "Additional classifications for the project. For example, a sector or strategic framework classification.", + "type": "array", + "items": { + "title": "Classification", + "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "classificationScheme.csv", + "openCodelist": true + }, + "id": { + "title": "ID", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } }, - "format": "uri" + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + }, + "locations": { + "title": "Locations", + "description": "Information about the locations where the project takes place.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 } - } + }, + "minProperties": 1 }, "finalStatus": { "title": "Final status", @@ -16094,6 +19036,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -16791,6 +19741,436 @@ } }, "minProperties": 1 + }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Address", + "description": "An address.", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 } } }, @@ -17834,6 +21214,434 @@ } } }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity will take place.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity will be delivered.", + "type": "array", + "items": { + "title": "Address", + "description": "An address.", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] + } + } + }, + "wholeListMerge": true, + "uniqueItems": true + }, "procurementMethod": { "title": "Procurement method", "description": "The method describing which organizations can submit a bid, using the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist. In releases concerning second stages (e.g. in framework agreements) or other subsequent stages, the procurement method always refers to the first stage of the contracting process.", @@ -18631,6 +22439,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -21172,6 +24988,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -21872,6 +25696,436 @@ } }, "minProperties": 1 + }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Address", + "description": "An address.", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 } } }, @@ -23990,6 +28244,436 @@ } }, "minProperties": 1 + }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Address", + "description": "An address.", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 } } }, @@ -24934,6 +29618,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -25425,6 +30117,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -28327,6 +33027,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -28818,6 +33526,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -31183,7 +35899,7 @@ }, "project": { "title": "Project title", - "description": "The name of the project of which the future contract(s) will be part or through which it/they will be funded. Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry.", + "description": "The name of the programme of work as it appears in a budget (for example, a national or state budget), of which the future contract(s) will be part or through which it/they will be funded.", "type": [ "string", "null" @@ -31191,7 +35907,7 @@ }, "projectID": { "title": "Project identifier", - "description": "The identifier of the project of which the future contract(s) will be part or through which it/they will be funded. Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", + "description": "The identifier of the programme of work as it appears in a budget (for example, a national or state budget), of which the future contract(s) will be part or through which it/they will be funded. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -31982,6 +36698,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -32473,6 +37197,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } }, "deprecated": { @@ -32961,102 +37693,600 @@ "null" ] }, - "id": { - "title": "ID", - "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "id": { + "title": "ID", + "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "legalName": { + "title": "Legal Name", + "description": "The legally registered name of the organization.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + }, + "deprecated": { + "description": "This field has been replaced by the `transaction.payer` field to resolve ambiguity arising from 'provider' being interpreted as relating to the goods, services or works procured rather than the flow of funds between the parties.", + "deprecatedVersion": "1.1" + } + }, + "receiverOrganization": { + "title": "Receiver organization", + "description": "(Deprecated in 1.1. Use transaction.payee instead). The Organization Identifier for the organization which receives the funds in this transaction. Expressed following the Organizational Identifier standard - consult the documentation and the codelist.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "type": [ + "string", + "null" + ] + }, + "id": { + "title": "ID", + "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "legalName": { + "title": "Legal Name", + "description": "The legally registered name of the organization.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + }, + "deprecated": { + "description": "This field has been replaced by the `transaction.payee` field to resolve ambiguity arising from 'receiver' being interpreted as relating to the goods, services or works procured rather than the flow of funds between the parties.", + "deprecatedVersion": "1.1" + } + } + } + }, + "OrganizationReference": { + "properties": { + "name": { + "type": [ + "string", + "null" + ], + "description": "The name of the organization being referenced. This must match the name of an entry in the parties section.", + "title": "Organization name", + "minLength": 1 + }, + "id": { + "type": [ + "string", + "integer" + ], + "description": "The `id` of the organization's entry in the parties array. Although an integer is allowed, it is recommended to use a string.", + "title": "ID" + }, + "identifier": { + "title": "Primary identifier", + "description": "The primary identifier for this organization. Identifiers that uniquely pick out a legal entity should be preferred. Consult the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for the preferred scheme and identifier to use.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "type": [ + "string", + "null" + ] + }, + "id": { + "title": "ID", + "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "legalName": { + "title": "Legal Name", + "description": "The legally registered name of the organization.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + }, + "deprecated": { + "deprecatedVersion": "1.1", + "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and detailed legal identifier information should only be provided in the relevant cross-referenced entry in the parties section at the top level of a release." + } + }, + "address": { + "title": "Address", + "description": "(Deprecated outside the parties section)", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", "type": [ "string", - "integer", "null" - ] + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } }, - "legalName": { - "title": "Legal Name", - "description": "The legally registered name of the organization.", + "description": { + "title": "Description", + "description": "The description of the address.", "type": [ "string", "null" ] - }, - "uri": { - "title": "URI", - "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", - "type": [ - "string", - "null" - ], - "format": "uri" } }, "deprecated": { - "description": "This field has been replaced by the `transaction.payer` field to resolve ambiguity arising from 'provider' being interpreted as relating to the goods, services or works procured rather than the flow of funds between the parties.", - "deprecatedVersion": "1.1" + "deprecatedVersion": "1.1", + "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and address information should only be provided in the relevant cross-referenced entry in the parties section at the top level of a release." } }, - "receiverOrganization": { - "title": "Receiver organization", - "description": "(Deprecated in 1.1. Use transaction.payee instead). The Organization Identifier for the organization which receives the funds in this transaction. Expressed following the Organizational Identifier standard - consult the documentation and the codelist.", + "additionalIdentifiers": { + "type": "array", + "deprecated": { + "deprecatedVersion": "1.1", + "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and additional identifiers for an organization should be provided in the relevant cross-referenced entry in the parties section at the top level of a release." + }, + "items": { + "title": "Identifier", + "description": "A unique identifier for an organization.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "type": [ + "string", + "null" + ] + }, + "id": { + "title": "ID", + "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "legalName": { + "title": "Legal Name", + "description": "The legally registered name of the organization.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "title": "Additional identifiers", + "uniqueItems": true, + "wholeListMerge": true, + "description": "(Deprecated outside the parties section) A list of additional / supplemental identifiers for the organization, using the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/). This can be used to provide an internally used identifier for this organization in addition to the primary legal entity identifier." + }, + "contactPoint": { + "title": "Contact point", "type": "object", + "description": "(Deprecated outside the parties section)", "properties": { - "scheme": { - "title": "Scheme", - "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "name": { + "title": "Name", "type": [ "string", "null" - ] + ], + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting (or planning) process." }, - "id": { - "title": "ID", - "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "email": { + "title": "Email", "type": [ "string", - "integer", "null" - ] + ], + "description": "The e-mail address of the contact point/person." }, - "legalName": { - "title": "Legal Name", - "description": "The legally registered name of the organization.", + "telephone": { + "title": "Telephone", "type": [ "string", "null" - ] + ], + "description": "The telephone number of the contact point/person. This should include the international dialing code." }, - "uri": { - "title": "URI", - "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "faxNumber": { + "title": "Fax number", + "type": [ + "string", + "null" + ], + "description": "The fax number of the contact point/person. This should include the international dialing code." + }, + "url": { + "title": "URL", "type": [ "string", "null" ], + "description": "A web address for the contact point/person.", "format": "uri" } }, "deprecated": { - "description": "This field has been replaced by the `transaction.payee` field to resolve ambiguity arising from 'receiver' being interpreted as relating to the goods, services or works procured rather than the flow of funds between the parties.", - "deprecatedVersion": "1.1" + "deprecatedVersion": "1.1", + "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and contact point information for an organization should be provided in the relevant cross-referenced entry in the parties section at the top level of a release." } } - } + }, + "type": "object", + "description": "The id and name of the organization being referenced. Used to cross-reference to the parties section", + "title": "Organization reference" }, - "OrganizationReference": { + "Organization": { + "title": "Organization", + "description": "An organization", + "type": "object", "properties": { "name": { + "title": "Common name", + "description": "A common name for this organization. The identifier object provides a space for the formal legal name, and so this may either repeat that value, or may provide the common name by which this organization is known. This field may also include details of the department or sub-unit involved in this contracting (or planning) process.", "type": [ "string", "null" - ], - "description": "The name of the organization being referenced. This must match the name of an entry in the parties section.", - "title": "Organization name", - "minLength": 1 + ] }, "id": { - "type": [ - "string", - "integer" - ], - "description": "The `id` of the organization's entry in the parties array. Although an integer is allowed, it is recommended to use a string.", + "type": "string", + "description": "The ID used for cross-referencing to this organization from other sections of the release. This field need only be unique within the scope of the (contracting or planning) process, but should be built with the following structure {identifier.scheme}-{identifier.id}(-{department-identifier}) if the primary identifier for this organization is available.", "title": "ID" }, "identifier": { @@ -33098,15 +38328,59 @@ ], "format": "uri" } - }, - "deprecated": { - "deprecatedVersion": "1.1", - "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and detailed legal identifier information should only be provided in the relevant cross-referenced entry in the parties section at the top level of a release." } }, + "additionalIdentifiers": { + "title": "Additional identifiers", + "description": "Additional identifiers for this organization, following the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/). This field can also be used to provide an identifier for an organizational unit (for example, an agency, branch or division).", + "type": "array", + "items": { + "title": "Identifier", + "description": "A unique identifier for an organization.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "type": [ + "string", + "null" + ] + }, + "id": { + "title": "ID", + "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "legalName": { + "title": "Legal Name", + "description": "The legally registered name of the organization.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "uniqueItems": true, + "wholeListMerge": true + }, "address": { "title": "Address", - "description": "(Deprecated outside the parties section)", + "description": "An address. This may be the legally registered address of the organization, or may be a correspondence address for this particular contracting (or planning) process.", "type": "object", "properties": { "streetAddress": { @@ -33415,69 +38689,21 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } - }, - "deprecated": { - "deprecatedVersion": "1.1", - "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and address information should only be provided in the relevant cross-referenced entry in the parties section at the top level of a release." } }, - "additionalIdentifiers": { - "type": "array", - "deprecated": { - "deprecatedVersion": "1.1", - "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and additional identifiers for an organization should be provided in the relevant cross-referenced entry in the parties section at the top level of a release." - }, - "items": { - "title": "Identifier", - "description": "A unique identifier for an organization.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", - "type": [ - "string", - "null" - ] - }, - "id": { - "title": "ID", - "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer", - "null" - ] - }, - "legalName": { - "title": "Legal Name", - "description": "The legally registered name of the organization.", - "type": [ - "string", - "null" - ] - }, - "uri": { - "title": "URI", - "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", - "type": [ - "string", - "null" - ], - "format": "uri" - } - } - }, - "title": "Additional identifiers", - "uniqueItems": true, - "wholeListMerge": true, - "description": "(Deprecated outside the parties section) A list of additional / supplemental identifiers for the organization, using the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/). This can be used to provide an internally used identifier for this organization in addition to the primary legal entity identifier." - }, "contactPoint": { "title": "Contact point", "type": "object", - "description": "(Deprecated outside the parties section)", + "description": "Contact details that can be used for this organization.", "properties": { "name": { "title": "Name", @@ -33520,2176 +38746,2858 @@ "description": "A web address for the contact point/person.", "format": "uri" } + } + }, + "roles": { + "title": "Roles", + "description": "The organization's role(s) in the contracting (or planning) process, using the open [partyRole](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#party-role) codelist.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" }, - "deprecated": { - "deprecatedVersion": "1.1", - "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and contact point information for an organization should be provided in the relevant cross-referenced entry in the parties section at the top level of a release." + "codelist": "partyRole.csv", + "openCodelist": true + }, + "details": { + "type": [ + "object", + "null" + ], + "description": "Additional information about the organization.", + "title": "Details", + "properties": { + "scale": { + "title": "Scale", + "description": "The size or scale of the organization.", + "type": [ + "string", + "null" + ], + "enum": [ + "micro", + "sme", + "small", + "medium", + "large", + "selfEmployed", + null + ], + "codelist": "partyScale.csv", + "openCodelist": false + }, + "classifications": { + "title": "Organization classifications", + "description": "The classifications that categorize the organization.", + "type": "array", + "items": { + "title": "Classification", + "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "classificationScheme.csv", + "openCodelist": true + }, + "id": { + "title": "ID", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "uniqueItems": true, + "wholeListMerge": true, + "minItems": 1 + } } } - }, - "type": "object", - "description": "The id and name of the organization being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, - "Organization": { - "title": "Organization", - "description": "An organization", + "Item": { + "title": "Item", "type": "object", + "description": "A line-item of the goods, services, or works to be contracted.", + "required": [ + "id" + ], "properties": { - "name": { - "title": "Common name", - "description": "A common name for this organization. The identifier object provides a space for the formal legal name, and so this may either repeat that value, or may provide the common name by which this organization is known. This field may also include details of the department or sub-unit involved in this contracting (or planning) process.", + "id": { + "title": "ID", + "description": "A local identifier to reference and merge the items by. Must be unique within a given array of items. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer" + ], + "minLength": 1 + }, + "description": { + "title": "Description", + "description": "A description of the goods, services or works to be provided.", "type": [ "string", "null" ] }, - "id": { - "type": "string", - "description": "The ID used for cross-referencing to this organization from other sections of the release. This field need only be unique within the scope of the (contracting or planning) process, but should be built with the following structure {identifier.scheme}-{identifier.id}(-{department-identifier}) if the primary identifier for this organization is available.", - "title": "ID" - }, - "identifier": { - "title": "Primary identifier", - "description": "The primary identifier for this organization. Identifiers that uniquely pick out a legal entity should be preferred. Consult the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for the preferred scheme and identifier to use.", + "classification": { + "title": "Classification", + "description": "The primary classification for the item.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "classificationScheme.csv", + "openCodelist": true + }, + "id": { + "title": "ID", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "additionalClassifications": { + "title": "Additional classifications", + "description": "Additional classifications for the item.", + "type": "array", + "items": { + "title": "Classification", + "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "classificationScheme.csv", + "openCodelist": true + }, + "id": { + "title": "ID", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "uniqueItems": true, + "wholeListMerge": true + }, + "quantity": { + "title": "Quantity", + "description": "The number of units to be provided.", + "type": [ + "number", + "null" + ] + }, + "unit": { + "title": "Pricing unit", + "description": "The pricing unit. It is recommended to use the unit of measurement in which the goods, services or works are provided (e.g. kilogram, hour), rather than the unit of presentation (e.g. box), because units of measurement are easier to compare and convert than units of presentation. A unit of measurement is a definite magnitude of a quantity, defined and adopted by convention or law, that is used as a standard of measurement for the same kind of quantity. For example, mass, a quantity, can be measured in kilograms, a unit of measurement.", "type": "object", "properties": { "scheme": { "title": "Scheme", - "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "description": "The scheme or codelist from which the identifier for the unit is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended for a unit of measurement.", "type": [ "string", "null" - ] + ], + "codelist": "unitClassificationScheme.csv", + "openCodelist": true }, "id": { "title": "ID", - "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "description": "The identifier for the unit, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", "type": [ "string", - "integer", "null" ] }, - "legalName": { - "title": "Legal Name", - "description": "The legally registered name of the organization.", + "name": { + "title": "Name", + "description": "The name of the unit.", "type": [ "string", "null" ] }, + "value": { + "title": "Value", + "description": "The monetary value of a single unit.", + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "description": "The amount as entered into a system or published in a document.", + "type": [ + "number", + "null" + ] + }, + "amountNet": { + "title": "Net amount", + "description": "The amount excluding all taxes.", + "type": [ + "number", + "null" + ] + }, + "amountGross": { + "title": "Gross amount", + "description": "The amount including all taxes.", + "type": [ + "number", + "null" + ] + }, + "currency": { + "title": "Currency", + "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "currency.csv", + "openCodelist": false, + "enum": [ + "ADP", + "AED", + "AFA", + "AFN", + "ALK", + "ALL", + "AMD", + "ANG", + "AOA", + "AOK", + "AON", + "AOR", + "ARA", + "ARP", + "ARS", + "ARY", + "ATS", + "AUD", + "AWG", + "AYM", + "AZM", + "AZN", + "BAD", + "BAM", + "BBD", + "BDT", + "BEC", + "BEF", + "BEL", + "BGJ", + "BGK", + "BGL", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOP", + "BOV", + "BRB", + "BRC", + "BRE", + "BRL", + "BRN", + "BRR", + "BSD", + "BTN", + "BUK", + "BWP", + "BYB", + "BYN", + "BYR", + "BZD", + "CAD", + "CDF", + "CHC", + "CHE", + "CHF", + "CHW", + "CLF", + "CLP", + "CNY", + "COP", + "COU", + "CRC", + "CSD", + "CSJ", + "CSK", + "CUC", + "CUP", + "CVE", + "CYP", + "CZK", + "DDM", + "DEM", + "DJF", + "DKK", + "DOP", + "DZD", + "ECS", + "ECV", + "EEK", + "EGP", + "ERN", + "ESA", + "ESB", + "ESP", + "ETB", + "EUR", + "FIM", + "FJD", + "FKP", + "FRF", + "GBP", + "GEK", + "GEL", + "GHC", + "GHP", + "GHS", + "GIP", + "GMD", + "GNE", + "GNF", + "GNS", + "GQE", + "GRD", + "GTQ", + "GWE", + "GWP", + "GYD", + "HKD", + "HNL", + "HRD", + "HRK", + "HTG", + "HUF", + "IDR", + "IEP", + "ILP", + "ILR", + "ILS", + "INR", + "IQD", + "IRR", + "ISJ", + "ISK", + "ITL", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAJ", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LSM", + "LTL", + "LTT", + "LUC", + "LUF", + "LUL", + "LVL", + "LVR", + "LYD", + "MAD", + "MDL", + "MGA", + "MGF", + "MKD", + "MLF", + "MMK", + "MNT", + "MOP", + "MRO", + "MRU", + "MTL", + "MTP", + "MUR", + "MVQ", + "MVR", + "MWK", + "MXN", + "MXP", + "MXV", + "MYR", + "MZE", + "MZM", + "MZN", + "NAD", + "NGN", + "NIC", + "NIO", + "NLG", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEH", + "PEI", + "PEN", + "PES", + "PGK", + "PHP", + "PKR", + "PLN", + "PLZ", + "PTE", + "PYG", + "QAR", + "RHD", + "ROK", + "ROL", + "RON", + "RSD", + "RUB", + "RUR", + "RWF", + "SAR", + "SBD", + "SCR", + "SDD", + "SDG", + "SDP", + "SEK", + "SGD", + "SHP", + "SIT", + "SKK", + "SLL", + "SOS", + "SRD", + "SRG", + "SSP", + "STD", + "STN", + "SUR", + "SVC", + "SYP", + "SZL", + "THB", + "TJR", + "TJS", + "TMM", + "TMT", + "TND", + "TOP", + "TPE", + "TRL", + "TRY", + "TTD", + "TWD", + "TZS", + "UAH", + "UAK", + "UGS", + "UGW", + "UGX", + "USD", + "USN", + "USS", + "UYI", + "UYN", + "UYP", + "UYU", + "UYW", + "UZS", + "VEB", + "VEF", + "VES", + "VNC", + "VND", + "VUV", + "WST", + "XAF", + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XCD", + "XDR", + "XEU", + "XFO", + "XFU", + "XOF", + "XPD", + "XPF", + "XPT", + "XRE", + "XSU", + "XTS", + "XUA", + "XXX", + "YDD", + "YER", + "YUD", + "YUM", + "YUN", + "ZAL", + "ZAR", + "ZMK", + "ZMW", + "ZRN", + "ZRZ", + "ZWC", + "ZWD", + "ZWL", + "ZWN", + "ZWR", + null + ] + } + } + }, "uri": { "title": "URI", - "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "description": "A URI to uniquely identify the unit.", + "format": "uri", "type": [ "string", "null" - ], - "format": "uri" + ] } } }, - "additionalIdentifiers": { - "title": "Additional identifiers", - "description": "Additional identifiers for this organization, following the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/). This field can also be used to provide an identifier for an organizational unit (for example, an agency, branch or division).", + "immediateContainer": { + "title": "Immediate container", + "description": "The immediate container for the item. Also known as: presentation, presentation form, package.", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "The common name of the container. For medicine items, it is recommended to use a title from the [immediateContainer](https://extensions.open-contracting.org/en/extensions/medicine/master/codelists/#immediateContainer.csv) codelist in the OCDS [Medicine](https://extensions.open-contracting.org/en/extensions/medicine/master/) extension. For other items, it is recommended to use a title from PackageTypeCodelist in the GS1 [Global Data Synchronisation Network (GDSN)](https://www.gs1.org/standards/gdsn) standard.", + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "capacity": { + "title": "Capacity", + "description": "The storage capacity of the container.", + "type": "object", + "properties": { + "unit": { + "title": "Unit", + "description": "The unit of measurement for the quantity.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the identifier for the unit of measurement is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended.", + "type": [ + "string", + "null" + ], + "codelist": "unitClassificationScheme.csv", + "openCodelist": true, + "minLength": 1 + }, + "id": { + "title": "ID", + "description": "The identifier for the unit of measurement, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", + "type": [ + "string", + "null" + ], + "versionId": true, + "minLength": 1 + } + }, + "minProperties": 1 + }, + "value": { + "title": "Value", + "description": "The quantity, as a multiple of the unit of measurement. The quantity is expressed in interval notation, for example: \"[10,10]\" for 10 units, \"[1,10]\" for 1 to 10 units, or \"[10,INF[\" for 10 or more units.", + "type": [ + "string", + "number", + "null" + ], + "pattern": "^[([\\]][0-9]+,([0-9]+|INF)[)[\\]]$" + } + }, + "minProperties": 1 + } + }, + "minProperties": 1 + }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity, contract or license will be delivered.", "type": "array", "items": { - "title": "Identifier", - "description": "A unique identifier for an organization.", + "title": "Address", + "description": "An address.", "type": "object", "properties": { - "scheme": { - "title": "Scheme", - "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "streetAddress": { + "title": "Street address", "type": [ "string", "null" - ] + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." }, - "id": { - "title": "ID", - "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "locality": { + "title": "Locality", "type": [ "string", - "integer", "null" - ] + ], + "description": "The locality. For example, Mountain View." }, - "legalName": { - "title": "Legal Name", - "description": "The legally registered name of the organization.", + "region": { + "title": "Region", "type": [ "string", "null" - ] + ], + "description": "The region. For example, CA." }, - "uri": { - "title": "URI", - "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "postalCode": { + "title": "Postal code", "type": [ "string", "null" ], - "format": "uri" - } - } - }, - "uniqueItems": true, - "wholeListMerge": true - }, - "address": { - "title": "Address", - "description": "An address. This may be the legally registered address of the organization, or may be a correspondence address for this particular contracting (or planning) process.", - "type": "object", - "properties": { - "streetAddress": { - "title": "Street address", - "type": [ - "string", - "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." - }, - "locality": { - "title": "Locality", - "type": [ - "string", - "null" - ], - "description": "The locality. For example, Mountain View." - }, - "region": { - "title": "Region", - "type": [ - "string", - "null" - ], - "description": "The region. For example, CA." - }, - "postalCode": { - "title": "Postal code", - "type": [ - "string", - "null" - ], - "description": "The postal code. For example, 94043." - }, - "country": { - "title": "Country code", - "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", - "type": [ - "string", - "null" - ], - "codelist": "country.csv", - "openCodelist": false, - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "XK", - "YE", - "YT", - "ZA", - "ZM", - "ZW", - null - ] - }, - "countryName": { - "title": "Country name", - "type": [ - "string", - "null" - ], - "description": "The country name. For example, United States.", - "deprecated": { - "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", - "deprecatedVersion": "1.2" + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } } - } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + } + } + }, + "Amendment": { + "title": "Amendment", + "type": "object", + "description": "Amendment information", + "properties": { + "date": { + "title": "Amendment date", + "description": "The date of this amendment.", + "type": [ + "string", + "null" + ], + "format": "date-time" }, - "contactPoint": { - "title": "Contact point", - "type": "object", - "description": "Contact details that can be used for this organization.", - "properties": { - "name": { - "title": "Name", - "type": [ - "string", - "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting (or planning) process." - }, - "email": { - "title": "Email", - "type": [ - "string", - "null" - ], - "description": "The e-mail address of the contact point/person." - }, - "telephone": { - "title": "Telephone", - "type": [ - "string", - "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." - }, - "faxNumber": { - "title": "Fax number", - "type": [ - "string", - "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." - }, - "url": { - "title": "URL", - "type": [ - "string", - "null" - ], - "description": "A web address for the contact point/person.", - "format": "uri" - } - } + "rationale": { + "title": "Rationale", + "description": "An explanation for the amendment.", + "type": [ + "string", + "null" + ] }, - "roles": { - "title": "Roles", - "description": "The organization's role(s) in the contracting (or planning) process, using the open [partyRole](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#party-role) codelist.", + "id": { + "description": "An identifier for this amendment: often the amendment number", "type": [ - "array", + "string", "null" ], - "items": { - "type": "string" - }, - "codelist": "partyRole.csv", - "openCodelist": true + "title": "ID" }, - "details": { + "description": { + "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ - "object", + "string", "null" ], - "description": "Additional information about the organization.", - "title": "Details", - "properties": { - "scale": { - "title": "Scale", - "description": "The size or scale of the organization.", - "type": [ - "string", - "null" - ], - "enum": [ - "micro", - "sme", - "small", - "medium", - "large", - "selfEmployed", - null - ], - "codelist": "partyScale.csv", - "openCodelist": false - }, - "classifications": { - "title": "Organization classifications", - "description": "The classifications that categorize the organization.", - "type": "array", - "items": { - "title": "Classification", - "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "classificationScheme.csv", - "openCodelist": true - }, - "id": { - "title": "ID", - "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer", - "null" - ] - }, - "description": { - "title": "Description", - "description": "A textual description or title for the classification code.", - "type": [ - "string", - "null" - ] - }, - "uri": { - "title": "URI", - "description": "A URI to uniquely identify the classification code.", - "type": [ - "string", - "null" - ], - "format": "uri" - } - } + "title": "Description" + }, + "amendsReleaseID": { + "description": "Provide the identifier (`release.id`) of the OCDS release (from this contracting or planning process) that provides the values for this contracting (or planning) process **before** the amendment was made.", + "type": [ + "string", + "null" + ], + "title": "Amended release (identifier)" + }, + "releaseID": { + "description": "Provide the identifier (`release.id`) of the OCDS release (from this contracting or planning process) that provides the values for this contracting (or planning) process **after** the amendment was made.", + "type": [ + "string", + "null" + ], + "title": "Amending release (identifier)" + }, + "changes": { + "title": "Amended fields", + "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)", + "type": "array", + "items": { + "type": "object", + "properties": { + "property": { + "title": "Property", + "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)", + "type": "string" }, - "uniqueItems": true, - "wholeListMerge": true, - "minItems": 1 + "former_value": { + "title": "Former Value", + "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)", + "type": [ + "string", + "number", + "integer", + "array", + "object", + "null" + ] + } } + }, + "deprecated": { + "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ", + "deprecatedVersion": "1.1" } } } }, - "Item": { - "title": "Item", + "Classification": { + "title": "Classification", + "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", "type": "object", - "description": "A line-item of the goods, services, or works to be contracted.", - "required": [ - "id" - ], "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "classificationScheme.csv", + "openCodelist": true + }, "id": { "title": "ID", - "description": "A local identifier to reference and merge the items by. Must be unique within a given array of items. Although an integer is allowed, it is recommended to use a string.", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", - "integer" + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", + "type": [ + "string", + "null" ], - "minLength": 1 + "format": "uri" + } + } + }, + "Identifier": { + "title": "Identifier", + "description": "A unique identifier for an organization.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "type": [ + "string", + "null" + ] + }, + "id": { + "title": "ID", + "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "legalName": { + "title": "Legal Name", + "description": "The legally registered name of the organization.", + "type": [ + "string", + "null" + ] }, + "uri": { + "title": "URI", + "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "Location": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { "description": { "title": "Description", - "description": "A description of the goods, services or works to be provided.", + "description": "The name or description of the location.", "type": [ "string", "null" ] }, - "classification": { - "title": "Classification", - "description": "The primary classification for the item.", + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", "type": "object", "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", "type": [ "string", "null" ], - "codelist": "classificationScheme.csv", - "openCodelist": true - }, - "id": { - "title": "ID", - "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer", - "null" - ] - }, - "description": { - "title": "Description", - "description": "A textual description or title for the classification code.", - "type": [ - "string", - "null" + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null ] }, - "uri": { - "title": "URI", - "description": "A URI to uniquely identify the classification code.", + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", "type": [ - "string", + "array", "null" - ], - "format": "uri" - } - } - }, - "additionalClassifications": { - "title": "Additional classifications", - "description": "Additional classifications for the item.", - "type": "array", - "items": { - "title": "Classification", - "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "classificationScheme.csv", - "openCodelist": true - }, - "id": { - "title": "ID", - "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer", - "null" - ] - }, - "description": { - "title": "Description", - "description": "A textual description or title for the classification code.", - "type": [ - "string", - "null" - ] - }, - "uri": { - "title": "URI", - "description": "A URI to uniquely identify the classification code.", - "type": [ - "string", - "null" - ], - "format": "uri" - } - } - }, - "uniqueItems": true, - "wholeListMerge": true - }, - "quantity": { - "title": "Quantity", - "description": "The number of units to be provided.", - "type": [ - "number", - "null" - ] + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } }, - "unit": { - "title": "Pricing unit", - "description": "The pricing unit. It is recommended to use the unit of measurement in which the goods, services or works are provided (e.g. kilogram, hour), rather than the unit of presentation (e.g. box), because units of measurement are easier to compare and convert than units of presentation. A unit of measurement is a definite magnitude of a quantity, defined and adopted by convention or law, that is used as a standard of measurement for the same kind of quantity. For example, mass, a quantity, can be measured in kilograms, a unit of measurement.", + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", "type": "object", "properties": { "scheme": { "title": "Scheme", - "description": "The scheme or codelist from which the identifier for the unit is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended for a unit of measurement.", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", "type": [ "string", "null" ], - "codelist": "unitClassificationScheme.csv", + "codelist": "locationGazetteer.csv", "openCodelist": true }, - "id": { - "title": "ID", - "description": "The identifier for the unit, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", - "type": [ - "string", - "null" - ] - }, - "name": { - "title": "Name", - "description": "The name of the unit.", + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", "type": [ - "string", + "array", "null" - ] - }, - "value": { - "title": "Value", - "description": "The monetary value of a single unit.", - "type": "object", - "properties": { - "amount": { - "title": "Amount", - "description": "The amount as entered into a system or published in a document.", - "type": [ - "number", - "null" - ] - }, - "amountNet": { - "title": "Net amount", - "description": "The amount excluding all taxes.", - "type": [ - "number", - "null" - ] - }, - "amountGross": { - "title": "Gross amount", - "description": "The amount including all taxes.", - "type": [ - "number", - "null" - ] - }, - "currency": { - "title": "Currency", - "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "currency.csv", - "openCodelist": false, - "enum": [ - "ADP", - "AED", - "AFA", - "AFN", - "ALK", - "ALL", - "AMD", - "ANG", - "AOA", - "AOK", - "AON", - "AOR", - "ARA", - "ARP", - "ARS", - "ARY", - "ATS", - "AUD", - "AWG", - "AYM", - "AZM", - "AZN", - "BAD", - "BAM", - "BBD", - "BDT", - "BEC", - "BEF", - "BEL", - "BGJ", - "BGK", - "BGL", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BOP", - "BOV", - "BRB", - "BRC", - "BRE", - "BRL", - "BRN", - "BRR", - "BSD", - "BTN", - "BUK", - "BWP", - "BYB", - "BYN", - "BYR", - "BZD", - "CAD", - "CDF", - "CHC", - "CHE", - "CHF", - "CHW", - "CLF", - "CLP", - "CNY", - "COP", - "COU", - "CRC", - "CSD", - "CSJ", - "CSK", - "CUC", - "CUP", - "CVE", - "CYP", - "CZK", - "DDM", - "DEM", - "DJF", - "DKK", - "DOP", - "DZD", - "ECS", - "ECV", - "EEK", - "EGP", - "ERN", - "ESA", - "ESB", - "ESP", - "ETB", - "EUR", - "FIM", - "FJD", - "FKP", - "FRF", - "GBP", - "GEK", - "GEL", - "GHC", - "GHP", - "GHS", - "GIP", - "GMD", - "GNE", - "GNF", - "GNS", - "GQE", - "GRD", - "GTQ", - "GWE", - "GWP", - "GYD", - "HKD", - "HNL", - "HRD", - "HRK", - "HTG", - "HUF", - "IDR", - "IEP", - "ILP", - "ILR", - "ILS", - "INR", - "IQD", - "IRR", - "ISJ", - "ISK", - "ITL", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAJ", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LSM", - "LTL", - "LTT", - "LUC", - "LUF", - "LUL", - "LVL", - "LVR", - "LYD", - "MAD", - "MDL", - "MGA", - "MGF", - "MKD", - "MLF", - "MMK", - "MNT", - "MOP", - "MRO", - "MRU", - "MTL", - "MTP", - "MUR", - "MVQ", - "MVR", - "MWK", - "MXN", - "MXP", - "MXV", - "MYR", - "MZE", - "MZM", - "MZN", - "NAD", - "NGN", - "NIC", - "NIO", - "NLG", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEH", - "PEI", - "PEN", - "PES", - "PGK", - "PHP", - "PKR", - "PLN", - "PLZ", - "PTE", - "PYG", - "QAR", - "RHD", - "ROK", - "ROL", - "RON", - "RSD", - "RUB", - "RUR", - "RWF", - "SAR", - "SBD", - "SCR", - "SDD", - "SDG", - "SDP", - "SEK", - "SGD", - "SHP", - "SIT", - "SKK", - "SLL", - "SOS", - "SRD", - "SRG", - "SSP", - "STD", - "STN", - "SUR", - "SVC", - "SYP", - "SZL", - "THB", - "TJR", - "TJS", - "TMM", - "TMT", - "TND", - "TOP", - "TPE", - "TRL", - "TRY", - "TTD", - "TWD", - "TZS", - "UAH", - "UAK", - "UGS", - "UGW", - "UGX", - "USD", - "USN", - "USS", - "UYI", - "UYN", - "UYP", - "UYU", - "UYW", - "UZS", - "VEB", - "VEF", - "VES", - "VNC", - "VND", - "VUV", - "WST", - "XAF", - "XAG", - "XAU", - "XBA", - "XBB", - "XBC", - "XBD", - "XCD", - "XDR", - "XEU", - "XFO", - "XFU", - "XOF", - "XPD", - "XPF", - "XPT", - "XRE", - "XSU", - "XTS", - "XUA", - "XXX", - "YDD", - "YER", - "YUD", - "YUM", - "YUN", - "ZAL", - "ZAR", - "ZMK", - "ZMW", - "ZRN", - "ZRZ", - "ZWC", - "ZWD", - "ZWL", - "ZWN", - "ZWR", - null - ] - } + ], + "items": { + "type": "string" } - }, - "uri": { - "title": "URI", - "description": "A URI to uniquely identify the unit.", - "format": "uri", - "type": [ - "string", - "null" - ] } } }, - "immediateContainer": { - "title": "Immediate container", - "description": "The immediate container for the item. Also known as: presentation, presentation form, package.", - "type": "object", - "properties": { - "name": { - "title": "Name", - "description": "The common name of the container. For medicine items, it is recommended to use a title from the [immediateContainer](https://extensions.open-contracting.org/en/extensions/medicine/master/codelists/#immediateContainer.csv) codelist in the OCDS [Medicine](https://extensions.open-contracting.org/en/extensions/medicine/master/) extension. For other items, it is recommended to use a title from PackageTypeCodelist in the GS1 [Global Data Synchronisation Network (GDSN)](https://www.gs1.org/standards/gdsn) standard.", - "type": [ - "string", - "null" - ], - "minLength": 1 - }, - "capacity": { - "title": "Capacity", - "description": "The storage capacity of the container.", - "type": "object", - "properties": { - "unit": { - "title": "Unit", - "description": "The unit of measurement for the quantity.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the identifier for the unit of measurement is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended.", - "type": [ - "string", - "null" - ], - "codelist": "unitClassificationScheme.csv", - "openCodelist": true, - "minLength": 1 - }, - "id": { - "title": "ID", - "description": "The identifier for the unit of measurement, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", - "type": [ - "string", - "null" - ], - "versionId": true, - "minLength": 1 - } - }, - "minProperties": 1 - }, - "value": { - "title": "Value", - "description": "The quantity, as a multiple of the unit of measurement. The quantity is expressed in interval notation, for example: \"[10,10]\" for 10 units, \"[1,10]\" for 1 to 10 units, or \"[10,INF[\" for 10 or more units.", - "type": [ - "string", - "number", - "null" - ], - "pattern": "^[([\\]][0-9]+,([0-9]+|INF)[)[\\]]$" - } - }, - "minProperties": 1 - } - }, - "minProperties": 1 + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "Address": { + "title": "Address", + "description": "An address.", + "type": "object", + "properties": { + "streetAddress": { + "title": "Street address", + "type": [ + "string", + "null" + ], + "description": "The street address. For example, 1600 Amphitheatre Pkwy." + }, + "locality": { + "title": "Locality", + "type": [ + "string", + "null" + ], + "description": "The locality. For example, Mountain View." + }, + "region": { + "title": "Region", + "type": [ + "string", + "null" + ], + "description": "The region. For example, CA." + }, + "postalCode": { + "title": "Postal code", + "type": [ + "string", + "null" + ], + "description": "The postal code. For example, 94043." + }, + "country": { + "title": "Country code", + "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "title": "Country name", + "type": [ + "string", + "null" + ], + "description": "The country name. For example, United States.", + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] + } + } + }, + "ContactPoint": { + "title": "Contact point", + "type": "object", + "description": "A person, contact point or department to contact in relation to this contracting (or planning) process.", + "properties": { + "name": { + "title": "Name", + "type": [ + "string", + "null" + ], + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting (or planning) process." + }, + "email": { + "title": "Email", + "type": [ + "string", + "null" + ], + "description": "The e-mail address of the contact point/person." + }, + "telephone": { + "title": "Telephone", + "type": [ + "string", + "null" + ], + "description": "The telephone number of the contact point/person. This should include the international dialing code." + }, + "faxNumber": { + "title": "Fax number", + "type": [ + "string", + "null" + ], + "description": "The fax number of the contact point/person. This should include the international dialing code." + }, + "url": { + "title": "URL", + "type": [ + "string", + "null" + ], + "description": "A web address for the contact point/person.", + "format": "uri" + } + } + }, + "Value": { + "title": "Value", + "description": "Financial values should be published with a currency attached.", + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "description": "The amount as entered into a system or published in a document.", + "type": [ + "number", + "null" + ] + }, + "amountNet": { + "title": "Net amount", + "description": "The amount excluding all taxes.", + "type": [ + "number", + "null" + ] + }, + "amountGross": { + "title": "Gross amount", + "description": "The amount including all taxes.", + "type": [ + "number", + "null" + ] + }, + "currency": { + "title": "Currency", + "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "currency.csv", + "openCodelist": false, + "enum": [ + "ADP", + "AED", + "AFA", + "AFN", + "ALK", + "ALL", + "AMD", + "ANG", + "AOA", + "AOK", + "AON", + "AOR", + "ARA", + "ARP", + "ARS", + "ARY", + "ATS", + "AUD", + "AWG", + "AYM", + "AZM", + "AZN", + "BAD", + "BAM", + "BBD", + "BDT", + "BEC", + "BEF", + "BEL", + "BGJ", + "BGK", + "BGL", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOP", + "BOV", + "BRB", + "BRC", + "BRE", + "BRL", + "BRN", + "BRR", + "BSD", + "BTN", + "BUK", + "BWP", + "BYB", + "BYN", + "BYR", + "BZD", + "CAD", + "CDF", + "CHC", + "CHE", + "CHF", + "CHW", + "CLF", + "CLP", + "CNY", + "COP", + "COU", + "CRC", + "CSD", + "CSJ", + "CSK", + "CUC", + "CUP", + "CVE", + "CYP", + "CZK", + "DDM", + "DEM", + "DJF", + "DKK", + "DOP", + "DZD", + "ECS", + "ECV", + "EEK", + "EGP", + "ERN", + "ESA", + "ESB", + "ESP", + "ETB", + "EUR", + "FIM", + "FJD", + "FKP", + "FRF", + "GBP", + "GEK", + "GEL", + "GHC", + "GHP", + "GHS", + "GIP", + "GMD", + "GNE", + "GNF", + "GNS", + "GQE", + "GRD", + "GTQ", + "GWE", + "GWP", + "GYD", + "HKD", + "HNL", + "HRD", + "HRK", + "HTG", + "HUF", + "IDR", + "IEP", + "ILP", + "ILR", + "ILS", + "INR", + "IQD", + "IRR", + "ISJ", + "ISK", + "ITL", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAJ", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LSM", + "LTL", + "LTT", + "LUC", + "LUF", + "LUL", + "LVL", + "LVR", + "LYD", + "MAD", + "MDL", + "MGA", + "MGF", + "MKD", + "MLF", + "MMK", + "MNT", + "MOP", + "MRO", + "MRU", + "MTL", + "MTP", + "MUR", + "MVQ", + "MVR", + "MWK", + "MXN", + "MXP", + "MXV", + "MYR", + "MZE", + "MZM", + "MZN", + "NAD", + "NGN", + "NIC", + "NIO", + "NLG", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEH", + "PEI", + "PEN", + "PES", + "PGK", + "PHP", + "PKR", + "PLN", + "PLZ", + "PTE", + "PYG", + "QAR", + "RHD", + "ROK", + "ROL", + "RON", + "RSD", + "RUB", + "RUR", + "RWF", + "SAR", + "SBD", + "SCR", + "SDD", + "SDG", + "SDP", + "SEK", + "SGD", + "SHP", + "SIT", + "SKK", + "SLL", + "SOS", + "SRD", + "SRG", + "SSP", + "STD", + "STN", + "SUR", + "SVC", + "SYP", + "SZL", + "THB", + "TJR", + "TJS", + "TMM", + "TMT", + "TND", + "TOP", + "TPE", + "TRL", + "TRY", + "TTD", + "TWD", + "TZS", + "UAH", + "UAK", + "UGS", + "UGW", + "UGX", + "USD", + "USN", + "USS", + "UYI", + "UYN", + "UYP", + "UYU", + "UYW", + "UZS", + "VEB", + "VEF", + "VES", + "VNC", + "VND", + "VUV", + "WST", + "XAF", + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XCD", + "XDR", + "XEU", + "XFO", + "XFU", + "XOF", + "XPD", + "XPF", + "XPT", + "XRE", + "XSU", + "XTS", + "XUA", + "XXX", + "YDD", + "YER", + "YUD", + "YUM", + "YUN", + "ZAL", + "ZAR", + "ZMK", + "ZMW", + "ZRN", + "ZRZ", + "ZWC", + "ZWD", + "ZWL", + "ZWN", + "ZWR", + null + ] } } }, - "Amendment": { - "title": "Amendment", + "Period": { + "title": "Period", + "description": "Key events during a contracting (or planning) process may have a known start date, end date, duration, or maximum extent (the latest date the period can extend to). In some cases, not all of these fields will have known or relevant values.", "type": "object", - "description": "Amendment information", "properties": { - "date": { - "title": "Amendment date", - "description": "The date of this amendment.", + "startDate": { + "title": "Start date", + "description": "The start date for the period. When known, a precise start date must be provided.", "type": [ "string", "null" ], "format": "date-time" }, - "rationale": { - "title": "Rationale", - "description": "An explanation for the amendment.", + "endDate": { + "title": "End date", + "description": "The end date for the period. When known, a precise end date must be provided.", + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "maxExtentDate": { + "description": "The period cannot be extended beyond this date. This field can be used to express the maximum available date for extension or renewal of this period.", + "format": "date-time", + "title": "Maximum extent", "type": [ "string", "null" ] }, + "durationInDays": { + "description": "The maximum duration of this period in days. A user interface can collect or display this data in months or years as appropriate, and then convert it into days when storing this field. This field can be used when exact dates are not known. If a startDate and endDate are set, this field, if used, must be equal to the difference between startDate and endDate. Otherwise, if a startDate and maxExtentDate are set, this field, if used, must be equal to the difference between startDate and maxExtentDate.", + "title": "Duration (days)", + "type": [ + "integer", + "null" + ] + } + } + }, + "RelatedProcess": { + "description": "A reference to a related, preceding contracting (or planning) process. For example, the contracting process may refer to its planning process(es). In multi-stage procedures (e.g. framework agreements with reopening of competition), the contracting process for a later stage may refer to the contracting process for the first stage.", + "type": "object", + "title": "Related Process", + "properties": { "id": { - "description": "An identifier for this amendment: often the amendment number", + "title": "Relationship ID", + "description": "A local identifier for this relationship, unique within this array.", + "type": "string" + }, + "relationship": { + "items": { + "type": "string" + }, + "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", + "title": "Relationship", "type": [ - "string", + "array", "null" ], - "title": "ID" + "codelist": "relatedProcess.csv", + "openCodelist": true }, - "description": { - "description": "A free text, or semi-structured, description of the changes made in this amendment.", + "title": { + "description": "The title of the related process, where referencing a contracting (or planning) process, this field should match the tender/title field in the related process.", + "title": "Related process title", "type": [ "string", "null" - ], - "title": "Description" + ] }, - "amendsReleaseID": { - "description": "Provide the identifier (`release.id`) of the OCDS release (from this contracting or planning process) that provides the values for this contracting (or planning) process **before** the amendment was made.", + "scheme": { + "title": "Scheme", + "description": "The identification scheme used by this cross-reference, using the open [relatedProcessScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process-scheme) codelist.", "type": [ "string", "null" ], - "title": "Amended release (identifier)" + "codelist": "relatedProcessScheme.csv", + "openCodelist": true }, - "releaseID": { - "description": "Provide the identifier (`release.id`) of the OCDS release (from this contracting or planning process) that provides the values for this contracting (or planning) process **after** the amendment was made.", + "identifier": { + "description": "The identifier of the related process. If the scheme is 'ocid', this must be an open contracting process identifier (ocid).", + "title": "Identifier", + "type": [ + "string", + "null" + ] + }, + "uri": { + "format": "uri", + "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", + "title": "Related process URI", + "type": [ + "string", + "null" + ] + } + } + }, + "Unit": { + "title": "Pricing unit", + "description": "A pricing unit. It is recommended to use the unit of measurement in which the goods, services or works are provided (e.g. kilogram, hour), rather than the unit of presentation (e.g. box), because units of measurement are easier to compare and convert than units of presentation. A unit of measurement is a definite magnitude of a quantity, defined and adopted by convention or law, that is used as a standard of measurement for the same kind of quantity. For example, mass, a quantity, can be measured in kilograms, a unit of measurement.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the identifier for the unit is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended for a unit of measurement.", "type": [ "string", "null" ], - "title": "Amending release (identifier)" + "codelist": "unitClassificationScheme.csv", + "openCodelist": true }, - "changes": { - "title": "Amended fields", - "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)", - "type": "array", - "items": { - "type": "object", - "properties": { - "property": { - "title": "Property", - "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)", - "type": "string" - }, - "former_value": { - "title": "Former Value", - "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)", - "type": [ - "string", - "number", - "integer", - "array", - "object", - "null" - ] - } + "id": { + "title": "ID", + "description": "The identifier for the unit, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", + "type": [ + "string", + "null" + ] + }, + "name": { + "title": "Name", + "description": "The name of the unit.", + "type": [ + "string", + "null" + ] + }, + "value": { + "title": "Value", + "description": "The monetary value of a single unit.", + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "description": "The amount as entered into a system or published in a document.", + "type": [ + "number", + "null" + ] + }, + "amountNet": { + "title": "Net amount", + "description": "The amount excluding all taxes.", + "type": [ + "number", + "null" + ] + }, + "amountGross": { + "title": "Gross amount", + "description": "The amount including all taxes.", + "type": [ + "number", + "null" + ] + }, + "currency": { + "title": "Currency", + "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "currency.csv", + "openCodelist": false, + "enum": [ + "ADP", + "AED", + "AFA", + "AFN", + "ALK", + "ALL", + "AMD", + "ANG", + "AOA", + "AOK", + "AON", + "AOR", + "ARA", + "ARP", + "ARS", + "ARY", + "ATS", + "AUD", + "AWG", + "AYM", + "AZM", + "AZN", + "BAD", + "BAM", + "BBD", + "BDT", + "BEC", + "BEF", + "BEL", + "BGJ", + "BGK", + "BGL", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOP", + "BOV", + "BRB", + "BRC", + "BRE", + "BRL", + "BRN", + "BRR", + "BSD", + "BTN", + "BUK", + "BWP", + "BYB", + "BYN", + "BYR", + "BZD", + "CAD", + "CDF", + "CHC", + "CHE", + "CHF", + "CHW", + "CLF", + "CLP", + "CNY", + "COP", + "COU", + "CRC", + "CSD", + "CSJ", + "CSK", + "CUC", + "CUP", + "CVE", + "CYP", + "CZK", + "DDM", + "DEM", + "DJF", + "DKK", + "DOP", + "DZD", + "ECS", + "ECV", + "EEK", + "EGP", + "ERN", + "ESA", + "ESB", + "ESP", + "ETB", + "EUR", + "FIM", + "FJD", + "FKP", + "FRF", + "GBP", + "GEK", + "GEL", + "GHC", + "GHP", + "GHS", + "GIP", + "GMD", + "GNE", + "GNF", + "GNS", + "GQE", + "GRD", + "GTQ", + "GWE", + "GWP", + "GYD", + "HKD", + "HNL", + "HRD", + "HRK", + "HTG", + "HUF", + "IDR", + "IEP", + "ILP", + "ILR", + "ILS", + "INR", + "IQD", + "IRR", + "ISJ", + "ISK", + "ITL", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAJ", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LSM", + "LTL", + "LTT", + "LUC", + "LUF", + "LUL", + "LVL", + "LVR", + "LYD", + "MAD", + "MDL", + "MGA", + "MGF", + "MKD", + "MLF", + "MMK", + "MNT", + "MOP", + "MRO", + "MRU", + "MTL", + "MTP", + "MUR", + "MVQ", + "MVR", + "MWK", + "MXN", + "MXP", + "MXV", + "MYR", + "MZE", + "MZM", + "MZN", + "NAD", + "NGN", + "NIC", + "NIO", + "NLG", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEH", + "PEI", + "PEN", + "PES", + "PGK", + "PHP", + "PKR", + "PLN", + "PLZ", + "PTE", + "PYG", + "QAR", + "RHD", + "ROK", + "ROL", + "RON", + "RSD", + "RUB", + "RUR", + "RWF", + "SAR", + "SBD", + "SCR", + "SDD", + "SDG", + "SDP", + "SEK", + "SGD", + "SHP", + "SIT", + "SKK", + "SLL", + "SOS", + "SRD", + "SRG", + "SSP", + "STD", + "STN", + "SUR", + "SVC", + "SYP", + "SZL", + "THB", + "TJR", + "TJS", + "TMM", + "TMT", + "TND", + "TOP", + "TPE", + "TRL", + "TRY", + "TTD", + "TWD", + "TZS", + "UAH", + "UAK", + "UGS", + "UGW", + "UGX", + "USD", + "USN", + "USS", + "UYI", + "UYN", + "UYP", + "UYU", + "UYW", + "UZS", + "VEB", + "VEF", + "VES", + "VNC", + "VND", + "VUV", + "WST", + "XAF", + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XCD", + "XDR", + "XEU", + "XFO", + "XFU", + "XOF", + "XPD", + "XPF", + "XPT", + "XRE", + "XSU", + "XTS", + "XUA", + "XXX", + "YDD", + "YER", + "YUD", + "YUM", + "YUN", + "ZAL", + "ZAR", + "ZMK", + "ZMW", + "ZRN", + "ZRZ", + "ZWC", + "ZWD", + "ZWL", + "ZWN", + "ZWR", + null + ] } - }, - "deprecated": { - "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ", - "deprecatedVersion": "1.1" } - } - } - }, - "Classification": { - "title": "Classification", - "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", - "type": [ - "string", - "null" - ], - "codelist": "classificationScheme.csv", - "openCodelist": true - }, - "id": { - "title": "ID", - "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer", - "null" - ] - }, - "description": { - "title": "Description", - "description": "A textual description or title for the classification code.", - "type": [ - "string", - "null" - ] - }, - "uri": { - "title": "URI", - "description": "A URI to uniquely identify the classification code.", - "type": [ - "string", - "null" - ], - "format": "uri" - } - } - }, - "Identifier": { - "title": "Identifier", - "description": "A unique identifier for an organization.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", - "type": [ - "string", - "null" - ] - }, - "id": { - "title": "ID", - "description": "The identifier of the organization in the selected scheme. Although an integer is allowed, it is recommended to use a string.", - "type": [ - "string", - "integer", - "null" - ] - }, - "legalName": { - "title": "Legal Name", - "description": "The legally registered name of the organization.", - "type": [ - "string", - "null" - ] }, "uri": { "title": "URI", - "description": "A URI to identify the organization, such as those provided by [Open Corporates](https://opencorporates.com) or some other relevant URI provider. This is not for listing the website of the organization: that can be done through the URL field of the Organization contact point.", - "type": [ - "string", - "null" - ], - "format": "uri" - } - } - }, - "Address": { - "title": "Address", - "description": "An address.", - "type": "object", - "properties": { - "streetAddress": { - "title": "Street address", - "type": [ - "string", - "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." - }, - "locality": { - "title": "Locality", - "type": [ - "string", - "null" - ], - "description": "The locality. For example, Mountain View." - }, - "region": { - "title": "Region", - "type": [ - "string", - "null" - ], - "description": "The region. For example, CA." - }, - "postalCode": { - "title": "Postal code", - "type": [ - "string", - "null" - ], - "description": "The postal code. For example, 94043." - }, - "country": { - "title": "Country code", - "description": "The country, from the closed [country](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#country) codelist. If a country is missing, [create an issue](https://github.com/open-contracting/standard/issues) to discuss the addition of a user-assigned code to the country codelist.", - "type": [ - "string", - "null" - ], - "codelist": "country.csv", - "openCodelist": false, - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "XK", - "YE", - "YT", - "ZA", - "ZM", - "ZW", - null - ] - }, - "countryName": { - "title": "Country name", + "description": "A URI to uniquely identify the unit.", + "format": "uri", "type": [ "string", "null" - ], - "description": "The country name. For example, United States.", - "deprecated": { - "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", - "deprecatedVersion": "1.2" - } + ] } } }, - "ContactPoint": { - "title": "Contact point", + "ImmediateContainer": { + "title": "Immediate container", + "description": "The immediate container for the item. Also known as: presentation, presentation form, package.", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting (or planning) process.", "properties": { "name": { "title": "Name", + "description": "The common name of the container. For medicine items, it is recommended to use a title from the [immediateContainer](https://extensions.open-contracting.org/en/extensions/medicine/master/codelists/#immediateContainer.csv) codelist in the OCDS [Medicine](https://extensions.open-contracting.org/en/extensions/medicine/master/) extension. For other items, it is recommended to use a title from PackageTypeCodelist in the GS1 [Global Data Synchronisation Network (GDSN)](https://www.gs1.org/standards/gdsn) standard.", "type": [ "string", "null" ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting (or planning) process." - }, - "email": { - "title": "Email", - "type": [ - "string", - "null" - ], - "description": "The e-mail address of the contact point/person." - }, - "telephone": { - "title": "Telephone", - "type": [ - "string", - "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." - }, - "faxNumber": { - "title": "Fax number", - "type": [ - "string", - "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + "minLength": 1 }, - "url": { - "title": "URL", - "type": [ - "string", - "null" - ], - "description": "A web address for the contact point/person.", - "format": "uri" + "capacity": { + "title": "Capacity", + "description": "The storage capacity of the container.", + "type": "object", + "properties": { + "unit": { + "title": "Unit", + "description": "The unit of measurement for the quantity.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the identifier for the unit of measurement is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended.", + "type": [ + "string", + "null" + ], + "codelist": "unitClassificationScheme.csv", + "openCodelist": true, + "minLength": 1 + }, + "id": { + "title": "ID", + "description": "The identifier for the unit of measurement, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", + "type": [ + "string", + "null" + ], + "versionId": true, + "minLength": 1 + } + }, + "minProperties": 1 + }, + "value": { + "title": "Value", + "description": "The quantity, as a multiple of the unit of measurement. The quantity is expressed in interval notation, for example: \"[10,10]\" for 10 units, \"[1,10]\" for 1 to 10 units, or \"[10,INF[\" for 10 or more units.", + "type": [ + "string", + "number", + "null" + ], + "pattern": "^[([\\]][0-9]+,([0-9]+|INF)[)[\\]]$" + } + }, + "minProperties": 1 } - } + }, + "minProperties": 1 }, - "Value": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "Quantity": { + "title": "Quantity", + "description": "The quantity of a thing.", "type": "object", "properties": { - "amount": { - "title": "Amount", - "description": "The amount as entered into a system or published in a document.", - "type": [ - "number", - "null" - ] - }, - "amountNet": { - "title": "Net amount", - "description": "The amount excluding all taxes.", - "type": [ - "number", - "null" - ] - }, - "amountGross": { - "title": "Gross amount", - "description": "The amount including all taxes.", - "type": [ - "number", - "null" - ] + "unit": { + "title": "Unit", + "description": "The unit of measurement for the quantity.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the identifier for the unit of measurement is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended.", + "type": [ + "string", + "null" + ], + "codelist": "unitClassificationScheme.csv", + "openCodelist": true, + "minLength": 1 + }, + "id": { + "title": "ID", + "description": "The identifier for the unit of measurement, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", + "type": [ + "string", + "null" + ], + "versionId": true, + "minLength": 1 + } + }, + "minProperties": 1 }, - "currency": { - "title": "Currency", - "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", + "value": { + "title": "Value", + "description": "The quantity, as a multiple of the unit of measurement. The quantity is expressed in interval notation, for example: \"[10,10]\" for 10 units, \"[1,10]\" for 1 to 10 units, or \"[10,INF[\" for 10 or more units.", "type": [ "string", + "number", "null" ], - "codelist": "currency.csv", - "openCodelist": false, - "enum": [ - "ADP", - "AED", - "AFA", - "AFN", - "ALK", - "ALL", - "AMD", - "ANG", - "AOA", - "AOK", - "AON", - "AOR", - "ARA", - "ARP", - "ARS", - "ARY", - "ATS", - "AUD", - "AWG", - "AYM", - "AZM", - "AZN", - "BAD", - "BAM", - "BBD", - "BDT", - "BEC", - "BEF", - "BEL", - "BGJ", - "BGK", - "BGL", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BOP", - "BOV", - "BRB", - "BRC", - "BRE", - "BRL", - "BRN", - "BRR", - "BSD", - "BTN", - "BUK", - "BWP", - "BYB", - "BYN", - "BYR", - "BZD", - "CAD", - "CDF", - "CHC", - "CHE", - "CHF", - "CHW", - "CLF", - "CLP", - "CNY", - "COP", - "COU", - "CRC", - "CSD", - "CSJ", - "CSK", - "CUC", - "CUP", - "CVE", - "CYP", - "CZK", - "DDM", - "DEM", - "DJF", - "DKK", - "DOP", - "DZD", - "ECS", - "ECV", - "EEK", - "EGP", - "ERN", - "ESA", - "ESB", - "ESP", - "ETB", - "EUR", - "FIM", - "FJD", - "FKP", - "FRF", - "GBP", - "GEK", - "GEL", - "GHC", - "GHP", - "GHS", - "GIP", - "GMD", - "GNE", - "GNF", - "GNS", - "GQE", - "GRD", - "GTQ", - "GWE", - "GWP", - "GYD", - "HKD", - "HNL", - "HRD", - "HRK", - "HTG", - "HUF", - "IDR", - "IEP", - "ILP", - "ILR", - "ILS", - "INR", - "IQD", - "IRR", - "ISJ", - "ISK", - "ITL", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAJ", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LSM", - "LTL", - "LTT", - "LUC", - "LUF", - "LUL", - "LVL", - "LVR", - "LYD", - "MAD", - "MDL", - "MGA", - "MGF", - "MKD", - "MLF", - "MMK", - "MNT", - "MOP", - "MRO", - "MRU", - "MTL", - "MTP", - "MUR", - "MVQ", - "MVR", - "MWK", - "MXN", - "MXP", - "MXV", - "MYR", - "MZE", - "MZM", - "MZN", - "NAD", - "NGN", - "NIC", - "NIO", - "NLG", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEH", - "PEI", - "PEN", - "PES", - "PGK", - "PHP", - "PKR", - "PLN", - "PLZ", - "PTE", - "PYG", - "QAR", - "RHD", - "ROK", - "ROL", - "RON", - "RSD", - "RUB", - "RUR", - "RWF", - "SAR", - "SBD", - "SCR", - "SDD", - "SDG", - "SDP", - "SEK", - "SGD", - "SHP", - "SIT", - "SKK", - "SLL", - "SOS", - "SRD", - "SRG", - "SSP", - "STD", - "STN", - "SUR", - "SVC", - "SYP", - "SZL", - "THB", - "TJR", - "TJS", - "TMM", - "TMT", - "TND", - "TOP", - "TPE", - "TRL", - "TRY", - "TTD", - "TWD", - "TZS", - "UAH", - "UAK", - "UGS", - "UGW", - "UGX", - "USD", - "USN", - "USS", - "UYI", - "UYN", - "UYP", - "UYU", - "UYW", - "UZS", - "VEB", - "VEF", - "VES", - "VNC", - "VND", - "VUV", - "WST", - "XAF", - "XAG", - "XAU", - "XBA", - "XBB", - "XBC", - "XBD", - "XCD", - "XDR", - "XEU", - "XFO", - "XFU", - "XOF", - "XPD", - "XPF", - "XPT", - "XRE", - "XSU", - "XTS", - "XUA", - "XXX", - "YDD", - "YER", - "YUD", - "YUM", - "YUN", - "ZAL", - "ZAR", - "ZMK", - "ZMW", - "ZRN", - "ZRZ", - "ZWC", - "ZWD", - "ZWL", - "ZWN", - "ZWR", - null - ] + "pattern": "^[([\\]][0-9]+,([0-9]+|INF)[)[\\]]$" } - } + }, + "minProperties": 1 }, - "Period": { - "title": "Period", - "description": "Key events during a contracting (or planning) process may have a known start date, end date, duration, or maximum extent (the latest date the period can extend to). In some cases, not all of these fields will have known or relevant values.", + "SimpleUnit": { + "title": "Simple unit", + "description": "A unit of measurement.", "type": "object", "properties": { - "startDate": { - "title": "Start date", - "description": "The start date for the period. When known, a precise start date must be provided.", + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the identifier for the unit of measurement is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended.", "type": [ "string", "null" ], - "format": "date-time" + "codelist": "unitClassificationScheme.csv", + "openCodelist": true, + "minLength": 1 }, - "endDate": { - "title": "End date", - "description": "The end date for the period. When known, a precise end date must be provided.", + "id": { + "title": "ID", + "description": "The identifier for the unit of measurement, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", "type": [ "string", "null" ], - "format": "date-time" + "versionId": true, + "minLength": 1 + } + }, + "minProperties": 1 + }, + "Link": { + "title": "Link", + "description": "A reference to a related resource.", + "type": "object", + "properties": { + "rel": { + "title": "Link relation type", + "description": "The relationship with the related resource, using the open [link relation type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#link-relation-type) codelist.", + "type": "string", + "codelist": "linkRelationType.csv", + "openCodelist": true }, - "maxExtentDate": { - "description": "The period cannot be extended beyond this date. This field can be used to express the maximum available date for extension or renewal of this period.", - "format": "date-time", - "title": "Maximum extent", + "href": { + "title": "Link target", + "description": "The URL of the related resource.", + "type": "string", + "format": "uri" + } + } + }, + "SimpleIdentifier": { + "title": "Simple identifier", + "description": "An unambiguous reference to a resource within a given context.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The list, register or system from which the identifier is taken. If the scope of the list, register or system from which the identifier is drawn is national, it is suggested to follow the pattern {ISO 3166-1 alpha-2}-{system}. If it is subnational, it is suggested to follow the pattern {ISO 3166-2}-{system}.", "type": [ "string", "null" ] }, - "durationInDays": { - "description": "The maximum duration of this period in days. A user interface can collect or display this data in months or years as appropriate, and then convert it into days when storing this field. This field can be used when exact dates are not known. If a startDate and endDate are set, this field, if used, must be equal to the difference between startDate and endDate. Otherwise, if a startDate and maxExtentDate are set, this field, if used, must be equal to the difference between startDate and maxExtentDate.", - "title": "Duration (days)", + "id": { + "title": "ID", + "description": "The identifier taken from the scheme.", "type": [ - "integer", + "string", "null" - ] + ], + "versionId": true } } }, - "RelatedProcess": { - "description": "A reference to a related, preceding contracting (or planning) process. For example, the contracting process may refer to its planning process(es). In multi-stage procedures (e.g. framework agreements with reopening of competition), the contracting process for a later stage may refer to the contracting process for the first stage.", + "SubmissionTerms": { + "title": "Submission terms", + "description": "Information about how, when and where tenderers need to submit their bids.", "type": "object", - "title": "Related Process", "properties": { - "id": { - "title": "Relationship ID", - "description": "A local identifier for this relationship, unique within this array.", - "type": "string" - }, - "relationship": { - "items": { - "type": "string" - }, - "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", - "title": "Relationship", - "type": [ - "array", - "null" - ], - "codelist": "relatedProcess.csv", - "openCodelist": true - }, - "title": { - "description": "The title of the related process, where referencing a contracting (or planning) process, this field should match the tender/title field in the related process.", - "title": "Related process title", + "electronicSubmissionPolicy": { + "title": "Electronic submission policy", + "description": "Whether tenderers are required, allowed or not allowed to submit bids electronically.", "type": [ "string", "null" + ], + "codelist": "permission.csv", + "openCodelist": false, + "enum": [ + "required", + "allowed", + "notAllowed", + null ] - }, - "scheme": { - "title": "Scheme", - "description": "The identification scheme used by this cross-reference, using the open [relatedProcessScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process-scheme) codelist.", + } + } + }, + "ExclusionGrounds": { + "title": "Exclusion grounds", + "description": "The criteria regarding the situation of a tenderer that can lead to its exclusion from the contracting process. For example: criminal convictions, bankruptcy, presence on a blacklist or failure to pay taxes.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The description of the criteria.", "type": [ "string", "null" ], - "codelist": "relatedProcessScheme.csv", - "openCodelist": true - }, - "identifier": { - "description": "The identifier of the related process. If the scheme is 'ocid', this must be an open contracting process identifier (ocid).", - "title": "Identifier", - "type": [ - "string", - "null" - ] - }, - "uri": { - "format": "uri", - "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", - "title": "Related process URI", + "minLength": 1 + } + }, + "minProperties": 1 + }, + "SelectionCriteria": { + "title": "Selection criteria", + "description": "The minimum requirements for potential suppliers to participate in the contracting process. Selection criteria ensure that a potential supplier has the legal and financial capacities and the technical and professional abilities to perform the contract.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The description of the criteria.", "type": [ "string", "null" - ] + ], + "minLength": 1 } - } + }, + "minProperties": 1 }, - "Unit": { - "title": "Pricing unit", - "description": "A pricing unit. It is recommended to use the unit of measurement in which the goods, services or works are provided (e.g. kilogram, hour), rather than the unit of presentation (e.g. box), because units of measurement are easier to compare and convert than units of presentation. A unit of measurement is a definite magnitude of a quantity, defined and adopted by convention or law, that is used as a standard of measurement for the same kind of quantity. For example, mass, a quantity, can be measured in kilograms, a unit of measurement.", + "Project": { + "title": "Project", + "description": "Information about the infrastructure or public-private partnership (PPP) project to which a planning process is related.", "type": "object", "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the identifier for the unit is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended for a unit of measurement.", + "id": { + "title": "Identifier", + "description": "An externally provided identifier for the project. This can be a URI, an [Open Contracting for Infrastructure Data Standards Toolkit (OC4IDS)](https://standard.open-contracting.org/infrastructure/latest/en/guidance/identifiers/) project identifier, [OCDS for PPPs](https://standard.open-contracting.org/profiles/ppp/latest/en/framework/#i-basic-project-information) project identifier, an identifier from a projects register, or an identifier based on the canonical version of the project's name. Project identifiers should be unique within the scope of the publication.", "type": [ "string", "null" ], - "codelist": "unitClassificationScheme.csv", - "openCodelist": true + "minLength": 1 }, - "id": { - "title": "ID", - "description": "The identifier for the unit, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", + "title": { + "title": "Title", + "description": "The name of the project. If a project's register is available, this should be the same as the project's name in that register.", "type": [ "string", "null" - ] + ], + "minLength": 1 }, - "name": { - "title": "Name", - "description": "The name of the unit.", + "description": { + "title": "Description", + "description": "A short description of the project.", "type": [ "string", "null" - ] + ], + "minLength": 1 }, - "value": { - "title": "Value", - "description": "The monetary value of a single unit.", + "totalValue": { + "title": "Total value", + "description": "The total anticipated value of the project over its lifetime.", "type": "object", "properties": { "amount": { @@ -36035,252 +41943,206 @@ }, "uri": { "title": "URI", - "description": "A URI to uniquely identify the unit.", - "format": "uri", - "type": [ - "string", - "null" - ] - } - } - }, - "ImmediateContainer": { - "title": "Immediate container", - "description": "The immediate container for the item. Also known as: presentation, presentation form, package.", - "type": "object", - "properties": { - "name": { - "title": "Name", - "description": "The common name of the container. For medicine items, it is recommended to use a title from the [immediateContainer](https://extensions.open-contracting.org/en/extensions/medicine/master/codelists/#immediateContainer.csv) codelist in the OCDS [Medicine](https://extensions.open-contracting.org/en/extensions/medicine/master/) extension. For other items, it is recommended to use a title from PackageTypeCodelist in the GS1 [Global Data Synchronisation Network (GDSN)](https://www.gs1.org/standards/gdsn) standard.", + "description": "The URI of a resource about the project.", "type": [ "string", "null" ], - "minLength": 1 + "format": "uri" }, - "capacity": { - "title": "Capacity", - "description": "The storage capacity of the container.", - "type": "object", - "properties": { - "unit": { - "title": "Unit", - "description": "The unit of measurement for the quantity.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the identifier for the unit of measurement is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended.", - "type": [ - "string", - "null" - ], - "codelist": "unitClassificationScheme.csv", - "openCodelist": true, - "minLength": 1 - }, - "id": { - "title": "ID", - "description": "The identifier for the unit of measurement, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", - "type": [ - "string", - "null" - ], - "versionId": true, - "minLength": 1 - } - }, - "minProperties": 1 - }, - "value": { - "title": "Value", - "description": "The quantity, as a multiple of the unit of measurement. The quantity is expressed in interval notation, for example: \"[10,10]\" for 10 units, \"[1,10]\" for 1 to 10 units, or \"[10,INF[\" for 10 or more units.", - "type": [ - "string", - "number", - "null" - ], - "pattern": "^[([\\]][0-9]+,([0-9]+|INF)[)[\\]]$" - } - }, - "minProperties": 1 - } - }, - "minProperties": 1 - }, - "Quantity": { - "title": "Quantity", - "description": "The quantity of a thing.", - "type": "object", - "properties": { - "unit": { - "title": "Unit", - "description": "The unit of measurement for the quantity.", + "sector": { + "title": "Sector", + "description": "The primary sector to which the project relates. It is recommended to use the scheme 'oc4idsProjectSector' and codes from the [OC4IDS projectSector codelist](https://standard.open-contracting.org/infrastructure/latest/en/reference/codelists/#projectsector).", "type": "object", "properties": { "scheme": { "title": "Scheme", - "description": "The scheme or codelist from which the identifier for the unit of measurement is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended.", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", "type": [ "string", "null" ], - "codelist": "unitClassificationScheme.csv", - "openCodelist": true, - "minLength": 1 + "codelist": "classificationScheme.csv", + "openCodelist": true }, "id": { "title": "ID", - "description": "The identifier for the unit of measurement, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", "type": [ "string", "null" ], - "versionId": true, - "minLength": 1 + "format": "uri" } - }, - "minProperties": 1 - }, - "value": { - "title": "Value", - "description": "The quantity, as a multiple of the unit of measurement. The quantity is expressed in interval notation, for example: \"[10,10]\" for 10 units, \"[1,10]\" for 1 to 10 units, or \"[10,INF[\" for 10 or more units.", - "type": [ - "string", - "number", - "null" - ], - "pattern": "^[([\\]][0-9]+,([0-9]+|INF)[)[\\]]$" - } - }, - "minProperties": 1 - }, - "SimpleUnit": { - "title": "Simple unit", - "description": "A unit of measurement.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The scheme or codelist from which the identifier for the unit of measurement is taken, using the open [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist. 'UNCEFACT' is recommended.", - "type": [ - "string", - "null" - ], - "codelist": "unitClassificationScheme.csv", - "openCodelist": true, - "minLength": 1 - }, - "id": { - "title": "ID", - "description": "The identifier for the unit of measurement, taken from the scheme. Refer to the [unitClassificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#unit-classification-scheme) codelist for details of how to find identifiers within schemes.", - "type": [ - "string", - "null" - ], - "versionId": true, - "minLength": 1 - } - }, - "minProperties": 1 - }, - "Link": { - "title": "Link", - "description": "A reference to a related resource.", - "type": "object", - "properties": { - "rel": { - "title": "Link relation type", - "description": "The relationship with the related resource, using the open [link relation type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#link-relation-type) codelist.", - "type": "string", - "codelist": "linkRelationType.csv", - "openCodelist": true + } }, - "href": { - "title": "Link target", - "description": "The URL of the related resource.", - "type": "string", - "format": "uri" - } - } - }, - "SimpleIdentifier": { - "title": "Simple identifier", - "description": "An unambiguous reference to a resource within a given context.", - "type": "object", - "properties": { - "scheme": { - "title": "Scheme", - "description": "The list, register or system from which the identifier is taken. If the scope of the list, register or system from which the identifier is drawn is national, it is suggested to follow the pattern {ISO 3166-1 alpha-2}-{system}. If it is subnational, it is suggested to follow the pattern {ISO 3166-2}-{system}.", - "type": [ - "string", - "null" - ] + "additionalClassifications": { + "title": "Additional classifications", + "description": "Additional classifications for the project. For example, a sector or strategic framework classification.", + "type": "array", + "items": { + "title": "Classification", + "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classificationScheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#classification-scheme) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "classificationScheme.csv", + "openCodelist": true + }, + "id": { + "title": "ID", + "description": "The classification code taken from the scheme. Although an integer is allowed, it is recommended to use a string.", + "type": [ + "string", + "integer", + "null" + ] + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 }, - "id": { - "title": "ID", - "description": "The identifier taken from the scheme.", - "type": [ - "string", - "null" - ], - "versionId": true - } - } - }, - "SubmissionTerms": { - "title": "Submission terms", - "description": "Information about how, when and where tenderers need to submit their bids.", - "type": "object", - "properties": { - "electronicSubmissionPolicy": { - "title": "Electronic submission policy", - "description": "Whether tenderers are required, allowed or not allowed to submit bids electronically.", - "type": [ - "string", - "null" - ], - "codelist": "permission.csv", - "openCodelist": false, - "enum": [ - "required", - "allowed", - "notAllowed", - null - ] - } - } - }, - "ExclusionGrounds": { - "title": "Exclusion grounds", - "description": "The criteria regarding the situation of a tenderer that can lead to its exclusion from the contracting process. For example: criminal convictions, bankruptcy, presence on a blacklist or failure to pay taxes.", - "type": "object", - "properties": { - "description": { - "title": "Description", - "description": "The description of the criteria.", - "type": [ - "string", - "null" - ], - "minLength": 1 - } - }, - "minProperties": 1 - }, - "SelectionCriteria": { - "title": "Selection criteria", - "description": "The minimum requirements for potential suppliers to participate in the contracting process. Selection criteria ensure that a potential supplier has the legal and financial capacities and the technical and professional abilities to perform the contract.", - "type": "object", - "properties": { - "description": { - "title": "Description", - "description": "The description of the criteria.", - "type": [ - "string", - "null" - ], - "minLength": 1 + "locations": { + "title": "Locations", + "description": "Information about the locations where the project takes place.", + "type": "array", + "items": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 } }, "minProperties": 1 diff --git a/schema/release-schema.json b/schema/release-schema.json index 53ed21692..4f7bdaf8d 100644 --- a/schema/release-schema.json +++ b/schema/release-schema.json @@ -144,7 +144,7 @@ "properties": { "id": { "title": "Planning ID", - "description": "An identifier for this planning process.", + "description": "An identifier for the planning process.", "type": [ "string", "null" @@ -163,6 +163,11 @@ "description": "Details of the budget that will fund the future contract(s)", "$ref": "#/definitions/Budget" }, + "project": { + "title": "Project", + "description": "Information about the infrastructure or public-private partnership (PPP) project to which the planning process is related.", + "$ref": "#/definitions/Project" + }, "finalStatus": { "title": "Final status", "description": "The final status of the planning process, using the closed [planningFinalStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#planning-final-status) codelist.", @@ -342,6 +347,26 @@ "description": "The estimated maximum value of the framework agreement, as estimated when publishing the tender information.", "$ref": "#/definitions/Value" }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity will take place.", + "type": "array", + "items": { + "$ref": "#/definitions/Location" + }, + "wholeListMerge": true, + "uniqueItems": true + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity will be delivered.", + "type": "array", + "items": { + "$ref": "#/definitions/Address" + }, + "wholeListMerge": true, + "uniqueItems": true + }, "procurementMethod": { "title": "Procurement method", "description": "The method describing which organizations can submit a bid, using the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist. In releases concerning second stages (e.g. in framework agreements) or other subsequent stages, the procurement method always refers to the first stage of the contracting process.", @@ -1259,7 +1284,7 @@ }, "project": { "title": "Project title", - "description": "The name of the project of which the future contract(s) will be part or through which it/they will be funded. Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry.", + "description": "The name of the programme of work as it appears in a budget (for example, a national or state budget), of which the future contract(s) will be part or through which it/they will be funded.", "type": [ "string", "null" @@ -1267,7 +1292,7 @@ }, "projectID": { "title": "Project identifier", - "description": "The identifier of the project of which the future contract(s) will be part or through which it/they will be funded. Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", + "description": "The identifier of the programme of work as it appears in a budget (for example, a national or state budget), of which the future contract(s) will be part or through which it/they will be funded. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -1610,6 +1635,28 @@ "title": "Immediate container", "description": "The immediate container for the item. Also known as: presentation, presentation form, package.", "$ref": "#/definitions/ImmediateContainer" + }, + "deliveryLocations": { + "title": "Delivery locations", + "description": "The locations where activity related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "$ref": "#/definitions/Location" + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + }, + "deliveryAddresses": { + "title": "Delivery addresses", + "description": "The addresses to which goods or services related to the opportunity, contract or license will be delivered.", + "type": "array", + "items": { + "$ref": "#/definitions/Address" + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 } } }, @@ -1784,6 +1831,98 @@ } } }, + "Location": { + "title": "Location", + "description": "A physical or virtual location.", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "The name or description of the location.", + "type": [ + "string", + "null" + ] + }, + "geometry": { + "title": "Geometry", + "description": "The spatial extent of the location, as a [GeoJSON Geometry object](https://www.rfc-editor.org/rfc/rfc7946).", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "The type of the GeoJSON Geometry object, from the closed [geometryType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#geometryType) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "title": "Coordinates", + "description": "The coordinates of the GeoJSON Geometry object. For example, [longitude, latitude] or [longitude, latitude, elevation] for a Point geometry, using the World Geodetic System 1984 (WGS84, EPSG:4326) with longitude and latitude units of decimal degrees.", + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "title": "Gazetteer", + "description": "Identifiers for the location from a gazetteer (a geographical index or directory).", + "type": "object", + "properties": { + "scheme": { + "title": "Scheme", + "description": "The identifier of the gazetteer, from the open [locationGazetter](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#locationGazetter) codelist.", + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "title": "Identifiers", + "description": "One or more location codes taken from the scheme.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the location.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, "Address": { "title": "Address", "description": "An address.", @@ -2095,6 +2234,14 @@ "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", "deprecatedVersion": "1.2" } + }, + "description": { + "title": "Description", + "description": "The description of the address.", + "type": [ + "string", + "null" + ] } } }, @@ -2815,6 +2962,82 @@ } }, "minProperties": 1 + }, + "Project": { + "title": "Project", + "description": "Information about the infrastructure or public-private partnership (PPP) project to which a planning process is related.", + "type": "object", + "properties": { + "id": { + "title": "Identifier", + "description": "An externally provided identifier for the project. This can be a URI, an [Open Contracting for Infrastructure Data Standards Toolkit (OC4IDS)](https://standard.open-contracting.org/infrastructure/latest/en/guidance/identifiers/) project identifier, [OCDS for PPPs](https://standard.open-contracting.org/profiles/ppp/latest/en/framework/#i-basic-project-information) project identifier, an identifier from a projects register, or an identifier based on the canonical version of the project's name. Project identifiers should be unique within the scope of the publication.", + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "title": { + "title": "Title", + "description": "The name of the project. If a project's register is available, this should be the same as the project's name in that register.", + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "description": { + "title": "Description", + "description": "A short description of the project.", + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "totalValue": { + "title": "Total value", + "description": "The total anticipated value of the project over its lifetime.", + "$ref": "#/definitions/Value" + }, + "uri": { + "title": "URI", + "description": "The URI of a resource about the project.", + "type": [ + "string", + "null" + ], + "format": "uri" + }, + "sector": { + "title": "Sector", + "description": "The primary sector to which the project relates. It is recommended to use the scheme 'oc4idsProjectSector' and codes from the [OC4IDS projectSector codelist](https://standard.open-contracting.org/infrastructure/latest/en/reference/codelists/#projectsector).", + "$ref": "#/definitions/Classification" + }, + "additionalClassifications": { + "title": "Additional classifications", + "description": "Additional classifications for the project. For example, a sector or strategic framework classification.", + "type": "array", + "items": { + "$ref": "#/definitions/Classification" + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + }, + "locations": { + "title": "Locations", + "description": "Information about the locations where the project takes place.", + "type": "array", + "items": { + "$ref": "#/definitions/Location" + }, + "wholeListMerge": true, + "uniqueItems": true, + "minItems": 1 + } + }, + "minProperties": 1 } } } diff --git a/schema/versioned-release-validation-schema.json b/schema/versioned-release-validation-schema.json index 260a92b29..55b8de369 100644 --- a/schema/versioned-release-validation-schema.json +++ b/schema/versioned-release-validation-schema.json @@ -126,6 +126,9 @@ "budget": { "$ref": "#/definitions/Budget" }, + "project": { + "$ref": "#/definitions/Project" + }, "finalStatus": { "type": "array", "items": { @@ -351,6 +354,62 @@ "maximumValue": { "$ref": "#/definitions/Value" }, + "deliveryLocations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LocationUnversioned" + }, + "uniqueItems": true + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "deliveryAddresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AddressUnversioned" + }, + "uniqueItems": true + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, "procurementMethod": { "type": "array", "items": { @@ -1877,6 +1936,64 @@ }, "immediateContainer": { "$ref": "#/definitions/ImmediateContainer" + }, + "deliveryLocations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LocationUnversioned" + }, + "uniqueItems": true, + "minItems": 1 + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "deliveryAddresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AddressUnversioned" + }, + "uniqueItems": true, + "minItems": 1 + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } } } }, @@ -2041,6 +2158,157 @@ } } }, + "Location": { + "type": "object", + "properties": { + "description": { + "$ref": "#/definitions/StringNullVersioned" + }, + "geometry": { + "type": "object", + "properties": { + "type": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "coordinates": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "gazetteer": { + "type": "object", + "properties": { + "scheme": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "identifiers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "uri": { + "$ref": "#/definitions/StringNullUriVersioned" + } + } + }, "Address": { "type": "object", "properties": { @@ -2368,6 +2636,9 @@ } } } + }, + "description": { + "$ref": "#/definitions/StringNullVersioned" } } }, @@ -3316,6 +3587,163 @@ }, "minProperties": 1 }, + "Project": { + "type": "object", + "properties": { + "id": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "title": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "description": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": [ + "string", + "null" + ], + "minLength": 1 + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "totalValue": { + "$ref": "#/definitions/Value" + }, + "uri": { + "$ref": "#/definitions/StringNullUriVersioned" + }, + "sector": { + "$ref": "#/definitions/Classification" + }, + "additionalClassifications": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ClassificationUnversioned" + }, + "uniqueItems": true, + "minItems": 1 + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "locations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LocationUnversioned" + }, + "uniqueItems": true, + "minItems": 1 + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "minProperties": 1 + }, "StringNullUriVersioned": { "type": "array", "items": { @@ -3530,6 +3958,386 @@ } } }, + "LocationUnversioned": { + "type": "object", + "properties": { + "description": { + "type": [ + "string", + "null" + ] + }, + "geometry": { + "type": "object", + "properties": { + "type": { + "type": [ + "string", + "null" + ], + "codelist": "geometryType.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon", + null + ] + }, + "coordinates": { + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "number", + "array" + ] + } + } + } + }, + "gazetteer": { + "type": "object", + "properties": { + "scheme": { + "type": [ + "string", + "null" + ], + "codelist": "locationGazetteer.csv", + "openCodelist": true + }, + "identifiers": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "uri": { + "type": [ + "string", + "null" + ], + "format": "uri" + } + } + }, + "AddressUnversioned": { + "type": "object", + "properties": { + "streetAddress": { + "type": [ + "string", + "null" + ] + }, + "locality": { + "type": [ + "string", + "null" + ] + }, + "region": { + "type": [ + "string", + "null" + ] + }, + "postalCode": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": [ + "string", + "null" + ], + "codelist": "country.csv", + "openCodelist": false, + "enum": [ + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW", + null + ] + }, + "countryName": { + "type": [ + "string", + "null" + ], + "deprecated": { + "description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.", + "deprecatedVersion": "1.2" + } + }, + "description": { + "type": [ + "string", + "null" + ] + } + } + }, "IdentifierUnversioned": { "type": "object", "properties": {