Releases and Records

Tracking change over time is important for users of contracting data.

Publishers are encouraged to publish data in near real-time and to provide a change history. The OCDS releases and records model describes how to do this.

The Releases and Records model

Releases and records are the two JSON document formats supported by OCDS.

Consider the timeline of a contracting process. OCDS identifies five main stages but there can be many events within each stage. The image below shows an example timeline for a contracting process.

Contracting Process

There are major events that mark the progress from one stage to another, like an award notice. Smaller events take place within a stage, like a deadline extension for bidding. In OCDS, all changes are disclosed using releases. Releases are JSON documents, published each time there is an update in the process.

Contracting Process with releases

Releases are immutable. Each change is documented in a new release, rather than by updating an existing one. The collection of releases for a particular process makes its change history.

Records are JSON documents that act as an index of all releases for a single contracting process. While releases are never updated, records are updated each time there is a change. A record is updated by adding a new release to this index.

Contracting Process with releases and a record

Records can also contain:

  • A compiled release, which uses the same structure as an OCDS release. It represents the latest state of each field.

  • A versioned release, that contains a history of changes for each individual field.

These structures are designed to help users to access:

  • The current state of the contracting process

  • The detailed history of changes for individual fields

In accounting terms, releases are analogous to individual transactions in an account. A record represents both the ledger of all transactions and the closing balance. The ledger is the releases list, and the closing balance is the compiled release.

In software development terms, releases are analogous to Git commits on a branch. A record represents both the commit history for the branch and the HEAD for the branch. The releases list is the commit history, and the HEAD is the compiled release.

Releases

Releases follow the release schema. The schema covers the whole contracting process, but there are only a few mandatory fields. The box below shows an example.

[
    {
        "ocid": "ocds-213czf-000-00001",
        "id": "ocds-213czf-000-00001-02-tender",
        "date": "2010-03-15T09:30:00Z",
        "language": "en",
        "tag": [
            "tender"
        ],
        "initiationType": "tender",
        "parties": [
            {
                "identifier": {
                    "scheme": "GB-LAC",
                    "id": "E09000003",
                    "legalName": "London Borough of Barnet",
                    "uri": "http://www.barnet.gov.uk/"
                },
                "name": "London Borough of Barnet",
                "address": {
                    "streetAddress": "4, North London Business Park, Oakleigh Rd S",
                    "locality": "London",
                    "region": "London",
                    "postalCode": "N11 1NP",
                    "countryName": "United Kingdom"
                },
                "contactPoint": {
                    "name": "Procurement Team",
                    "email": "procurement-team@example.com",
                    "telephone": "01234 345 346",
                    "faxNumber": "01234 345 345",
                    "url": "http://example.com/contact/"
                },
                "roles": [
                    "procuringEntity",
                    "buyer"
                ],
                "id": "GB-LAC-E09000003"
            }
        ],
        "buyer": {
            "id": "GB-LAC-E09000003",
            "name": "London Borough of Barnet"
        },
        "tender": {
            "id": "ocds-213czf-000-00001-01-tender",
            "title": "Planned cycle lane improvements",
            "description": "Tenders solicited for work to build new cycle lanes in the centre of town.",
            "status": "active",
            "items": [
                {
                    "id": "0001",
                    "description": "string",
                    "classification": {
                        "scheme": "CPV",
                        "id": "45233130",
                        "description": "Construction work for highways",
                        "uri": "http://cpv.data.ac.uk/code-45233130"
                    },
                    "additionalClassifications": [
                        {
                            "scheme": "CPV",
                            "id": "45233162-2",
                            "description": "Cycle path construction work",
                            "uri": "http://cpv.data.ac.uk/code-45233162.html"
                        }
                    ],
                    "quantity": 8,
                    "unit": {
                        "name": "Miles",
                        "value": {
                            "amount": 120000,
                            "currency": "GBP"
                        }
                    }
                }
            ],
            "minValue": {
                "amount": 600000,
                "currency": "GBP"
            },
            "value": {
                "amount": 1100000,
                "currency": "GBP"
            },
            "procurementMethod": "open",
            "procurementMethodRationale": "An open competitive tender is required by EU Rules",
            "awardCriteria": "bestProposal",
            "awardCriteriaDetails": "The best proposal, subject to value for money requirements, will be accepted.",
            "submissionMethod": [
                "electronicSubmission"
            ],
            "submissionMethodDetails": "Submit through the online portal at http://example.com/submissions/ocds-213czf-000-00001-01/",
            "enquiryPeriod": {
                "startDate": "2010-03-01T09:00:00Z",
                "endDate": "2010-03-14T17:30:00Z"
            },
            "hasEnquiries": false,
            "tenderPeriod": {
                "startDate": "2010-03-01T09:00:00Z",
                "endDate": "2011-04-01T18:00:00Z"
            },
            "awardPeriod": {
                "startDate": "2010-06-01T00:00:00Z",
                "endDate": "2011-08-01T23:59:59Z"
            },
            "procuringEntity": {
                "id": "GB-LAC-E09000003",
                "name": "London Borough of Barnet"
            },
            "documents": [
                {
                    "id": "0005",
                    "documentType": "tenderNotice",
                    "title": "Tender Notice",
                    "description": "Official tender notice.",
                    "url": "http://example.com/tender-notices/ocds-213czf-000-00001-01.html",
                    "datePublished": "2010-03-01T09:00:00Z",
                    "format": "text/html",
                    "language": "en"
                }
            ]
        }
    }
]

