-
Notifications
You must be signed in to change notification settings - Fork 46
Multiple buyers #352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I really like this approach! I will talk with CDMX about it. Thanks |
@timgdavies are you happy with this approach? |
Worth thinking about the different types of 'buyer'? If it's a framework, for example, there may be buyers who are entitled to use the framework but not committed to doing so. -----Original Message----- @timgdavies are you happy with this approach? |
@duncandewhurst Could you mock up an example of this to look at - as that would help give it another check-over. It would be useful to think about how this would flatten out as well. |
This could be an example. This one specific is only one award and different contracts for the same award. One contract per buyer. I'm not sure how we add the organizations if we add aditionalBudgets. It makes sense that the additionalbudgets elements have the same structure as budget.
|
@gabelula in your example planning/budget/amount and the amounts in each item in the additionalBudgets array are the same. It would be preferable for planning/budget/amount to equal the sum of the amounts in each item in the additionalBudgets array I drafted some example releases below to illustrate this approach and also to show to how to capture the additional buyers. This approach reflects some of the thinking we have been doing in the upgrade process around @AlCollier's point and how to represent government parties other than buyer and procuringEntity, which may see us adopt a more general approach and naming convention than additionalBuyers. @timgdavies's post on the upgrade process here captures this theme and links out to some related issues. Planning {
"ocid": "",
"id": "",
"date": "",
"tag": ["planning"],
"initiationType": "tender",
"planning": {
"budget": {
"source": "string",
"id": "string",
"description": "string",
"amount": {
"amount": 300000,
"currency": "GBP"
},
"project": "string",
"projectID": "string",
"uri": "string"
},
"additionalBudgets": [
{
"buyerID": "GB-LAC00000000",
"source": "string",
"id": "string",
"description": "string",
"amount": {
"amount": 150000,
"currency": "GBP"
}
},
{
"buyerID": "GB-LAC12345678",
"source": "string",
"id": "string",
"description": "string",
"amount": {
"amount": 100000,
"currency": "GBP"
}
},
{
"buyerID": "GB-LAC99999999",
"source": "string",
"id": "string",
"description": "string",
"amount": {
"amount": 50000,
"currency": "GBP"
}
}
]
},
"buyer": {
"id": "GB-LAC00000000",
"identifier": {
"scheme": "GB-LAC",
"id": "00000000",
"legalName": "string",
"uri": "string"
},
"name": "string"
},
"additionalBuyers": [
{
"id": "GB-LAC12345678",
"identifier": {
"scheme": "GB-LAC",
"id": "12345678",
"legalName": "string",
"uri": "string"
},
"name": "string"
},
{
"id": "GB-LAC99999999",
"identifier": {
"scheme": "GB-LAC",
"id": "99999999",
"legalName": "string",
"uri": "string"
},
"name": "string"
}
],
"language": "string"
} Contract (multiple contracts) {
"uri": "",
"publishedDate": "",
"releases": [
{
"ocid": "",
"id": "",
"date": "",
"tag": ["contract"],
"initiationType": "tender",
"buyer": {
"id": "GB-LAC00000000",
"identifier": {
"scheme": "GB-LAC",
"id": "00000000",
"legalName": "string",
"uri": "string"
},
"name": "string"
},
"additionalBuyers": [
{
"id": "GB-LAC12345678",
"identifier": {
"scheme": "GB-LAC",
"id": "12345678",
"legalName": "string",
"uri": "string"
},
"name": "string"
},
{
"id": "GB-LAC99999999",
"identifier": {
"scheme": "GB-LAC",
"id": "99999999",
"legalName": "string",
"uri": "string"
},
"name": "string"
}
],
"contracts": [
{
"id": "string",
"awardID": "string",
"buyerID": "GB-LAC00000000",
"title": "string",
"description": "string",
"status": "pending",
"period": {
"startDate": "string",
"endDate": "string"
},
"value": {
"amount": "number",
"currency": "string"
},
"items": [
{
"id": "string",
"description": "string",
"classification": {
"scheme": "string",
"id": "string",
"description": "string",
"uri": "string"
}
}
],
"dateSigned": "string"
},
{
"id": "string",
"awardID": "string",
"buyerID": "GB-LAC12345678",
"title": "string",
"description": "string",
"status": "pending",
"period": {
"startDate": "string",
"endDate": "string"
},
"value": {
"amount": "number",
"currency": "string"
},
"items": [
{
"id": "string",
"description": "string",
"classification": {
"scheme": "string",
"id": "string",
"description": "string",
"uri": "string"
}
}
],
"dateSigned": "string"
},
{
"id": "string",
"awardID": "string",
"buyerID": "GB-LAC99999999",
"title": "string",
"description": "string",
"status": "pending",
"period": {
"startDate": "string",
"endDate": "string"
},
"value": {
"amount": "number",
"currency": "string"
},
"items": [
{
"id": "string",
"description": "string",
"classification": {
"scheme": "string",
"id": "string",
"description": "string",
"uri": "string"
}
}
],
"dateSigned": "string"
}
],
"language": "string"
}
],
"publisher": {
"name": "",
"scheme": "",
"uid": "",
"uri": ""
},
"license": "",
"publicationPolicy": ""
} Contract (single contract with line items per buyer) {
"uri": "",
"publishedDate": "",
"releases": [
{
"ocid": "",
"id": "",
"date": "",
"tag": ["contract"],
"initiationType": "tender",
"buyer": {
"id": "GB-LAC00000000",
"identifier": {
"scheme": "GB-LAC",
"id": "00000000",
"legalName": "string",
"uri": "string"
},
"name": "string"
},
"additionalBuyers": [
{
"id": "GB-LAC12345678",
"identifier": {
"scheme": "GB-LAC",
"id": "12345678",
"legalName": "string",
"uri": "string"
},
"name": "string"
},
{
"id": "GB-LAC99999999",
"identifier": {
"scheme": "GB-LAC",
"id": "99999999",
"legalName": "string",
"uri": "string"
},
"name": "string"
}
],
"contracts": [
{
"id": "string",
"awardID": "string",
"title": "string",
"description": "string",
"status": "pending",
"period": {
"startDate": "string",
"endDate": "string"
},
"value": {
"amount": "number",
"currency": "string"
},
"items": [
{
"id": "string",
"buyerID": "GB-LAC00000000",
"description": "string",
"classification": {
"scheme": "string",
"id": "string",
"description": "string",
"uri": "string"
}
},
{
"id": "string",
"buyerID": "GB-LAC12345678",
"description": "string",
"classification": {
"scheme": "string",
"id": "string",
"description": "string",
"uri": "string"
}
},
{
"id": "string",
"buyerID": "GB-LAC99999999",
"description": "string",
"classification": {
"scheme": "string",
"id": "string",
"description": "string",
"uri": "string"
}
}
],
"dateSigned": "string"
}
],
"language": "string"
}
],
"publisher": {
"name": "",
"scheme": "",
"uid": "",
"uri": ""
},
"license": "",
"publicationPolicy": ""
} |
Great! I just meet with CDMX about this and they also like the approach on additionalBuyers. They are going to go with this solution. |
Continued in #382 |
At present the buyer property of a release is a single object rather than an array of objects.
This means each contracting process has a single buyer associated with it.
Some publishers run single contracting processes with multiple buyers. This gives rise the following scenarios:
Scenario 1
The budget for the process may be split between multiple buyers.
Scenario 2
The process may result in multiple contracts with each contract signed by a different buyer
Scenario 3
The process may result in an single contract with individual line items for each buyer
Converting buyer into an array would be a fundamental change to the standard which would not be backward compatible.
A possible solution is to use buyer to capture the primary buyer (i.e. the buyer managing the process) and to extend the top level release with an additionalBuyers array of organizations to capture the other buyers.
The scenarios above could then be addressed as follows:
Scenario 1
Scenario 2
Extend contract with an additional property buyerID to capture the buyer the contract relates to.
Scenario 3
Extend item with an additional property buyerID to capture the buyer the item relates to.
The text was updated successfully, but these errors were encountered: