Outcome Contract
An Outcome Contract is the terms on an Offer that warrant a Service’s result: done, acceptance, assurance, remedy, and earnings.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
done | text | required | The state or Event that counts as done. |
accept | text | required | Who accepts the result, and within what window. |
remedy | text | required | What happens on a miss: redo, refund, or credit. |
revisions | integer | How many times the Customer may send work back before the remedy applies, such as 1. | |
silence | string | What the Customer’s silence means once the acceptance window passes. | |
earns | string | The Event that captures payment and earns the fee. | |
assurance | json | The Evaluators that check done before every delivery, and the share of work a person grades, such as 2%. | |
window | string | How long the Customer has to confirm, revise or dispute each delivery, as an ISO duration. |
Object
{
"$id": "https: //api.sb/ patentpad.com/ outcome-contracts/ outcome_contract_1",
"$type": "OutcomeContract",
"done": "Order.accepted",
"accept": "The buyer, within 5 business days of delivery",
"remedy": "Redo once, then refund in full",
"revisions": 1,
"silence": "accepts",
"earns": "Order.confirmed",
"assurance": {},
"window": "P3D"
}Relationships
- An Outcome Contract governs one Offer: an Outcome Contract warrants the result an Offer sells: its done state, acceptance, assurance and remedy.
governs, inversegovernedBy. - An Outcome Contract is verified by many Evaluators: Evaluators grade delivered work against an Outcome Contract’s done state before the Customer accepts it.
verifiedBy, inverseverifies.
Verbs
getReturns one Outcome Contract by id.GET /{namespace}/outcome-contracts/{id}listReturns Outcome Contracts, newest first, one page at a time.GET /{namespace}/outcome-contractsupdateChanges the given properties of an Outcome Contract.PATCH /{namespace}/outcome-contracts/{id}
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
OutcomeContract.get | Yes | Yes | Yes | Yes |
OutcomeContract.list | Yes | Yes | Yes | Yes |
OutcomeContract.update | Yes | Yes | Yes | No |
Call it
Show me the latest outcome contract.Example
A bookkeeping Service's Outcome Contract defines done as a reconciled month, accepted by the Customer within 5 days, with one redo as the remedy.