Identifiers

Each release contains an ocid to identify the contracting process it relates to. An ocid is composed of a prefix and an unique process identifier chosen by the publisher.

A release also needs a release identifier, unique in the scope of the contracting process. A release id can be built in several ways. Publishers can use any generation strategy, as long as the ids don’t collide within the same process.

The easy releases section introduces two strategies that can be used in any scenario.

Packaging

Releases are wrapped in a release package to provide context to the data. The uri package field contains a URI to an online copy of the same release package.

See the Release Package schema for details.

Tags

Each release also provides one or more tags. Tags provide information about the event the release relates to.

For example:

  • When an invitation to tender is published, the publisher uses the 'tender' tag . The release includes the relevant details in the tender section. It can also contain information about the budget in the planning section.

  • When a contract is awarded, the publisher uses the 'award' tag. The release includes the relevant details in the award section. It can also update the tender section with the list of tenderers that submitted a bid.

The release tag codelist contains the list of all tags provided by OCDS. Note that it is allowed to use more than one tag in the same release. For example, a release with new data in the tender and award sections can use the 'tender' and 'award' tags together.

Repeating previous information

Releases can repeat unchanged data from previous releases, or include new information only. Publishers decide how much data to include as long as mandatory fields are present.

It might be more appropriate to repeat data when processes have fewer releases. Consider as well that repeating previous information makes larger releases and larger datasets.

Example

The following example shows releases with minimal changes on each update.

  1. The first release presents tender data.

  2. The second introduces a new document in the tender section with the 'tenderUpdate' tag. Note that the release ignores all the nonmandatory fields. The tender document present in the previous release is also ignored.

  3. The third release presents award data, and ignores the tender section.

