diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a10d37b1d..7df66fc13 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -27,9 +27,10 @@ jobs:
- run: |
make
python manage.py add-translation-notes
- - run: |
- make linkcheck
- rm -f output.json output.txt
+ # Disable linkcheck as it is too slow for development.
+ # - run: |
+ # make linkcheck
+ # rm -f output.json output.txt
- run: pytest
# Deploy the built documentation to the staging directory.
- if: github.event_name == 'push'
diff --git a/docs/guidance/map/awards_contracts.md b/docs/guidance/map/awards_contracts.md
index c779ee787..a9cb6ba6d 100644
--- a/docs/guidance/map/awards_contracts.md
+++ b/docs/guidance/map/awards_contracts.md
@@ -18,18 +18,13 @@ The OCDS schema and documentation are not clear what, precisely, is meant by 'aw
### Contract
-Contracting processes can result in different types of contract between buyers and suppliers, which can include:
+Contracting processes can result in different types of contracts between buyers and suppliers, such as:
-* A contract establishing the relationship, like the set-up of a framework agreement
-* A contract within the relationship, like a call-off contract under a framework agreement
-* Purchase orders
-* Catalog purchases
+* Contract describing all the contractual conditions (e.g. item, quantity, price, payment terms, time and place of delivery)
+* Contracts only describing the general contractual conditions, such as a framework agreement
+* Contracts only describing the specific contractual conditions, such as a contract within a framework agreement
-In OCDS, the `Contract` object is intended to communicate a legally binding agreement between a buyer and suppliers to provide items. This excludes agreements to set-up a structure through which contracts are later awarded to provide items, for example: a contract to set up or add suppliers to a framework agreement or dynamic purchasing system.
-
-```{note}
-The OCDS schema and documentation are not clear what, precisely, is meant by 'contract'. A revision of the definition of `Contract` is being considered for a future version of the standard ([GitHub issue](https://github.com/open-contracting/standard/issues/896)).
-```
+Communication between contractual parties that consists of minor specifications of conditions agreed previously (e.g. specifying the time or place of delivery) is not considered a contract. Amendments are considered as part of the contract that is being amended. Contracts also govern the granting of prizes or other rewards (e.g. a follow-up contract) resulting from a design contest.
## Awards and contracts
@@ -82,7 +77,7 @@ In OCDS, **awards** and **contracts** are modelled as separate stages of the con
Each contracting process can have many awards and each award can have many related contracts.
-OCDS separates data about the contract award and data about the signed contract into the `awards` and `contracts` sections respectively. Source systems can contain data on awards, on contracts, or on both.
+OCDS separates data about the contract award and data about the contract into the `awards` and `contracts` sections respectively. Source systems can contain data on awards, on contracts, or on both.
If the data in the source system relates only to contract awards, then only the `award` section of OCDS ought to be populated, unless the law governing procurement permits no changes between award and signature of a contract, in which case the `contract` section can be populated.
diff --git a/docs/guidance/map/awards_contracts_buyers_suppliers.md b/docs/guidance/map/awards_contracts_buyers_suppliers.md
deleted file mode 100644
index b2d79bdb7..000000000
--- a/docs/guidance/map/awards_contracts_buyers_suppliers.md
+++ /dev/null
@@ -1,139 +0,0 @@
-# Awards, contracts, buyers and suppliers
-
-Contracting processes can take many forms and follow many different types of procedure, from a simple contracting process resulting in a single contract between a buyer and supplier, to a multi-buyer, multi-supplier framework agreement implemented as an electronic catalog.
-
-The examples in this guidance explain how to model awards, contracts, buyers and suppliers occurring in different types of contracting processes using OCDS.
-
-## Definitions
-
-In order to understand the modelling examples, it’s important to first clarify the definitions of some key concepts.
-
-### Award
-
-The [UNCITRAL Model Law on Public Procurement (2011)](https://uncitral.un.org/en/texts/procurement/modellaw/public_procurement) was developed through extensive consultations with governments and interested international organizations and therefore reflects the procurement practices and concepts used in many different jurisdictions. The [UNCITRAL glossary](https://uncitral.un.org/sites/uncitral.un.org/files/media-documents/uncitral/en/glossary-e.pdf) defines the "Award of a procurement contract or framework agreement" as:
-
-> *A final stage of the procurement proceedings regulated by the Model Law, resulting in the conclusion and entry into force of a procurement contract or framework agreement between the procuring entity and selected supplier(s) or contractor(s).*
-
-In OCDS, the `Award` object is intended to communicate a direct relationship between items, suppliers, and values. It ought to be possible to know, at the award stage, in OCDS data, which items will later be supplied by which suppliers, and what the value of those contracts will be.
-
-```{note}
-The OCDS schema and documentation are not clear what, precisely, is meant by 'award'. A revision of the definition of `Award` in OCDS is being considered for a future version of the standard ([GitHub issue](https://github.com/open-contracting/standard/issues/895)).
-```
-
-### Contract
-
-Contracting processes can result in different types of contract between buyers and suppliers, which can include:
-
-* A contract establishing the relationship, like the set-up of a framework agreement
-* A contract within the relationship, like a call-off contract under a framework agreement
-* Purchase orders
-* Catalog purchases
-
-In OCDS, the `Contract` object is intended to communicate a legally binding agreement between a buyer and suppliers to provide items. This excludes agreements to set-up a structure through which contracts are later awarded to provide items, for example: a contract to set up or add suppliers to a framework agreement or dynamic purchasing system.
-
-```{note}
-The OCDS schema and documentation are not clear what, precisely, is meant by 'contract'. A revision of the definition of `Contract` is being considered for a future version of the standard ([GitHub issue](https://github.com/open-contracting/standard/issues/896)).
-```
-
-### Buyer
-
-OCDS defines the buyer as:
-
-```{field-description} ../../../build/current_lang/release-schema.json /properties/buyer
-```
-
-### Suppliers
-
-OCDS defines a supplier as:
-
-```{code-description} ../../../build/current_lang/codelists/partyRole.csv supplier
-```
-
-### Electronic catalog
-
-```{hint}
-Electronic catalogs can often be found in more complicated procedures, usually together with framework agreements and involving multiple bidders. However, on their own, they are simply an electronic format (typically prescribed by the buyer) that participants in the contracting process must follow when exchaning information about technical specifications, evaluation criteria, bids, lots, etc. As such, catalogs do not influence the relationship between awards, contracts, buyers and suppliers.
-```
-
-### Purchase order
-
-A purchase order is an official document issued by a buyer committing to pay a supplier for the supply of specific goods, works or services to be delivered in the future.
-
-Purchase orders can be issued against an existing contract, or if no prior contract exists then acceptance of a purchase order by a supplier forms a contract between buyer and supplier.
-
-## The OCDS model
-
-OCDS defines a common model for disclosing structured data on public contracting processes carried out in any jurisdiction, including data on awards, contracts, buyers and suppliers.
-
-### Awards and contracts
-
-In OCDS, **awards** and **contracts** are modelled as separate stages of the contracting process. This approach allows for the possibility that an award is made but a contract is never entered into. The model also allows for the possibility that there is a difference between the award and the signed contract, either in value, duration, items or otherwise. While such differences might be illegal in some jurisdictions, they can occur in some cases and are therefore possible in OCDS. Source systems can contain data on awards, on contracts, or on both.
-
-
-
-
-
-![Tender](../../_static/svg/grey_planning.svg)
-
-**Planning**
-
-
-
-
-
-![Tender](../../_static/svg/grey_tendering.svg)
-
-**Initiation (Tender)**
-
-
-
-
-
-![Award](../../_static/svg/green_awarded.svg)
-
-**Award**
-
-
-
-
-
-![Contract](../../_static/svg/green_signed.svg)
-
-**Contract**
-
-
-
-
-
-![Implementation](../../_static/svg/grey_implementation.svg)
-
-**Implementation**
-
-
-
-
-
-
-Each contracting process can have many awards and each award can have many related contracts.
-
-### Buyers
-
-In OCDS, the **buyer** is modelled as relating to the contracting process as a whole and each contracting process has only a single `buyer` field, i.e. all awards and contracts resulting from the contracting process share the same buyer.
-
-That said, many organizations can be assigned the 'buyer' role in the `parties` section, making it possible to represent contracting processes with a 'lead' buyer and other buyers.
-
-### Suppliers
-
-**Suppliers** are modelled as relating to awards in OCDS and there can be multiple suppliers per award, i.e. all contracts relating to the same award share the same suppliers.
-
-## Examples
-
-```{toctree}
-:maxdepth: 1
-
-award_notices_decisions
-mapping_awards_contracts
-consortia
-related_processes
-purchase_orders
-```
diff --git a/docs/history/changelog.md b/docs/history/changelog.md
index 1b8bcc11a..7d2468463 100644
--- a/docs/history/changelog.md
+++ b/docs/history/changelog.md
@@ -42,13 +42,21 @@ Per the [normative and non-normative content and changes policy](https://docs.go
### Codelists
-* `milestoneType.csv`:
- * [#1353](https://github.com/open-contracting/standard/pull/1353) Replace "tender submissions" with "bid submissions".
-* `method.csv`:
- * [#1353](https://github.com/open-contracting/standard/pull/1353) Replace "submit a tender" with "submit a bid".
+* Add new codelists:
+ * [#1316](https://github.com/open-contracting/standard/pull/1316) `language`
+ * [#1308](https://github.com/open-contracting/standard/pull/1308) `mediaType`
+
+* `classificationScheme.csv`:
+ * [#1319](https://github.com/open-contracting/standard/pull/1319) Rename from `itemClassificationScheme.csv`.
+ * [#1210](https://github.com/open-contracting/standard/pull/1210) Add codes from the legal basis extension:
+ * 'CELEX'
+ * 'LEXML'
+ * [#1218](https://github.com/open-contracting/standard/pull/1218) Add codes from the organization classifiation extension:
+ * 'COFOG'
+
* `documentType.csv`:
- * [#1186](https://github.com/open-contracting/standard/pull/1186) Deprecate 'contractSchedule' and edit 'contractAnnexe'.
- * [#1219](https://github.com/open-contracting/standard/pull/1219) Add the codes from the tariffs extension:
+ * [#1336](https://github.com/open-contracting/standard/pull/1336) Add 'unsuccessfulDetails'
+ * [#1219](https://github.com/open-contracting/standard/pull/1219) Add codes from the tariffs extension:
* 'tariffs'
* 'tariffMethod'
* 'tariffReview'
@@ -56,86 +64,113 @@ Per the [normative and non-normative content and changes policy](https://docs.go
* [#1225](https://github.com/open-contracting/standard/pull/1225) Add codes from the EU extension:
* 'economicSelectionCriteria'
* 'technicalSelectionCriteria'
+ * [#1186](https://github.com/open-contracting/standard/pull/1186) Deprecate 'contractSchedule' and edit 'contractAnnexe'.
* [#1280](https://github.com/open-contracting/standard/pull/1280) Align the description of 'tenderNotice' and 'technicalSpecifications' with GPA.
- * [#1336](https://github.com/open-contracting/standard/pull/1336) Add 'unsuccessfulDetails'
+
+* `milestoneType.csv`:
+ * [#1225](https://github.com/open-contracting/standard/pull/1225) Add codes from the EU extension:
+ * 'securityClearanceDeadline'
+ * [#1243](https://github.com/open-contracting/standard/pull/1243) Add codes from the PPP extension:
+ * 'procurement'
+ * 'contractClose'
+ * [#1353](https://github.com/open-contracting/standard/pull/1353) Replace "tender submissions" with "bid submissions".
+
* `partyRole.csv`:
- * [#1353](https://github.com/open-contracting/standard/pull/1353) Replace "submit a tender" with "submit a bid".
- * [#1232](https://github.com/open-contracting/standard/pull/1232) Update the description of 'supplier'
- * [#1163](https://github.com/open-contracting/standard/pull/1163) Improve the description of 'procuringEntity'
- * [#1182](https://github.com/open-contracting/standard/pull/1182) Update the description of 'buyer'
- * [#1182](https://github.com/open-contracting/standard/pull/1182) Deprecate 'funder'
* [#1187](https://github.com/open-contracting/standard/pull/1187) Add 'contractImplementationManager'
- * [#1243](https://github.com/open-contracting/standard/pull/1243) Add the codes from the PPP extension:
- * 'privateParty'
- * 'leadBank'
- * 'lender'
- * 'equityInvestor'
* [#1225](https://github.com/open-contracting/standard/pull/1225) Add codes from the EU extension:
* 'informationService'
* 'mediationBody'
* 'processContactPoint'
* 'reviewContactPoint'
-* [#1200](https://github.com/open-contracting/standard/pull/1200) Deprecate all the codes of the `submissionMethod` codelist, because they were either not submission methods, or not supported by use cases.
+ * [#1243](https://github.com/open-contracting/standard/pull/1243) Add codes from the PPP extension:
+ * 'privateParty'
+ * 'leadBank'
+ * 'lender'
+ * 'equityInvestor'
+ * [#1182](https://github.com/open-contracting/standard/pull/1182) Deprecate 'funder'
+ * [#1163](https://github.com/open-contracting/standard/pull/1163) Clarify the description of 'procuringEntity'.
+ * [#1182](https://github.com/open-contracting/standard/pull/1182) Clarify the description of 'buyer'.
+ * [#1232](https://github.com/open-contracting/standard/pull/1232) Clarify the description of 'supplier'.
+ * [#1353](https://github.com/open-contracting/standard/pull/1353) Replace "submit a tender" with "submit a bid".
+
* [#1201](https://github.com/open-contracting/standard/pull/1201) Add 'terminatedEarly' and 'terminatedSuccessfully' codes to the `contractStatus` codelist, to distinguish between successful completion and early termination of the contract.
-* [#1209](https://github.com/open-contracting/standard/pull/1209) Replace "electronic goods" with "digital goods" in the description of 'goods' from the `procurementCategory` codelist, to align with the description in the World Trade Organization's Agreement on Government Procurement, and to avoid confusion between electronic goods like computers and digital goods like software.
-* [#1210](https://github.com/open-contracting/standard/pull/1210) Add the 'CELEX' and 'LEXML' codes from the legal basis extension to the `itemClassificationScheme` codelist.
-* [#1218](https://github.com/open-contracting/standard/pull/1218) Add the 'COFOG' code from the organization classifiation extension to the `itemClassificationScheme` codelist.
-* [#1225](https://github.com/open-contracting/standard/pull/1225) Add 'securityClearanceDeadline' code from the EU extension to the `milestoneType` codelist.
+* [#1200](https://github.com/open-contracting/standard/pull/1200) Deprecate all the codes of the `submissionMethod` codelist, because they were either not submission methods, or not supported by use cases.
* [#1238](https://github.com/open-contracting/standard/pull/1238) Open the `releaseTag` codelist.
-* [#1243](https://github.com/open-contracting/standard/pull/1243) Add the 'procurement' and 'contractClose' codes from the PPP extension to the `milestoneType` codelist.
-* [#1316](https://github.com/open-contracting/standard/pull/1316) Add the `language` codelist.
-* [#1308](https://github.com/open-contracting/standard/pull/1308) Add the `mediaType` codelist.
-* [#1319](https://github.com/open-contracting/standard/pull/1319) Rename `itemClassificationScheme` to `classificationScheme`.
+* [#1353](https://github.com/open-contracting/standard/pull/1353) Replace "submit a tender" with "submit a bid" in the `method` codelist.
+* [#1209](https://github.com/open-contracting/standard/pull/1209) Replace "electronic goods" with "digital goods" in the description of 'goods' from the `procurementCategory` codelist, to align with the description in the World Trade Organization's Agreement on Government Procurement, and to avoid confusion between electronic goods like computers and digital goods like software.
### Schema
-* [#1353](https://github.com/open-contracting/standard/pull/1353) Replace "tender submissions" with "bid submissions".
-* [#1354](https://github.com/open-contracting/standard/pull/1354) Switch position of `contract.dateSigned` and `contract.period` to correspond with the order in `Award`
-* [#1232](https://github.com/open-contracting/standard/pull/1232) Update the description of `awards.suppliers`.
-* [#1229](https://github.com/open-contracting/standard/pull/1229) Standardize the descriptions of `planning.documents`, `tender.documents`, `awards.documents`, `contracts.documents`, and `contracts.implementation.documents`.
-* [#1086](https://github.com/open-contracting/standard/pull/1086) Recommend the use of strings rather than integers for identifiers.
-* [#1115](https://github.com/open-contracting/standard/pull/1115) Clarify when to have multiple suppliers per award.
-* [#1200](https://github.com/open-contracting/standard/pull/1200) Deprecate the `tender.submissionMethod` field, because all codes from the `submissionMethod` codelist are deprecated.
-* [#1240](https://github.com/open-contracting/standard/pull/1240) Move `Unit` from `Item.unit` to the schema definitions.
-* [#1318](https://github.com/open-contracting/standard/pull/1318) Remove the `versionId` field, because it is an incomplete means of getting the correct versioning behavior.
-* Add new fields to the release schema:
- * [#1125](https://github.com/open-contracting/standard/pull/1125) `weight` to `Item.unit`
+* Add new fields:
+ * [#1125](https://github.com/open-contracting/standard/pull/1125) `Item.unit.weight`
* [#1165](https://github.com/open-contracting/standard/pull/1165) `statusDetails` to `Tender`, `Award` and `Contract`
-* Update and improve the clarity of field descriptions in the release schema:
- * [#1113](https://github.com/open-contracting/standard/pull/1113) `ocid`, to recommend a hyphen after the ocid prefix.
- * [#1315](https://github.com/open-contracting/standard/pull/1315) `id` and `date`, to add rules for compiled releases.
- * [#1094](https://github.com/open-contracting/standard/pull/1094) `Organization.id`, to clarify its uniqueness.
+ * [#1324](https://github.com/open-contracting/standard/pull/1324) `tender.datePublished`
+ * [#1326](https://github.com/open-contracting/standard/pull/1326) `links`
+ * [#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.
+ * `awards.estimatedValue`
+ * `contracts.maximumValue`
+ * `contracts.estimatedValue`
+
+* Deprecate some fields:
+ * [#1200](https://github.com/open-contracting/standard/pull/1200) `tender.submissionMethod`, because all codes from the `submissionMethod` codelist are deprecated.
+ * [#1296](https://github.com/open-contracting/standard/pull/1296) `tender.eligibilityCriteria` in favor of the new `tender.exclusionGrounds` field, in order to use more common terminology and improve semantics.
+
+* Clarify core concepts:
* [#1182](https://github.com/open-contracting/standard/pull/1182) `buyer`
* [#1163](https://github.com/open-contracting/standard/pull/1163) `tender.procuringEntity`
- * [#1109](https://github.com/open-contracting/standard/pull/1109) `tender.awardCriteriaDetails`, to remove "selection criteria".
+ * [#1232](https://github.com/open-contracting/standard/pull/1232) `awards.suppliers`
+ * [#1208](https://github.com/open-contracting/standard/pull/1208) `contracts` and its fields
+
+* Clarify merging behavior:
+ * [#1242](https://github.com/open-contracting/standard/pull/1242) Clarify that the releases to merge must use the same version of OCDS.
+ * [#1242](https://github.com/open-contracting/standard/pull/1242) Narrow the uniqueness scope of a release's `id` to its `ocid` and OCDS version (was `ocid` only), to allow the publication of the same release for different versions of OCDS.
+ * [#1315](https://github.com/open-contracting/standard/pull/1315) Update the descriptions of `id` and `date`, to add rules for compiled releases.
+
+* Update and clarify field descriptions:
+ * [#1094](https://github.com/open-contracting/standard/pull/1094) `Organization.id`, to clarify its uniqueness.
+ * [#1113](https://github.com/open-contracting/standard/pull/1113) `ocid`, to recommend a hyphen after the ocid prefix.
* [#1167](https://github.com/open-contracting/standard/pull/1167) `Budget`,` Budget.id`, `Budget.description`, `Budget.amount`
* [#1189](https://github.com/open-contracting/standard/pull/1189) `Document.url`
-* [#1112](https://github.com/open-contracting/standard/pull/1112) Strengthen normative statements in the descriptions of the following fields:
- * `Organization.id`: "This field need only be unique within the scope of the contracting process, but **should** be built with the following structure {identifier.scheme}-{identifier.id}(-{department-identifier}) where an organization identifier is available" ("may" replaced with "should")
- * `Period.durationInDays`: "If a startDate and endDate are set, this field, if used, **must** be equal to the difference between startDate and endDate. Otherwise, if a startDate and maxExtentDate are set, this field, if used, **must** be equal to the difference between startDate and maxExtentDate." ("should" replaced with "must")
- * `Contract.items`: "If the items contracted are identical to the items awarded, this field **should** be omitted." (rephrased)
-* [#1242](https://github.com/open-contracting/standard/pull/1242) Narrow the uniqueness scope of a release's `id` to its `ocid` and OCDS version (was `ocid` only), to allow the publication of the same release for different versions of OCDS.
-* [#1242](https://github.com/open-contracting/standard/pull/1242) Merging: Clarify that the releases to merge must use the same version of OCDS.
+ * [#1229](https://github.com/open-contracting/standard/pull/1229) Standardize the descriptions of `planning.documents`, `tender.documents`, `awards.documents`, `contracts.documents`, and `contracts.implementation.documents`.
+
+* Remove confusing terminology:
+ * [#1109](https://github.com/open-contracting/standard/pull/1109) `tender.awardCriteriaDetails`, to remove "selection criteria".
+ * [#1353](https://github.com/open-contracting/standard/pull/1353) Replace "tender submissions" with "bid submissions".
+
+* Add or strengthen normative statements in field descriptions:
+ * [#1086](https://github.com/open-contracting/standard/pull/1086) Recommend the use of strings rather than integers for identifiers.
+ * [#1112](https://github.com/open-contracting/standard/pull/1112) `Organization.id`: "This field need only be unique within the scope of the contracting process, but **should** be built with the following structure {identifier.scheme}-{identifier.id}(-{department-identifier}) where an organization identifier is available" ("may" replaced with "should")
+ * [#1112](https://github.com/open-contracting/standard/pull/1112) `Period.durationInDays`: "If a startDate and endDate are set, this field, if used, **must** be equal to the difference between startDate and endDate. Otherwise, if a startDate and maxExtentDate are set, this field, if used, **must** be equal to the difference between startDate and maxExtentDate." ("should" replaced with "must")
+ * [#1112](https://github.com/open-contracting/standard/pull/1112) `Contract.items`: "If the items contracted are identical to the items awarded, this field **should** be omitted." (rephrased)
+
+* Make minor changes to the schema's organization:
+ * [#1240](https://github.com/open-contracting/standard/pull/1240) Move `Unit` from `Item.unit` to the schema definitions.
+ * [#1354](https://github.com/open-contracting/standard/pull/1354) Switch the positions of `contract.dateSigned` and `contract.period` to correspond with the order in `Award`.
+
+* Make minor changes to the JSON Schema properties:
+ * [#1257](https://github.com/open-contracting/standard/pull/1257) Remove the default value (was `"en"`) for the `language` field.
+ * [#1318](https://github.com/open-contracting/standard/pull/1318) Remove the `versionId` field, because it is an incomplete means of getting the correct versioning behavior.
+
* Record package schema:
* [#1241](https://github.com/open-contracting/standard/pull/1241) In the definition section, rename record to `Record` and add `LinkedRelease`.
* [#1241](https://github.com/open-contracting/standard/pull/1241) Align descriptions of `Record` `releases`, linked releases and embedded releases.
* [#1307](https://github.com/open-contracting/standard/pull/1307) Clarify uniqueness rules for records.
* [#1339](https://github.com/open-contracting/standard/pull/1339) Deprecate `packages`.
+
* Improve the clarity of field descriptions in the release package schema and record package schema:
* [#1067](https://github.com/open-contracting/standard/pull/1067) `Publisher.name`, to indicate that it is the organization or department responsible for publishing the OCDS version of the data.
-* [#1257](https://github.com/open-contracting/standard/pull/1257) Remove default value of `"en"` for `language` field.
-* [#1296](https://github.com/open-contracting/standard/pull/1296) Deprecate the `tender.eligibilityCriteria` field in favor of the new `tender.exclusionGrounds` field, in order to use more common terminology and improve semantics.
-* [#1326](https://github.com/open-contracting/standard/pull/1326) Add a top-level `links` field.
-* [#1324](https://github.com/open-contracting/standard/pull/1324) Add the `tender.datePublished` field.
### Documentation
-* [#1094](https://github.com/open-contracting/standard/pull/1094) Add guidance on populating `Organization.id` for parties without an organization identifier
-* [#1115](https://github.com/open-contracting/standard/pull/1115) Add guidance on when having multiple suppliers per award
-* [#1161](https://github.com/open-contracting/standard/pull/1161) Change recommendation for unknown time component
-* [#1189](https://github.com/open-contracting/standard/pull/1189) Add recommendations about publishing and referencing documents in the document reference section
-* [#1307](https://github.com/open-contracting/standard/pull/1307) Clarify uniqueness rules for records
-* [#1315](https://github.com/open-contracting/standard/pull/1315) Add rules on setting `id` and `date` for compiled releases to the merging specification
+* [#1094](https://github.com/open-contracting/standard/pull/1094) Add guidance on populating `Organization.id` for parties without an organization identifier.
+* [#1115](https://github.com/open-contracting/standard/pull/1115) Add guidance on when having multiple suppliers per award.
+* [#1161](https://github.com/open-contracting/standard/pull/1161) Change recommendation for unknown time component.
+* [#1189](https://github.com/open-contracting/standard/pull/1189) Add recommendations about publishing and referencing documents in the document reference section.
+* [#1208](https://github.com/open-contracting/standard/pull/1208) Update guidance with new field definitions.
+* [#1307](https://github.com/open-contracting/standard/pull/1307) Clarify uniqueness rules for records.
+* [#1315](https://github.com/open-contracting/standard/pull/1315) Add rules on setting `id` and `date` for compiled releases to the merging specification.
## [1.1.5] - 2020-08-20
diff --git a/docs/schema/reference.md b/docs/schema/reference.md
index ce0552ef8..adc198f86 100644
--- a/docs/schema/reference.md
+++ b/docs/schema/reference.md
@@ -182,7 +182,7 @@ The [Bid statistics and details](https://extensions.open-contracting.org/en/exte
### Award
-The award section is used to announce any awards issued for this tender. There can be multiple awards made. Releases can contain all, or a subset, of these awards. A related award block is required for every contract block, as the award contains information on the suppliers. In particular cases there can be multiple suppliers for a single award: for example, in the case of [consortia](../guidance/map/consortia) and in [framework agreements](../guidance/map/related_processes).
+The award section is used to announce any awards issued for this tender. There can be multiple awards made. Releases can contain all, or a subset, of these awards. A related award block is required for every contract block, as the award contains information on the suppliers. In particular cases there can be multiple suppliers for a single award: for example, in the case of [consortia](../guidance/map/buyers_suppliers.md#consortia-suppliers) and in [framework agreements](../guidance/map/related_processes).
```{jsonschema} ../../build/current_lang/release-schema.json
:pointer: /definitions/Award
diff --git a/schema/codelists/contractStatus.csv b/schema/codelists/contractStatus.csv
index 9b9523ff3..c77e2426e 100644
--- a/schema/codelists/contractStatus.csv
+++ b/schema/codelists/contractStatus.csv
@@ -1,7 +1,7 @@
Code,Title,Description
pending,Pending,"This contract has been proposed, but is not yet in force. It might be awaiting signature."
-active,Active,"This contract has been signed by all the parties, and is now legally in force."
-cancelled,Cancelled,This contract has been cancelled prior to being signed.
-terminated,Terminated,"This contract was signed and in force, and has now come to a close. This might be due to the successful completion of the contract, or might be early termination due to some non-completion."
-terminatedEarly,Terminated early,"This contract was signed and in force, and is terminated early due to some non-completion."
-terminatedSuccessfully,Terminated successfuly,"This contract was signed and in force, and is terminated due to its successful completion."
+active,Active,"This contract has been concluded by all the parties, and is now legally in force."
+cancelled,Cancelled,This contract has been cancelled prior to being concluded.
+terminated,Terminated,"This contract was concluded and in force, and has now come to a close. This might be due to the successful completion of the contract, or might be early termination due to some non-completion."
+terminatedEarly,Terminated early,"This contract was concluded and in force, and is terminated early due to some non-completion."
+terminatedSuccessfully,Terminated successfuly,"This contract was concluded and in force, and is terminated due to its successful completion."
diff --git a/schema/codelists/documentType.csv b/schema/codelists/documentType.csv
index 105d3aaca..fc4be868f 100644
--- a/schema/codelists/documentType.csv
+++ b/schema/codelists/documentType.csv
@@ -10,7 +10,7 @@ basic,tender,technicalSpecifications,Technical specifications,"A document that d
basic,tender,evaluationCriteria,Evaluation criteria,Documentation on how bids will be evaluated.,,
intermediate,tender,evaluationReports,Evaluation report,"Documentation on the evaluation of the bids and the application of the evaluation criteria, including the justification for the award.",,
intermediate,"tender, award",contractDraft,Contract draft,A draft or pro-forma copy of the contract.,,
-intermediate,contract,contractSigned,Signed contract,"A copy of the signed contract. Consider providing both machine-readable (e.g. original PDF, Word or Open Document format files), and a separate document entry for scanned-signed pages where this is needed.",,
+intermediate,contract,contractSigned,Concluded contract,"A copy of the concluded contract. Consider providing both machine-readable (e.g. original PDF, Word or Open Document format files), and a separate document entry for scanned-signed pages where this is needed.",,
intermediate,"tender, award, contract",contractArrangements,Arrangements for ending contract,Documentation of the arrangements for ending the contract(s).,,
intermediate,"tender, award, contract",contractSchedule,Contract schedules,"Any document which contains additional terms, obligations or information related to the contract, such as a schedule, appendix, annex, attachment or addendum.",1.2,Deprecated in favor of contractAnnexe.
intermediate,implementation,physicalProgressReport,Physical progress reports,"Documentation on the status of implementation, usually against key milestones.",,
diff --git a/schema/codelists/releaseTag.csv b/schema/codelists/releaseTag.csv
index d490b1071..bb5158b2b 100644
--- a/schema/codelists/releaseTag.csv
+++ b/schema/codelists/releaseTag.csv
@@ -8,7 +8,7 @@ tenderCancellation,Tender cancellation,"The cancellation of an existing tender.
award,Award,"Providing information about the award of a contract. One or more award sections will be present, and the tender section might be populated with details of the process leading up to the award."
awardUpdate,Award update,"An update to an existing award release. There should be at least one award release with the same ocid, but an earlier release date before an awardUpdate is published. An update may add new information or make corrections."
awardCancellation,Award cancellation,Providing information about the cancellation of an award.
-contract,Contract,"Providing information about the details of a contract that has been, or will be, entered into. The tender section might be populated with details of the process leading up to the contract, and the award section might contain details of the award on the basis of which this contract will be signed."
+contract,Contract,"Providing information about the details of a contract that has been, or will be, entered into. The tender section might be populated with details of the process leading up to the contract, and the award section might contain details of the award on the basis of which this contract will be concluded."
contractUpdate,Contract update,"Providing information about updates to a contract. There should be at least one contract release with the same ocid, but an earlier release date, before a contractUpdate is published. An update may add new information or make corrections to prior published information. It should not be used for formal legal amendments to a contract, for which the contractAmendment tag should be used."
contractAmendment,Contract amendment,"An amendment to an existing contract release. There should be at least one contract release with the same ocid, but an earlier release date, before a contractAmendment is published. The term amendment has legal meaning in many jurisdictions."
implementation,Implementation,Providing new information on the implementation of a contracting process.
diff --git a/schema/dereferenced-release-schema.json b/schema/dereferenced-release-schema.json
index 1ad439f28..0a24df07b 100644
--- a/schema/dereferenced-release-schema.json
+++ b/schema/dereferenced-release-schema.json
@@ -2884,263 +2884,593 @@
}
}
},
- "procurementMethod": {
- "title": "Procurement method",
- "description": "The procurement method, from the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist.",
- "type": [
- "string",
- "null"
- ],
- "codelist": "method.csv",
- "openCodelist": false,
- "enum": [
- "open",
- "selective",
- "limited",
- "direct",
- null
- ]
- },
- "procurementMethodDetails": {
- "title": "Procurement method details",
- "description": "Additional detail on the procurement method used. This field can be used to provide the local name of the particular procurement method used.",
- "type": [
- "string",
- "null"
- ]
- },
- "procurementMethodRationale": {
- "title": "Procurement method rationale",
- "description": "Rationale for the chosen procurement method. This is especially important to provide a justification in the case of limited tenders or direct awards.",
- "type": [
- "string",
- "null"
- ]
- },
- "mainProcurementCategory": {
- "title": "Main procurement category",
- "description": "The primary category describing the main object of this contracting process, from the closed [procurementCategory](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#procurement-category) codelist.",
- "type": [
- "string",
- "null"
- ],
- "codelist": "procurementCategory.csv",
- "openCodelist": false,
- "enum": [
- "goods",
- "works",
- "services",
- null
- ]
- },
- "additionalProcurementCategories": {
- "title": "Additional procurement categories",
- "description": "Any additional categories describing the objects of this contracting process, using the open [extendedProcurementCategory](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#extended-procurement-category) codelist.",
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "codelist": "extendedProcurementCategory.csv",
- "openCodelist": true
- },
- "awardCriteria": {
- "title": "Award criteria",
- "description": "The award criteria for the procurement, using the open [awardCriteria](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#award-criteria) codelist.",
- "type": [
- "string",
- "null"
- ],
- "codelist": "awardCriteria.csv",
- "openCodelist": true
- },
- "awardCriteriaDetails": {
- "title": "Award criteria details",
- "description": "Any detailed or further information on the award criteria.",
- "type": [
- "string",
- "null"
- ]
- },
- "submissionMethod": {
- "title": "Submission method",
- "description": "The methods by which bids are submitted, using the open [submissionMethod](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#submission-method) codelist.",
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "codelist": "submissionMethod.csv",
- "openCodelist": true,
- "deprecated": {
- "description": "This field is deprecated, because all codes from the submissionMethod codelist are deprecated. Refer to the Deprecation note of individual codes.",
- "deprecatedVersion": "1.2"
- }
- },
- "submissionMethodDetails": {
- "title": "Submission method details",
- "description": "Any detailed or further information on the submission method. This can include the address, e-mail address or online service to which bids are submitted, and any special requirements to be followed for submissions.",
- "type": [
- "string",
- "null"
- ]
- },
- "datePublished": {
- "description": "The date on which the tender was published.",
- "format": "date-time",
- "title": "Date published",
- "type": [
- "string",
- "null"
- ]
- },
- "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.",
- "type": "object",
- "properties": {
- "startDate": {
- "title": "Start date",
- "description": "The start date for the period. When known, a precise start date must be provided.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "endDate": {
- "title": "End date",
- "description": "The end date for the period. When known, a precise end date must be provided.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "maxExtentDate": {
- "description": "The period cannot be extended beyond this date. This field can be used to express the maximum available date for extension or renewal of this period.",
- "format": "date-time",
- "title": "Maximum extent",
- "type": [
- "string",
- "null"
- ]
- },
- "durationInDays": {
- "description": "The maximum duration of this period in days. A user interface can collect or display this data in months or years as appropriate, and then convert it into days when storing this field. This field can be used when exact dates are not known. If a startDate and endDate are set, this field, if used, must be equal to the difference between startDate and endDate. Otherwise, if a startDate and maxExtentDate are set, this field, if used, must be equal to the difference between startDate and maxExtentDate.",
- "title": "Duration (days)",
- "type": [
- "integer",
- "null"
- ]
- }
- }
- },
- "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.",
+ "maximumValue": {
+ "title": "Value",
+ "description": "Financial values should be published with a currency attached.",
"type": "object",
"properties": {
- "startDate": {
- "title": "Start date",
- "description": "The start date for the period. When known, a precise start date must be provided.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "endDate": {
- "title": "End date",
- "description": "The end date for the period. When known, a precise end date must be provided.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "maxExtentDate": {
- "description": "The period cannot be extended beyond this date. This field can be used to express the maximum available date for extension or renewal of this period.",
- "format": "date-time",
- "title": "Maximum extent",
- "type": [
- "string",
- "null"
- ]
- },
- "durationInDays": {
- "description": "The maximum duration of this period in days. A user interface can collect or display this data in months or years as appropriate, and then convert it into days when storing this field. This field can be used when exact dates are not known. If a startDate and endDate are set, this field, if used, must be equal to the difference between startDate and endDate. Otherwise, if a startDate and maxExtentDate are set, this field, if used, must be equal to the difference between startDate and maxExtentDate.",
- "title": "Duration (days)",
+ "amount": {
+ "title": "Amount",
+ "description": "Amount as a number.",
"type": [
- "integer",
+ "number",
"null"
]
- }
- }
- },
- "hasEnquiries": {
- "title": "Has enquiries?",
- "description": "A true/false field to indicate whether any enquiries were received during the tender process. Structured information on enquiries that were received, and responses to them, can be provided using the enquiries extension.",
- "type": [
- "boolean",
- "null"
- ]
- },
- "eligibilityCriteria": {
- "title": "Eligibility criteria",
- "description": "A description of any eligibility criteria for potential suppliers.",
- "type": [
- "string",
- "null"
- ],
- "deprecated": {
- "description": "This field had unclear semantics and used ambiguous terms, and is deprecated in favor of exclusionGrounds.",
- "deprecatedVersion": "1.2"
- }
- },
- "exclusionGrounds": {
- "title": "Exclusion grounds",
- "description": "The criteria regarding the situation of a tenderer that can lead to its exclusion from the contracting process. For example: criminal convictions, bankruptcy, presence on a blacklist or failure to pay taxes.",
- "type": [
- "string",
- "null"
- ]
- },
- "selectionCriteria": {
- "title": "Selection criteria",
- "description": "The minimum requirements for tenderers to participate in the contracting process. Selection criteria ensure that a tenderer has the legal and financial capacities and the technical and professional abilities to perform the contract to be awarded. More structured information can be provided using the selection criteria extension.",
- "type": [
- "string",
- "null"
- ]
- },
- "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.",
- "type": "object",
- "properties": {
- "startDate": {
- "title": "Start date",
- "description": "The start date for the period. When known, a precise start date must be provided.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
},
- "endDate": {
- "title": "End date",
- "description": "The end date for the period. When known, a precise end date must be provided.",
+ "currency": {
+ "title": "Currency",
+ "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.",
"type": [
"string",
"null"
],
- "format": "date-time"
- },
+ "codelist": "currency.csv",
+ "openCodelist": false,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFA",
+ "AFN",
+ "ALK",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "AOK",
+ "AON",
+ "AOR",
+ "ARA",
+ "ARP",
+ "ARS",
+ "ARY",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AYM",
+ "AZM",
+ "AZN",
+ "BAD",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEC",
+ "BEF",
+ "BEL",
+ "BGJ",
+ "BGK",
+ "BGL",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRB",
+ "BRC",
+ "BRE",
+ "BRL",
+ "BRN",
+ "BRR",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYB",
+ "BYN",
+ "BYR",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHC",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLF",
+ "CLP",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSD",
+ "CSJ",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESA",
+ "ESB",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHC",
+ "GHP",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNE",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILR",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISJ",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAJ",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LSM",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRO",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVQ",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXP",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZM",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIC",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEH",
+ "PEI",
+ "PEN",
+ "PES",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PLZ",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "ROK",
+ "ROL",
+ "RON",
+ "RSD",
+ "RUB",
+ "RUR",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDD",
+ "SDG",
+ "SDP",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STD",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMM",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRL",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGS",
+ "UGW",
+ "UGX",
+ "USD",
+ "USN",
+ "USS",
+ "UYI",
+ "UYN",
+ "UYP",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VEB",
+ "VEF",
+ "VES",
+ "VNC",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XBC",
+ "XBD",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "YUD",
+ "YUM",
+ "YUN",
+ "ZAL",
+ "ZAR",
+ "ZMK",
+ "ZMW",
+ "ZRN",
+ "ZRZ",
+ "ZWC",
+ "ZWD",
+ "ZWL",
+ "ZWN",
+ "ZWR",
+ null
+ ]
+ }
+ }
+ },
+ "procurementMethod": {
+ "title": "Procurement method",
+ "description": "The procurement method, from the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "method.csv",
+ "openCodelist": false,
+ "enum": [
+ "open",
+ "selective",
+ "limited",
+ "direct",
+ null
+ ]
+ },
+ "procurementMethodDetails": {
+ "title": "Procurement method details",
+ "description": "Additional detail on the procurement method used. This field can be used to provide the local name of the particular procurement method used.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "procurementMethodRationale": {
+ "title": "Procurement method rationale",
+ "description": "Rationale for the chosen procurement method. This is especially important to provide a justification in the case of limited tenders or direct awards.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mainProcurementCategory": {
+ "title": "Main procurement category",
+ "description": "The primary category describing the main object of this contracting process, from the closed [procurementCategory](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#procurement-category) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "procurementCategory.csv",
+ "openCodelist": false,
+ "enum": [
+ "goods",
+ "works",
+ "services",
+ null
+ ]
+ },
+ "additionalProcurementCategories": {
+ "title": "Additional procurement categories",
+ "description": "Any additional categories describing the objects of this contracting process, using the open [extendedProcurementCategory](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#extended-procurement-category) codelist.",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "codelist": "extendedProcurementCategory.csv",
+ "openCodelist": true
+ },
+ "awardCriteria": {
+ "title": "Award criteria",
+ "description": "The award criteria for the procurement, using the open [awardCriteria](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#award-criteria) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "awardCriteria.csv",
+ "openCodelist": true
+ },
+ "awardCriteriaDetails": {
+ "title": "Award criteria details",
+ "description": "Any detailed or further information on the award criteria.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "submissionMethod": {
+ "title": "Submission method",
+ "description": "The methods by which bids are submitted, using the open [submissionMethod](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#submission-method) codelist.",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "codelist": "submissionMethod.csv",
+ "openCodelist": true,
+ "deprecated": {
+ "description": "This field is deprecated, because all codes from the submissionMethod codelist are deprecated. Refer to the Deprecation note of individual codes.",
+ "deprecatedVersion": "1.2"
+ }
+ },
+ "submissionMethodDetails": {
+ "title": "Submission method details",
+ "description": "Any detailed or further information on the submission method. This can include the address, e-mail address or online service to which bids are submitted, and any special requirements to be followed for submissions.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "datePublished": {
+ "description": "The date on which the tender was published.",
+ "format": "date-time",
+ "title": "Date published",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "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.",
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "title": "Start date",
+ "description": "The start date for the period. When known, a precise start date must be provided.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "endDate": {
+ "title": "End date",
+ "description": "The end date for the period. When known, a precise end date must be provided.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "maxExtentDate": {
+ "description": "The period cannot be extended beyond this date. This field can be used to express the maximum available date for extension or renewal of this period.",
+ "format": "date-time",
+ "title": "Maximum extent",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "durationInDays": {
+ "description": "The maximum duration of this period in days. A user interface can collect or display this data in months or years as appropriate, and then convert it into days when storing this field. This field can be used when exact dates are not known. If a startDate and endDate are set, this field, if used, must be equal to the difference between startDate and endDate. Otherwise, if a startDate and maxExtentDate are set, this field, if used, must be equal to the difference between startDate and maxExtentDate.",
+ "title": "Duration (days)",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ }
+ },
+ "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.",
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "title": "Start date",
+ "description": "The start date for the period. When known, a precise start date must be provided.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "endDate": {
+ "title": "End date",
+ "description": "The end date for the period. When known, a precise end date must be provided.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "maxExtentDate": {
+ "description": "The period cannot be extended beyond this date. This field can be used to express the maximum available date for extension or renewal of this period.",
+ "format": "date-time",
+ "title": "Maximum extent",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "durationInDays": {
+ "description": "The maximum duration of this period in days. A user interface can collect or display this data in months or years as appropriate, and then convert it into days when storing this field. This field can be used when exact dates are not known. If a startDate and endDate are set, this field, if used, must be equal to the difference between startDate and endDate. Otherwise, if a startDate and maxExtentDate are set, this field, if used, must be equal to the difference between startDate and maxExtentDate.",
+ "title": "Duration (days)",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ }
+ },
+ "hasEnquiries": {
+ "title": "Has enquiries?",
+ "description": "A true/false field to indicate whether any enquiries were received during the tender process. Structured information on enquiries that were received, and responses to them, can be provided using the enquiries extension.",
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "eligibilityCriteria": {
+ "title": "Eligibility criteria",
+ "description": "A description of any eligibility criteria for potential suppliers.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "deprecated": {
+ "description": "This field had unclear semantics and used ambiguous terms, and is deprecated in favor of exclusionGrounds.",
+ "deprecatedVersion": "1.2"
+ }
+ },
+ "exclusionGrounds": {
+ "title": "Exclusion grounds",
+ "description": "The criteria regarding the situation of a tenderer that can lead to its exclusion from the contracting process. For example: criminal convictions, bankruptcy, presence on a blacklist or failure to pay taxes.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "selectionCriteria": {
+ "title": "Selection criteria",
+ "description": "The minimum requirements for tenderers to participate in the contracting process. Selection criteria ensure that a tenderer has the legal and financial capacities and the technical and professional abilities to perform the contract to be awarded. More structured information can be provided using the selection criteria extension.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "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.",
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "title": "Start date",
+ "description": "The start date for the period. When known, a precise start date must be provided.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "endDate": {
+ "title": "End date",
+ "description": "The end date for the period. When known, a precise end date must be provided.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
"maxExtentDate": {
"description": "The period cannot be extended beyond this date. This field can be used to express the maximum available date for extension or renewal of this period.",
"format": "date-time",
@@ -3273,118 +3603,510 @@
"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"
- ]
- }
- }
+ "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"
+ ]
+ }
+ }
+ },
+ "address": {
+ "title": "Address",
+ "description": "An address.",
+ "type": "object",
+ "properties": {
+ "streetAddress": {
+ "title": "Street address",
+ "type": [
+ "string",
+ "null"
+ ],
+ "description": "The street address. For example, 1600 Amphitheatre Pkwy."
+ },
+ "locality": {
+ "title": "Locality",
+ "type": [
+ "string",
+ "null"
+ ],
+ "description": "The locality. For example, Mountain View."
+ },
+ "region": {
+ "title": "Region",
+ "type": [
+ "string",
+ "null"
+ ],
+ "description": "The region. For example, CA."
+ },
+ "postalCode": {
+ "title": "Postal code",
+ "type": [
+ "string",
+ "null"
+ ],
+ "description": "The postal code. For example, 94043."
+ },
+ "countryName": {
+ "title": "Country name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "description": "The country name. For example, United States."
+ }
+ },
+ "patternProperties": {
+ "^(countryName_(((([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"
+ ]
+ }
+ }
+ },
+ "additionalIdentifiers": {
+ "type": "array",
+ "deprecated": {
+ "deprecatedVersion": "1.1",
+ "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and additional identifiers for an organization should be provided in the relevant cross-referenced entry in the parties section at the top level of a release."
+ },
+ "items": {
+ "title": "Identifier",
+ "description": "A unique identifier for 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"
+ ]
+ }
+ }
+ },
+ "title": "Additional identifiers",
+ "uniqueItems": true,
+ "wholeListMerge": true,
+ "description": "(Deprecated outside the parties section) A list of additional / supplemental identifiers for the organization, using the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/). This can be used to provide an internally used identifier for this organization in addition to the primary legal entity identifier."
},
- "address": {
- "title": "Address",
- "description": "An address.",
+ "contactPoint": {
+ "title": "Contact point",
"type": "object",
+ "description": "A person, contact point or department to contact in relation to this contracting process.",
"properties": {
- "streetAddress": {
- "title": "Street address",
+ "name": {
+ "title": "Name",
"type": [
"string",
"null"
],
- "description": "The street address. For example, 1600 Amphitheatre Pkwy."
+ "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process."
},
- "locality": {
- "title": "Locality",
+ "email": {
+ "title": "Email",
"type": [
"string",
"null"
],
- "description": "The locality. For example, Mountain View."
+ "description": "The e-mail address of the contact point/person."
},
- "region": {
- "title": "Region",
+ "telephone": {
+ "title": "Telephone",
"type": [
"string",
"null"
],
- "description": "The region. For example, CA."
+ "description": "The telephone number of the contact point/person. This should include the international dialing code."
},
- "postalCode": {
- "title": "Postal code",
+ "faxNumber": {
+ "title": "Fax number",
"type": [
"string",
"null"
],
- "description": "The postal code. For example, 94043."
+ "description": "The fax number of the contact point/person. This should include the international dialing code."
},
- "countryName": {
- "title": "Country name",
+ "url": {
+ "title": "URL",
"type": [
"string",
"null"
],
- "description": "The country name. For example, United States."
+ "description": "A web address for the contact point/person.",
+ "format": "uri"
}
},
"patternProperties": {
- "^(countryName_(((([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})+)))$": {
+ "^(name_(((([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"
]
}
}
+ }
+ },
+ "type": "object",
+ "description": "The id and name of the party being referenced. Used to cross-reference to the parties section",
+ "title": "Organization reference"
+ },
+ "uniqueItems": true
+ },
+ "documents": {
+ "title": "Documents",
+ "description": "Documents related to the tender stage (for example, notices, technical specifications, evaluation criteria, questions and clarifications).",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Document",
+ "description": "Links to, or descriptions of, external documents can be attached at various locations within the standard. Documents can be supporting information, formal notices, downloadable forms, or any other kind of resource that ought to be made public as part of full open contracting.",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "ID",
+ "description": "A local, unique identifier for this document. This field is used to keep track of multiple revisions of a document through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.",
+ "type": [
+ "string",
+ "integer"
+ ],
+ "minLength": 1
+ },
+ "documentType": {
+ "title": "Document type",
+ "description": "A classification of the document described, using the open [documentType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#document-type) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "documentType.csv",
+ "openCodelist": true
+ },
+ "title": {
+ "title": "Title",
+ "description": "The document title.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "title": "Description",
+ "description": "A short description of the document. Descriptions are recommended to not exceed 250 words. In the event the document is not accessible online, the description field can be used to describe arrangements for obtaining a copy of the document.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "url": {
+ "title": "URL",
+ "description": "A web address for accessing the document. The server providing access to this document ought to be configured to report the correct IANA media type. If the relevant information is within a larger document, the first page should be indicated by adding a fragment identifier to the end of the URL, such as #page=32.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "uri"
+ },
+ "datePublished": {
+ "title": "Date published",
+ "description": "The date on which the document was first published. This is particularly important for legally important documents such as notices of a tender.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "dateModified": {
+ "title": "Date modified",
+ "description": "Date that the document was last modified",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "format": {
+ "title": "Format",
+ "description": "The format of the document, using the open [media type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#media-type) codelist. For example, a web page has a format of 'text/html'. The 'offline/print' code is reserved for printed documents not available in other formats.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "mediaType.csv",
+ "openCodelist": true
+ },
+ "language": {
+ "title": "Language",
+ "description": "The language of the linked document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "language.csv",
+ "openCodelist": true
+ }
+ },
+ "patternProperties": {
+ "^(title_(((([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"
+ ]
+ },
+ "^(description_(((([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"
+ ]
+ }
+ }
+ }
+ },
+ "milestones": {
+ "title": "Milestones",
+ "description": "A list of milestones associated with the tender.",
+ "type": "array",
+ "items": {
+ "title": "Milestone",
+ "description": "The milestone block can be used to represent a wide variety of events in the lifetime of a contracting process.",
+ "type": "object",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "ID",
+ "description": "A local identifier for this milestone, unique within this block. This field is used to keep track of multiple revisions of a milestone through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.",
+ "type": [
+ "string",
+ "integer"
+ ],
+ "minLength": 1
+ },
+ "title": {
+ "title": "Title",
+ "description": "Milestone title",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "type": {
+ "title": "Milestone type",
+ "description": "The nature of the milestone, using the open [milestoneType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#milestone-type) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "milestoneType.csv",
+ "openCodelist": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "A description of the milestone.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "code": {
+ "title": "Milestone code",
+ "description": "Milestone codes can be used to track specific events that take place for a particular kind of contracting process. For example, a code of 'approvalLetter' can be used to allow applications to understand this milestone represents the date an approvalLetter is due or signed.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dueDate": {
+ "title": "Due date",
+ "description": "The date the milestone is due.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "dateMet": {
+ "format": "date-time",
+ "title": "Date met",
+ "description": "The date on which the milestone was met.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dateModified": {
+ "title": "Date modified",
+ "description": "The date the milestone was last reviewed or modified and the status was altered or confirmed to still be correct.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "status": {
+ "title": "Status",
+ "description": "The status that was realized on the date provided in `dateModified`, from the closed [milestoneStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#milestone-status) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ "scheduled",
+ "met",
+ "notMet",
+ "partiallyMet",
+ null
+ ],
+ "codelist": "milestoneStatus.csv",
+ "openCodelist": false
},
- "additionalIdentifiers": {
+ "documents": {
+ "title": "Documents",
+ "description": "List of documents associated with this milestone (Deprecated in 1.1).",
"type": "array",
"deprecated": {
"deprecatedVersion": "1.1",
- "description": "From version 1.1, organizations should be referenced by their identifier and name in a document, and additional identifiers for an organization should be provided in the relevant cross-referenced entry in the parties section at the top level of a release."
+ "description": "Inclusion of documents at the milestone level is now deprecated. Documentation should be attached in the tender, award, contract or implementation sections, and titles and descriptions used to highlight the related milestone. Publishers who wish to continue to provide documents at the milestone level should explicitly declare this by using the milestone documents extension."
},
"items": {
- "title": "Identifier",
- "description": "A unique identifier for a party (organization).",
"type": "object",
+ "title": "Document",
+ "description": "Links to, or descriptions of, external documents can be attached at various locations within the standard. Documents can be supporting information, formal notices, downloadable forms, or any other kind of resource that ought to be made public as part of full open contracting.",
+ "required": [
+ "id"
+ ],
"properties": {
- "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.",
+ "id": {
+ "title": "ID",
+ "description": "A local, unique identifier for this document. This field is used to keep track of multiple revisions of a document through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.",
+ "type": [
+ "string",
+ "integer"
+ ],
+ "minLength": 1
+ },
+ "documentType": {
+ "title": "Document type",
+ "description": "A classification of the document described, using the open [documentType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#document-type) codelist.",
"type": [
"string",
"null"
- ]
+ ],
+ "codelist": "documentType.csv",
+ "openCodelist": true
},
- "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.",
+ "title": {
+ "title": "Title",
+ "description": "The document title.",
"type": [
"string",
- "integer",
"null"
]
},
- "legalName": {
- "title": "Legal Name",
- "description": "The legally registered name of the organization.",
+ "description": {
+ "title": "Description",
+ "description": "A short description of the document. Descriptions are recommended to not exceed 250 words. In the event the document is not accessible online, the description field can be used to describe arrangements for obtaining a copy of the document.",
"type": [
"string",
"null"
]
},
- "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.",
+ "url": {
+ "title": "URL",
+ "description": "A web address for accessing the document. The server providing access to this document ought to be configured to report the correct IANA media type. If the relevant information is within a larger document, the first page should be indicated by adding a fragment identifier to the end of the URL, such as #page=32.",
"type": [
"string",
"null"
],
"format": "uri"
+ },
+ "datePublished": {
+ "title": "Date published",
+ "description": "The date on which the document was first published. This is particularly important for legally important documents such as notices of a tender.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "dateModified": {
+ "title": "Date modified",
+ "description": "Date that the document was last modified",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "format": {
+ "title": "Format",
+ "description": "The format of the document, using the open [media type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#media-type) codelist. For example, a web page has a format of 'text/html'. The 'offline/print' code is reserved for printed documents not available in other formats.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "mediaType.csv",
+ "openCodelist": true
+ },
+ "language": {
+ "title": "Language",
+ "description": "The language of the linked document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "language.csv",
+ "openCodelist": true
}
},
"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})+)))$": {
+ "^(title_(((([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"
+ ]
+ },
+ "^(description_(((([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"
@@ -3392,730 +4114,998 @@
}
}
},
- "title": "Additional identifiers",
- "uniqueItems": true,
- "wholeListMerge": true,
- "description": "(Deprecated outside the parties section) A list of additional / supplemental identifiers for the organization, using the [organization identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/). This can be used to provide an internally used identifier for this organization in addition to the primary legal entity identifier."
- },
- "contactPoint": {
- "title": "Contact point",
- "type": "object",
- "description": "A person, contact point or department to contact in relation to this contracting process.",
- "properties": {
- "name": {
- "title": "Name",
- "type": [
- "string",
- "null"
- ],
- "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process."
- },
- "email": {
- "title": "Email",
- "type": [
- "string",
- "null"
- ],
- "description": "The e-mail address of the contact point/person."
- },
- "telephone": {
- "title": "Telephone",
- "type": [
- "string",
- "null"
- ],
- "description": "The telephone number of the contact point/person. This should include the international dialing code."
- },
- "faxNumber": {
- "title": "Fax number",
- "type": [
- "string",
- "null"
- ],
- "description": "The fax number of the contact point/person. This should include the international dialing code."
- },
- "url": {
- "title": "URL",
- "type": [
- "string",
- "null"
- ],
- "description": "A web address for the contact point/person.",
- "format": "uri"
- }
- },
- "patternProperties": {
- "^(name_(((([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"
- ]
- }
- }
+ "uniqueItems": true
}
},
- "type": "object",
- "description": "The id and name of the party being referenced. Used to cross-reference to the parties section",
- "title": "Organization reference"
- },
- "uniqueItems": true
- },
- "documents": {
- "title": "Documents",
- "description": "Documents related to the tender stage (for example, notices, technical specifications, evaluation criteria, questions and clarifications).",
- "type": "array",
- "items": {
- "type": "object",
- "title": "Document",
- "description": "Links to, or descriptions of, external documents can be attached at various locations within the standard. Documents can be supporting information, formal notices, downloadable forms, or any other kind of resource that ought to be made public as part of full open contracting.",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "title": "ID",
- "description": "A local, unique identifier for this document. This field is used to keep track of multiple revisions of a document through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.",
- "type": [
- "string",
- "integer"
- ],
- "minLength": 1
- },
- "documentType": {
- "title": "Document type",
- "description": "A classification of the document described, using the open [documentType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#document-type) codelist.",
+ "patternProperties": {
+ "^(title_(((([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"
- ],
- "codelist": "documentType.csv",
- "openCodelist": true
+ ]
},
- "title": {
- "title": "Title",
- "description": "The document title.",
+ "^(description_(((([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"
]
- },
- "description": {
- "title": "Description",
- "description": "A short description of the document. Descriptions are recommended to not exceed 250 words. In the event the document is not accessible online, the description field can be used to describe arrangements for obtaining a copy of the document.",
+ }
+ }
+ }
+ },
+ "amendments": {
+ "description": "A tender amendment is a formal change to the tender, and generally involves the publication of a new tender notice/release. The rationale and a description of the changes made can be provided here.",
+ "type": "array",
+ "title": "Amendments",
+ "items": {
+ "title": "Amendment",
+ "type": "object",
+ "description": "Amendment information",
+ "properties": {
+ "date": {
+ "title": "Amendment date",
+ "description": "The date of this amendment.",
"type": [
"string",
"null"
- ]
+ ],
+ "format": "date-time"
},
- "url": {
- "title": "URL",
- "description": "A web address for accessing the document. The server providing access to this document ought to be configured to report the correct IANA media type. If the relevant information is within a larger document, the first page should be indicated by adding a fragment identifier to the end of the URL, such as #page=32.",
+ "rationale": {
+ "title": "Rationale",
+ "description": "An explanation for the amendment.",
"type": [
"string",
"null"
- ],
- "format": "uri"
+ ]
},
- "datePublished": {
- "title": "Date published",
- "description": "The date on which the document was first published. This is particularly important for legally important documents such as notices of a tender.",
+ "id": {
+ "description": "An identifier for this amendment: often the amendment number",
"type": [
"string",
"null"
],
- "format": "date-time"
+ "title": "ID"
},
- "dateModified": {
- "title": "Date modified",
- "description": "Date that the document was last modified",
+ "description": {
+ "description": "A free text, or semi-structured, description of the changes made in this amendment.",
"type": [
"string",
"null"
],
- "format": "date-time"
+ "title": "Description"
},
- "format": {
- "title": "Format",
- "description": "The format of the document, using the open [media type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#media-type) codelist. For example, a web page has a format of 'text/html'. The 'offline/print' code is reserved for printed documents not available in other formats.",
+ "amendsReleaseID": {
+ "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **before** the amendment was made.",
"type": [
"string",
"null"
],
- "codelist": "mediaType.csv",
- "openCodelist": true
+ "title": "Amended release (identifier)"
},
- "language": {
- "title": "Language",
- "description": "The language of the linked document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.",
+ "releaseID": {
+ "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **after** the amendment was made.",
"type": [
"string",
"null"
],
- "codelist": "language.csv",
- "openCodelist": true
+ "title": "Amending release (identifier)"
+ },
+ "changes": {
+ "title": "Amended fields",
+ "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "property": {
+ "title": "Property",
+ "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)",
+ "type": "string"
+ },
+ "former_value": {
+ "title": "Former Value",
+ "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)",
+ "type": [
+ "string",
+ "number",
+ "integer",
+ "array",
+ "object",
+ "null"
+ ]
+ }
+ }
+ },
+ "deprecated": {
+ "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
+ "deprecatedVersion": "1.1"
+ }
}
},
"patternProperties": {
- "^(title_(((([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})+)))$": {
+ "^(rationale_(((([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"
]
+ }
+ }
+ }
+ },
+ "amendment": {
+ "title": "Amendment",
+ "type": "object",
+ "description": "Amendment information",
+ "properties": {
+ "date": {
+ "title": "Amendment date",
+ "description": "The date of this amendment.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "rationale": {
+ "title": "Rationale",
+ "description": "An explanation for the amendment.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "description": "An identifier for this amendment: often the amendment number",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "ID"
+ },
+ "description": {
+ "description": "A free text, or semi-structured, description of the changes made in this amendment.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Description"
+ },
+ "amendsReleaseID": {
+ "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **before** the amendment was made.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Amended release (identifier)"
+ },
+ "releaseID": {
+ "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **after** the amendment was made.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Amending release (identifier)"
+ },
+ "changes": {
+ "title": "Amended fields",
+ "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "property": {
+ "title": "Property",
+ "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)",
+ "type": "string"
+ },
+ "former_value": {
+ "title": "Former Value",
+ "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)",
+ "type": [
+ "string",
+ "number",
+ "integer",
+ "array",
+ "object",
+ "null"
+ ]
+ }
+ }
},
- "^(description_(((([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"
- ]
+ "deprecated": {
+ "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
+ "deprecatedVersion": "1.1"
}
}
+ },
+ "patternProperties": {
+ "^(rationale_(((([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"
+ ]
+ }
}
+ }
+ },
+ "patternProperties": {
+ "^(title_(((([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"
+ ]
},
- "milestones": {
- "title": "Milestones",
- "description": "A list of milestones associated with the tender.",
- "type": "array",
- "items": {
- "title": "Milestone",
- "description": "The milestone block can be used to represent a wide variety of events in the lifetime of a contracting process.",
- "type": "object",
- "required": [
- "id"
+ "^(description_(((([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"
+ ]
+ },
+ "^(procurementMethodRationale_(((([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"
+ ]
+ },
+ "^(awardCriteriaDetails_(((([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"
+ ]
+ },
+ "^(submissionMethodDetails_(((([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"
+ ]
+ },
+ "^(eligibilityCriteria_(((([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"
+ ]
+ },
+ "^(selectionCriteria_(((([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"
+ ]
+ }
+ }
+ },
+ "awards": {
+ "title": "Awards",
+ "description": "Information from the award phase of the contracting process. There can be more than one award per contracting process e.g. because the contract is split among different providers, or because it is a standing offer.",
+ "type": "array",
+ "items": {
+ "title": "Award",
+ "description": "An award for the given procurement. There can be more than one award per contracting process e.g. because the contract is split among different providers, or because it is a standing offer.",
+ "type": "object",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "Award ID",
+ "description": "The identifier for this award. Although an integer is allowed, it is recommended to use a string. It must be unique and must not change within the Open Contracting Process it is part of (defined by a single ocid). See the [identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for further details.",
+ "type": [
+ "string",
+ "integer"
+ ],
+ "minLength": 1
+ },
+ "title": {
+ "title": "Title",
+ "description": "Award title",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "title": "Description",
+ "description": "Award description",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "title": "Award status",
+ "description": "The current status of the award, from the closed [awardStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#award-status) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ "pending",
+ "active",
+ "cancelled",
+ "unsuccessful",
+ null
+ ],
+ "codelist": "awardStatus.csv",
+ "openCodelist": false
+ },
+ "statusDetails": {
+ "title": "Status details",
+ "description": "Additional details on the status of the award. This field can be used to provide the local name of the status.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "date": {
+ "title": "Award date",
+ "description": "The date of the contract award. This is usually the date on which a decision to award was made.",
+ "type": [
+ "string",
+ "null"
],
+ "format": "date-time"
+ },
+ "value": {
+ "title": "Value",
+ "description": "Financial values should be published with a currency attached.",
+ "type": "object",
"properties": {
- "id": {
- "title": "ID",
- "description": "A local identifier for this milestone, unique within this block. This field is used to keep track of multiple revisions of a milestone through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.",
- "type": [
- "string",
- "integer"
- ],
- "minLength": 1
- },
- "title": {
- "title": "Title",
- "description": "Milestone title",
- "type": [
- "string",
- "null"
- ]
- },
- "type": {
- "title": "Milestone type",
- "description": "The nature of the milestone, using the open [milestoneType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#milestone-type) codelist.",
- "type": [
- "string",
- "null"
- ],
- "codelist": "milestoneType.csv",
- "openCodelist": true
- },
- "description": {
- "title": "Description",
- "description": "A description of the milestone.",
- "type": [
- "string",
- "null"
- ]
- },
- "code": {
- "title": "Milestone code",
- "description": "Milestone codes can be used to track specific events that take place for a particular kind of contracting process. For example, a code of 'approvalLetter' can be used to allow applications to understand this milestone represents the date an approvalLetter is due or signed.",
- "type": [
- "string",
- "null"
- ]
- },
- "dueDate": {
- "title": "Due date",
- "description": "The date the milestone is due.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "dateMet": {
- "format": "date-time",
- "title": "Date met",
- "description": "The date on which the milestone was met.",
+ "amount": {
+ "title": "Amount",
+ "description": "Amount as a number.",
"type": [
- "string",
+ "number",
"null"
]
},
- "dateModified": {
- "title": "Date modified",
- "description": "The date the milestone was last reviewed or modified and the status was altered or confirmed to still be correct.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "status": {
- "title": "Status",
- "description": "The status that was realized on the date provided in `dateModified`, from the closed [milestoneStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#milestone-status) codelist.",
+ "currency": {
+ "title": "Currency",
+ "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.",
"type": [
"string",
"null"
],
+ "codelist": "currency.csv",
+ "openCodelist": false,
"enum": [
- "scheduled",
- "met",
- "notMet",
- "partiallyMet",
- null
- ],
- "codelist": "milestoneStatus.csv",
- "openCodelist": false
- },
- "documents": {
- "title": "Documents",
- "description": "List of documents associated with this milestone (Deprecated in 1.1).",
- "type": "array",
- "deprecated": {
- "deprecatedVersion": "1.1",
- "description": "Inclusion of documents at the milestone level is now deprecated. Documentation should be attached in the tender, award, contract or implementation sections, and titles and descriptions used to highlight the related milestone. Publishers who wish to continue to provide documents at the milestone level should explicitly declare this by using the milestone documents extension."
- },
- "items": {
- "type": "object",
- "title": "Document",
- "description": "Links to, or descriptions of, external documents can be attached at various locations within the standard. Documents can be supporting information, formal notices, downloadable forms, or any other kind of resource that ought to be made public as part of full open contracting.",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "title": "ID",
- "description": "A local, unique identifier for this document. This field is used to keep track of multiple revisions of a document through the compilation from release to record mechanism. Although an integer is allowed, it is recommended to use a string.",
- "type": [
- "string",
- "integer"
- ],
- "minLength": 1
- },
- "documentType": {
- "title": "Document type",
- "description": "A classification of the document described, using the open [documentType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#document-type) codelist.",
- "type": [
- "string",
- "null"
- ],
- "codelist": "documentType.csv",
- "openCodelist": true
- },
- "title": {
- "title": "Title",
- "description": "The document title.",
- "type": [
- "string",
- "null"
- ]
- },
- "description": {
- "title": "Description",
- "description": "A short description of the document. Descriptions are recommended to not exceed 250 words. In the event the document is not accessible online, the description field can be used to describe arrangements for obtaining a copy of the document.",
- "type": [
- "string",
- "null"
- ]
- },
- "url": {
- "title": "URL",
- "description": "A web address for accessing the document. The server providing access to this document ought to be configured to report the correct IANA media type. If the relevant information is within a larger document, the first page should be indicated by adding a fragment identifier to the end of the URL, such as #page=32.",
- "type": [
- "string",
- "null"
- ],
- "format": "uri"
- },
- "datePublished": {
- "title": "Date published",
- "description": "The date on which the document was first published. This is particularly important for legally important documents such as notices of a tender.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "dateModified": {
- "title": "Date modified",
- "description": "Date that the document was last modified",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "format": {
- "title": "Format",
- "description": "The format of the document, using the open [media type](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#media-type) codelist. For example, a web page has a format of 'text/html'. The 'offline/print' code is reserved for printed documents not available in other formats.",
- "type": [
- "string",
- "null"
- ],
- "codelist": "mediaType.csv",
- "openCodelist": true
- },
- "language": {
- "title": "Language",
- "description": "The language of the linked document, from the open [language](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#language) codelist. A [BCP47 language tag](https://www.w3.org/International/articles/language-tags/) is allowed, if there is a user need for the additional information.",
- "type": [
- "string",
- "null"
- ],
- "codelist": "language.csv",
- "openCodelist": true
- }
- },
- "patternProperties": {
- "^(title_(((([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"
- ]
- },
- "^(description_(((([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"
- ]
- }
- }
- },
- "uniqueItems": true
- }
- },
- "patternProperties": {
- "^(title_(((([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"
- ]
- },
- "^(description_(((([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"
+ "ADP",
+ "AED",
+ "AFA",
+ "AFN",
+ "ALK",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "AOK",
+ "AON",
+ "AOR",
+ "ARA",
+ "ARP",
+ "ARS",
+ "ARY",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AYM",
+ "AZM",
+ "AZN",
+ "BAD",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEC",
+ "BEF",
+ "BEL",
+ "BGJ",
+ "BGK",
+ "BGL",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRB",
+ "BRC",
+ "BRE",
+ "BRL",
+ "BRN",
+ "BRR",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYB",
+ "BYN",
+ "BYR",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHC",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLF",
+ "CLP",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSD",
+ "CSJ",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESA",
+ "ESB",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHC",
+ "GHP",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNE",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILR",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISJ",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAJ",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LSM",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRO",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVQ",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXP",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZM",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIC",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEH",
+ "PEI",
+ "PEN",
+ "PES",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PLZ",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "ROK",
+ "ROL",
+ "RON",
+ "RSD",
+ "RUB",
+ "RUR",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDD",
+ "SDG",
+ "SDP",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STD",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMM",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRL",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGS",
+ "UGW",
+ "UGX",
+ "USD",
+ "USN",
+ "USS",
+ "UYI",
+ "UYN",
+ "UYP",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VEB",
+ "VEF",
+ "VES",
+ "VNC",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XBC",
+ "XBD",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "YUD",
+ "YUM",
+ "YUN",
+ "ZAL",
+ "ZAR",
+ "ZMK",
+ "ZMW",
+ "ZRN",
+ "ZRZ",
+ "ZWC",
+ "ZWD",
+ "ZWL",
+ "ZWN",
+ "ZWR",
+ null
]
}
}
- }
- },
- "amendments": {
- "description": "A tender amendment is a formal change to the tender, and generally involves the publication of a new tender notice/release. The rationale and a description of the changes made can be provided here.",
- "type": "array",
- "title": "Amendments",
- "items": {
- "title": "Amendment",
+ },
+ "maximumValue": {
+ "title": "Value",
+ "description": "Financial values should be published with a currency attached.",
"type": "object",
- "description": "Amendment information",
"properties": {
- "date": {
- "title": "Amendment date",
- "description": "The date of this amendment.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "rationale": {
- "title": "Rationale",
- "description": "An explanation for the amendment.",
+ "amount": {
+ "title": "Amount",
+ "description": "Amount as a number.",
"type": [
- "string",
+ "number",
"null"
]
},
- "id": {
- "description": "An identifier for this amendment: often the amendment number",
- "type": [
- "string",
- "null"
- ],
- "title": "ID"
- },
- "description": {
- "description": "A free text, or semi-structured, description of the changes made in this amendment.",
- "type": [
- "string",
- "null"
- ],
- "title": "Description"
- },
- "amendsReleaseID": {
- "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **before** the amendment was made.",
- "type": [
- "string",
- "null"
- ],
- "title": "Amended release (identifier)"
- },
- "releaseID": {
- "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **after** the amendment was made.",
+ "currency": {
+ "title": "Currency",
+ "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.",
"type": [
"string",
"null"
],
- "title": "Amending release (identifier)"
- },
- "changes": {
- "title": "Amended fields",
- "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "property": {
- "title": "Property",
- "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)",
- "type": "string"
- },
- "former_value": {
- "title": "Former Value",
- "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)",
- "type": [
- "string",
- "number",
- "integer",
- "array",
- "object",
- "null"
- ]
- }
- }
- },
- "deprecated": {
- "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
- "deprecatedVersion": "1.1"
- }
- }
- },
- "patternProperties": {
- "^(rationale_(((([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"
- ]
- }
- }
- }
- },
- "amendment": {
- "title": "Amendment",
- "type": "object",
- "description": "Amendment information",
- "properties": {
- "date": {
- "title": "Amendment date",
- "description": "The date of this amendment.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "rationale": {
- "title": "Rationale",
- "description": "An explanation for the amendment.",
- "type": [
- "string",
- "null"
- ]
- },
- "id": {
- "description": "An identifier for this amendment: often the amendment number",
- "type": [
- "string",
- "null"
- ],
- "title": "ID"
- },
- "description": {
- "description": "A free text, or semi-structured, description of the changes made in this amendment.",
- "type": [
- "string",
- "null"
- ],
- "title": "Description"
- },
- "amendsReleaseID": {
- "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **before** the amendment was made.",
- "type": [
- "string",
- "null"
- ],
- "title": "Amended release (identifier)"
- },
- "releaseID": {
- "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **after** the amendment was made.",
- "type": [
- "string",
- "null"
- ],
- "title": "Amending release (identifier)"
- },
- "changes": {
- "title": "Amended fields",
- "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "property": {
- "title": "Property",
- "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)",
- "type": "string"
- },
- "former_value": {
- "title": "Former Value",
- "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)",
- "type": [
- "string",
- "number",
- "integer",
- "array",
- "object",
- "null"
- ]
- }
- }
- },
- "deprecated": {
- "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
- "deprecatedVersion": "1.1"
+ "codelist": "currency.csv",
+ "openCodelist": false,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFA",
+ "AFN",
+ "ALK",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "AOK",
+ "AON",
+ "AOR",
+ "ARA",
+ "ARP",
+ "ARS",
+ "ARY",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AYM",
+ "AZM",
+ "AZN",
+ "BAD",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEC",
+ "BEF",
+ "BEL",
+ "BGJ",
+ "BGK",
+ "BGL",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRB",
+ "BRC",
+ "BRE",
+ "BRL",
+ "BRN",
+ "BRR",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYB",
+ "BYN",
+ "BYR",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHC",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLF",
+ "CLP",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSD",
+ "CSJ",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESA",
+ "ESB",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHC",
+ "GHP",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNE",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILR",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISJ",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAJ",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LSM",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRO",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVQ",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXP",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZM",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIC",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEH",
+ "PEI",
+ "PEN",
+ "PES",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PLZ",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "ROK",
+ "ROL",
+ "RON",
+ "RSD",
+ "RUB",
+ "RUR",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDD",
+ "SDG",
+ "SDP",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STD",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMM",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRL",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGS",
+ "UGW",
+ "UGX",
+ "USD",
+ "USN",
+ "USS",
+ "UYI",
+ "UYN",
+ "UYP",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VEB",
+ "VEF",
+ "VES",
+ "VNC",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XBC",
+ "XBD",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "YUD",
+ "YUM",
+ "YUN",
+ "ZAL",
+ "ZAR",
+ "ZMK",
+ "ZMW",
+ "ZRN",
+ "ZRZ",
+ "ZWC",
+ "ZWD",
+ "ZWL",
+ "ZWN",
+ "ZWR",
+ null
+ ]
}
}
},
- "patternProperties": {
- "^(rationale_(((([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"
- ]
- }
- }
- }
- },
- "patternProperties": {
- "^(title_(((([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"
- ]
- },
- "^(description_(((([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"
- ]
- },
- "^(procurementMethodRationale_(((([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"
- ]
- },
- "^(awardCriteriaDetails_(((([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"
- ]
- },
- "^(submissionMethodDetails_(((([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"
- ]
- },
- "^(eligibilityCriteria_(((([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"
- ]
- },
- "^(selectionCriteria_(((([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"
- ]
- }
- }
- },
- "awards": {
- "title": "Awards",
- "description": "Information from the award phase of the contracting process. There can be more than one award per contracting process e.g. because the contract is split among different providers, or because it is a standing offer.",
- "type": "array",
- "items": {
- "title": "Award",
- "description": "An award for the given procurement. There can be more than one award per contracting process e.g. because the contract is split among different providers, or because it is a standing offer.",
- "type": "object",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "title": "Award ID",
- "description": "The identifier for this award. Although an integer is allowed, it is recommended to use a string. It must be unique and must not change within the Open Contracting Process it is part of (defined by a single ocid). See the [identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for further details.",
- "type": [
- "string",
- "integer"
- ],
- "minLength": 1
- },
- "title": {
- "title": "Title",
- "description": "Award title",
- "type": [
- "string",
- "null"
- ]
- },
- "description": {
- "title": "Description",
- "description": "Award description",
- "type": [
- "string",
- "null"
- ]
- },
- "status": {
- "title": "Award status",
- "description": "The current status of the award, from the closed [awardStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#award-status) codelist.",
- "type": [
- "string",
- "null"
- ],
- "enum": [
- "pending",
- "active",
- "cancelled",
- "unsuccessful",
- null
- ],
- "codelist": "awardStatus.csv",
- "openCodelist": false
- },
- "statusDetails": {
- "title": "Status details",
- "description": "Additional details on the status of the award. This field can be used to provide the local name of the status.",
- "type": [
- "string",
- "null"
- ]
- },
- "date": {
- "title": "Award date",
- "description": "The date of the contract award. This is usually the date on which a decision to award was made.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "value": {
+ "estimatedValue": {
"title": "Value",
"description": "Financial values should be published with a currency attached.",
"type": "object",
@@ -5518,213 +6508,873 @@
}
}
},
- "patternProperties": {
- "^(rationale_(((([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"
- ]
- }
+ "patternProperties": {
+ "^(rationale_(((([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"
+ ]
+ }
+ }
+ }
+ },
+ "amendment": {
+ "title": "Amendment",
+ "type": "object",
+ "description": "Amendment information",
+ "properties": {
+ "date": {
+ "title": "Amendment date",
+ "description": "The date of this amendment.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "rationale": {
+ "title": "Rationale",
+ "description": "An explanation for the amendment.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "description": "An identifier for this amendment: often the amendment number",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "ID"
+ },
+ "description": {
+ "description": "A free text, or semi-structured, description of the changes made in this amendment.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Description"
+ },
+ "amendsReleaseID": {
+ "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **before** the amendment was made.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Amended release (identifier)"
+ },
+ "releaseID": {
+ "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **after** the amendment was made.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Amending release (identifier)"
+ },
+ "changes": {
+ "title": "Amended fields",
+ "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "property": {
+ "title": "Property",
+ "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)",
+ "type": "string"
+ },
+ "former_value": {
+ "title": "Former Value",
+ "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)",
+ "type": [
+ "string",
+ "number",
+ "integer",
+ "array",
+ "object",
+ "null"
+ ]
+ }
+ }
+ },
+ "deprecated": {
+ "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
+ "deprecatedVersion": "1.1"
+ }
+ }
+ },
+ "patternProperties": {
+ "^(rationale_(((([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"
+ ]
+ }
+ }
+ }
+ },
+ "patternProperties": {
+ "^(title_(((([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"
+ ]
+ },
+ "^(description_(((([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"
+ ]
+ }
+ }
+ },
+ "uniqueItems": true
+ },
+ "contracts": {
+ "title": "Contracts",
+ "description": "Information from the contract creation and implementation phase of the contracting process.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Contract",
+ "description": "Information regarding the contract, typically between the buyer and supplier. This includes contracts describing all the contractual conditions (e.g. item, quantity, price, payment terms, time and place of delivery), as well as contracts only describing the general contractual conditions (such as a framework agreement) and those only describing the specific contractual conditions (such as a contract within a framework agreement). Communication between contractual parties that consists of minor specifications of conditions agreed previously (e.g. specifying the time or place of delivery) is not considered a contract. Amendments are considered as part of the contract that is being amended. Contracts are also used when giving prizes or other rewards (e.g. a follow-up contract) resulting from a design contest.",
+ "required": [
+ "id",
+ "awardID"
+ ],
+ "properties": {
+ "id": {
+ "title": "Contract ID",
+ "description": "The identifier for this contract. Although an integer is allowed, it is recommended to use a string. It must be unique and must not change within the Open Contracting Process it is part of (defined by a single ocid). See the [identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for further details.",
+ "type": [
+ "string",
+ "integer"
+ ],
+ "minLength": 1
+ },
+ "awardID": {
+ "title": "Award ID",
+ "description": "The award.id against which this contract is being issued.",
+ "type": [
+ "string",
+ "integer"
+ ],
+ "minLength": 1
+ },
+ "title": {
+ "title": "Contract title",
+ "description": "Contract title",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "title": "Contract description",
+ "description": "Contract description",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "title": "Contract status",
+ "description": "The current status of the contract, from the closed [contractStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#contract-status) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ "pending",
+ "active",
+ "cancelled",
+ "terminated",
+ "terminatedEarly",
+ "terminatedSuccessfully",
+ null
+ ],
+ "codelist": "contractStatus.csv",
+ "openCodelist": false
+ },
+ "statusDetails": {
+ "title": "Status details",
+ "description": "Additional details on the status of the contract. This field can be used to provide the local name of the status.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dateSigned": {
+ "title": "Date concluded",
+ "description": "The date the contract was concluded. Typically, this is the date when the last buyer or supplier signed the contract. However, if no contract is signed, then the date of contract conclusion may correspond to other dates (e.g. the date when the buyer notified the supplier, which had the legal effect of concluding the contract).",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "value": {
+ "title": "Value",
+ "description": "Financial values should be published with a currency attached.",
+ "type": "object",
+ "properties": {
+ "amount": {
+ "title": "Amount",
+ "description": "Amount as a number.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "currency": {
+ "title": "Currency",
+ "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "currency.csv",
+ "openCodelist": false,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFA",
+ "AFN",
+ "ALK",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "AOK",
+ "AON",
+ "AOR",
+ "ARA",
+ "ARP",
+ "ARS",
+ "ARY",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AYM",
+ "AZM",
+ "AZN",
+ "BAD",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEC",
+ "BEF",
+ "BEL",
+ "BGJ",
+ "BGK",
+ "BGL",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRB",
+ "BRC",
+ "BRE",
+ "BRL",
+ "BRN",
+ "BRR",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYB",
+ "BYN",
+ "BYR",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHC",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLF",
+ "CLP",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSD",
+ "CSJ",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESA",
+ "ESB",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHC",
+ "GHP",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNE",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILR",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISJ",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAJ",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LSM",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRO",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVQ",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXP",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZM",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIC",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEH",
+ "PEI",
+ "PEN",
+ "PES",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PLZ",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "ROK",
+ "ROL",
+ "RON",
+ "RSD",
+ "RUB",
+ "RUR",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDD",
+ "SDG",
+ "SDP",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STD",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMM",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRL",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGS",
+ "UGW",
+ "UGX",
+ "USD",
+ "USN",
+ "USS",
+ "UYI",
+ "UYN",
+ "UYP",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VEB",
+ "VEF",
+ "VES",
+ "VNC",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XBC",
+ "XBD",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "YUD",
+ "YUM",
+ "YUN",
+ "ZAL",
+ "ZAR",
+ "ZMK",
+ "ZMW",
+ "ZRN",
+ "ZRZ",
+ "ZWC",
+ "ZWD",
+ "ZWL",
+ "ZWN",
+ "ZWR",
+ null
+ ]
}
}
},
- "amendment": {
- "title": "Amendment",
+ "maximumValue": {
+ "title": "Value",
+ "description": "Financial values should be published with a currency attached.",
"type": "object",
- "description": "Amendment information",
"properties": {
- "date": {
- "title": "Amendment date",
- "description": "The date of this amendment.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "rationale": {
- "title": "Rationale",
- "description": "An explanation for the amendment.",
+ "amount": {
+ "title": "Amount",
+ "description": "Amount as a number.",
"type": [
- "string",
+ "number",
"null"
]
},
- "id": {
- "description": "An identifier for this amendment: often the amendment number",
- "type": [
- "string",
- "null"
- ],
- "title": "ID"
- },
- "description": {
- "description": "A free text, or semi-structured, description of the changes made in this amendment.",
- "type": [
- "string",
- "null"
- ],
- "title": "Description"
- },
- "amendsReleaseID": {
- "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **before** the amendment was made.",
- "type": [
- "string",
- "null"
- ],
- "title": "Amended release (identifier)"
- },
- "releaseID": {
- "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **after** the amendment was made.",
+ "currency": {
+ "title": "Currency",
+ "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.",
"type": [
"string",
"null"
],
- "title": "Amending release (identifier)"
- },
- "changes": {
- "title": "Amended fields",
- "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "property": {
- "title": "Property",
- "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)",
- "type": "string"
- },
- "former_value": {
- "title": "Former Value",
- "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)",
- "type": [
- "string",
- "number",
- "integer",
- "array",
- "object",
- "null"
- ]
- }
- }
- },
- "deprecated": {
- "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
- "deprecatedVersion": "1.1"
- }
- }
- },
- "patternProperties": {
- "^(rationale_(((([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"
+ "codelist": "currency.csv",
+ "openCodelist": false,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFA",
+ "AFN",
+ "ALK",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "AOK",
+ "AON",
+ "AOR",
+ "ARA",
+ "ARP",
+ "ARS",
+ "ARY",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AYM",
+ "AZM",
+ "AZN",
+ "BAD",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEC",
+ "BEF",
+ "BEL",
+ "BGJ",
+ "BGK",
+ "BGL",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRB",
+ "BRC",
+ "BRE",
+ "BRL",
+ "BRN",
+ "BRR",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYB",
+ "BYN",
+ "BYR",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHC",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLF",
+ "CLP",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSD",
+ "CSJ",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESA",
+ "ESB",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHC",
+ "GHP",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNE",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILR",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISJ",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAJ",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LSM",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRO",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVQ",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXP",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZM",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIC",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEH",
+ "PEI",
+ "PEN",
+ "PES",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PLZ",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "ROK",
+ "ROL",
+ "RON",
+ "RSD",
+ "RUB",
+ "RUR",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDD",
+ "SDG",
+ "SDP",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STD",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMM",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRL",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGS",
+ "UGW",
+ "UGX",
+ "USD",
+ "USN",
+ "USS",
+ "UYI",
+ "UYN",
+ "UYP",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VEB",
+ "VEF",
+ "VES",
+ "VNC",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XBC",
+ "XBD",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "YUD",
+ "YUM",
+ "YUN",
+ "ZAL",
+ "ZAR",
+ "ZMK",
+ "ZMW",
+ "ZRN",
+ "ZRZ",
+ "ZWC",
+ "ZWD",
+ "ZWL",
+ "ZWN",
+ "ZWR",
+ null
]
}
}
- }
- },
- "patternProperties": {
- "^(title_(((([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"
- ]
- },
- "^(description_(((([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"
- ]
- }
- }
- },
- "uniqueItems": true
- },
- "contracts": {
- "title": "Contracts",
- "description": "Information from the contract creation phase of the procurement process.",
- "type": "array",
- "items": {
- "type": "object",
- "title": "Contract",
- "description": "Information regarding the signed contract between the buyer and supplier(s).",
- "required": [
- "id",
- "awardID"
- ],
- "properties": {
- "id": {
- "title": "Contract ID",
- "description": "The identifier for this contract. Although an integer is allowed, it is recommended to use a string. It must be unique and must not change within the Open Contracting Process it is part of (defined by a single ocid). See the [identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for further details.",
- "type": [
- "string",
- "integer"
- ],
- "minLength": 1
- },
- "awardID": {
- "title": "Award ID",
- "description": "The award.id against which this contract is being issued.",
- "type": [
- "string",
- "integer"
- ],
- "minLength": 1
- },
- "title": {
- "title": "Contract title",
- "description": "Contract title",
- "type": [
- "string",
- "null"
- ]
- },
- "description": {
- "title": "Contract description",
- "description": "Contract description",
- "type": [
- "string",
- "null"
- ]
- },
- "status": {
- "title": "Contract status",
- "description": "The current status of the contract, from the closed [contractStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#contract-status) codelist.",
- "type": [
- "string",
- "null"
- ],
- "enum": [
- "pending",
- "active",
- "cancelled",
- "terminated",
- "terminatedEarly",
- "terminatedSuccessfully",
- null
- ],
- "codelist": "contractStatus.csv",
- "openCodelist": false
- },
- "statusDetails": {
- "title": "Status details",
- "description": "Additional details on the status of the contract. This field can be used to provide the local name of the status.",
- "type": [
- "string",
- "null"
- ]
- },
- "dateSigned": {
- "title": "Date signed",
- "description": "The date the contract was signed. In the case of multiple signatures, the date of the last signature.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
},
- "value": {
+ "estimatedValue": {
"title": "Value",
"description": "Financial values should be published with a currency attached.",
"type": "object",
@@ -10719,10 +12369,340 @@
]
}
}
- },
- "uniqueItems": true
+ },
+ "uniqueItems": true
+ },
+ "value": {
+ "title": "Value",
+ "description": "Financial values should be published with a currency attached.",
+ "type": "object",
+ "properties": {
+ "amount": {
+ "title": "Amount",
+ "description": "Amount as a number.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "currency": {
+ "title": "Currency",
+ "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "currency.csv",
+ "openCodelist": false,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFA",
+ "AFN",
+ "ALK",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "AOK",
+ "AON",
+ "AOR",
+ "ARA",
+ "ARP",
+ "ARS",
+ "ARY",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AYM",
+ "AZM",
+ "AZN",
+ "BAD",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEC",
+ "BEF",
+ "BEL",
+ "BGJ",
+ "BGK",
+ "BGL",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRB",
+ "BRC",
+ "BRE",
+ "BRL",
+ "BRN",
+ "BRR",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYB",
+ "BYN",
+ "BYR",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHC",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLF",
+ "CLP",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSD",
+ "CSJ",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESA",
+ "ESB",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHC",
+ "GHP",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNE",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILR",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISJ",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAJ",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LSM",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRO",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVQ",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXP",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZM",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIC",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEH",
+ "PEI",
+ "PEN",
+ "PES",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PLZ",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "ROK",
+ "ROL",
+ "RON",
+ "RSD",
+ "RUB",
+ "RUR",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDD",
+ "SDG",
+ "SDP",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STD",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMM",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRL",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGS",
+ "UGW",
+ "UGX",
+ "USD",
+ "USN",
+ "USS",
+ "UYI",
+ "UYN",
+ "UYP",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VEB",
+ "VEF",
+ "VES",
+ "VNC",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XBC",
+ "XBD",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "YUD",
+ "YUM",
+ "YUN",
+ "ZAL",
+ "ZAR",
+ "ZMK",
+ "ZMW",
+ "ZRN",
+ "ZRZ",
+ "ZWC",
+ "ZWD",
+ "ZWL",
+ "ZWN",
+ "ZWR",
+ null
+ ]
+ }
+ }
},
- "value": {
+ "minValue": {
"title": "Value",
"description": "Financial values should be published with a currency attached.",
"type": "object",
@@ -11052,7 +13032,7 @@
}
}
},
- "minValue": {
+ "maximumValue": {
"title": "Value",
"description": "Financial values should be published with a currency attached.",
"type": "object",
@@ -12384,232 +14364,892 @@
]
}
}
- },
- "deprecated": {
- "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
- "deprecatedVersion": "1.1"
+ },
+ "deprecated": {
+ "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
+ "deprecatedVersion": "1.1"
+ }
+ }
+ },
+ "patternProperties": {
+ "^(rationale_(((([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"
+ ]
+ }
+ }
+ }
+ },
+ "amendment": {
+ "title": "Amendment",
+ "type": "object",
+ "description": "Amendment information",
+ "properties": {
+ "date": {
+ "title": "Amendment date",
+ "description": "The date of this amendment.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "rationale": {
+ "title": "Rationale",
+ "description": "An explanation for the amendment.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "description": "An identifier for this amendment: often the amendment number",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "ID"
+ },
+ "description": {
+ "description": "A free text, or semi-structured, description of the changes made in this amendment.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Description"
+ },
+ "amendsReleaseID": {
+ "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **before** the amendment was made.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Amended release (identifier)"
+ },
+ "releaseID": {
+ "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **after** the amendment was made.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Amending release (identifier)"
+ },
+ "changes": {
+ "title": "Amended fields",
+ "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "property": {
+ "title": "Property",
+ "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)",
+ "type": "string"
+ },
+ "former_value": {
+ "title": "Former Value",
+ "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)",
+ "type": [
+ "string",
+ "number",
+ "integer",
+ "array",
+ "object",
+ "null"
+ ]
+ }
}
+ },
+ "deprecated": {
+ "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
+ "deprecatedVersion": "1.1"
}
+ }
+ },
+ "patternProperties": {
+ "^(rationale_(((([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"
+ ]
+ }
+ }
+ }
+ },
+ "patternProperties": {
+ "^(title_(((([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"
+ ]
+ },
+ "^(description_(((([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"
+ ]
+ },
+ "^(procurementMethodRationale_(((([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"
+ ]
+ },
+ "^(awardCriteriaDetails_(((([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"
+ ]
+ },
+ "^(submissionMethodDetails_(((([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"
+ ]
+ },
+ "^(eligibilityCriteria_(((([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"
+ ]
+ },
+ "^(selectionCriteria_(((([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"
+ ]
+ }
+ }
+ },
+ "Award": {
+ "title": "Award",
+ "description": "An award for the given procurement. There can be more than one award per contracting process e.g. because the contract is split among different providers, or because it is a standing offer.",
+ "type": "object",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "Award ID",
+ "description": "The identifier for this award. Although an integer is allowed, it is recommended to use a string. It must be unique and must not change within the Open Contracting Process it is part of (defined by a single ocid). See the [identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for further details.",
+ "type": [
+ "string",
+ "integer"
+ ],
+ "minLength": 1
+ },
+ "title": {
+ "title": "Title",
+ "description": "Award title",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "title": "Description",
+ "description": "Award description",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "title": "Award status",
+ "description": "The current status of the award, from the closed [awardStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#award-status) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ "pending",
+ "active",
+ "cancelled",
+ "unsuccessful",
+ null
+ ],
+ "codelist": "awardStatus.csv",
+ "openCodelist": false
+ },
+ "statusDetails": {
+ "title": "Status details",
+ "description": "Additional details on the status of the award. This field can be used to provide the local name of the status.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "date": {
+ "title": "Award date",
+ "description": "The date of the contract award. This is usually the date on which a decision to award was made.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "value": {
+ "title": "Value",
+ "description": "Financial values should be published with a currency attached.",
+ "type": "object",
+ "properties": {
+ "amount": {
+ "title": "Amount",
+ "description": "Amount as a number.",
+ "type": [
+ "number",
+ "null"
+ ]
},
- "patternProperties": {
- "^(rationale_(((([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"
- ]
- }
+ "currency": {
+ "title": "Currency",
+ "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "currency.csv",
+ "openCodelist": false,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFA",
+ "AFN",
+ "ALK",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "AOK",
+ "AON",
+ "AOR",
+ "ARA",
+ "ARP",
+ "ARS",
+ "ARY",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AYM",
+ "AZM",
+ "AZN",
+ "BAD",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEC",
+ "BEF",
+ "BEL",
+ "BGJ",
+ "BGK",
+ "BGL",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRB",
+ "BRC",
+ "BRE",
+ "BRL",
+ "BRN",
+ "BRR",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYB",
+ "BYN",
+ "BYR",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHC",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLF",
+ "CLP",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSD",
+ "CSJ",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESA",
+ "ESB",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHC",
+ "GHP",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNE",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILR",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISJ",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAJ",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LSM",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRO",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVQ",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXP",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZM",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIC",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEH",
+ "PEI",
+ "PEN",
+ "PES",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PLZ",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "ROK",
+ "ROL",
+ "RON",
+ "RSD",
+ "RUB",
+ "RUR",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDD",
+ "SDG",
+ "SDP",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STD",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMM",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRL",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGS",
+ "UGW",
+ "UGX",
+ "USD",
+ "USN",
+ "USS",
+ "UYI",
+ "UYN",
+ "UYP",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VEB",
+ "VEF",
+ "VES",
+ "VNC",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XBC",
+ "XBD",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "YUD",
+ "YUM",
+ "YUN",
+ "ZAL",
+ "ZAR",
+ "ZMK",
+ "ZMW",
+ "ZRN",
+ "ZRZ",
+ "ZWC",
+ "ZWD",
+ "ZWL",
+ "ZWN",
+ "ZWR",
+ null
+ ]
}
}
},
- "amendment": {
- "title": "Amendment",
+ "maximumValue": {
+ "title": "Value",
+ "description": "Financial values should be published with a currency attached.",
"type": "object",
- "description": "Amendment information",
"properties": {
- "date": {
- "title": "Amendment date",
- "description": "The date of this amendment.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "rationale": {
- "title": "Rationale",
- "description": "An explanation for the amendment.",
+ "amount": {
+ "title": "Amount",
+ "description": "Amount as a number.",
"type": [
- "string",
+ "number",
"null"
]
},
- "id": {
- "description": "An identifier for this amendment: often the amendment number",
- "type": [
- "string",
- "null"
- ],
- "title": "ID"
- },
- "description": {
- "description": "A free text, or semi-structured, description of the changes made in this amendment.",
- "type": [
- "string",
- "null"
- ],
- "title": "Description"
- },
- "amendsReleaseID": {
- "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **before** the amendment was made.",
- "type": [
- "string",
- "null"
- ],
- "title": "Amended release (identifier)"
- },
- "releaseID": {
- "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **after** the amendment was made.",
+ "currency": {
+ "title": "Currency",
+ "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.",
"type": [
"string",
"null"
],
- "title": "Amending release (identifier)"
- },
- "changes": {
- "title": "Amended fields",
- "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "property": {
- "title": "Property",
- "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)",
- "type": "string"
- },
- "former_value": {
- "title": "Former Value",
- "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)",
- "type": [
- "string",
- "number",
- "integer",
- "array",
- "object",
- "null"
- ]
- }
- }
- },
- "deprecated": {
- "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
- "deprecatedVersion": "1.1"
- }
- }
- },
- "patternProperties": {
- "^(rationale_(((([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"
- ]
- }
- }
- }
- },
- "patternProperties": {
- "^(title_(((([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"
- ]
- },
- "^(description_(((([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"
- ]
- },
- "^(procurementMethodRationale_(((([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"
- ]
- },
- "^(awardCriteriaDetails_(((([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"
- ]
- },
- "^(submissionMethodDetails_(((([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"
- ]
- },
- "^(eligibilityCriteria_(((([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"
- ]
- },
- "^(selectionCriteria_(((([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"
- ]
- }
- }
- },
- "Award": {
- "title": "Award",
- "description": "An award for the given procurement. There can be more than one award per contracting process e.g. because the contract is split among different providers, or because it is a standing offer.",
- "type": "object",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "title": "Award ID",
- "description": "The identifier for this award. Although an integer is allowed, it is recommended to use a string. It must be unique and must not change within the Open Contracting Process it is part of (defined by a single ocid). See the [identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for further details.",
- "type": [
- "string",
- "integer"
- ],
- "minLength": 1
- },
- "title": {
- "title": "Title",
- "description": "Award title",
- "type": [
- "string",
- "null"
- ]
- },
- "description": {
- "title": "Description",
- "description": "Award description",
- "type": [
- "string",
- "null"
- ]
- },
- "status": {
- "title": "Award status",
- "description": "The current status of the award, from the closed [awardStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#award-status) codelist.",
- "type": [
- "string",
- "null"
- ],
- "enum": [
- "pending",
- "active",
- "cancelled",
- "unsuccessful",
- null
- ],
- "codelist": "awardStatus.csv",
- "openCodelist": false
- },
- "statusDetails": {
- "title": "Status details",
- "description": "Additional details on the status of the award. This field can be used to provide the local name of the status.",
- "type": [
- "string",
- "null"
- ]
- },
- "date": {
- "title": "Award date",
- "description": "The date of the contract award. This is usually the date on which a decision to award was made.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
+ "codelist": "currency.csv",
+ "openCodelist": false,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFA",
+ "AFN",
+ "ALK",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "AOK",
+ "AON",
+ "AOR",
+ "ARA",
+ "ARP",
+ "ARS",
+ "ARY",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AYM",
+ "AZM",
+ "AZN",
+ "BAD",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEC",
+ "BEF",
+ "BEL",
+ "BGJ",
+ "BGK",
+ "BGL",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRB",
+ "BRC",
+ "BRE",
+ "BRL",
+ "BRN",
+ "BRR",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYB",
+ "BYN",
+ "BYR",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHC",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLF",
+ "CLP",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSD",
+ "CSJ",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESA",
+ "ESB",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHC",
+ "GHP",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNE",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILR",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISJ",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAJ",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LSM",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRO",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVQ",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXP",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZM",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIC",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEH",
+ "PEI",
+ "PEN",
+ "PES",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PLZ",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "ROK",
+ "ROL",
+ "RON",
+ "RSD",
+ "RUB",
+ "RUR",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDD",
+ "SDG",
+ "SDP",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STD",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMM",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRL",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGS",
+ "UGW",
+ "UGX",
+ "USD",
+ "USN",
+ "USS",
+ "UYI",
+ "UYN",
+ "UYP",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VEB",
+ "VEF",
+ "VES",
+ "VNC",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XBC",
+ "XBD",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "YUD",
+ "YUM",
+ "YUN",
+ "ZAL",
+ "ZAR",
+ "ZMK",
+ "ZMW",
+ "ZRN",
+ "ZRZ",
+ "ZWC",
+ "ZWD",
+ "ZWL",
+ "ZWN",
+ "ZWR",
+ null
+ ]
+ }
+ }
},
- "value": {
+ "estimatedValue": {
"title": "Value",
"description": "Financial values should be published with a currency attached.",
"type": "object",
@@ -14022,197 +16662,857 @@
}
}
},
- "amendment": {
- "title": "Amendment",
+ "amendment": {
+ "title": "Amendment",
+ "type": "object",
+ "description": "Amendment information",
+ "properties": {
+ "date": {
+ "title": "Amendment date",
+ "description": "The date of this amendment.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "rationale": {
+ "title": "Rationale",
+ "description": "An explanation for the amendment.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "description": "An identifier for this amendment: often the amendment number",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "ID"
+ },
+ "description": {
+ "description": "A free text, or semi-structured, description of the changes made in this amendment.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Description"
+ },
+ "amendsReleaseID": {
+ "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **before** the amendment was made.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Amended release (identifier)"
+ },
+ "releaseID": {
+ "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **after** the amendment was made.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "title": "Amending release (identifier)"
+ },
+ "changes": {
+ "title": "Amended fields",
+ "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "property": {
+ "title": "Property",
+ "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)",
+ "type": "string"
+ },
+ "former_value": {
+ "title": "Former Value",
+ "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)",
+ "type": [
+ "string",
+ "number",
+ "integer",
+ "array",
+ "object",
+ "null"
+ ]
+ }
+ }
+ },
+ "deprecated": {
+ "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
+ "deprecatedVersion": "1.1"
+ }
+ }
+ },
+ "patternProperties": {
+ "^(rationale_(((([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"
+ ]
+ }
+ }
+ }
+ },
+ "patternProperties": {
+ "^(title_(((([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"
+ ]
+ },
+ "^(description_(((([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"
+ ]
+ }
+ }
+ },
+ "Contract": {
+ "type": "object",
+ "title": "Contract",
+ "description": "Information regarding the contract, typically between the buyer and supplier. This includes contracts describing all the contractual conditions (e.g. item, quantity, price, payment terms, time and place of delivery), as well as contracts only describing the general contractual conditions (such as a framework agreement) and those only describing the specific contractual conditions (such as a contract within a framework agreement). Communication between contractual parties that consists of minor specifications of conditions agreed previously (e.g. specifying the time or place of delivery) is not considered a contract. Amendments are considered as part of the contract that is being amended. Contracts are also used when giving prizes or other rewards (e.g. a follow-up contract) resulting from a design contest.",
+ "required": [
+ "id",
+ "awardID"
+ ],
+ "properties": {
+ "id": {
+ "title": "Contract ID",
+ "description": "The identifier for this contract. Although an integer is allowed, it is recommended to use a string. It must be unique and must not change within the Open Contracting Process it is part of (defined by a single ocid). See the [identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for further details.",
+ "type": [
+ "string",
+ "integer"
+ ],
+ "minLength": 1
+ },
+ "awardID": {
+ "title": "Award ID",
+ "description": "The award.id against which this contract is being issued.",
+ "type": [
+ "string",
+ "integer"
+ ],
+ "minLength": 1
+ },
+ "title": {
+ "title": "Contract title",
+ "description": "Contract title",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "title": "Contract description",
+ "description": "Contract description",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "title": "Contract status",
+ "description": "The current status of the contract, from the closed [contractStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#contract-status) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ "pending",
+ "active",
+ "cancelled",
+ "terminated",
+ "terminatedEarly",
+ "terminatedSuccessfully",
+ null
+ ],
+ "codelist": "contractStatus.csv",
+ "openCodelist": false
+ },
+ "statusDetails": {
+ "title": "Status details",
+ "description": "Additional details on the status of the contract. This field can be used to provide the local name of the status.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dateSigned": {
+ "title": "Date concluded",
+ "description": "The date the contract was concluded. Typically, this is the date when the last buyer or supplier signed the contract. However, if no contract is signed, then the date of contract conclusion may correspond to other dates (e.g. the date when the buyer notified the supplier, which had the legal effect of concluding the contract).",
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "value": {
+ "title": "Value",
+ "description": "Financial values should be published with a currency attached.",
+ "type": "object",
+ "properties": {
+ "amount": {
+ "title": "Amount",
+ "description": "Amount as a number.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "currency": {
+ "title": "Currency",
+ "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "codelist": "currency.csv",
+ "openCodelist": false,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFA",
+ "AFN",
+ "ALK",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "AOK",
+ "AON",
+ "AOR",
+ "ARA",
+ "ARP",
+ "ARS",
+ "ARY",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AYM",
+ "AZM",
+ "AZN",
+ "BAD",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEC",
+ "BEF",
+ "BEL",
+ "BGJ",
+ "BGK",
+ "BGL",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRB",
+ "BRC",
+ "BRE",
+ "BRL",
+ "BRN",
+ "BRR",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYB",
+ "BYN",
+ "BYR",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHC",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLF",
+ "CLP",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSD",
+ "CSJ",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESA",
+ "ESB",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHC",
+ "GHP",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNE",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILR",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISJ",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAJ",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LSM",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRO",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVQ",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXP",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZM",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIC",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEH",
+ "PEI",
+ "PEN",
+ "PES",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PLZ",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "ROK",
+ "ROL",
+ "RON",
+ "RSD",
+ "RUB",
+ "RUR",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDD",
+ "SDG",
+ "SDP",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STD",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMM",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRL",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGS",
+ "UGW",
+ "UGX",
+ "USD",
+ "USN",
+ "USS",
+ "UYI",
+ "UYN",
+ "UYP",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VEB",
+ "VEF",
+ "VES",
+ "VNC",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XBC",
+ "XBD",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "YUD",
+ "YUM",
+ "YUN",
+ "ZAL",
+ "ZAR",
+ "ZMK",
+ "ZMW",
+ "ZRN",
+ "ZRZ",
+ "ZWC",
+ "ZWD",
+ "ZWL",
+ "ZWN",
+ "ZWR",
+ null
+ ]
+ }
+ }
+ },
+ "maximumValue": {
+ "title": "Value",
+ "description": "Financial values should be published with a currency attached.",
"type": "object",
- "description": "Amendment information",
"properties": {
- "date": {
- "title": "Amendment date",
- "description": "The date of this amendment.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "rationale": {
- "title": "Rationale",
- "description": "An explanation for the amendment.",
+ "amount": {
+ "title": "Amount",
+ "description": "Amount as a number.",
"type": [
- "string",
+ "number",
"null"
]
},
- "id": {
- "description": "An identifier for this amendment: often the amendment number",
- "type": [
- "string",
- "null"
- ],
- "title": "ID"
- },
- "description": {
- "description": "A free text, or semi-structured, description of the changes made in this amendment.",
- "type": [
- "string",
- "null"
- ],
- "title": "Description"
- },
- "amendsReleaseID": {
- "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **before** the amendment was made.",
- "type": [
- "string",
- "null"
- ],
- "title": "Amended release (identifier)"
- },
- "releaseID": {
- "description": "Provide the identifier (release.id) of the OCDS release (from this contracting process) that provides the values for this contracting process **after** the amendment was made.",
+ "currency": {
+ "title": "Currency",
+ "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.",
"type": [
"string",
"null"
],
- "title": "Amending release (identifier)"
- },
- "changes": {
- "title": "Amended fields",
- "description": "An array of change objects describing the fields changed, and their former values. (Deprecated in 1.1)",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "property": {
- "title": "Property",
- "description": "The property name that has been changed relative to the place the amendment is. For example if the contract value has changed, then the property under changes within the contract.amendment would be value.amount. (Deprecated in 1.1)",
- "type": "string"
- },
- "former_value": {
- "title": "Former Value",
- "description": "The previous value of the changed property, in whatever type the property is. (Deprecated in 1.1)",
- "type": [
- "string",
- "number",
- "integer",
- "array",
- "object",
- "null"
- ]
- }
- }
- },
- "deprecated": {
- "description": "A free-text or semi-structured string describing the changes made in each amendment can be provided in the amendment.description field. To provide structured information on the fields that have changed, publishers should provide releases indicating the state of the contracting process before and after the amendment. ",
- "deprecatedVersion": "1.1"
- }
- }
- },
- "patternProperties": {
- "^(rationale_(((([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"
+ "codelist": "currency.csv",
+ "openCodelist": false,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFA",
+ "AFN",
+ "ALK",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "AOK",
+ "AON",
+ "AOR",
+ "ARA",
+ "ARP",
+ "ARS",
+ "ARY",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AYM",
+ "AZM",
+ "AZN",
+ "BAD",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEC",
+ "BEF",
+ "BEL",
+ "BGJ",
+ "BGK",
+ "BGL",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRB",
+ "BRC",
+ "BRE",
+ "BRL",
+ "BRN",
+ "BRR",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYB",
+ "BYN",
+ "BYR",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHC",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLF",
+ "CLP",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSD",
+ "CSJ",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESA",
+ "ESB",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHC",
+ "GHP",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNE",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILR",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISJ",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAJ",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LSM",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRO",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVQ",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXP",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZM",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIC",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEH",
+ "PEI",
+ "PEN",
+ "PES",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PLZ",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "ROK",
+ "ROL",
+ "RON",
+ "RSD",
+ "RUB",
+ "RUR",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDD",
+ "SDG",
+ "SDP",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STD",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMM",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRL",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGS",
+ "UGW",
+ "UGX",
+ "USD",
+ "USN",
+ "USS",
+ "UYI",
+ "UYN",
+ "UYP",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VEB",
+ "VEF",
+ "VES",
+ "VNC",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XBC",
+ "XBD",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "YUD",
+ "YUM",
+ "YUN",
+ "ZAL",
+ "ZAR",
+ "ZMK",
+ "ZMW",
+ "ZRN",
+ "ZRZ",
+ "ZWC",
+ "ZWD",
+ "ZWL",
+ "ZWN",
+ "ZWR",
+ null
]
}
}
- }
- },
- "patternProperties": {
- "^(title_(((([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"
- ]
- },
- "^(description_(((([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"
- ]
- }
- }
- },
- "Contract": {
- "type": "object",
- "title": "Contract",
- "description": "Information regarding the signed contract between the buyer and supplier(s).",
- "required": [
- "id",
- "awardID"
- ],
- "properties": {
- "id": {
- "title": "Contract ID",
- "description": "The identifier for this contract. Although an integer is allowed, it is recommended to use a string. It must be unique and must not change within the Open Contracting Process it is part of (defined by a single ocid). See the [identifier guidance](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/identifiers/) for further details.",
- "type": [
- "string",
- "integer"
- ],
- "minLength": 1
- },
- "awardID": {
- "title": "Award ID",
- "description": "The award.id against which this contract is being issued.",
- "type": [
- "string",
- "integer"
- ],
- "minLength": 1
- },
- "title": {
- "title": "Contract title",
- "description": "Contract title",
- "type": [
- "string",
- "null"
- ]
- },
- "description": {
- "title": "Contract description",
- "description": "Contract description",
- "type": [
- "string",
- "null"
- ]
- },
- "status": {
- "title": "Contract status",
- "description": "The current status of the contract, from the closed [contractStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#contract-status) codelist.",
- "type": [
- "string",
- "null"
- ],
- "enum": [
- "pending",
- "active",
- "cancelled",
- "terminated",
- "terminatedEarly",
- "terminatedSuccessfully",
- null
- ],
- "codelist": "contractStatus.csv",
- "openCodelist": false
},
- "statusDetails": {
- "title": "Status details",
- "description": "Additional details on the status of the contract. This field can be used to provide the local name of the status.",
- "type": [
- "string",
- "null"
- ]
- },
- "dateSigned": {
- "title": "Date signed",
- "description": "The date the contract was signed. In the case of multiple signatures, the date of the last signature.",
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "value": {
+ "estimatedValue": {
"title": "Value",
"description": "Financial values should be published with a currency attached.",
"type": "object",
diff --git a/schema/release-schema.json b/schema/release-schema.json
index e2399075d..456f5cf52 100644
--- a/schema/release-schema.json
+++ b/schema/release-schema.json
@@ -82,7 +82,7 @@
},
"contracts": {
"title": "Contracts",
- "description": "Information from the contract creation phase of the procurement process.",
+ "description": "Information from the contract creation and implementation phase of the contracting process.",
"type": "array",
"items": {
"$ref": "#/definitions/Contract"
@@ -248,12 +248,17 @@
},
"value": {
"title": "Value",
- "description": "The total upper estimated 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).",
+ "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).",
"$ref": "#/definitions/Value"
},
"minValue": {
"title": "Minimum value",
- "description": "The minimum estimated 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).",
+ "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).",
+ "$ref": "#/definitions/Value"
+ },
+ "maximumValue": {
+ "title": "Maximum value",
+ "description": "The estimated maximum value of the framework agreement, as estimated when publishing the tender information.",
"$ref": "#/definitions/Value"
},
"procurementMethod": {
@@ -591,7 +596,17 @@
},
"value": {
"title": "Value",
- "description": "The total value of this award. In the case of a framework contract this may be the total estimated lifetime value, or maximum value, of the agreement. 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).",
+ "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.",
+ "$ref": "#/definitions/Value"
+ },
+ "maximumValue": {
+ "title": "Maximum value",
+ "description": "The estimated maximum value of the framework agreement, as a whole, as estimated when making the award.",
+ "$ref": "#/definitions/Value"
+ },
+ "estimatedValue": {
+ "title": "Estimated value",
+ "description": "The estimated value of the framework agreement, as a whole, as estimated when making the award.",
"$ref": "#/definitions/Value"
},
"suppliers": {
@@ -663,7 +678,7 @@
"Contract": {
"type": "object",
"title": "Contract",
- "description": "Information regarding the signed contract between the buyer and supplier(s).",
+ "description": "Information regarding the contract, typically between the buyer and supplier. This includes contracts describing all the contractual conditions (e.g. item, quantity, price, payment terms, time and place of delivery), as well as contracts only describing the general contractual conditions (such as a framework agreement) and those only describing the specific contractual conditions (such as a contract within a framework agreement). Communication between contractual parties that consists of minor specifications of conditions agreed previously (e.g. specifying the time or place of delivery) is not considered a contract. Amendments are considered as part of the contract that is being amended. Contracts are also used when giving prizes or other rewards (e.g. a follow-up contract) resulting from a design contest.",
"required": [
"id",
"awardID"
@@ -731,8 +746,8 @@
]
},
"dateSigned": {
- "title": "Date signed",
- "description": "The date the contract was signed. In the case of multiple signatures, the date of the last signature.",
+ "title": "Date concluded",
+ "description": "The date the contract was concluded. Typically, this is the date when the last buyer or supplier signed the contract. However, if no contract is signed, then the date of contract conclusion may correspond to other dates (e.g. the date when the buyer notified the supplier, which had the legal effect of concluding the contract).",
"type": [
"string",
"null"
@@ -741,7 +756,17 @@
},
"value": {
"title": "Value",
- "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).",
+ "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.",
+ "$ref": "#/definitions/Value"
+ },
+ "maximumValue": {
+ "title": "Maximum value",
+ "description": "The maximum value of the framework agreement, as a whole.",
+ "$ref": "#/definitions/Value"
+ },
+ "estimatedValue": {
+ "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).",
"$ref": "#/definitions/Value"
},
"items": {
diff --git a/schema/versioned-release-validation-schema.json b/schema/versioned-release-validation-schema.json
index adb7400d7..35ecff9b1 100644
--- a/schema/versioned-release-validation-schema.json
+++ b/schema/versioned-release-validation-schema.json
@@ -239,6 +239,9 @@
"minValue": {
"$ref": "#/definitions/Value"
},
+ "maximumValue": {
+ "$ref": "#/definitions/Value"
+ },
"procurementMethod": {
"type": "array",
"items": {
@@ -667,6 +670,12 @@
"value": {
"$ref": "#/definitions/Value"
},
+ "maximumValue": {
+ "$ref": "#/definitions/Value"
+ },
+ "estimatedValue": {
+ "$ref": "#/definitions/Value"
+ },
"suppliers": {
"type": "array",
"items": {
@@ -816,6 +825,12 @@
"value": {
"$ref": "#/definitions/Value"
},
+ "maximumValue": {
+ "$ref": "#/definitions/Value"
+ },
+ "estimatedValue": {
+ "$ref": "#/definitions/Value"
+ },
"items": {
"type": "array",
"minItems": 1,