From 87cd8b0c442e66d6f251242376a67a32559971ef Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Tue, 3 Aug 2021 15:35:49 -0400 Subject: [PATCH 1/8] release-schema: add publisher field Signed-off-by: Yohanna Lisnichuk --- schema/dereferenced-release-schema.json | 40 ++++++++++++++++++ schema/release-schema.json | 40 ++++++++++++++++++ .../versioned-release-validation-schema.json | 41 +++++++++++++++++++ 3 files changed, 121 insertions(+) diff --git a/schema/dereferenced-release-schema.json b/schema/dereferenced-release-schema.json index 8aa8326e4..3aecf04f2 100644 --- a/schema/dereferenced-release-schema.json +++ b/schema/dereferenced-release-schema.json @@ -25,6 +25,46 @@ "format": "date-time", "omitWhenMerged": true }, + "publisher": { + "title": "Publisher", + "description": "Information to uniquely identify the publisher of this specific release. This field is ought to be populated when a release package could contain releases from different publishers.", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "The name of the organization or department responsible for publishing this OCDS release.", + "type": "string" + }, + "scheme": { + "title": "Scheme", + "description": "The scheme that holds the unique identifiers used to identify the publisher being identified.", + "type": [ + "string", + "null" + ] + }, + "uid": { + "title": "uid", + "description": "The unique ID for this publisher under the given ID scheme.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to identify the publisher.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + }, + "required": [ + "name" + ] + }, "tag": { "title": "Release Tag", "description": "One or more values from the open [releaseTag](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#release-tag) codelist. A tag labels the release: for example, as corresponding to a particular stage of the contracting process. Codes outside the releaseTag codelist might indicate, for example, the notice or form to which the release corresponds, or the event that triggered the publication of the release.", diff --git a/schema/release-schema.json b/schema/release-schema.json index a4084e0b5..5b5d9f3b1 100644 --- a/schema/release-schema.json +++ b/schema/release-schema.json @@ -25,6 +25,46 @@ "format": "date-time", "omitWhenMerged": true }, + "publisher": { + "title": "Publisher", + "description": "Information to uniquely identify the publisher of this specific release. This field is ought to be populated when a release package could contain releases from different publishers.", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "The name of the organization or department responsible for publishing this OCDS release.", + "type": "string" + }, + "scheme": { + "title": "Scheme", + "description": "The scheme that holds the unique identifiers used to identify the publisher being identified.", + "type": [ + "string", + "null" + ] + }, + "uid": { + "title": "uid", + "description": "The unique ID for this publisher under the given ID scheme.", + "type": [ + "string", + "null" + ] + }, + "uri": { + "title": "URI", + "description": "A URI to identify the publisher.", + "type": [ + "string", + "null" + ], + "format": "uri" + } + }, + "required": [ + "name" + ] + }, "tag": { "title": "Release Tag", "description": "One or more values from the open [releaseTag](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#release-tag) codelist. A tag labels the release: for example, as corresponding to a particular stage of the contracting process. Codes outside the releaseTag codelist might indicate, for example, the notice or form to which the release corresponds, or the event that triggered the publication of the release.", diff --git a/schema/versioned-release-validation-schema.json b/schema/versioned-release-validation-schema.json index cabb55aa0..1e3cb58ae 100644 --- a/schema/versioned-release-validation-schema.json +++ b/schema/versioned-release-validation-schema.json @@ -5,6 +5,47 @@ "description": "OCDS is used for contracts in public procurement (including design contests), concessions, public-private partnerships, government asset sales and other contexts. A \"release\" describes a single contracting or planning process at a particular point in time. One process may be described by many releases. A release may repeat or update the information provided in previous releases about the process.\\n\\nA \"compiled release\" follows the same structure as a release, but combines information about a contracting or planning process from multiple points in time into a single summary.\\n\\nOCDS defines a \"contracting process\" as: \"All the actions aimed at implementing one or more contracts. This covers tendering, awarding, contracting and implementation. It does not include actions linked to planning, as these are often less structured and may be linked to multiple contracting processes. In multiple stage procedures (e.g. framework agreements with reopening of competition), each round of competition is treated as a separate contracting process.\\n\\nProcedures that failed and were restarted are considered new processes.\\n\\nBoundaries between processes (e.g. whether two contracts result from a single process or from two processes) are set by buyers depending on their needs (e.g. efficient division of labor, clear communication with the market) and legislation (e.g. rules on using procedures and lots).\"\\n\\nOCDS defines a \"planning process\" as: \"All the actions aimed at planning one or more contracting processes. This covers, for example, establishing the rationale for the procurement, giving the market a general description of the purchase, getting the necessary budget, forecasting and conducting market research.\\n\\nPlanning processes are often less structured than contracting processes, so one or more planning processes may lead to one or more contracting processes.\"", "type": "object", "properties": { + "publisher": { + "type": "object", + "properties": { + "name": { + "type": "array", + "items": { + "type": "object", + "properties": { + "releaseDate": { + "format": "date-time", + "type": "string" + }, + "releaseID": { + "type": "string" + }, + "value": { + "type": "string" + }, + "releaseTag": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "scheme": { + "$ref": "#/definitions/StringNullVersioned" + }, + "uid": { + "$ref": "#/definitions/StringNullVersioned" + }, + "uri": { + "$ref": "#/definitions/StringNullUriVersioned" + } + }, + "required": [ + "name" + ] + }, "initiationType": { "type": "array", "items": { From 9b63e00ea3767ea7baa8c2c832fcecb47522737a Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Tue, 3 Aug 2021 15:39:16 -0400 Subject: [PATCH 2/8] changelog: add release.publisher entry Signed-off-by: Yohanna Lisnichuk --- docs/history/changelog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/history/changelog.md b/docs/history/changelog.md index 009686e61..27d27e70d 100644 --- a/docs/history/changelog.md +++ b/docs/history/changelog.md @@ -114,6 +114,7 @@ Per the [normative and non-normative content and changes policy](https://docs.go * [#1165](https://github.com/open-contracting/standard/pull/1165) `statusDetails` to `Tender`, `Award` and `Contract` * [#1125](https://github.com/open-contracting/standard/pull/1125) `Item.unit.weight` * [#1326](https://github.com/open-contracting/standard/pull/1326) `links` + * [1376](https://github.com/open-contracting/standard/pull/1376) `publisher` * [#1208](https://github.com/open-contracting/standard/pull/1326) The estimated and maximum values of framework agreeemnts: * `tender.maximumValue`. Previously, `tender.value` was used for the maximum value. However, this led to double-counting. * `awards.maximumValue`. Previously, `awards.value` was used for the maximum value. However, this led to double-counting. From 77694ad0fa030c813837a7c0b4435f1796de9165 Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Fri, 6 Aug 2021 15:35:35 -0400 Subject: [PATCH 3/8] release-schema: update release.publisher description Co-authored-by: Duncan Dewhurst --- schema/release-schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/release-schema.json b/schema/release-schema.json index 5b5d9f3b1..e9bd959e8 100644 --- a/schema/release-schema.json +++ b/schema/release-schema.json @@ -27,7 +27,7 @@ }, "publisher": { "title": "Publisher", - "description": "Information to uniquely identify the publisher of this specific release. This field is ought to be populated when a release package could contain releases from different publishers.", + "description": "The original publisher of this release. Use this field to identify the original publisher of a release published as part of a package containing releases from different publishers.", "type": "object", "properties": { "name": { From 64086fccb4f8d435e8de1979f4b3475d5b1caf75 Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Fri, 6 Aug 2021 15:48:14 -0400 Subject: [PATCH 4/8] pre-commit Signed-off-by: Yohanna Lisnichuk --- schema/dereferenced-release-schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/dereferenced-release-schema.json b/schema/dereferenced-release-schema.json index 3aecf04f2..51f5da491 100644 --- a/schema/dereferenced-release-schema.json +++ b/schema/dereferenced-release-schema.json @@ -27,7 +27,7 @@ }, "publisher": { "title": "Publisher", - "description": "Information to uniquely identify the publisher of this specific release. This field is ought to be populated when a release package could contain releases from different publishers.", + "description": "The original publisher of this release. Use this field to identify the original publisher of a release published as part of a package containing releases from different publishers.", "type": "object", "properties": { "name": { From c7ca00ae606171d7d2e8dd9559bd96b0e0ad3a67 Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Tue, 10 Aug 2021 10:51:33 -0400 Subject: [PATCH 5/8] release-schema: use Identifier in publisher, update description Signed-off-by: Yohanna Lisnichuk --- schema/dereferenced-release-schema.json | 74 ++++++++++++------- schema/release-schema.json | 30 ++------ .../versioned-release-validation-schema.json | 10 +-- 3 files changed, 56 insertions(+), 58 deletions(-) diff --git a/schema/dereferenced-release-schema.json b/schema/dereferenced-release-schema.json index 51f5da491..6e6a90f8d 100644 --- a/schema/dereferenced-release-schema.json +++ b/schema/dereferenced-release-schema.json @@ -27,7 +27,7 @@ }, "publisher": { "title": "Publisher", - "description": "The original publisher of this release. Use this field to identify the original publisher of a release published as part of a package containing releases from different publishers.", + "description": "The original publisher of this release.", "type": "object", "properties": { "name": { @@ -35,30 +35,54 @@ "description": "The name of the organization or department responsible for publishing this OCDS release.", "type": "string" }, - "scheme": { - "title": "Scheme", - "description": "The scheme that holds the unique identifiers used to identify the publisher being identified.", - "type": [ - "string", - "null" - ] - }, - "uid": { - "title": "uid", - "description": "The unique ID for this publisher under the given ID scheme.", - "type": [ - "string", - "null" - ] - }, - "uri": { - "title": "URI", - "description": "A URI to identify the publisher.", - "type": [ - "string", - "null" - ], - "format": "uri" + "identifier": { + "title": "Identifier", + "description": "A unique identifier for a party (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" + } + }, + "patternProperties": { + "^(legalName_(((([A-Za-z]{2,3}(-([A-Za-z]{3}(-[A-Za-z]{3}){0,2}))?)|[A-Za-z]{4}|[A-Za-z]{5,8})(-([A-Za-z]{4}))?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-([0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+))*(-(x(-[A-Za-z0-9]{1,8})+))?)|(x(-[A-Za-z0-9]{1,8})+)))$": { + "type": [ + "string", + "null" + ] + } + } } }, "required": [ diff --git a/schema/release-schema.json b/schema/release-schema.json index e9bd959e8..0e0c1e82c 100644 --- a/schema/release-schema.json +++ b/schema/release-schema.json @@ -27,7 +27,7 @@ }, "publisher": { "title": "Publisher", - "description": "The original publisher of this release. Use this field to identify the original publisher of a release published as part of a package containing releases from different publishers.", + "description": "The original publisher of this release.", "type": "object", "properties": { "name": { @@ -35,30 +35,10 @@ "description": "The name of the organization or department responsible for publishing this OCDS release.", "type": "string" }, - "scheme": { - "title": "Scheme", - "description": "The scheme that holds the unique identifiers used to identify the publisher being identified.", - "type": [ - "string", - "null" - ] - }, - "uid": { - "title": "uid", - "description": "The unique ID for this publisher under the given ID scheme.", - "type": [ - "string", - "null" - ] - }, - "uri": { - "title": "URI", - "description": "A URI to identify the publisher.", - "type": [ - "string", - "null" - ], - "format": "uri" + "identifier": { + "title": "Identifier", + "description": "The identifier for this organization.", + "$ref": "#/definitions/Identifier" } }, "required": [ diff --git a/schema/versioned-release-validation-schema.json b/schema/versioned-release-validation-schema.json index 1e3cb58ae..cbb97dca0 100644 --- a/schema/versioned-release-validation-schema.json +++ b/schema/versioned-release-validation-schema.json @@ -32,14 +32,8 @@ } } }, - "scheme": { - "$ref": "#/definitions/StringNullVersioned" - }, - "uid": { - "$ref": "#/definitions/StringNullVersioned" - }, - "uri": { - "$ref": "#/definitions/StringNullUriVersioned" + "identifier": { + "$ref": "#/definitions/Identifier" } }, "required": [ From 92137330a61df4e467b01b7dadf67252202e34ee Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Tue, 10 Aug 2021 10:53:07 -0400 Subject: [PATCH 6/8] changelog: fix entry format Co-authored-by: James McKinney <26463+jpmckinney@users.noreply.github.com> --- docs/history/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/history/changelog.md b/docs/history/changelog.md index 27d27e70d..8b215f63d 100644 --- a/docs/history/changelog.md +++ b/docs/history/changelog.md @@ -114,7 +114,7 @@ Per the [normative and non-normative content and changes policy](https://docs.go * [#1165](https://github.com/open-contracting/standard/pull/1165) `statusDetails` to `Tender`, `Award` and `Contract` * [#1125](https://github.com/open-contracting/standard/pull/1125) `Item.unit.weight` * [#1326](https://github.com/open-contracting/standard/pull/1326) `links` - * [1376](https://github.com/open-contracting/standard/pull/1376) `publisher` + * [#1376](https://github.com/open-contracting/standard/pull/1376) `publisher` * [#1208](https://github.com/open-contracting/standard/pull/1326) The estimated and maximum values of framework agreeemnts: * `tender.maximumValue`. Previously, `tender.value` was used for the maximum value. However, this led to double-counting. * `awards.maximumValue`. Previously, `awards.value` was used for the maximum value. However, this led to double-counting. From 16ee8e22fa8c7a1dfc7900e2b25d4ba11daf9038 Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Tue, 10 Aug 2021 13:11:15 -0400 Subject: [PATCH 7/8] release-schema: update release.publisher object Signed-off-by: Yohanna Lisnichuk --- schema/dereferenced-release-schema.json | 99 ++++++++----------- schema/release-schema.json | 17 +--- .../versioned-release-validation-schema.json | 34 +------ 3 files changed, 44 insertions(+), 106 deletions(-) diff --git a/schema/dereferenced-release-schema.json b/schema/dereferenced-release-schema.json index 6e6a90f8d..74c551d71 100644 --- a/schema/dereferenced-release-schema.json +++ b/schema/dereferenced-release-schema.json @@ -26,68 +26,53 @@ "omitWhenMerged": true }, "publisher": { - "title": "Publisher", - "description": "The original publisher of this release.", + "title": "Identifier", + "description": "A unique identifier for a party (organization).", "type": "object", "properties": { - "name": { - "title": "Name", - "description": "The name of the organization or department responsible for publishing this OCDS release.", - "type": "string" + "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" + ] }, - "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (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" - } - }, - "patternProperties": { - "^(legalName_(((([A-Za-z]{2,3}(-([A-Za-z]{3}(-[A-Za-z]{3}){0,2}))?)|[A-Za-z]{4}|[A-Za-z]{5,8})(-([A-Za-z]{4}))?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-([0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+))*(-(x(-[A-Za-z0-9]{1,8})+))?)|(x(-[A-Za-z0-9]{1,8})+)))$": { - "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" } }, - "required": [ - "name" - ] + "patternProperties": { + "^(legalName_(((([A-Za-z]{2,3}(-([A-Za-z]{3}(-[A-Za-z]{3}){0,2}))?)|[A-Za-z]{4}|[A-Za-z]{5,8})(-([A-Za-z]{4}))?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-([0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+))*(-(x(-[A-Za-z0-9]{1,8})+))?)|(x(-[A-Za-z0-9]{1,8})+)))$": { + "type": [ + "string", + "null" + ] + } + } }, "tag": { "title": "Release Tag", diff --git a/schema/release-schema.json b/schema/release-schema.json index 0e0c1e82c..8de515799 100644 --- a/schema/release-schema.json +++ b/schema/release-schema.json @@ -28,22 +28,7 @@ "publisher": { "title": "Publisher", "description": "The original publisher of this release.", - "type": "object", - "properties": { - "name": { - "title": "Name", - "description": "The name of the organization or department responsible for publishing this OCDS release.", - "type": "string" - }, - "identifier": { - "title": "Identifier", - "description": "The identifier for this organization.", - "$ref": "#/definitions/Identifier" - } - }, - "required": [ - "name" - ] + "$ref": "#/definitions/Identifier" }, "tag": { "title": "Release Tag", diff --git a/schema/versioned-release-validation-schema.json b/schema/versioned-release-validation-schema.json index cbb97dca0..0fdb6f90f 100644 --- a/schema/versioned-release-validation-schema.json +++ b/schema/versioned-release-validation-schema.json @@ -6,39 +6,7 @@ "type": "object", "properties": { "publisher": { - "type": "object", - "properties": { - "name": { - "type": "array", - "items": { - "type": "object", - "properties": { - "releaseDate": { - "format": "date-time", - "type": "string" - }, - "releaseID": { - "type": "string" - }, - "value": { - "type": "string" - }, - "releaseTag": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "identifier": { - "$ref": "#/definitions/Identifier" - } - }, - "required": [ - "name" - ] + "$ref": "#/definitions/Identifier" }, "initiationType": { "type": "array", From 3d872794cf6da89e1531ec363273e22398e99d0c Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Tue, 10 Aug 2021 15:22:42 -0400 Subject: [PATCH 8/8] manage: Preserve original title and description properties in dereferenced release schema --- manage.py | 26 +- schema/dereferenced-release-schema.json | 718 ++++++++++++++++-------- tests/test_schema_integrity.py | 14 +- 3 files changed, 523 insertions(+), 235 deletions(-) diff --git a/manage.py b/manage.py index ea1aec7a2..76454fe63 100755 --- a/manage.py +++ b/manage.py @@ -356,6 +356,29 @@ def remove_metadata_and_extended_keywords(schema): remove_metadata_and_extended_keywords(value) +def get_dereferenced_release_schema(schema, output=None): + """ + Returns the dereferenced release schema. + """ + # Without a deepcopy, changes to referenced objects are copied across referring objects. However, the deepcopy does + # not retain the `__reference__` property. + if not output: + output = deepcopy(schema) + + if isinstance(schema, list): + for index, item in enumerate(schema): + get_dereferenced_release_schema(item, output[index]) + elif isinstance(schema, dict): + for key, value in schema.items(): + get_dereferenced_release_schema(value, output[key]) + if hasattr(schema, '__reference__'): + for prop in schema.__reference__: + if prop != '$ref': + output[prop] = schema.__reference__[prop] + + return output + + def get_versioned_release_schema(schema): """ Returns the versioned release schema. @@ -450,9 +473,10 @@ def pre_commit(): Update meta-schema.json, dereferenced-release-schema.json and versioned-release-validation-schema.json. """ release_schema = json_load('release-schema.json') + jsonref_release_schema = json_load('release-schema.json', jsonref) json_dump('meta-schema.json', get_metaschema()) - json_dump('dereferenced-release-schema.json', json_load('release-schema.json', jsonref)) + json_dump('dereferenced-release-schema.json', get_dereferenced_release_schema(jsonref_release_schema)) json_dump('versioned-release-validation-schema.json', get_versioned_release_schema(release_schema)) diff --git a/schema/dereferenced-release-schema.json b/schema/dereferenced-release-schema.json index 74c551d71..5aae48996 100644 --- a/schema/dereferenced-release-schema.json +++ b/schema/dereferenced-release-schema.json @@ -26,8 +26,8 @@ "omitWhenMerged": true }, "publisher": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "title": "Publisher", + "description": "The original publisher of this release.", "type": "object", "properties": { "scheme": { @@ -119,8 +119,8 @@ "title": "Entity ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "title": "Primary identifier", + "description": "The primary identifier for this organization or participant. 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": { @@ -225,7 +225,7 @@ }, "address": { "title": "Address", - "description": "An address.", + "description": "An address. This may be the legally registered address of the organization, or may be a correspondence address for this particular contracting process.", "type": "object", "properties": { "streetAddress": { @@ -281,7 +281,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "Contact details that can be used for this party.", "properties": { "name": { "title": "Name", @@ -387,8 +387,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -433,11 +433,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -488,6 +492,10 @@ "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": { @@ -553,7 +561,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -604,16 +612,20 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "The organization aiming to conclude a contract with a supplier or to use the goods, works or services resulting from the contract.", + "title": "Buyer" }, "planning": { "title": "Planning", - "description": "Information from the planning process. Note that many other fields can be filled in a planning release, in the appropriate fields in the tender section; these would likely be estimates at this stage, e.g. value in tender.", + "description": "Information from the planning process. This includes information related to the process of deciding what to contract, when and how.", "type": "object", "properties": { "id": { @@ -634,8 +646,8 @@ }, "budget": { "type": "object", - "title": "Budget information", - "description": "This section contains basic information about the budget estimated for, or allocated to, this contracting process at the present time. Further documentation and data about how budgets have been allocated to a contracting process should be published outside of OCDS data, according to the best available standards.", + "title": "Budget", + "description": "Details of the budget that funds the planned contracting process.", "properties": { "id": { "title": "ID", @@ -655,8 +667,8 @@ ] }, "amount": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Amount", + "description": "The value reserved in the budget for this contracting process. A negative value indicates anticipated income to the budget as a result of this contracting process, rather than expenditure. Where the budget is drawn from multiple sources or extends over multiple years, the budget breakdown extension can be used. This field should not be used to report the total value of the budget line funding this contracting process.", "type": "object", "properties": { "amount": { @@ -1400,7 +1412,7 @@ }, "tender": { "title": "Tender", - "description": "Data regarding tender process - publicly inviting prospective contractors to submit bids for evaluation and selecting a winner or winners.", + "description": "The activities undertaken in order to enter into a contract.", "type": "object", "required": [ "id" @@ -1479,8 +1491,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -1525,11 +1537,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -1580,6 +1596,10 @@ "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": { @@ -1645,7 +1665,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -1696,12 +1716,16 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "The organization managing the contracting 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", @@ -1734,7 +1758,7 @@ }, "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.", + "description": "The primary classification for the item.", "type": "object", "properties": { "scheme": { @@ -1882,7 +1906,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The monetary value of a single unit.", "type": "object", "properties": { "amount": { @@ -2225,8 +2249,8 @@ "type": "object", "properties": { "unit": { - "title": "Simple Unit", - "description": "A simple unit of measure, consisting of: an identifier for the list (scheme) from which the unit is taken, and an identifier for the unit from that list.", + "title": "Unit", + "description": "The code and scheme for the unit in which the weight is specified.", "type": "object", "properties": { "scheme": { @@ -2283,7 +2307,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The total estimated value of the procurement, as estimated when publishing the tender information. A negative value indicates that the contracting process may involve payments from the supplier to the buyer (commonly used in concession contracts).", "type": "object", "properties": { "amount": { @@ -2612,8 +2636,8 @@ } }, "minValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Minimum value", + "description": "The estimated minimum value of the procurement. A negative value indicates that the contracting process may involve payments from the supplier to the buyer (commonly used in concession contracts).", "type": "object", "properties": { "amount": { @@ -2942,8 +2966,8 @@ } }, "maximumValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Maximum value", + "description": "The estimated maximum value of the framework agreement, as estimated when publishing the tender information.", "type": "object", "properties": { "amount": { @@ -3386,8 +3410,8 @@ ] }, "tenderPeriod": { - "title": "Period", - "description": "Key events during a contracting 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.", + "title": "Tender period", + "description": "The period when the tender is open for submissions. The end date is the closing date for bid submissions.", "type": "object", "properties": { "startDate": { @@ -3428,8 +3452,8 @@ } }, "enquiryPeriod": { - "title": "Period", - "description": "Key events during a contracting 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.", + "title": "Enquiry period", + "description": "The period during which potential bidders may submit questions and requests for clarification to the entity managing procurement. Details of how to submit enquiries should be provided in attached notices, or in submissionMethodDetails. Structured dates for when responses to questions will be made can be provided using tender milestones.", "type": "object", "properties": { "startDate": { @@ -3506,8 +3530,8 @@ ] }, "awardPeriod": { - "title": "Period", - "description": "Key events during a contracting 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.", + "title": "Evaluation and award period", + "description": "The period for decision making regarding the contract award. The end date should be the date on which an award decision is due to be finalized. The start date may be used to indicate the start of an evaluation period.", "type": "object", "properties": { "startDate": { @@ -3548,8 +3572,8 @@ } }, "contractPeriod": { - "title": "Period", - "description": "Key events during a contracting 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.", + "title": "Contract period", + "description": "The period over which the contract is estimated or required to be active. If the tender does not specify explicit dates, the duration field may be used.", "type": "object", "properties": { "startDate": { @@ -3621,8 +3645,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -3667,11 +3691,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -3722,6 +3750,10 @@ "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": { @@ -3787,7 +3819,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -3838,6 +3870,10 @@ "null" ] } + }, + "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." } } }, @@ -4293,7 +4329,7 @@ "amendment": { "title": "Amendment", "type": "object", - "description": "Amendment information", + "description": "The use of individual amendment objects has been deprecated. From OCDS 1.1 information should be provided in the amendments array.", "properties": { "date": { "title": "Amendment date", @@ -4383,6 +4419,10 @@ "null" ] } + }, + "deprecated": { + "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "deprecatedVersion": "1.1" } } }, @@ -4504,7 +4544,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The total value of this award. There may be more than one award per procurement. A negative value indicates that the award may involve payments from the supplier to the buyer (commonly used in concession contracts). This field should not contain the value of a framework agreement; those should be given in estimatedValue or maximumValue instead.", "type": "object", "properties": { "amount": { @@ -4833,8 +4873,8 @@ } }, "maximumValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Maximum value", + "description": "The estimated maximum value of the framework agreement, as a whole, as estimated when making the award.", "type": "object", "properties": { "amount": { @@ -5163,8 +5203,8 @@ } }, "estimatedValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Estimated value", + "description": "The estimated value of the framework agreement, as a whole, as estimated when making the award.", "type": "object", "properties": { "amount": { @@ -5516,8 +5556,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -5562,11 +5602,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -5617,6 +5661,10 @@ "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": { @@ -5682,7 +5730,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -5733,6 +5781,10 @@ "null" ] } + }, + "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." } } }, @@ -5774,7 +5826,7 @@ }, "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.", + "description": "The primary classification for the item.", "type": "object", "properties": { "scheme": { @@ -5922,7 +5974,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The monetary value of a single unit.", "type": "object", "properties": { "amount": { @@ -6265,8 +6317,8 @@ "type": "object", "properties": { "unit": { - "title": "Simple Unit", - "description": "A simple unit of measure, consisting of: an identifier for the list (scheme) from which the unit is taken, and an identifier for the unit from that list.", + "title": "Unit", + "description": "The code and scheme for the unit in which the weight is specified.", "type": "object", "properties": { "scheme": { @@ -6322,8 +6374,8 @@ "uniqueItems": true }, "contractPeriod": { - "title": "Period", - "description": "Key events during a contracting 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.", + "title": "Contract period", + "description": "The period for which the contract has been awarded.", "type": "object", "properties": { "startDate": { @@ -6578,7 +6630,7 @@ "amendment": { "title": "Amendment", "type": "object", - "description": "Amendment information", + "description": "The use of individual amendment objects has been deprecated. From OCDS 1.1 information should be provided in the amendments array.", "properties": { "date": { "title": "Amendment date", @@ -6668,6 +6720,10 @@ "null" ] } + }, + "deprecated": { + "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "deprecatedVersion": "1.1" } } }, @@ -6773,7 +6829,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The total value of this contract. A negative value indicates that the contract will involve payments from the supplier to the buyer (commonly used in concession contracts). This field should not contain the value of a framework agreement; those should be given in estimatedValue or maximumValue instead.", "type": "object", "properties": { "amount": { @@ -7102,8 +7158,8 @@ } }, "maximumValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Maximum value", + "description": "The maximum value of the framework agreement, as a whole.", "type": "object", "properties": { "amount": { @@ -7432,8 +7488,8 @@ } }, "estimatedValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Estimated value", + "description": "The estimated value of the framework agreement, as a whole, as estimated when the framework agreement is concluded (e.g. signed).", "type": "object", "properties": { "amount": { @@ -7793,7 +7849,7 @@ }, "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.", + "description": "The primary classification for the item.", "type": "object", "properties": { "scheme": { @@ -7941,7 +7997,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The monetary value of a single unit.", "type": "object", "properties": { "amount": { @@ -8284,8 +8340,8 @@ "type": "object", "properties": { "unit": { - "title": "Simple Unit", - "description": "A simple unit of measure, consisting of: an identifier for the list (scheme) from which the unit is taken, and an identifier for the unit from that list.", + "title": "Unit", + "description": "The code and scheme for the unit in which the weight is specified.", "type": "object", "properties": { "scheme": { @@ -8342,7 +8398,7 @@ }, "period": { "title": "Period", - "description": "Key events during a contracting 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.", + "description": "The start and end date for the contract.", "type": "object", "properties": { "startDate": { @@ -8497,7 +8553,7 @@ "implementation": { "type": "object", "title": "Implementation", - "description": "Information during the performance / implementation stage of the contract.", + "description": "Information related to the implementation of the contract in accordance with the obligations laid out therein.", "properties": { "transactions": { "title": "Transactions", @@ -8540,7 +8596,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The value of the transaction.", "type": "object", "properties": { "amount": { @@ -8888,8 +8944,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -8934,11 +8990,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -8989,6 +9049,10 @@ "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": { @@ -9054,7 +9118,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -9105,12 +9169,16 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "An organization reference for the organization from which the funds in this transaction originate.", + "title": "Payer" }, "payee": { "properties": { @@ -9132,8 +9200,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -9178,11 +9246,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -9233,6 +9305,10 @@ "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": { @@ -9298,7 +9374,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -9349,12 +9425,16 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "An organization reference for the organization which receives the funds in this transaction.", + "title": "Payee" }, "uri": { "title": "Linked spending information", @@ -9366,8 +9446,8 @@ "format": "uri" }, "amount": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Amount", + "description": "(Deprecated in 1.1. Use transaction.value instead) The value of the transaction. A negative value indicates a refund or correction.", "type": "object", "properties": { "amount": { @@ -9693,11 +9773,15 @@ null ] } + }, + "deprecated": { + "description": "This field has been replaced by the `transaction.value` field for consistency with the use of value and amount elsewhere in the standard.", + "deprecatedVersion": "1.1" } }, "providerOrganization": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "title": "Provider organization", + "description": "(Deprecated in 1.1. Use transaction.payer instead.) The Organization Identifier for the organization from which the funds in this transaction originate. Expressed following the Organizational Identifier standard - consult the documentation and the codelist.", "type": "object", "properties": { "scheme": { @@ -9742,11 +9826,15 @@ "null" ] } + }, + "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 or services procured rather than the flow of funds between the parties.", + "deprecatedVersion": "1.1" } }, "receiverOrganization": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -9791,6 +9879,10 @@ "null" ] } + }, + "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 or services procured rather than the flow of funds between the parties.", + "deprecatedVersion": "1.1" } } } @@ -10545,7 +10637,7 @@ "amendment": { "title": "Amendment", "type": "object", - "description": "Amendment information", + "description": "The use of individual amendment objects has been deprecated. From OCDS 1.1 information should be provided in the amendments array.", "properties": { "date": { "title": "Amendment date", @@ -10635,6 +10727,10 @@ "null" ] } + }, + "deprecated": { + "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "deprecatedVersion": "1.1" } } }, @@ -10790,8 +10886,8 @@ }, "budget": { "type": "object", - "title": "Budget information", - "description": "This section contains basic information about the budget estimated for, or allocated to, this contracting process at the present time. Further documentation and data about how budgets have been allocated to a contracting process should be published outside of OCDS data, according to the best available standards.", + "title": "Budget", + "description": "Details of the budget that funds the planned contracting process.", "properties": { "id": { "title": "ID", @@ -10811,8 +10907,8 @@ ] }, "amount": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Amount", + "description": "The value reserved in the budget for this contracting process. A negative value indicates anticipated income to the budget as a result of this contracting process, rather than expenditure. Where the budget is drawn from multiple sources or extends over multiple years, the budget breakdown extension can be used. This field should not be used to report the total value of the budget line funding this contracting process.", "type": "object", "properties": { "amount": { @@ -11635,8 +11731,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -11681,11 +11777,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -11736,6 +11836,10 @@ "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": { @@ -11801,7 +11905,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -11852,12 +11956,16 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "The organization managing the contracting 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", @@ -11890,7 +11998,7 @@ }, "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.", + "description": "The primary classification for the item.", "type": "object", "properties": { "scheme": { @@ -12038,7 +12146,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The monetary value of a single unit.", "type": "object", "properties": { "amount": { @@ -12381,8 +12489,8 @@ "type": "object", "properties": { "unit": { - "title": "Simple Unit", - "description": "A simple unit of measure, consisting of: an identifier for the list (scheme) from which the unit is taken, and an identifier for the unit from that list.", + "title": "Unit", + "description": "The code and scheme for the unit in which the weight is specified.", "type": "object", "properties": { "scheme": { @@ -12439,7 +12547,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The total estimated value of the procurement, as estimated when publishing the tender information. A negative value indicates that the contracting process may involve payments from the supplier to the buyer (commonly used in concession contracts).", "type": "object", "properties": { "amount": { @@ -12768,8 +12876,8 @@ } }, "minValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Minimum value", + "description": "The estimated minimum value of the procurement. A negative value indicates that the contracting process may involve payments from the supplier to the buyer (commonly used in concession contracts).", "type": "object", "properties": { "amount": { @@ -13098,8 +13206,8 @@ } }, "maximumValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Maximum value", + "description": "The estimated maximum value of the framework agreement, as estimated when publishing the tender information.", "type": "object", "properties": { "amount": { @@ -13542,8 +13650,8 @@ ] }, "tenderPeriod": { - "title": "Period", - "description": "Key events during a contracting 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.", + "title": "Tender period", + "description": "The period when the tender is open for submissions. The end date is the closing date for bid submissions.", "type": "object", "properties": { "startDate": { @@ -13584,8 +13692,8 @@ } }, "enquiryPeriod": { - "title": "Period", - "description": "Key events during a contracting 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.", + "title": "Enquiry period", + "description": "The period during which potential bidders may submit questions and requests for clarification to the entity managing procurement. Details of how to submit enquiries should be provided in attached notices, or in submissionMethodDetails. Structured dates for when responses to questions will be made can be provided using tender milestones.", "type": "object", "properties": { "startDate": { @@ -13662,8 +13770,8 @@ ] }, "awardPeriod": { - "title": "Period", - "description": "Key events during a contracting 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.", + "title": "Evaluation and award period", + "description": "The period for decision making regarding the contract award. The end date should be the date on which an award decision is due to be finalized. The start date may be used to indicate the start of an evaluation period.", "type": "object", "properties": { "startDate": { @@ -13704,8 +13812,8 @@ } }, "contractPeriod": { - "title": "Period", - "description": "Key events during a contracting 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.", + "title": "Contract period", + "description": "The period over which the contract is estimated or required to be active. If the tender does not specify explicit dates, the duration field may be used.", "type": "object", "properties": { "startDate": { @@ -13777,8 +13885,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -13823,11 +13931,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -13878,6 +13990,10 @@ "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": { @@ -13943,7 +14059,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -13994,6 +14110,10 @@ "null" ] } + }, + "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." } } }, @@ -14449,7 +14569,7 @@ "amendment": { "title": "Amendment", "type": "object", - "description": "Amendment information", + "description": "The use of individual amendment objects has been deprecated. From OCDS 1.1 information should be provided in the amendments array.", "properties": { "date": { "title": "Amendment date", @@ -14539,6 +14659,10 @@ "null" ] } + }, + "deprecated": { + "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "deprecatedVersion": "1.1" } } }, @@ -14656,7 +14780,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The total value of this award. There may be more than one award per procurement. A negative value indicates that the award may involve payments from the supplier to the buyer (commonly used in concession contracts). This field should not contain the value of a framework agreement; those should be given in estimatedValue or maximumValue instead.", "type": "object", "properties": { "amount": { @@ -14985,8 +15109,8 @@ } }, "maximumValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Maximum value", + "description": "The estimated maximum value of the framework agreement, as a whole, as estimated when making the award.", "type": "object", "properties": { "amount": { @@ -15315,8 +15439,8 @@ } }, "estimatedValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Estimated value", + "description": "The estimated value of the framework agreement, as a whole, as estimated when making the award.", "type": "object", "properties": { "amount": { @@ -15668,8 +15792,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -15714,11 +15838,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -15769,6 +15897,10 @@ "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": { @@ -15834,7 +15966,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -15885,6 +16017,10 @@ "null" ] } + }, + "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." } } }, @@ -15926,7 +16062,7 @@ }, "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.", + "description": "The primary classification for the item.", "type": "object", "properties": { "scheme": { @@ -16074,7 +16210,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The monetary value of a single unit.", "type": "object", "properties": { "amount": { @@ -16417,8 +16553,8 @@ "type": "object", "properties": { "unit": { - "title": "Simple Unit", - "description": "A simple unit of measure, consisting of: an identifier for the list (scheme) from which the unit is taken, and an identifier for the unit from that list.", + "title": "Unit", + "description": "The code and scheme for the unit in which the weight is specified.", "type": "object", "properties": { "scheme": { @@ -16474,8 +16610,8 @@ "uniqueItems": true }, "contractPeriod": { - "title": "Period", - "description": "Key events during a contracting 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.", + "title": "Contract period", + "description": "The period for which the contract has been awarded.", "type": "object", "properties": { "startDate": { @@ -16730,7 +16866,7 @@ "amendment": { "title": "Amendment", "type": "object", - "description": "Amendment information", + "description": "The use of individual amendment objects has been deprecated. From OCDS 1.1 information should be provided in the amendments array.", "properties": { "date": { "title": "Amendment date", @@ -16820,6 +16956,10 @@ "null" ] } + }, + "deprecated": { + "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "deprecatedVersion": "1.1" } } }, @@ -16919,7 +17059,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The total value of this contract. A negative value indicates that the contract will involve payments from the supplier to the buyer (commonly used in concession contracts). This field should not contain the value of a framework agreement; those should be given in estimatedValue or maximumValue instead.", "type": "object", "properties": { "amount": { @@ -17248,8 +17388,8 @@ } }, "maximumValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Maximum value", + "description": "The maximum value of the framework agreement, as a whole.", "type": "object", "properties": { "amount": { @@ -17578,8 +17718,8 @@ } }, "estimatedValue": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Estimated value", + "description": "The estimated value of the framework agreement, as a whole, as estimated when the framework agreement is concluded (e.g. signed).", "type": "object", "properties": { "amount": { @@ -17939,7 +18079,7 @@ }, "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.", + "description": "The primary classification for the item.", "type": "object", "properties": { "scheme": { @@ -18087,7 +18227,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The monetary value of a single unit.", "type": "object", "properties": { "amount": { @@ -18430,8 +18570,8 @@ "type": "object", "properties": { "unit": { - "title": "Simple Unit", - "description": "A simple unit of measure, consisting of: an identifier for the list (scheme) from which the unit is taken, and an identifier for the unit from that list.", + "title": "Unit", + "description": "The code and scheme for the unit in which the weight is specified.", "type": "object", "properties": { "scheme": { @@ -18488,7 +18628,7 @@ }, "period": { "title": "Period", - "description": "Key events during a contracting 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.", + "description": "The start and end date for the contract.", "type": "object", "properties": { "startDate": { @@ -18643,7 +18783,7 @@ "implementation": { "type": "object", "title": "Implementation", - "description": "Information during the performance / implementation stage of the contract.", + "description": "Information related to the implementation of the contract in accordance with the obligations laid out therein.", "properties": { "transactions": { "title": "Transactions", @@ -18686,7 +18826,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The value of the transaction.", "type": "object", "properties": { "amount": { @@ -19034,8 +19174,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -19080,11 +19220,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -19135,6 +19279,10 @@ "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": { @@ -19200,7 +19348,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -19251,12 +19399,16 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "An organization reference for the organization from which the funds in this transaction originate.", + "title": "Payer" }, "payee": { "properties": { @@ -19278,8 +19430,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -19324,11 +19476,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -19379,6 +19535,10 @@ "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": { @@ -19444,7 +19604,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -19495,12 +19655,16 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "An organization reference for the organization which receives the funds in this transaction.", + "title": "Payee" }, "uri": { "title": "Linked spending information", @@ -19512,8 +19676,8 @@ "format": "uri" }, "amount": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Amount", + "description": "(Deprecated in 1.1. Use transaction.value instead) The value of the transaction. A negative value indicates a refund or correction.", "type": "object", "properties": { "amount": { @@ -19839,11 +20003,15 @@ null ] } + }, + "deprecated": { + "description": "This field has been replaced by the `transaction.value` field for consistency with the use of value and amount elsewhere in the standard.", + "deprecatedVersion": "1.1" } }, "providerOrganization": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "title": "Provider organization", + "description": "(Deprecated in 1.1. Use transaction.payer instead.) The Organization Identifier for the organization from which the funds in this transaction originate. Expressed following the Organizational Identifier standard - consult the documentation and the codelist.", "type": "object", "properties": { "scheme": { @@ -19888,11 +20056,15 @@ "null" ] } + }, + "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 or services procured rather than the flow of funds between the parties.", + "deprecatedVersion": "1.1" } }, "receiverOrganization": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -19937,6 +20109,10 @@ "null" ] } + }, + "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 or services procured rather than the flow of funds between the parties.", + "deprecatedVersion": "1.1" } } } @@ -20691,7 +20867,7 @@ "amendment": { "title": "Amendment", "type": "object", - "description": "Amendment information", + "description": "The use of individual amendment objects has been deprecated. From OCDS 1.1 information should be provided in the amendments array.", "properties": { "date": { "title": "Amendment date", @@ -20781,6 +20957,10 @@ "null" ] } + }, + "deprecated": { + "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "deprecatedVersion": "1.1" } } }, @@ -20845,7 +21025,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The value of the transaction.", "type": "object", "properties": { "amount": { @@ -21193,8 +21373,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -21239,11 +21419,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -21294,6 +21478,10 @@ "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": { @@ -21359,7 +21547,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -21410,12 +21598,16 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "An organization reference for the organization from which the funds in this transaction originate.", + "title": "Payer" }, "payee": { "properties": { @@ -21437,8 +21629,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -21483,11 +21675,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -21538,6 +21734,10 @@ "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": { @@ -21603,7 +21803,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -21654,12 +21854,16 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "An organization reference for the organization which receives the funds in this transaction.", + "title": "Payee" }, "uri": { "title": "Linked spending information", @@ -21671,8 +21875,8 @@ "format": "uri" }, "amount": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Amount", + "description": "(Deprecated in 1.1. Use transaction.value instead) The value of the transaction. A negative value indicates a refund or correction.", "type": "object", "properties": { "amount": { @@ -21998,11 +22202,15 @@ null ] } + }, + "deprecated": { + "description": "This field has been replaced by the `transaction.value` field for consistency with the use of value and amount elsewhere in the standard.", + "deprecatedVersion": "1.1" } }, "providerOrganization": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "title": "Provider organization", + "description": "(Deprecated in 1.1. Use transaction.payer instead.) The Organization Identifier for the organization from which the funds in this transaction originate. Expressed following the Organizational Identifier standard - consult the documentation and the codelist.", "type": "object", "properties": { "scheme": { @@ -22047,11 +22255,15 @@ "null" ] } + }, + "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 or services procured rather than the flow of funds between the parties.", + "deprecatedVersion": "1.1" } }, "receiverOrganization": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -22096,6 +22308,10 @@ "null" ] } + }, + "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 or services procured rather than the flow of funds between the parties.", + "deprecatedVersion": "1.1" } } } @@ -22805,8 +23021,8 @@ ] }, "amount": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Amount", + "description": "The value reserved in the budget for this contracting process. A negative value indicates anticipated income to the budget as a result of this contracting process, rather than expenditure. Where the budget is drawn from multiple sources or extends over multiple years, the budget breakdown extension can be used. This field should not be used to report the total value of the budget line funding this contracting process.", "type": "object", "properties": { "amount": { @@ -23232,7 +23448,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The value of the transaction.", "type": "object", "properties": { "amount": { @@ -23580,8 +23796,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -23626,11 +23842,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -23681,6 +23901,10 @@ "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": { @@ -23746,7 +23970,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -23797,12 +24021,16 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "An organization reference for the organization from which the funds in this transaction originate.", + "title": "Payer" }, "payee": { "properties": { @@ -23824,8 +24052,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -23870,11 +24098,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -23925,6 +24157,10 @@ "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": { @@ -23990,7 +24226,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -24041,12 +24277,16 @@ "null" ] } + }, + "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 id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + "description": "An organization reference for the organization which receives the funds in this transaction.", + "title": "Payee" }, "uri": { "title": "Linked spending information", @@ -24058,8 +24298,8 @@ "format": "uri" }, "amount": { - "title": "Value", - "description": "Financial values should be published with a currency attached.", + "title": "Amount", + "description": "(Deprecated in 1.1. Use transaction.value instead) The value of the transaction. A negative value indicates a refund or correction.", "type": "object", "properties": { "amount": { @@ -24385,11 +24625,15 @@ null ] } + }, + "deprecated": { + "description": "This field has been replaced by the `transaction.value` field for consistency with the use of value and amount elsewhere in the standard.", + "deprecatedVersion": "1.1" } }, "providerOrganization": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "title": "Provider organization", + "description": "(Deprecated in 1.1. Use transaction.payer instead.) The Organization Identifier for the organization from which the funds in this transaction originate. Expressed following the Organizational Identifier standard - consult the documentation and the codelist.", "type": "object", "properties": { "scheme": { @@ -24434,11 +24678,15 @@ "null" ] } + }, + "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 or services procured rather than the flow of funds between the parties.", + "deprecatedVersion": "1.1" } }, "receiverOrganization": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -24483,6 +24731,10 @@ "null" ] } + }, + "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 or services procured rather than the flow of funds between the parties.", + "deprecatedVersion": "1.1" } } } @@ -24507,8 +24759,8 @@ "title": "Organization ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "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": { @@ -24553,11 +24805,15 @@ "null" ] } + }, + "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": "An address.", + "description": "(Deprecated outside the parties section)", "type": "object", "properties": { "streetAddress": { @@ -24608,6 +24864,10 @@ "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": { @@ -24673,7 +24933,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "(Deprecated outside the parties section)", "properties": { "name": { "title": "Name", @@ -24724,6 +24984,10 @@ "null" ] } + }, + "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." } } }, @@ -24750,8 +25014,8 @@ "title": "Entity ID" }, "identifier": { - "title": "Identifier", - "description": "A unique identifier for a party (organization).", + "title": "Primary identifier", + "description": "The primary identifier for this organization or participant. 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": { @@ -24856,7 +25120,7 @@ }, "address": { "title": "Address", - "description": "An address.", + "description": "An address. This may be the legally registered address of the organization, or may be a correspondence address for this particular contracting process.", "type": "object", "properties": { "streetAddress": { @@ -24912,7 +25176,7 @@ "contactPoint": { "title": "Contact point", "type": "object", - "description": "A person, contact point or department to contact in relation to this contracting process.", + "description": "Contact details that can be used for this party.", "properties": { "name": { "title": "Name", @@ -25023,7 +25287,7 @@ }, "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.", + "description": "The primary classification for the item.", "type": "object", "properties": { "scheme": { @@ -25171,7 +25435,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The monetary value of a single unit.", "type": "object", "properties": { "amount": { @@ -25514,8 +25778,8 @@ "type": "object", "properties": { "unit": { - "title": "Simple Unit", - "description": "A simple unit of measure, consisting of: an identifier for the list (scheme) from which the unit is taken, and an identifier for the unit from that list.", + "title": "Unit", + "description": "The code and scheme for the unit in which the weight is specified.", "type": "object", "properties": { "scheme": { @@ -26364,7 +26628,7 @@ }, "value": { "title": "Value", - "description": "Financial values should be published with a currency attached.", + "description": "The monetary value of a single unit.", "type": "object", "properties": { "amount": { @@ -26707,8 +26971,8 @@ "type": "object", "properties": { "unit": { - "title": "Simple Unit", - "description": "A simple unit of measure, consisting of: an identifier for the list (scheme) from which the unit is taken, and an identifier for the unit from that list.", + "title": "Unit", + "description": "The code and scheme for the unit in which the weight is specified.", "type": "object", "properties": { "scheme": { diff --git a/tests/test_schema_integrity.py b/tests/test_schema_integrity.py index ef5cd9e73..d0111fa7f 100644 --- a/tests/test_schema_integrity.py +++ b/tests/test_schema_integrity.py @@ -1,5 +1,5 @@ """ -Ensures that `make_versioned_release_schema.py` and `make_metaschema.py` have been run. +Ensures that `manage.py pre-commit` has been run. """ import json @@ -10,7 +10,7 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) -from manage import get_metaschema, get_versioned_release_schema # noqa isort:skip +from manage import get_dereferenced_release_schema, get_metaschema, get_versioned_release_schema # noqa isort:skip def test_versioned_release_schema_is_in_sync(): @@ -20,7 +20,7 @@ def test_versioned_release_schema_is_in_sync(): with open('schema/release-schema.json') as f: expected = get_versioned_release_schema(json.load(f)) - assert actual == expected, 'Run: python utils/make_versioned_release_schema.py' + assert actual == expected, 'Run: python manage.py pre-commit' def test_dereferenced_release_schema_is_in_sync(): @@ -28,13 +28,13 @@ def test_dereferenced_release_schema_is_in_sync(): actual = json.load(f) with open('schema/release-schema.json') as f: - expected = jsonref.load(f) + expected = get_dereferenced_release_schema(jsonref.load(f)) - assert actual == expected, 'Run: python utils/make_dereferenced_release_schema.py' + assert actual == expected, 'Run: python manage.py pre-commit' -def test_metaschema_is_in_sync(): +def test_meta_schema_is_in_sync(): with open('schema/meta-schema.json') as f: actual = json.load(f) - assert actual == get_metaschema() + assert actual == get_metaschema(), 'Run: python manage.py pre-commit'