{
    "ocid": "ocds-213czf-000-00001",
    "id": "ocds-213czf-000-00001-02-tender",
    "date": "2010-03-15T09:30:00Z",
    "language": "en",
    "tag": [
        "tender"
    ],
    "initiationType": "tender",
    "parties": [
        {
            "identifier": {
                "scheme": "GB-LAC",
                "id": "E09000003",
                "legalName": "London Borough of Barnet",
                "uri": "http://www.barnet.gov.uk/"
            },
            "name": "London Borough of Barnet",
            "address": {
                "streetAddress": "4, North London Business Park, Oakleigh Rd S",
                "locality": "London",
                "region": "London",
                "postalCode": "N11 1NP",
                "countryName": "United Kingdom"
            },
            "contactPoint": {
                "name": "Procurement Team",
                "email": "procurement-team@example.com",
                "telephone": "01234 345 346",
                "faxNumber": "01234 345 345",
                "url": "http://example.com/contact/"
            },
            "roles": [
                "procuringEntity",
                "buyer"
            ],
            "id": "GB-LAC-E09000003"
        }
    ],
    "buyer": {
        "id": "GB-LAC-E09000003",
        "name": "London Borough of Barnet"
    },
    "tender": {
        "id": "ocds-213czf-000-00001-01-tender",
        "title": "Planned cycle lane improvements",
        "description": "Tenders solicited for work to build new cycle lanes in the centre of town.",
        "status": "active",
        "items": [
            {
                "id": "0001",
                "description": "string",
                "classification": {
                    "scheme": "CPV",
                    "id": "45233130",
                    "description": "Construction work for highways",
                    "uri": "http://cpv.data.ac.uk/code-45233130"
                },
                "additionalClassifications": [
                    {
                        "scheme": "CPV",
                        "id": "45233162-2",
                        "description": "Cycle path construction work",
                        "uri": "http://cpv.data.ac.uk/code-45233162.html"
                    }
                ],
                "quantity": 8,
                "unit": {
                    "name": "Miles",
                    "value": {
                        "amount": 120000,
                        "currency": "GBP"
                    }
                }
            }
        ],
        "minValue": {
            "amount": 600000,
            "currency": "GBP"
        },
        "value": {
            "amount": 1100000,
            "currency": "GBP"
        },
        "procurementMethod": "open",
        "procurementMethodRationale": "An open competitive tender is required by EU Rules",
        "awardCriteria": "bestProposal",
        "awardCriteriaDetails": "The best proposal, subject to value for money requirements, will be accepted.",
        "submissionMethod": [
            "electronicSubmission"
        ],
        "submissionMethodDetails": "Submit through the online portal at http://example.com/submissions/ocds-213czf-000-00001-01/",
        "enquiryPeriod": {
            "startDate": "2010-03-01T09:00:00Z",
            "endDate": "2010-03-14T17:30:00Z"
        },
        "hasEnquiries": false,
        "tenderPeriod": {
            "startDate": "2010-03-01T09:00:00Z",
            "endDate": "2011-04-01T18:00:00Z"
        },
        "awardPeriod": {
            "startDate": "2010-06-01T00:00:00Z",
            "endDate": "2011-08-01T23:59:59Z"
        },
        "procuringEntity": {
            "id": "GB-LAC-E09000003",
            "name": "London Borough of Barnet"
        },
        "documents": [
            {
                "id": "0005",
                "documentType": "notice",
                "title": "Tender Notice",
                "description": "Official tender notice.",
                "url": "http://example.com/tender-notices/ocds-213czf-000-00001-01.html",
                "datePublished": "2010-03-01T09:00:00Z",
                "format": "text/html",
                "language": "en"
            }
        ]
    }
}
{
    "ocid": "ocds-213czf-000-00001",
    "id": "ocds-213czf-000-00001-03-tenderUpdate",
    "date": "2010-03-20T09:45:00Z",
    "language": "en",
    "tag": [
        "tenderUpdate"
    ],
    "initiationType": "tender",
    "parties": [
        {
            "identifier": {
                "scheme": "GB-LAC",
                "id": "E09000003",
                "legalName": "London Borough of Barnet",
                "uri": "http://www.barnet.gov.uk/"
            },
            "name": "London Borough of Barnet",
            "address": {
                "streetAddress": "4, North London Business Park, Oakleigh Rd S",
                "locality": "London",
                "region": "London",
                "postalCode": "N11 1NP",
                "countryName": "United Kingdom"
            },
            "contactPoint": {
                "name": "Procurement Team",
                "email": "procurement-team@example.com",
                "telephone": "01234 345 346",
                "faxNumber": "01234 345 345",
                "url": "http://example.com/contact/"
            },
            "roles": [
                "procuringEntity",
                "buyer"
            ],
            "id": "GB-LAC-E09000003"
        }
    ],
    "buyer": {
        "id": "GB-LAC-E09000003",
        "name": "London Borough of Barnet"
    },
    "tender": {
        "id": "ocds-213czf-000-00001-01-tender",
        "documents": [
            {
                "id": "0006",
                "documentType": "enquiryResponses",
                "title": "Enquiry Responses",
                "description": "Responses to enquiries asked by interested parties.",
                "url": "http://example.com/enquiry-response/ocds-213czf-000-00001-01.html",
                "datePublished": "2010-03-20T11:30:15Z",
                "format": "text/html",
                "language": "en"
            }
        ]
    }
}
{
    "ocid": "ocds-213czf-000-00001",
    "id": "ocds-213czf-000-00001-04-award",
    "date": "2010-05-10T09:30:00Z",
    "language": "en",
    "tag": [
        "award"
    ],
    "initiationType": "tender",
    "parties": [
        {
            "identifier": {
                "scheme": "GB-LAC",
                "id": "E09000003",
                "legalName": "London Borough of Barnet",
                "uri": "http://www.barnet.gov.uk/"
            },
            "name": "London Borough of Barnet",
            "address": {
                "streetAddress": "4, North London Business Park, Oakleigh Rd S",
                "locality": "London",
                "region": "London",
                "postalCode": "N11 1NP",
                "countryName": "United Kingdom"
            },
            "contactPoint": {
                "name": "Procurement Team",
                "email": "procurement-team@example.com",
                "telephone": "01234 345 346",
                "faxNumber": "01234 345 345",
                "url": "http://example.com/contact/"
            },
            "roles": [
                "buyer"
            ],
            "id": "GB-LAC-E09000003"
        },
        {
            "identifier": {
                "scheme": "GB-COH",
                "id": "1234567844",
                "legalName": "AnyCorp Ltd",
                "uri": "http://www.anycorp.example"
            },
            "additionalIdentifiers": [
                {
                    "scheme": "GB-VAT",
                    "id": "987654321"
                }
            ],
            "name": "AnyCorp Cycle Provision",
            "address": {
                "streetAddress": "100 Anytown Lane",
                "locality": "Anytown",
                "region": "AnyCounty",
                "postalCode": "AN1 1TN",
                "countryName": "United Kingdom"
            },
            "contactPoint": {
                "name": "Contracts Team",
                "email": "contracts@anycorp.example",
                "telephone": "12345 456 343",
                "faxNumber": "12345 456 343"
            },
            "roles": [
                "supplier"
            ],
            "id": "GB-COH-1234567844"
        }
    ],
    "buyer": {
        "id": "GB-LAC-E09000003",
        "name": "London Borough of Barnet"
    },
    "awards": [
        {
            "id": "ocds-213czf-000-00001-award-01",
            "title": "Award of contract to build new cycle lanes in the centre of town.",
            "description": "AnyCorp Ltd has been awarded the contract to build new cycle lanes in the centre of town.",
            "status": "pending",
            "date": "2010-05-10T09:30:00Z",
            "value": {
                "amount": 11000000,
                "currency": "GBP"
            },
            "suppliers": [
                {
                    "id": "GB-COH-1234567844",
                    "name": "AnyCorp Cycle Provision"
                }
            ],
            "items": [
                {
                    "id": "0001",
                    "description": "string",
                    "classification": {
                        "scheme": "CPV",
                        "id": "45233130",
                        "description": "Construction work for highways",
                        "uri": "http://cpv.data.ac.uk/code-45233130"
                    },
                    "additionalClassifications": [
                        {
                            "scheme": "CPV",
                            "id": "45233162-2",
                            "description": "Cycle path construction work",
                            "uri": "http://cpv.data.ac.uk/code-45233162.html"
                        }
                    ],
                    "quantity": 8,
                    "unit": {
                        "name": "Miles",
                        "value": {
                            "amount": 137000,
                            "currency": "GBP"
                        }
                    }
                }
            ],
            "contractPeriod": {
                "startDate": "2010-07-01T00:00:00Z",
                "endDate": "2011-08-01T23:59:00Z"
            },
            "documents": [
                {
                    "id": "0007",
                    "documentType": "notice",
                    "title": "Award notice",
                    "description": "Award of contract to build new cycle lanes in the centre of town to AnyCorp Ltd.",
                    "url": "http://example.com/tender-notices/ocds-213czf-000-00001-04.html",
                    "datePublished": "2010-05-10T09:30:00Z",
                    "format": "text/html",
                    "language": "en"
                }
            ]
        }
    ]
}

