diff --git a/schema/dereferenced-release-schema.json b/schema/dereferenced-release-schema.json index bf5db2d1e..b47eda89a 100644 --- a/schema/dereferenced-release-schema.json +++ b/schema/dereferenced-release-schema.json @@ -2,7 +2,7 @@ "id": "https://standard.open-contracting.org/schema/1__1__5/release-schema.json", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Schema for an Open Contracting Release", - "description": "Each release provides data about a single contracting process at a particular point in time. Releases can be used to notify users of new tenders, awards, contracts and other updates. Releases may repeat or update information provided previously in this contracting process. One contracting process may have many releases. A 'record' of a contracting process follows the same structure as a release, but combines information from multiple points in time into a single summary.", + "description": "Each release provides data about a single contracting process at a particular point in time. Releases can be used to notify users of new tenders, awards, contracts and other updates. Releases may repeat or update information provided previously in this contracting process. One contracting process may have many releases. The compiled and the versioned release of the 'record' of a contracting process follow the same structure as a release, but combine information from multiple points in time into a single summary.", "type": "object", "properties": { "ocid": { @@ -183,43 +183,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -233,48 +233,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -301,12 +301,12 @@ "openCodelist": true }, "details": { + "title": "Details", + "description": "Additional classification information about parties can be provided using partyDetail extensions that define particular fields and classification schemes.", "type": [ "object", "null" - ], - "description": "Additional classification information about parties can be provided using partyDetail extensions that define particular fields and classification schemes.", - "title": "Details" + ] } }, "patternProperties": { @@ -321,6 +321,9 @@ "uniqueItems": true }, "buyer": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -396,43 +399,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -507,48 +510,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -561,10 +564,7 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "planning": { "title": "Planning", @@ -573,20 +573,20 @@ "properties": { "rationale": { "title": "Rationale", - "description": "The rationale for the procurement provided in free text. More detail can be provided in an attached document.", + "description": "The justification to undertake the procurement. More detail can be provided in an attached document.", "type": [ "string", "null" ] }, "budget": { - "type": "object", "title": "Budget information", - "description": "This section contains basic information about the budget estimated for, or allocated to, this contracting process at the present time. Further documentation and data about how budgets have been allocated to a contracting process should be published outside of OCDS data, according to the best available standards.", + "description": "Basic information about the budget estimated for, or allocated to, this contracting process at the present time. Further documentation and data about how budgets have been allocated to a contracting process should be published outside of OCDS data, according to the best available standards.", + "type": "object", "properties": { "id": { "title": "ID", - "description": "An identifier for the budget line item which provides funds for this contracting process. This identifier should be possible to cross-reference against formal budget documents.", + "description": "An identifier for the budget line item which provides funds for this contracting process. This identifier should be possible to cross-reference against formal budget documents. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -933,7 +933,7 @@ }, "project": { "title": "Project title", - "description": "The name of the project through which this contracting process is funded (if applicable). Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry. No translation option is offered for this string, as translated values can be provided in third-party data, linked from the data source above.", + "description": "The name of the project through which this contracting process is funded. Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry. No translation option is offered for this string, as translated values can be provided in third-party data, linked from the data source above.", "type": [ "string", "null" @@ -941,7 +941,7 @@ }, "projectID": { "title": "Project identifier", - "description": "An external identifier for the project that this contracting process forms part of, or is funded via (if applicable). Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", + "description": "An external identifier for the project that this contracting process forms part of, or is funded via. Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -950,7 +950,7 @@ }, "uri": { "title": "Linked budget information", - "description": "A URI pointing directly to a machine-readable record about the budget line-item or line-items that fund this contracting process. Information can be provided in a range of formats, including using IATI, the Open Fiscal Data Standard or any other standard which provides structured data on budget sources. Human readable documents can be included using the planning.documents block.", + "description": "A URI pointing directly to a machine-readable record about the budget line-item, or line-items that fund this contracting process. Information can be provided in a range of formats, including using IATI, the Open Fiscal Data Standard, or any other standard which provides structured data on budget sources. Human readable documents can be included using the planning.documents block.", "type": [ "string", "null" @@ -959,7 +959,7 @@ }, "source": { "title": "Data Source", - "description": "(Deprecated in 1.1) Used to point either to a corresponding Budget Data Package, or to a machine or human-readable source where users can find further information on the budget line item identifiers, or project identifiers, provided here.", + "description": "Used to point either to a corresponding Budget Data Package, or to a machine or human-readable source where users can find further information on the budget line item identifiers, or project identifiers, provided here.", "type": [ "string", "null" @@ -997,9 +997,9 @@ "description": "Documents related to the planning stage (for example, notices, needs assessments and market studies).", "type": "array", "items": { - "type": "object", "title": "Document", "description": "Links to, or descriptions of, external documents can be attached at various locations within the standard. Documents can be supporting information, formal notices, downloadable forms, or any other kind of resource that ought to be made public as part of full open contracting.", + "type": "object", "required": [ "id" ], @@ -1059,7 +1059,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -1148,7 +1148,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -1164,17 +1164,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -1200,16 +1200,16 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "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.", + "type": "object", "required": [ "id" ], @@ -1269,7 +1269,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -1339,7 +1339,7 @@ }, "tender": { "title": "Tender", - "description": "Data regarding tender process - publicly inviting prospective contractors to submit bids for evaluation and selecting a winner or winners.", + "description": "Data regarding the tender process - publicly inviting prospective contractors to submit bids for evaluation and selecting a winner or winners.", "type": "object", "required": [ "id" @@ -1373,7 +1373,7 @@ }, "status": { "title": "Tender status", - "description": "The current status of the tender, from the closed [tenderStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#tender-status) codelist.", + "description": "The current status of the tender, from the closed [tenderStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#tender-status) codelist. See also the statusDetails field.", "type": [ "string", "null" @@ -1400,6 +1400,9 @@ ] }, "procuringEntity": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -1475,43 +1478,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -1586,48 +1589,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -1640,10 +1643,7 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "items": { "title": "Items to be procured", @@ -1651,8 +1651,8 @@ "type": "array", "items": { "title": "Item", - "type": "object", "description": "A good, service, or work to be contracted.", + "type": "object", "required": [ "id" ], @@ -2889,7 +2889,7 @@ }, "procurementMethod": { "title": "Procurement method", - "description": "The procurement method, from the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist.", + "description": "The procurement method, from the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist. See also the procurementMethodDetails field.", "type": [ "string", "null" @@ -2951,7 +2951,7 @@ }, "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.", + "description": "The award criteria for the procurement, using the open [awardCriteria](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#award-criteria) codelist. See also the awardCriteriaDetails field.", "type": [ "string", "null" @@ -2969,7 +2969,7 @@ }, "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.", + "description": "The methods by which bids are submitted, using the open [submissionMethod](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#submission-method) codelist. See also the submissionMethodDetails field.", "type": [ "array", "null" @@ -3016,17 +3016,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -3058,17 +3058,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -3136,17 +3136,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -3178,17 +3178,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -3209,6 +3209,9 @@ "description": "All parties who submit a bid on a tender. More detailed information on bids and the bidding organization can be provided using the bid extension.", "type": "array", "items": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -3284,43 +3287,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -3395,48 +3398,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -3449,10 +3452,7 @@ } } } - }, - "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 }, @@ -3461,9 +3461,9 @@ "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.", + "type": "object", "required": [ "id" ], @@ -3523,7 +3523,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -3612,7 +3612,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -3628,17 +3628,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -3664,16 +3664,16 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "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.", + "type": "object", "required": [ "id" ], @@ -3733,7 +3733,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -3792,13 +3792,13 @@ } }, "amendments": { + "title": "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", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -3818,28 +3818,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -3876,7 +3876,7 @@ } }, "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. ", + "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" } } @@ -3893,8 +3893,8 @@ }, "amendment": { "title": "Amendment", - "type": "object", "description": "Amendment information", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -3914,28 +3914,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -3972,7 +3972,7 @@ } }, "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. ", + "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" } } @@ -4435,9 +4435,12 @@ }, "suppliers": { "title": "Suppliers", - "description": "Entities with which a buyer or a procuring entity decided to conclude a contract.", + "description": "Entities with which the buyer decided to conclude a contract.", "type": "array", "items": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -4513,43 +4516,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -4624,48 +4627,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -4678,10 +4681,7 @@ } } } - }, - "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 }, @@ -4692,8 +4692,8 @@ "minItems": 1, "items": { "title": "Item", - "type": "object", "description": "A good, service, or work to be contracted.", + "type": "object", "required": [ "id" ], @@ -5292,17 +5292,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -5315,9 +5315,9 @@ "description": "Documents related to the award (for example, notices, bids, evaluation reports).", "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.", + "type": "object", "required": [ "id" ], @@ -5377,7 +5377,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -5419,13 +5419,13 @@ "uniqueItems": true }, "amendments": { + "title": "Amendments", "description": "An award amendment is a formal change to the details of the award, and generally involves the publication of a new award 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", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -5445,28 +5445,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -5503,7 +5503,7 @@ } }, "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. ", + "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" } } @@ -5520,8 +5520,8 @@ }, "amendment": { "title": "Amendment", - "type": "object", "description": "Amendment information", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -5541,28 +5541,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -5599,7 +5599,7 @@ } }, "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. ", + "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" } } @@ -5636,9 +5636,9 @@ "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).", + "type": "object", "required": [ "id", "awardID" @@ -5680,7 +5680,7 @@ }, "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.", + "description": "The current status of the contract, from the closed [contractStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#contract-status) codelist. See also the statusDetails field.", "type": [ "string", "null" @@ -5729,17 +5729,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -6084,8 +6084,8 @@ "minItems": 1, "items": { "title": "Item", - "type": "object", "description": "A good, service, or work to be contracted.", + "type": "object", "required": [ "id" ], @@ -6674,9 +6674,9 @@ "description": "Documents related to the contract (for example, notices, signed contracts).", "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.", + "type": "object", "required": [ "id" ], @@ -6736,7 +6736,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -6778,17 +6778,17 @@ "uniqueItems": true }, "implementation": { - "type": "object", "title": "Implementation", - "description": "Information during the performance / implementation stage of the contract.", + "description": "Information regarding the performance / implementation stage of the contract.", + "type": "object", "properties": { "transactions": { "title": "Transactions", "description": "A list of the spending transactions made against this contract", "type": "array", "items": { - "type": "object", "title": "Transaction information", + "type": "object", "description": "A spending transaction related to the contracting process. Draws upon the data models of the [Fiscal Data Package](https://frictionlessdata.io/specs/fiscal-data-package/) and the [International Aid Transparency Initiative](https://iatistandard.org/en/iati-standard/203/activity-standard/iati-activities/iati-activity/transaction/) and should be used to cross-reference to more detailed information held using a Fiscal Data Package, IATI file, or to provide enough information to allow a user to manually or automatically cross-reference with some other published source of transactional spending data.", "required": [ "id" @@ -6796,7 +6796,7 @@ "properties": { "id": { "title": "ID", - "description": "A unique identifier for this transaction. This identifier should be possible to cross-reference against the provided data source. For IATI this is the transaction reference. Although an integer is allowed, it is recommended to use a string.", + "description": "A unique identifier for this transaction. It should be possible to cross-reference this identifier against the provided data source. For IATI this is the transaction reference. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer" @@ -7152,6 +7152,9 @@ } }, "payer": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -7227,43 +7230,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -7338,48 +7341,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -7392,12 +7395,12 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "payee": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -7473,43 +7476,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -7584,48 +7587,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -7638,10 +7641,7 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "uri": { "title": "Linked spending information", @@ -8088,7 +8088,7 @@ }, "milestones": { "title": "Milestones", - "description": "As milestones are completed, the milestone's status and dates should be updated.", + "description": "A list of milestones associated with the implementation.", "type": "array", "items": { "title": "Milestone", @@ -8135,7 +8135,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -8151,17 +8151,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -8187,16 +8187,16 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "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.", + "type": "object", "required": [ "id" ], @@ -8256,7 +8256,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -8320,9 +8320,9 @@ "description": "Documents related to the implementation of the contract (for example, completion certificates, audits).", "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.", + "type": "object", "required": [ "id" ], @@ -8382,7 +8382,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -8426,11 +8426,14 @@ } }, "relatedProcesses": { + "title": "Related processes", + "description": "The details of related contracting processes: for example, if this process is followed by one or more other contracting processes, represented under a separate open contracting identifier (ocid). This is commonly used to refer to subcontracts and to renewal or replacement processes for this contract.", + "type": "array", "uniqueItems": true, "items": { - "description": "A reference to a related contracting process: generally one preceding or following on from the current process.", - "type": "object", "title": "Related Process", + "description": "A reference to a related contracting process: generally one preceding or following on from the current contracting process.", + "type": "object", "properties": { "id": { "title": "Relationship ID", @@ -8438,21 +8441,22 @@ "type": "string" }, "relationship": { - "items": { - "type": "string" - }, - "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", "title": "Relationship", + "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", "type": [ "array", "null" ], + "items": { + "type": "string", + "minLength": 1 + }, "codelist": "relatedProcess.csv", "openCodelist": true }, "title": { - "description": "The title of the related process, where referencing an open contracting process, this field should match the tender/title field in the related process.", "title": "Related process title", + "description": "The title of the related process, where referencing an open contracting process, this field should match the tender/title field in the related process.", "type": [ "string", "null" @@ -8469,27 +8473,24 @@ "openCodelist": true }, "identifier": { - "description": "The identifier of the related process. If the scheme is 'ocid', this must be an Open Contracting ID (ocid).", "title": "Identifier", + "description": "The identifier of the related process. If the scheme is 'ocid', this must be an Open Contracting ID (ocid).", "type": [ "string", "null" ] }, "uri": { - "format": "uri", - "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", "title": "Related process URI", + "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", "type": [ "string", "null" - ] + ], + "format": "uri" } } - }, - "description": "The details of related processes: for example, if this process is followed by one or more contracting processes, represented under a separate open contracting identifier (ocid). This is commonly used to refer to subcontracts and to renewal or replacement processes for this contract.", - "title": "Related processes", - "type": "array" + } }, "milestones": { "title": "Contract milestones", @@ -8540,7 +8541,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -8556,17 +8557,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -8592,16 +8593,16 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "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.", + "type": "object", "required": [ "id" ], @@ -8661,7 +8662,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -8720,13 +8721,13 @@ } }, "amendments": { + "title": "Amendments", "description": "A contract amendment is a formal change to, or extension of, a contract, and generally involves the publication of a new contract notice/release, or some other documents detailing the change. 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", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -8746,28 +8747,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -8804,7 +8805,7 @@ } }, "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. ", + "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" } } @@ -8821,8 +8822,8 @@ }, "amendment": { "title": "Amendment", - "type": "object", "description": "Amendment information", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -8842,28 +8843,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -8900,7 +8901,7 @@ } }, "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. ", + "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" } } @@ -8941,11 +8942,14 @@ ] }, "relatedProcesses": { + "title": "Related processes", + "description": "The details of related contracting processes: for example, if this process follows on from one or more other contracting processes, represented under a separate open contracting identifier (ocid). This is commonly used to relate mini-competitions to their parent frameworks or individual tenders to a broader planning process.", + "type": "array", "uniqueItems": true, "items": { - "description": "A reference to a related contracting process: generally one preceding or following on from the current process.", - "type": "object", "title": "Related Process", + "description": "A reference to a related contracting process: generally one preceding or following on from the current contracting process.", + "type": "object", "properties": { "id": { "title": "Relationship ID", @@ -8953,21 +8957,22 @@ "type": "string" }, "relationship": { - "items": { - "type": "string" - }, - "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", "title": "Relationship", + "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", "type": [ "array", "null" ], + "items": { + "type": "string", + "minLength": 1 + }, "codelist": "relatedProcess.csv", "openCodelist": true }, "title": { - "description": "The title of the related process, where referencing an open contracting process, this field should match the tender/title field in the related process.", "title": "Related process title", + "description": "The title of the related process, where referencing an open contracting process, this field should match the tender/title field in the related process.", "type": [ "string", "null" @@ -8984,27 +8989,24 @@ "openCodelist": true }, "identifier": { - "description": "The identifier of the related process. If the scheme is 'ocid', this must be an Open Contracting ID (ocid).", "title": "Identifier", + "description": "The identifier of the related process. If the scheme is 'ocid', this must be an Open Contracting ID (ocid).", "type": [ "string", "null" ] }, "uri": { - "format": "uri", - "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", "title": "Related process URI", + "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", "type": [ "string", "null" - ] + ], + "format": "uri" } } - }, - "description": "The details of related processes: for example, if this process follows on from one or more other processes, represented under a separate open contracting identifier (ocid). This is commonly used to relate mini-competitions to their parent frameworks or individual tenders to a broader planning process.", - "title": "Related processes", - "type": "array" + } } }, "required": [ @@ -9022,20 +9024,20 @@ "properties": { "rationale": { "title": "Rationale", - "description": "The rationale for the procurement provided in free text. More detail can be provided in an attached document.", + "description": "The justification to undertake the procurement. More detail can be provided in an attached document.", "type": [ "string", "null" ] }, "budget": { - "type": "object", "title": "Budget information", - "description": "This section contains basic information about the budget estimated for, or allocated to, this contracting process at the present time. Further documentation and data about how budgets have been allocated to a contracting process should be published outside of OCDS data, according to the best available standards.", + "description": "Basic information about the budget estimated for, or allocated to, this contracting process at the present time. Further documentation and data about how budgets have been allocated to a contracting process should be published outside of OCDS data, according to the best available standards.", + "type": "object", "properties": { "id": { "title": "ID", - "description": "An identifier for the budget line item which provides funds for this contracting process. This identifier should be possible to cross-reference against formal budget documents.", + "description": "An identifier for the budget line item which provides funds for this contracting process. This identifier should be possible to cross-reference against formal budget documents. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -9382,7 +9384,7 @@ }, "project": { "title": "Project title", - "description": "The name of the project through which this contracting process is funded (if applicable). Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry. No translation option is offered for this string, as translated values can be provided in third-party data, linked from the data source above.", + "description": "The name of the project through which this contracting process is funded. Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry. No translation option is offered for this string, as translated values can be provided in third-party data, linked from the data source above.", "type": [ "string", "null" @@ -9390,7 +9392,7 @@ }, "projectID": { "title": "Project identifier", - "description": "An external identifier for the project that this contracting process forms part of, or is funded via (if applicable). Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", + "description": "An external identifier for the project that this contracting process forms part of, or is funded via. Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -9399,7 +9401,7 @@ }, "uri": { "title": "Linked budget information", - "description": "A URI pointing directly to a machine-readable record about the budget line-item or line-items that fund this contracting process. Information can be provided in a range of formats, including using IATI, the Open Fiscal Data Standard or any other standard which provides structured data on budget sources. Human readable documents can be included using the planning.documents block.", + "description": "A URI pointing directly to a machine-readable record about the budget line-item, or line-items that fund this contracting process. Information can be provided in a range of formats, including using IATI, the Open Fiscal Data Standard, or any other standard which provides structured data on budget sources. Human readable documents can be included using the planning.documents block.", "type": [ "string", "null" @@ -9408,7 +9410,7 @@ }, "source": { "title": "Data Source", - "description": "(Deprecated in 1.1) Used to point either to a corresponding Budget Data Package, or to a machine or human-readable source where users can find further information on the budget line item identifiers, or project identifiers, provided here.", + "description": "Used to point either to a corresponding Budget Data Package, or to a machine or human-readable source where users can find further information on the budget line item identifiers, or project identifiers, provided here.", "type": [ "string", "null" @@ -9446,9 +9448,9 @@ "description": "Documents related to the planning stage (for example, notices, needs assessments and market studies).", "type": "array", "items": { - "type": "object", "title": "Document", "description": "Links to, or descriptions of, external documents can be attached at various locations within the standard. Documents can be supporting information, formal notices, downloadable forms, or any other kind of resource that ought to be made public as part of full open contracting.", + "type": "object", "required": [ "id" ], @@ -9508,7 +9510,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -9597,7 +9599,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -9613,17 +9615,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -9649,16 +9651,16 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "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.", + "type": "object", "required": [ "id" ], @@ -9718,7 +9720,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -9788,7 +9790,7 @@ }, "Tender": { "title": "Tender", - "description": "Data regarding tender process - publicly inviting prospective contractors to submit bids for evaluation and selecting a winner or winners.", + "description": "Data regarding the tender process - publicly inviting prospective contractors to submit bids for evaluation and selecting a winner or winners.", "type": "object", "required": [ "id" @@ -9822,7 +9824,7 @@ }, "status": { "title": "Tender status", - "description": "The current status of the tender, from the closed [tenderStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#tender-status) codelist.", + "description": "The current status of the tender, from the closed [tenderStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#tender-status) codelist. See also the statusDetails field.", "type": [ "string", "null" @@ -9849,6 +9851,9 @@ ] }, "procuringEntity": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -9924,43 +9929,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -10035,48 +10040,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -10089,10 +10094,7 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "items": { "title": "Items to be procured", @@ -10100,8 +10102,8 @@ "type": "array", "items": { "title": "Item", - "type": "object", "description": "A good, service, or work to be contracted.", + "type": "object", "required": [ "id" ], @@ -11338,7 +11340,7 @@ }, "procurementMethod": { "title": "Procurement method", - "description": "The procurement method, from the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist.", + "description": "The procurement method, from the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist. See also the procurementMethodDetails field.", "type": [ "string", "null" @@ -11400,7 +11402,7 @@ }, "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.", + "description": "The award criteria for the procurement, using the open [awardCriteria](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#award-criteria) codelist. See also the awardCriteriaDetails field.", "type": [ "string", "null" @@ -11418,7 +11420,7 @@ }, "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.", + "description": "The methods by which bids are submitted, using the open [submissionMethod](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#submission-method) codelist. See also the submissionMethodDetails field.", "type": [ "array", "null" @@ -11465,17 +11467,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -11507,17 +11509,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -11585,17 +11587,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -11627,17 +11629,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -11658,6 +11660,9 @@ "description": "All parties who submit a bid on a tender. More detailed information on bids and the bidding organization can be provided using the bid extension.", "type": "array", "items": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -11733,43 +11738,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -11844,48 +11849,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -11898,10 +11903,7 @@ } } } - }, - "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 }, @@ -11910,9 +11912,9 @@ "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.", + "type": "object", "required": [ "id" ], @@ -11972,7 +11974,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -12061,7 +12063,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -12077,17 +12079,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -12113,16 +12115,16 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "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.", + "type": "object", "required": [ "id" ], @@ -12182,7 +12184,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -12241,13 +12243,13 @@ } }, "amendments": { + "title": "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", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -12267,28 +12269,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -12325,7 +12327,7 @@ } }, "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. ", + "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" } } @@ -12342,8 +12344,8 @@ }, "amendment": { "title": "Amendment", - "type": "object", "description": "Amendment information", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -12363,28 +12365,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -12421,7 +12423,7 @@ } }, "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. ", + "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" } } @@ -12880,9 +12882,12 @@ }, "suppliers": { "title": "Suppliers", - "description": "Entities with which a buyer or a procuring entity decided to conclude a contract.", + "description": "Entities with which the buyer decided to conclude a contract.", "type": "array", "items": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -12958,43 +12963,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -13069,48 +13074,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -13123,10 +13128,7 @@ } } } - }, - "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 }, @@ -13137,8 +13139,8 @@ "minItems": 1, "items": { "title": "Item", - "type": "object", "description": "A good, service, or work to be contracted.", + "type": "object", "required": [ "id" ], @@ -13737,17 +13739,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -13760,9 +13762,9 @@ "description": "Documents related to the award (for example, notices, bids, evaluation reports).", "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.", + "type": "object", "required": [ "id" ], @@ -13822,7 +13824,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -13864,13 +13866,13 @@ "uniqueItems": true }, "amendments": { + "title": "Amendments", "description": "An award amendment is a formal change to the details of the award, and generally involves the publication of a new award 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", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -13890,28 +13892,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -13948,7 +13950,7 @@ } }, "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. ", + "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" } } @@ -13965,8 +13967,8 @@ }, "amendment": { "title": "Amendment", - "type": "object", "description": "Amendment information", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -13986,28 +13988,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -14044,7 +14046,7 @@ } }, "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. ", + "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" } } @@ -14075,9 +14077,9 @@ } }, "Contract": { - "type": "object", "title": "Contract", "description": "Information regarding the signed contract between the buyer and supplier(s).", + "type": "object", "required": [ "id", "awardID" @@ -14119,7 +14121,7 @@ }, "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.", + "description": "The current status of the contract, from the closed [contractStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#contract-status) codelist. See also the statusDetails field.", "type": [ "string", "null" @@ -14168,17 +14170,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -14523,8 +14525,8 @@ "minItems": 1, "items": { "title": "Item", - "type": "object", "description": "A good, service, or work to be contracted.", + "type": "object", "required": [ "id" ], @@ -15113,9 +15115,9 @@ "description": "Documents related to the contract (for example, notices, signed contracts).", "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.", + "type": "object", "required": [ "id" ], @@ -15175,7 +15177,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -15217,17 +15219,17 @@ "uniqueItems": true }, "implementation": { - "type": "object", "title": "Implementation", - "description": "Information during the performance / implementation stage of the contract.", + "description": "Information regarding the performance / implementation stage of the contract.", + "type": "object", "properties": { "transactions": { "title": "Transactions", "description": "A list of the spending transactions made against this contract", "type": "array", "items": { - "type": "object", "title": "Transaction information", + "type": "object", "description": "A spending transaction related to the contracting process. Draws upon the data models of the [Fiscal Data Package](https://frictionlessdata.io/specs/fiscal-data-package/) and the [International Aid Transparency Initiative](https://iatistandard.org/en/iati-standard/203/activity-standard/iati-activities/iati-activity/transaction/) and should be used to cross-reference to more detailed information held using a Fiscal Data Package, IATI file, or to provide enough information to allow a user to manually or automatically cross-reference with some other published source of transactional spending data.", "required": [ "id" @@ -15235,7 +15237,7 @@ "properties": { "id": { "title": "ID", - "description": "A unique identifier for this transaction. This identifier should be possible to cross-reference against the provided data source. For IATI this is the transaction reference. Although an integer is allowed, it is recommended to use a string.", + "description": "A unique identifier for this transaction. It should be possible to cross-reference this identifier against the provided data source. For IATI this is the transaction reference. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer" @@ -15591,6 +15593,9 @@ } }, "payer": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -15666,43 +15671,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -15777,48 +15782,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -15831,12 +15836,12 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "payee": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -15912,43 +15917,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -16023,48 +16028,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -16077,10 +16082,7 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "uri": { "title": "Linked spending information", @@ -16527,7 +16529,7 @@ }, "milestones": { "title": "Milestones", - "description": "As milestones are completed, the milestone's status and dates should be updated.", + "description": "A list of milestones associated with the implementation.", "type": "array", "items": { "title": "Milestone", @@ -16574,7 +16576,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -16590,17 +16592,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -16626,16 +16628,16 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "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.", + "type": "object", "required": [ "id" ], @@ -16695,7 +16697,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -16759,9 +16761,9 @@ "description": "Documents related to the implementation of the contract (for example, completion certificates, audits).", "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.", + "type": "object", "required": [ "id" ], @@ -16821,7 +16823,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -16865,11 +16867,14 @@ } }, "relatedProcesses": { + "title": "Related processes", + "description": "The details of related contracting processes: for example, if this process is followed by one or more other contracting processes, represented under a separate open contracting identifier (ocid). This is commonly used to refer to subcontracts and to renewal or replacement processes for this contract.", + "type": "array", "uniqueItems": true, "items": { - "description": "A reference to a related contracting process: generally one preceding or following on from the current process.", - "type": "object", "title": "Related Process", + "description": "A reference to a related contracting process: generally one preceding or following on from the current contracting process.", + "type": "object", "properties": { "id": { "title": "Relationship ID", @@ -16877,21 +16882,22 @@ "type": "string" }, "relationship": { - "items": { - "type": "string" - }, - "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", "title": "Relationship", + "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", "type": [ "array", "null" ], + "items": { + "type": "string", + "minLength": 1 + }, "codelist": "relatedProcess.csv", "openCodelist": true }, "title": { - "description": "The title of the related process, where referencing an open contracting process, this field should match the tender/title field in the related process.", "title": "Related process title", + "description": "The title of the related process, where referencing an open contracting process, this field should match the tender/title field in the related process.", "type": [ "string", "null" @@ -16908,27 +16914,24 @@ "openCodelist": true }, "identifier": { - "description": "The identifier of the related process. If the scheme is 'ocid', this must be an Open Contracting ID (ocid).", "title": "Identifier", + "description": "The identifier of the related process. If the scheme is 'ocid', this must be an Open Contracting ID (ocid).", "type": [ "string", "null" ] }, "uri": { - "format": "uri", - "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", "title": "Related process URI", + "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", "type": [ "string", "null" - ] + ], + "format": "uri" } } - }, - "description": "The details of related processes: for example, if this process is followed by one or more contracting processes, represented under a separate open contracting identifier (ocid). This is commonly used to refer to subcontracts and to renewal or replacement processes for this contract.", - "title": "Related processes", - "type": "array" + } }, "milestones": { "title": "Contract milestones", @@ -16979,7 +16982,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -16995,17 +16998,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -17031,16 +17034,16 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "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.", + "type": "object", "required": [ "id" ], @@ -17100,7 +17103,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -17159,13 +17162,13 @@ } }, "amendments": { + "title": "Amendments", "description": "A contract amendment is a formal change to, or extension of, a contract, and generally involves the publication of a new contract notice/release, or some other documents detailing the change. 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", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -17185,28 +17188,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -17243,7 +17246,7 @@ } }, "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. ", + "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" } } @@ -17260,8 +17263,8 @@ }, "amendment": { "title": "Amendment", - "type": "object", "description": "Amendment information", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -17281,28 +17284,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -17339,7 +17342,7 @@ } }, "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. ", + "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" } } @@ -17370,17 +17373,17 @@ } }, "Implementation": { - "type": "object", "title": "Implementation", - "description": "Information during the performance / implementation stage of the contract.", + "description": "Information regarding the performance / implementation stage of the contract.", + "type": "object", "properties": { "transactions": { "title": "Transactions", "description": "A list of the spending transactions made against this contract", "type": "array", "items": { - "type": "object", "title": "Transaction information", + "type": "object", "description": "A spending transaction related to the contracting process. Draws upon the data models of the [Fiscal Data Package](https://frictionlessdata.io/specs/fiscal-data-package/) and the [International Aid Transparency Initiative](https://iatistandard.org/en/iati-standard/203/activity-standard/iati-activities/iati-activity/transaction/) and should be used to cross-reference to more detailed information held using a Fiscal Data Package, IATI file, or to provide enough information to allow a user to manually or automatically cross-reference with some other published source of transactional spending data.", "required": [ "id" @@ -17388,7 +17391,7 @@ "properties": { "id": { "title": "ID", - "description": "A unique identifier for this transaction. This identifier should be possible to cross-reference against the provided data source. For IATI this is the transaction reference. Although an integer is allowed, it is recommended to use a string.", + "description": "A unique identifier for this transaction. It should be possible to cross-reference this identifier against the provided data source. For IATI this is the transaction reference. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer" @@ -17744,6 +17747,9 @@ } }, "payer": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -17819,43 +17825,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -17930,48 +17936,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -17984,12 +17990,12 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "payee": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -18065,43 +18071,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -18176,48 +18182,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -18230,10 +18236,7 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "uri": { "title": "Linked spending information", @@ -18680,7 +18683,7 @@ }, "milestones": { "title": "Milestones", - "description": "As milestones are completed, the milestone's status and dates should be updated.", + "description": "A list of milestones associated with the implementation.", "type": "array", "items": { "title": "Milestone", @@ -18727,7 +18730,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -18743,17 +18746,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -18779,16 +18782,16 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "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.", + "type": "object", "required": [ "id" ], @@ -18848,7 +18851,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -18912,9 +18915,9 @@ "description": "Documents related to the implementation of the contract (for example, completion certificates, audits).", "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.", + "type": "object", "required": [ "id" ], @@ -18974,7 +18977,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -19062,7 +19065,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -19078,17 +19081,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -19114,16 +19117,16 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "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.", + "type": "object", "required": [ "id" ], @@ -19183,7 +19186,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -19241,9 +19244,9 @@ } }, "Document": { - "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.", + "type": "object", "required": [ "id" ], @@ -19303,7 +19306,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -19343,13 +19346,13 @@ } }, "Budget": { - "type": "object", "title": "Budget information", - "description": "This section contains basic information about the budget estimated for, or allocated to, this contracting process at the present time. Further documentation and data about how budgets have been allocated to a contracting process should be published outside of OCDS data, according to the best available standards.", + "description": "Basic information about the budget estimated for, or allocated to, this contracting process at the present time. Further documentation and data about how budgets have been allocated to a contracting process should be published outside of OCDS data, according to the best available standards.", + "type": "object", "properties": { "id": { "title": "ID", - "description": "An identifier for the budget line item which provides funds for this contracting process. This identifier should be possible to cross-reference against formal budget documents.", + "description": "An identifier for the budget line item which provides funds for this contracting process. This identifier should be possible to cross-reference against formal budget documents. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -19696,7 +19699,7 @@ }, "project": { "title": "Project title", - "description": "The name of the project through which this contracting process is funded (if applicable). Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry. No translation option is offered for this string, as translated values can be provided in third-party data, linked from the data source above.", + "description": "The name of the project through which this contracting process is funded. Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry. No translation option is offered for this string, as translated values can be provided in third-party data, linked from the data source above.", "type": [ "string", "null" @@ -19704,7 +19707,7 @@ }, "projectID": { "title": "Project identifier", - "description": "An external identifier for the project that this contracting process forms part of, or is funded via (if applicable). Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", + "description": "An external identifier for the project that this contracting process forms part of, or is funded via. Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -19713,7 +19716,7 @@ }, "uri": { "title": "Linked budget information", - "description": "A URI pointing directly to a machine-readable record about the budget line-item or line-items that fund this contracting process. Information can be provided in a range of formats, including using IATI, the Open Fiscal Data Standard or any other standard which provides structured data on budget sources. Human readable documents can be included using the planning.documents block.", + "description": "A URI pointing directly to a machine-readable record about the budget line-item, or line-items that fund this contracting process. Information can be provided in a range of formats, including using IATI, the Open Fiscal Data Standard, or any other standard which provides structured data on budget sources. Human readable documents can be included using the planning.documents block.", "type": [ "string", "null" @@ -19722,7 +19725,7 @@ }, "source": { "title": "Data Source", - "description": "(Deprecated in 1.1) Used to point either to a corresponding Budget Data Package, or to a machine or human-readable source where users can find further information on the budget line item identifiers, or project identifiers, provided here.", + "description": "Used to point either to a corresponding Budget Data Package, or to a machine or human-readable source where users can find further information on the budget line item identifiers, or project identifiers, provided here.", "type": [ "string", "null" @@ -19756,8 +19759,8 @@ } }, "Transaction": { - "type": "object", "title": "Transaction information", + "type": "object", "description": "A spending transaction related to the contracting process. Draws upon the data models of the [Fiscal Data Package](https://frictionlessdata.io/specs/fiscal-data-package/) and the [International Aid Transparency Initiative](https://iatistandard.org/en/iati-standard/203/activity-standard/iati-activities/iati-activity/transaction/) and should be used to cross-reference to more detailed information held using a Fiscal Data Package, IATI file, or to provide enough information to allow a user to manually or automatically cross-reference with some other published source of transactional spending data.", "required": [ "id" @@ -19765,7 +19768,7 @@ "properties": { "id": { "title": "ID", - "description": "A unique identifier for this transaction. This identifier should be possible to cross-reference against the provided data source. For IATI this is the transaction reference. Although an integer is allowed, it is recommended to use a string.", + "description": "A unique identifier for this transaction. It should be possible to cross-reference this identifier against the provided data source. For IATI this is the transaction reference. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer" @@ -20121,6 +20124,9 @@ } }, "payer": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -20196,43 +20202,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -20307,48 +20313,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -20361,12 +20367,12 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "payee": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -20442,43 +20448,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -20553,48 +20559,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -20607,10 +20613,7 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "uri": { "title": "Linked spending information", @@ -21054,6 +21057,9 @@ } }, "OrganizationReference": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -21129,43 +21135,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -21240,48 +21246,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -21294,10 +21300,7 @@ } } } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "Organization": { "title": "Organization", @@ -21431,43 +21434,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -21481,48 +21484,48 @@ }, "contactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -21549,12 +21552,12 @@ "openCodelist": true }, "details": { + "title": "Details", + "description": "Additional classification information about parties can be provided using partyDetail extensions that define particular fields and classification schemes.", "type": [ "object", "null" - ], - "description": "Additional classification information about parties can be provided using partyDetail extensions that define particular fields and classification schemes.", - "title": "Details" + ] } }, "patternProperties": { @@ -21568,8 +21571,8 @@ }, "Item": { "title": "Item", - "type": "object", "description": "A good, service, or work to be contracted.", + "type": "object", "required": [ "id" ], @@ -22144,8 +22147,8 @@ }, "Amendment": { "title": "Amendment", - "type": "object", "description": "Amendment information", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -22165,28 +22168,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -22223,7 +22226,7 @@ } }, "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. ", + "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" } } @@ -22346,43 +22349,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -22396,48 +22399,48 @@ }, "ContactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -22804,17 +22807,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -22849,9 +22852,9 @@ } }, "RelatedProcess": { - "description": "A reference to a related contracting process: generally one preceding or following on from the current process.", - "type": "object", "title": "Related Process", + "description": "A reference to a related contracting process: generally one preceding or following on from the current contracting process.", + "type": "object", "properties": { "id": { "title": "Relationship ID", @@ -22859,21 +22862,22 @@ "type": "string" }, "relationship": { - "items": { - "type": "string" - }, - "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", "title": "Relationship", + "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", "type": [ "array", "null" ], + "items": { + "type": "string", + "minLength": 1 + }, "codelist": "relatedProcess.csv", "openCodelist": true }, "title": { - "description": "The title of the related process, where referencing an open contracting process, this field should match the tender/title field in the related process.", "title": "Related process title", + "description": "The title of the related process, where referencing an open contracting process, this field should match the tender/title field in the related process.", "type": [ "string", "null" @@ -22890,21 +22894,21 @@ "openCodelist": true }, "identifier": { - "description": "The identifier of the related process. If the scheme is 'ocid', this must be an Open Contracting ID (ocid).", "title": "Identifier", + "description": "The identifier of the related process. If the scheme is 'ocid', this must be an Open Contracting ID (ocid).", "type": [ "string", "null" ] }, "uri": { - "format": "uri", - "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", "title": "Related process URI", + "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", "type": [ "string", "null" - ] + ], + "format": "uri" } } }, diff --git a/schema/release-schema.json b/schema/release-schema.json index bb2b9a363..033e3052d 100644 --- a/schema/release-schema.json +++ b/schema/release-schema.json @@ -2,7 +2,7 @@ "id": "https://standard.open-contracting.org/schema/1__1__5/release-schema.json", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Schema for an Open Contracting Release", - "description": "Each release provides data about a single contracting process at a particular point in time. Releases can be used to notify users of new tenders, awards, contracts and other updates. Releases may repeat or update information provided previously in this contracting process. One contracting process may have many releases. A 'record' of a contracting process follows the same structure as a release, but combines information from multiple points in time into a single summary.", + "description": "Each release provides data about a single contracting process at a particular point in time. Releases can be used to notify users of new tenders, awards, contracts and other updates. Releases may repeat or update information provided previously in this contracting process. One contracting process may have many releases. The compiled and the versioned release of the 'record' of a contracting process follow the same structure as a release, but combine information from multiple points in time into a single summary.", "type": "object", "properties": { "ocid": { @@ -27,7 +27,7 @@ }, "tag": { "title": "Release Tag", - "description": "One or more values from the open [releaseTag](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#release-tag) codelist. A tag labels the release: for example, as corresponding to a particular stage of the contracting process. Codes outside the releaseTag codelist might indicate, for example, the notice or form to which the release corresponds, or the event that triggered the publication of the release.", + "description": "A label for the release (for example, a stage of the contracting process), using the the open [releaseTag](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#release-tag) codelist. Codes outside the releaseTag codelist might indicate, for example, the notice or form to which the release corresponds, or the event that triggered the publication of the release.", "type": "array", "items": { "type": "string" @@ -39,7 +39,7 @@ }, "initiationType": { "title": "Initiation type", - "description": "The type of initiation process used for this contract, from the closed [initiationType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#initiation-type) codelist.", + "description": "The type of initiation process used for this contract, using the closed [initiationType](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#initiation-type) codelist.", "type": "string", "enum": [ "tender" @@ -98,13 +98,13 @@ ] }, "relatedProcesses": { + "title": "Related processes", + "description": "The details of related contracting processes: for example, if this process follows on from one or more other contracting processes, represented under a separate open contracting identifier (ocid). This is commonly used to relate mini-competitions to their parent frameworks or individual tenders to a broader planning process.", + "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/RelatedProcess" - }, - "description": "The details of related processes: for example, if this process follows on from one or more other processes, represented under a separate open contracting identifier (ocid). This is commonly used to relate mini-competitions to their parent frameworks or individual tenders to a broader planning process.", - "title": "Related processes", - "type": "array" + } } }, "required": [ @@ -122,7 +122,7 @@ "properties": { "rationale": { "title": "Rationale", - "description": "The rationale for the procurement provided in free text. More detail can be provided in an attached document.", + "description": "The justification to undertake the procurement. More detail can be provided in an attached document.", "type": [ "string", "null" @@ -161,7 +161,7 @@ }, "Tender": { "title": "Tender", - "description": "Data regarding tender process - publicly inviting prospective contractors to submit bids for evaluation and selecting a winner or winners.", + "description": "Data regarding the tender process - publicly inviting prospective contractors to submit bids for evaluation and selecting a winner or winners.", "type": "object", "required": [ "id" @@ -195,7 +195,7 @@ }, "status": { "title": "Tender status", - "description": "The current status of the tender, from the closed [tenderStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#tender-status) codelist.", + "description": "The current status of the tender, using the closed [tenderStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#tender-status) codelist. See also the statusDetails field.", "type": [ "string", "null" @@ -242,12 +242,12 @@ }, "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 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).", "$ref": "#/definitions/Value" }, "procurementMethod": { "title": "Procurement method", - "description": "The procurement method, from the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist.", + "description": "The procurement method, using the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist. See also the procurementMethodDetails field.", "type": [ "string", "null" @@ -280,7 +280,7 @@ }, "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.", + "description": "The primary category describing the main object of this contracting process, using the closed [procurementCategory](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#procurement-category) codelist.", "type": [ "string", "null" @@ -309,7 +309,7 @@ }, "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.", + "description": "The award criteria for the procurement, using the open [awardCriteria](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#award-criteria) codelist. See also the awardCriteriaDetails field.", "type": [ "string", "null" @@ -327,7 +327,7 @@ }, "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.", + "description": "The methods by which bids are submitted, using the open [submissionMethod](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#submission-method) codelist. See also the submissionMethodDetails field.", "type": [ "array", "null" @@ -402,8 +402,8 @@ "$ref": "#/definitions/Period" }, "contractPeriod": { - "description": "The period over which the contract is estimated or required to be active. If the tender does not specify explicit dates, the duration field may be used.", "title": "Contract period", + "description": "The period over which the contract is estimated or required to be active. If the tender does not specify explicit dates, the duration field may be used.", "$ref": "#/definitions/Period" }, "numberOfTenderers": { @@ -440,9 +440,9 @@ } }, "amendments": { + "title": "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": { "$ref": "#/definitions/Amendment" } @@ -452,7 +452,7 @@ "description": "The use of individual amendment objects has been deprecated. From OCDS 1.1 information should be provided in the amendments array.", "$ref": "#/definitions/Amendment", "deprecated": { - "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "description": "The single amendment object has been deprecated in favor of including amendments in an amendments (plural) array.", "deprecatedVersion": "1.1" } } @@ -537,7 +537,7 @@ }, "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.", + "description": "The current status of the award, using the closed [awardStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#award-status) codelist.", "type": [ "string", "null" @@ -576,7 +576,7 @@ }, "suppliers": { "title": "Suppliers", - "description": "Entities with which a buyer or a procuring entity decided to conclude a contract.", + "description": "Entities with which the buyer decided to conclude a contract.", "type": "array", "items": { "$ref": "#/definitions/OrganizationReference" @@ -608,9 +608,9 @@ "uniqueItems": true }, "amendments": { + "title": "Amendments", "description": "An award amendment is a formal change to the details of the award, and generally involves the publication of a new award notice/release. The rationale and a description of the changes made can be provided here.", "type": "array", - "title": "Amendments", "items": { "$ref": "#/definitions/Amendment" } @@ -620,7 +620,7 @@ "description": "The use of individual amendment objects has been deprecated. From OCDS 1.1 information should be provided in the amendments array.", "$ref": "#/definitions/Amendment", "deprecated": { - "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "description": "The single amendment object has been deprecated in favor of including amendments in an amendments (plural) array.", "deprecatedVersion": "1.1" } } @@ -641,9 +641,9 @@ } }, "Contract": { - "type": "object", "title": "Contract", "description": "Information regarding the signed contract between the buyer and supplier(s).", + "type": "object", "required": [ "id", "awardID" @@ -685,7 +685,7 @@ }, "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.", + "description": "The current status of the contract, using the closed [contractStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#contract-status) codelist. See also the statusDetails field.", "type": [ "string", "null" @@ -754,13 +754,13 @@ "$ref": "#/definitions/Implementation" }, "relatedProcesses": { + "title": "Related processes", + "description": "The details of related contracting processes: for example, if this process is followed by one or more other contracting processes, represented under a separate open contracting identifier (ocid). This is commonly used to refer to subcontracts and to renewal or replacement processes for this contract.", + "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/RelatedProcess" - }, - "description": "The details of related processes: for example, if this process is followed by one or more contracting processes, represented under a separate open contracting identifier (ocid). This is commonly used to refer to subcontracts and to renewal or replacement processes for this contract.", - "title": "Related processes", - "type": "array" + } }, "milestones": { "title": "Contract milestones", @@ -771,9 +771,9 @@ } }, "amendments": { + "title": "Amendments", "description": "A contract amendment is a formal change to, or extension of, a contract, and generally involves the publication of a new contract notice/release, or some other documents detailing the change. The rationale and a description of the changes made can be provided here.", "type": "array", - "title": "Amendments", "items": { "$ref": "#/definitions/Amendment" } @@ -783,7 +783,7 @@ "description": "The use of individual amendment objects has been deprecated. From OCDS 1.1 information should be provided in the amendments array.", "$ref": "#/definitions/Amendment", "deprecated": { - "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "description": "The single amendment object has been deprecated in favor of including amendments in an amendments (plural) array.", "deprecatedVersion": "1.1" } } @@ -804,9 +804,9 @@ } }, "Implementation": { - "type": "object", "title": "Implementation", - "description": "Information during the performance / implementation stage of the contract.", + "description": "Information regarding the performance / implementation stage of the contract.", + "type": "object", "properties": { "transactions": { "title": "Transactions", @@ -819,7 +819,7 @@ }, "milestones": { "title": "Milestones", - "description": "As milestones are completed, the milestone's status and dates should be updated.", + "description": "A list of milestones associated with the implementation.", "type": "array", "items": { "$ref": "#/definitions/Milestone" @@ -882,7 +882,7 @@ }, "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.", + "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 approval letter is due or signed.", "type": [ "string", "null" @@ -898,17 +898,17 @@ "format": "date-time" }, "dateMet": { - "format": "date-time", "title": "Date met", "description": "The date on which the milestone was met.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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.", + "description": "The date the milestone was last reviewed or modified, and the status was either altered or confirmed to still be correct.", "type": [ "string", "null" @@ -917,7 +917,7 @@ }, "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.", + "description": "The status that was realized on the date provided in `dateModified`, using the closed [milestoneStatus](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#milestone-status) codelist.", "type": [ "string", "null" @@ -934,7 +934,7 @@ }, "documents": { "title": "Documents", - "description": "List of documents associated with this milestone (Deprecated in 1.1).", + "description": "List of documents associated with this milestone.", "type": "array", "deprecated": { "deprecatedVersion": "1.1", @@ -962,9 +962,9 @@ } }, "Document": { - "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.", + "type": "object", "required": [ "id" ], @@ -1024,7 +1024,7 @@ }, "dateModified": { "title": "Date modified", - "description": "Date that the document was last modified", + "description": "The date the document was last modified", "type": [ "string", "null" @@ -1064,13 +1064,13 @@ } }, "Budget": { - "type": "object", "title": "Budget information", - "description": "This section contains basic information about the budget estimated for, or allocated to, this contracting process at the present time. Further documentation and data about how budgets have been allocated to a contracting process should be published outside of OCDS data, according to the best available standards.", + "description": "Basic information about the budget estimated for, or allocated to, this contracting process at the present time. Further documentation and data about how budgets have been allocated to a contracting process should be published outside of OCDS data, according to the best available standards.", + "type": "object", "properties": { "id": { "title": "ID", - "description": "An identifier for the budget line item which provides funds for this contracting process. This identifier should be possible to cross-reference against formal budget documents.", + "description": "An identifier for the budget line item which provides funds for this contracting process. This identifier should be possible to cross-reference against formal budget documents. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -1092,7 +1092,7 @@ }, "project": { "title": "Project title", - "description": "The name of the project through which this contracting process is funded (if applicable). Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry. No translation option is offered for this string, as translated values can be provided in third-party data, linked from the data source above.", + "description": "The name of the project through which this contracting process is funded. Some organizations maintain a registry of projects, and the data should use the name by which the project is known in that registry. No translation option is offered for this string, as translated values can be provided in third-party data, linked from the data source above.", "type": [ "string", "null" @@ -1100,7 +1100,7 @@ }, "projectID": { "title": "Project identifier", - "description": "An external identifier for the project that this contracting process forms part of, or is funded via (if applicable). Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", + "description": "An external identifier for the project that this contracting process forms part of, or is funded via. Some organizations maintain a registry of projects, and the data should use the identifier from the relevant registry of projects. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer", @@ -1109,7 +1109,7 @@ }, "uri": { "title": "Linked budget information", - "description": "A URI pointing directly to a machine-readable record about the budget line-item or line-items that fund this contracting process. Information can be provided in a range of formats, including using IATI, the Open Fiscal Data Standard or any other standard which provides structured data on budget sources. Human readable documents can be included using the planning.documents block.", + "description": "A URI pointing directly to a machine-readable record about the budget line-item, or line-items that fund this contracting process. Information can be provided in a range of formats, including using IATI, the Open Fiscal Data Standard, or any other standard which provides structured data on budget sources. Human readable documents can be included using the planning.documents block.", "type": [ "string", "null" @@ -1118,7 +1118,7 @@ }, "source": { "title": "Data Source", - "description": "(Deprecated in 1.1) Used to point either to a corresponding Budget Data Package, or to a machine or human-readable source where users can find further information on the budget line item identifiers, or project identifiers, provided here.", + "description": "Used to point either to a corresponding Budget Data Package, or to a machine or human-readable source where users can find further information on the budget line item identifiers, or project identifiers, provided here.", "type": [ "string", "null" @@ -1152,8 +1152,8 @@ } }, "Transaction": { - "type": "object", "title": "Transaction information", + "type": "object", "description": "A spending transaction related to the contracting process. Draws upon the data models of the [Fiscal Data Package](https://frictionlessdata.io/specs/fiscal-data-package/) and the [International Aid Transparency Initiative](https://iatistandard.org/en/iati-standard/203/activity-standard/iati-activities/iati-activity/transaction/) and should be used to cross-reference to more detailed information held using a Fiscal Data Package, IATI file, or to provide enough information to allow a user to manually or automatically cross-reference with some other published source of transactional spending data.", "required": [ "id" @@ -1161,7 +1161,7 @@ "properties": { "id": { "title": "ID", - "description": "A unique identifier for this transaction. This identifier should be possible to cross-reference against the provided data source. For IATI this is the transaction reference. Although an integer is allowed, it is recommended to use a string.", + "description": "A unique identifier for this transaction. It should be possible to cross-reference this identifier against the provided data source. For IATI this is the transaction reference. Although an integer is allowed, it is recommended to use a string.", "type": [ "string", "integer" @@ -1187,19 +1187,19 @@ "format": "date-time" }, "value": { - "$ref": "#/definitions/Value", "title": "Value", - "description": "The value of the transaction." + "description": "The value of the transaction.", + "$ref": "#/definitions/Value" }, "payer": { - "$ref": "#/definitions/OrganizationReference", "title": "Payer", - "description": "An organization reference for the organization from which the funds in this transaction originate." + "description": "An organization reference for the organization from which the funds in this transaction originate.", + "$ref": "#/definitions/OrganizationReference" }, "payee": { - "$ref": "#/definitions/OrganizationReference", "title": "Payee", - "description": "An organization reference for the organization which receives the funds in this transaction." + "description": "An organization reference for the organization which receives the funds in this transaction.", + "$ref": "#/definitions/OrganizationReference" }, "uri": { "title": "Linked spending information", @@ -1240,6 +1240,9 @@ } }, "OrganizationReference": { + "title": "Organization reference", + "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", + "type": "object", "properties": { "name": { "type": [ @@ -1299,10 +1302,7 @@ "description": "(Deprecated outside the parties section)", "title": "Contact point" } - }, - "type": "object", - "description": "The id and name of the party being referenced. Used to cross-reference to the parties section", - "title": "Organization reference" + } }, "Organization": { "title": "Organization", @@ -1361,12 +1361,12 @@ "openCodelist": true }, "details": { + "title": "Details", + "description": "Additional classification information about parties can be provided using partyDetail extensions that define particular fields and classification schemes.", "type": [ "object", "null" - ], - "description": "Additional classification information about parties can be provided using partyDetail extensions that define particular fields and classification schemes.", - "title": "Details" + ] } }, "patternProperties": { @@ -1380,8 +1380,8 @@ }, "Item": { "title": "Item", - "type": "object", "description": "A good, service, or work to be contracted.", + "type": "object", "required": [ "id" ], @@ -1443,8 +1443,8 @@ }, "Amendment": { "title": "Amendment", - "type": "object", "description": "Amendment information", + "type": "object", "properties": { "date": { "title": "Amendment date", @@ -1464,28 +1464,28 @@ ] }, "id": { + "title": "ID", "description": "An identifier for this amendment: often the amendment number", "type": [ "string", "null" - ], - "title": "ID" + ] }, "description": { + "title": "Description", "description": "A free text, or semi-structured, description of the changes made in this amendment.", "type": [ "string", "null" - ], - "title": "Description" + ] }, "amendsReleaseID": { + "title": "Amended release (identifier)", "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.", @@ -1522,7 +1522,7 @@ } }, "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. ", + "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" } } @@ -1595,7 +1595,7 @@ "properties": { "scheme": { "title": "Scheme", - "description": "Organization identifiers should be taken from an existing organization identifier list. The scheme field is used to indicate the list or register from which the identifier is taken. This value should be taken from the [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", + "description": "The list or register (a \"scheme\") from which the identifier is taken, using the open [Organization Identifier Scheme](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#organization-identifier-scheme) codelist.", "type": [ "string", "null" @@ -1645,43 +1645,43 @@ "properties": { "streetAddress": { "title": "Street address", + "description": "The street address. For example, 1600 Amphitheatre Pkwy.", "type": [ "string", "null" - ], - "description": "The street address. For example, 1600 Amphitheatre Pkwy." + ] }, "locality": { "title": "Locality", + "description": "The locality. For example, Mountain View.", "type": [ "string", "null" - ], - "description": "The locality. For example, Mountain View." + ] }, "region": { "title": "Region", + "description": "The region. For example, CA.", "type": [ "string", "null" - ], - "description": "The region. For example, CA." + ] }, "postalCode": { "title": "Postal code", + "description": "The postal code. For example, 94043.", "type": [ "string", "null" - ], - "description": "The postal code. For example, 94043." + ] }, "countryName": { "title": "Country name", + "description": "The country name. For example, United States.", "type": [ "string", "null" - ], - "description": "The country name. For example, United States." + ] } }, "patternProperties": { @@ -1695,48 +1695,48 @@ }, "ContactPoint": { "title": "Contact point", - "type": "object", "description": "A person, contact point or department to contact in relation to this contracting process.", + "type": "object", "properties": { "name": { "title": "Name", + "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process.", "type": [ "string", "null" - ], - "description": "The name of the contact person, department, or contact point, for correspondence relating to this contracting process." + ] }, "email": { "title": "Email", + "description": "The e-mail address of the contact point/person.", "type": [ "string", "null" - ], - "description": "The e-mail address of the contact point/person." + ] }, "telephone": { "title": "Telephone", + "description": "The telephone number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The telephone number of the contact point/person. This should include the international dialing code." + ] }, "faxNumber": { "title": "Fax number", + "description": "The fax number of the contact point/person. This should include the international dialing code.", "type": [ "string", "null" - ], - "description": "The fax number of the contact point/person. This should include the international dialing code." + ] }, "url": { "title": "URL", + "description": "A web address for the contact point/person.", "type": [ "string", "null" ], - "description": "A web address for the contact point/person.", "format": "uri" } }, @@ -1764,7 +1764,7 @@ }, "currency": { "title": "Currency", - "description": "The currency of the amount, from the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", + "description": "The currency of the amount, using the closed [currency](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#currency) codelist.", "type": [ "string", "null" @@ -2103,17 +2103,17 @@ "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", + "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.", "type": [ "string", "null" - ] + ], + "format": "date-time" }, "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)", + "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.", "type": [ "integer", "null" @@ -2148,9 +2148,9 @@ } }, "RelatedProcess": { - "description": "A reference to a related contracting process: generally one preceding or following on from the current process.", - "type": "object", "title": "Related Process", + "description": "A reference to a related contracting process: generally one preceding or following on from the current contracting process.", + "type": "object", "properties": { "id": { "title": "Relationship ID", @@ -2158,21 +2158,22 @@ "type": "string" }, "relationship": { - "items": { - "type": "string" - }, - "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", "title": "Relationship", + "description": "The type of relationship, using the open [relatedProcess](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#related-process) codelist.", "type": [ "array", "null" ], + "items": { + "type": "string", + "minLength": 1 + }, "codelist": "relatedProcess.csv", "openCodelist": true }, "title": { - "description": "The title of the related process, where referencing an open contracting process, this field should match the tender/title field in the related process.", "title": "Related process title", + "description": "The title of the related process, where referencing an open contracting process, this field should match the tender/title field in the related process.", "type": [ "string", "null" @@ -2189,21 +2190,21 @@ "openCodelist": true }, "identifier": { - "description": "The identifier of the related process. If the scheme is 'ocid', this must be an Open Contracting ID (ocid).", "title": "Identifier", + "description": "The identifier of the related process. If the scheme is 'ocid', this must be an Open Contracting ID (ocid).", "type": [ "string", "null" ] }, "uri": { - "format": "uri", - "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", "title": "Related process URI", + "description": "A URI pointing to a machine-readable document, release or record package containing the identified related process.", "type": [ "string", "null" - ] + ], + "format": "uri" } } }, diff --git a/schema/versioned-release-validation-schema.json b/schema/versioned-release-validation-schema.json index 3f154021e..1fb5ec382 100644 --- a/schema/versioned-release-validation-schema.json +++ b/schema/versioned-release-validation-schema.json @@ -2,7 +2,7 @@ "id": "https://standard.open-contracting.org/schema/1__1__5/versioned-release-validation-schema.json", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Schema for a compiled, versioned Open Contracting Release.", - "description": "Each release provides data about a single contracting process at a particular point in time. Releases can be used to notify users of new tenders, awards, contracts and other updates. Releases may repeat or update information provided previously in this contracting process. One contracting process may have many releases. A 'record' of a contracting process follows the same structure as a release, but combines information from multiple points in time into a single summary.", + "description": "Each release provides data about a single contracting process at a particular point in time. Releases can be used to notify users of new tenders, awards, contracts and other updates. Releases may repeat or update information provided previously in this contracting process. One contracting process may have many releases. The compiled and the versioned release of the 'record' of a contracting process follow the same structure as a release, but combine information from multiple points in time into a single summary.", "type": "object", "properties": { "initiationType": { @@ -68,11 +68,11 @@ "$ref": "#/definitions/StringNullVersioned" }, "relatedProcesses": { + "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/RelatedProcess" - }, - "type": "array" + } }, "ocid": { "type": "string", @@ -524,7 +524,7 @@ "amendment": { "$ref": "#/definitions/Amendment", "deprecated": { - "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "description": "The single amendment object has been deprecated in favor of including amendments in an amendments (plural) array.", "deprecatedVersion": "1.1" } } @@ -672,7 +672,7 @@ "amendment": { "$ref": "#/definitions/Amendment", "deprecated": { - "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "description": "The single amendment object has been deprecated in favor of including amendments in an amendments (plural) array.", "deprecatedVersion": "1.1" } } @@ -809,11 +809,11 @@ "$ref": "#/definitions/Implementation" }, "relatedProcesses": { + "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/RelatedProcess" - }, - "type": "array" + } }, "milestones": { "type": "array", @@ -830,7 +830,7 @@ "amendment": { "$ref": "#/definitions/Amendment", "deprecated": { - "description": "The single amendment object has been deprecated in favour of including amendments in an amendments (plural) array.", + "description": "The single amendment object has been deprecated in favor of including amendments in an amendments (plural) array.", "deprecatedVersion": "1.1" } } @@ -1258,6 +1258,7 @@ } }, "OrganizationReference": { + "type": "object", "properties": { "name": { "type": "array", @@ -1346,8 +1347,7 @@ }, "$ref": "#/definitions/ContactPoint" } - }, - "type": "object" + } }, "Organization": { "type": "object", @@ -1596,7 +1596,7 @@ } }, "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. ", + "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" } } @@ -2255,13 +2255,14 @@ "type": "string" }, "value": { - "items": { - "type": "string" - }, "type": [ "array", "null" ], + "items": { + "type": "string", + "minLength": 1 + }, "codelist": "relatedProcess.csv", "openCodelist": true }, @@ -2526,6 +2527,7 @@ } }, "OrganizationReferenceVersionedId": { + "type": "object", "properties": { "name": { "type": "array", @@ -2635,8 +2637,7 @@ }, "$ref": "#/definitions/ContactPoint" } - }, - "type": "object" + } }, "ClassificationUnversioned": { "type": "object",