Records

A record follows the structure defined in the Records Reference. Below is a full example.

{
    "ocid": "ocds-213czf-000-00002",
    "releases": [
        {
            "url": "https://standard.open-contracting.org/examples/releases/ocds-213czf-000-00002-01-award1.json#ocds-213czf-000-00002-01-award1",
            "date": "2016-03-01T09:30:00Z",
            "tag": [
                "award"
            ]
        },
        {
            "url": "https://standard.open-contracting.org/examples/releases/ocds-213czf-000-00002-01-award2.json#ocds-213czf-000-00002-01-award2",
            "date": "2016-03-03T09:30:00Z",
            "tag": [
                "award"
            ]
        },
        {
            "url": "https://standard.open-contracting.org/examples/releases/ocds-213czf-000-00002-01-tender.json#ocds-213czf-000-00002-01-tender",
            "date": "2016-01-01T09:30:00Z",
            "tag": [
                "tender"
            ]
        },
        {
            "url": "https://standard.open-contracting.org/examples/releases/ocds-213czf-000-00002-01-tender-update.json#ocds-213czf-000-00002-01-tender-update",
            "date": "2016-01-31T09:30:00Z",
            "tag": [
                "tenderUpdate"
            ]
        },
        {
            "url": "https://standard.open-contracting.org/examples/releases/ocds-213czf-000-00002-01-tender-amendment.json#ocds-213czf-000-00002-01-tender-amendment",
            "date": "2016-02-05T10:30:00Z",
            "tag": [
                "tenderAmendment"
            ]
        }
    ],
    "compiledRelease": {
        "tag": [
            "compiled"
        ],
        "id": "ocds-213czf-000-00002-2016-03-03T09:30:00Z",
        "date": "2016-03-03T09:30:00Z",
        "ocid": "ocds-213czf-000-00002",
        "language": "en",
        "initiationType": "tender",
        "parties": [
            {
                "id": "GB-COH-09506232",
                "name": "Open Data Services",
                "identifier": {
                    "scheme": "GB-COH",
                    "id": "09506232",
                    "legalName": "Open Data Services Co-operative",
                    "uri": "https://opencorporates.com/companies/gb/09506232"
                },
                "roles": [
                    "buyer"
                ]
            }
        ],
        "buyer": {
            "id": "GB-COH-09506232",
            "name": "Open Data Services"
        },
        "tender": {
            "id": "ocds-213czf-000-00002-01-tender",
            "title": "Data merging tool",
            "description": "Creation of a data merging tool. The tool should by written in Python. Proposals should be submitted by e-mail.",
            "status": "active",
            "value": {
                "amount": 2000,
                "currency": "USD"
            },
            "procurementMethod": "open",
            "awardCriteria": "bestProposal",
            "submissionMethod": [
                "electronicSubmission"
            ],
            "tenderPeriod": {
                "startDate": "2016-01-31T09:00:00Z",
                "endDate": "2016-02-20T18:00:00Z"
            },
            "awardPeriod": {
                "startDate": "2016-04-01T00:00:00Z",
                "endDate": "2016-06-01T23:59:59Z"
            },
            "amendments": [
                {
                    "id": "amendment-1",
                    "date": "2016-02-04T09:30:00Z",
                    "rationale": "Based on feedback from potential bidders, the total budget was increased by $1000, and the deadline extended",
                    "amendsReleaseID": "ocds-213czf-000-00002-01-tender",
                    "releaseID": "ocds-213czf-000-00002-01-tender-amendment"
                }
            ]
        },
        "awards": [
            {
                "id": "ocds-213czf-000-00002-award-supplier-one",
                "title": "Award of contract to create the data merging tool.",
                "description": "Supplier 1 has been commissioned to create the merge tool. A separate contract will be awarded to write the documentation",
                "status": "active",
                "date": "2016-03-01T09:30:00Z",
                "value": {
                    "amount": 750,
                    "currency": "USD"
                }
            },
            {
                "id": "ocds-213czf-000-00002-award-supplier-two",
                "title": "Award of contract to create the data merging tool.",
                "description": "Supplier 2 has been commissioned to create the documentation. A separate contract will be awarded to create the tool",
                "status": "active",
                "date": "2016-03-03T09:30:00Z",
                "value": {
                    "amount": 750,
                    "currency": "USD"
                }
            }
        ]
    },
    "versionedRelease": {
        "ocid": "ocds-213czf-000-00002",
        "language": [
            {
                "releaseID": "ocds-213czf-000-00002-01-tender",
                "releaseDate": "2016-01-01T09:30:00Z",
                "releaseTag": [
                    "tender"
                ],
                "value": "en"
            }
        ],
        "initiationType": [
            {
                "releaseID": "ocds-213czf-000-00002-01-tender",
                "releaseDate": "2016-01-01T09:30:00Z",
                "releaseTag": [
                    "tender"
                ],
                "value": "tender"
            }
        ],
        "parties": [
            {
                "id": "GB-COH-09506232",
                "name": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-tender",
                        "releaseDate": "2016-01-01T09:30:00Z",
                        "releaseTag": [
                            "tender"
                        ],
                        "value": "Open Data Services"
                    }
                ],
                "identifier": {
                    "scheme": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-tender",
                            "releaseDate": "2016-01-01T09:30:00Z",
                            "releaseTag": [
                                "tender"
                            ],
                            "value": "GB-COH"
                        }
                    ],
                    "id": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-tender",
                            "releaseDate": "2016-01-01T09:30:00Z",
                            "releaseTag": [
                                "tender"
                            ],
                            "value": "09506232"
                        }
                    ],
                    "legalName": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-tender",
                            "releaseDate": "2016-01-01T09:30:00Z",
                            "releaseTag": [
                                "tender"
                            ],
                            "value": "Open Data Services Co-operative"
                        }
                    ],
                    "uri": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-tender",
                            "releaseDate": "2016-01-01T09:30:00Z",
                            "releaseTag": [
                                "tender"
                            ],
                            "value": "https://opencorporates.com/companies/gb/09506232"
                        }
                    ]
                },
                "roles": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-tender",
                        "releaseDate": "2016-01-01T09:30:00Z",
                        "releaseTag": [
                            "tender"
                        ],
                        "value": [
                            "buyer"
                        ]
                    }
                ]
            }
        ],
        "buyer": {
            "id": [
                {
                    "releaseID": "ocds-213czf-000-00002-01-tender",
                    "releaseDate": "2016-01-01T09:30:00Z",
                    "releaseTag": [
                        "tender"
                    ],
                    "value": "GB-COH-09506232"
                }
            ],
            "name": [
                {
                    "releaseID": "ocds-213czf-000-00002-01-tender",
                    "releaseDate": "2016-01-01T09:30:00Z",
                    "releaseTag": [
                        "tender"
                    ],
                    "value": "Open Data Services"
                }
            ]
        },
        "tender": {
            "id": [
                {
                    "releaseID": "ocds-213czf-000-00002-01-tender",
                    "releaseDate": "2016-01-01T09:30:00Z",
                    "releaseTag": [
                        "tender"
                    ],
                    "value": "ocds-213czf-000-00002-01-tender"
                }
            ],
            "title": [
                {
                    "releaseID": "ocds-213czf-000-00002-01-tender",
                    "releaseDate": "2016-01-01T09:30:00Z",
                    "releaseTag": [
                        "tender"
                    ],
                    "value": "Data merging tool"
                }
            ],
            "description": [
                {
                    "releaseID": "ocds-213czf-000-00002-01-tender",
                    "releaseDate": "2016-01-01T09:30:00Z",
                    "releaseTag": [
                        "tender"
                    ],
                    "value": "Data merge tool."
                },
                {
                    "releaseID": "ocds-213czf-000-00002-01-tender-update",
                    "releaseDate": "2016-01-31T09:30:00Z",
                    "releaseTag": [
                        "tenderUpdate"
                    ],
                    "value": "Creation of a data merging tool. The tool should by written in Python. Proposals should be submitted by e-mail."
                }
            ],
            "status": [
                {
                    "releaseID": "ocds-213czf-000-00002-01-tender",
                    "releaseDate": "2016-01-01T09:30:00Z",
                    "releaseTag": [
                        "tender"
                    ],
                    "value": "active"
                }
            ],
            "value": {
                "amount": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-tender",
                        "releaseDate": "2016-01-01T09:30:00Z",
                        "releaseTag": [
                            "tender"
                        ],
                        "value": 1000
                    },
                    {
                        "releaseID": "ocds-213czf-000-00002-01-tender-amendment",
                        "releaseDate": "2016-02-05T10:30:00Z",
                        "releaseTag": [
                            "tenderAmendment"
                        ],
                        "value": 2000
                    }
                ],
                "currency": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-tender",
                        "releaseDate": "2016-01-01T09:30:00Z",
                        "releaseTag": [
                            "tender"
                        ],
                        "value": "USD"
                    }
                ]
            },
            "procurementMethod": [
                {
                    "releaseID": "ocds-213czf-000-00002-01-tender",
                    "releaseDate": "2016-01-01T09:30:00Z",
                    "releaseTag": [
                        "tender"
                    ],
                    "value": "open"
                }
            ],
            "awardCriteria": [
                {
                    "releaseID": "ocds-213czf-000-00002-01-tender",
                    "releaseDate": "2016-01-01T09:30:00Z",
                    "releaseTag": [
                        "tender"
                    ],
                    "value": "bestProposal"
                }
            ],
            "submissionMethod": [
                {
                    "releaseID": "ocds-213czf-000-00002-01-tender",
                    "releaseDate": "2016-01-01T09:30:00Z",
                    "releaseTag": [
                        "tender"
                    ],
                    "value": [
                        "electronicSubmission"
                    ]
                }
            ],
            "tenderPeriod": {
                "startDate": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-tender",
                        "releaseDate": "2016-01-01T09:30:00Z",
                        "releaseTag": [
                            "tender"
                        ],
                        "value": "2016-01-31T09:00:00Z"
                    }
                ],
                "endDate": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-tender",
                        "releaseDate": "2016-01-01T09:30:00Z",
                        "releaseTag": [
                            "tender"
                        ],
                        "value": "2016-02-15T18:00:00Z"
                    },
                    {
                        "releaseID": "ocds-213czf-000-00002-01-tender-amendment",
                        "releaseDate": "2016-02-05T10:30:00Z",
                        "releaseTag": [
                            "tenderAmendment"
                        ],
                        "value": "2016-02-20T18:00:00Z"
                    }
                ]
            },
            "awardPeriod": {
                "startDate": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-tender",
                        "releaseDate": "2016-01-01T09:30:00Z",
                        "releaseTag": [
                            "tender"
                        ],
                        "value": "2016-04-01T00:00:00Z"
                    }
                ],
                "endDate": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-tender",
                        "releaseDate": "2016-01-01T09:30:00Z",
                        "releaseTag": [
                            "tender"
                        ],
                        "value": "2016-06-01T23:59:59Z"
                    }
                ]
            },
            "amendments": [
                {
                    "id": "amendment-1",
                    "date": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-tender-amendment",
                            "releaseDate": "2016-02-05T10:30:00Z",
                            "releaseTag": [
                                "tenderAmendment"
                            ],
                            "value": "2016-02-04T09:30:00Z"
                        }
                    ],
                    "rationale": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-tender-amendment",
                            "releaseDate": "2016-02-05T10:30:00Z",
                            "releaseTag": [
                                "tenderAmendment"
                            ],
                            "value": "Based on feedback from potential bidders, the total budget was increased by $1000, and the deadline extended"
                        }
                    ],
                    "amendsReleaseID": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-tender-amendment",
                            "releaseDate": "2016-02-05T10:30:00Z",
                            "releaseTag": [
                                "tenderAmendment"
                            ],
                            "value": "ocds-213czf-000-00002-01-tender"
                        }
                    ],
                    "releaseID": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-tender-amendment",
                            "releaseDate": "2016-02-05T10:30:00Z",
                            "releaseTag": [
                                "tenderAmendment"
                            ],
                            "value": "ocds-213czf-000-00002-01-tender-amendment"
                        }
                    ]
                }
            ]
        },
        "awards": [
            {
                "id": "ocds-213czf-000-00002-award-supplier-one",
                "title": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-award1",
                        "releaseDate": "2016-03-01T09:30:00Z",
                        "releaseTag": [
                            "award"
                        ],
                        "value": "Award of contract to create the data merging tool."
                    }
                ],
                "description": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-award1",
                        "releaseDate": "2016-03-01T09:30:00Z",
                        "releaseTag": [
                            "award"
                        ],
                        "value": "Supplier 1 has been commissioned to create the merge tool. A separate contract will be awarded to write the documentation"
                    }
                ],
                "status": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-award1",
                        "releaseDate": "2016-03-01T09:30:00Z",
                        "releaseTag": [
                            "award"
                        ],
                        "value": "active"
                    }
                ],
                "date": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-award1",
                        "releaseDate": "2016-03-01T09:30:00Z",
                        "releaseTag": [
                            "award"
                        ],
                        "value": "2016-03-01T09:30:00Z"
                    }
                ],
                "value": {
                    "amount": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-award1",
                            "releaseDate": "2016-03-01T09:30:00Z",
                            "releaseTag": [
                                "award"
                            ],
                            "value": 750
                        }
                    ],
                    "currency": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-award1",
                            "releaseDate": "2016-03-01T09:30:00Z",
                            "releaseTag": [
                                "award"
                            ],
                            "value": "USD"
                        }
                    ]
                }
            },
            {
                "id": "ocds-213czf-000-00002-award-supplier-two",
                "title": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-award2",
                        "releaseDate": "2016-03-03T09:30:00Z",
                        "releaseTag": [
                            "award"
                        ],
                        "value": "Award of contract to create the data merging tool."
                    }
                ],
                "description": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-award2",
                        "releaseDate": "2016-03-03T09:30:00Z",
                        "releaseTag": [
                            "award"
                        ],
                        "value": "Supplier 2 has been commissioned to create the documentation. A separate contract will be awarded to create the tool"
                    }
                ],
                "status": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-award2",
                        "releaseDate": "2016-03-03T09:30:00Z",
                        "releaseTag": [
                            "award"
                        ],
                        "value": "active"
                    }
                ],
                "date": [
                    {
                        "releaseID": "ocds-213czf-000-00002-01-award2",
                        "releaseDate": "2016-03-03T09:30:00Z",
                        "releaseTag": [
                            "award"
                        ],
                        "value": "2016-03-03T09:30:00Z"
                    }
                ],
                "value": {
                    "amount": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-award2",
                            "releaseDate": "2016-03-03T09:30:00Z",
                            "releaseTag": [
                                "award"
                            ],
                            "value": 750
                        }
                    ],
                    "currency": [
                        {
                            "releaseID": "ocds-213czf-000-00002-01-award2",
                            "releaseDate": "2016-03-03T09:30:00Z",
                            "releaseTag": [
                                "award"
                            ],
                            "value": "USD"
                        }
                    ]
                }
            }
        ]
    }
}

Embedding or linking Releases

Records contain the history of a contracting process as a list of releases, by either embedding or linkint to the releases.

See the Record reference for more details.

Compiled and Versioned Releases

A compiled release follows the release structure. It contains the latest value for all fields present in the releases of a process. The example above shows how a compiled release looks. It is encouraged to include a compiled release when producing records.

A versioned release follows a similar structure. For each field in the release structure, the versioned release provides an object. This object contains the history of changes for the field.

Each time a new release is available:

  • The record adds the new release to the releases list, by either embedding it or adding a link to it.

  • The record updates the compiled and versioned releases using the new information. Repeating unchanged information does not affect the result.

Hint

Compiled releases are not mandatory, but it helps to make OCDS data more accessible, especially for users that don’t need a detailed change history.

Consider how to calculate the total value of active tenders using compiled releases:

ocid

tag

tender/status

tender/value/amount

ocds-123456-001

compiled

complete

25,000.00

ocds-123456-002

compiled

active

150,000.00

ocds-123456-003

compiled

cancelled

3,500,000.00

Working with compiled releases, this metric can be calculated by filtering on the tender status and summing the tender value.

Compare that to how to calculate the total value of active tenders using releases:

ocid

id

tag

tender/status

tender/value/amount

ocds-123456-001

ocds-123456-001-001

tender

active

20,000.00

ocds-123456-001

ocds-123456-001-002

tenderAmendment

active

25,000.00

ocds-123456-001

ocds-123456-001-003

award

complete

25,000.00

ocds-123456-002

ocds-123456-002-001

tender

active

150,000.00

ocds-123456-003

ocds-123456-003-001

tender

active

3,500,000.00

ocds-123456-003

ocds-123456-003-002

tenderCancellation

cancelled

3,500,000.00

If a user has releases only, they need to first determine the final status before calculating the result.

Compiled releases are useful for many scenarios. But users might need the full history to answer other questions. For example, how many amends there are for a tender's value.

Packaging

Records are published wrapped in a record package. The uri field in the package leads to a copy of the same record package.

How does all fit together?

The following shows how to update a record as releases are published over time.

Record updates