Skip to content

Outcome Contract

An Outcome Contract is the terms on an Offer that warrant a Service’s result: done, acceptance, assurance, remedy, and earnings.

Properties

PropertyTypeRequiredDescription
donetextrequiredThe state or Event that counts as done.
accepttextrequiredWho accepts the result, and within what window.
remedytextrequiredWhat happens on a miss: redo, refund, or credit.
revisionsintegerHow many times the Customer may send work back before the remedy applies, such as 1.
silencestringWhat the Customer’s silence means once the acceptance window passes.
earnsstringThe Event that captures payment and earns the fee.
assurancejsonThe Evaluators that check done before every delivery, and the share of work a person grades, such as 2%.
windowstringHow long the Customer has to confirm, revise or dispute each delivery, as an ISO duration.

Object

JSON
{
  "$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, inverse governedBy.
  • 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, inverse verifies.

Verbs

  1. getReturns one Outcome Contract by id.
    GET /{namespace}/outcome-contracts/{id}readNo Event
  2. listReturns Outcome Contracts, newest first, one page at a time.
    GET /{namespace}/outcome-contractsreadNo Event
  3. updateChanges the given properties of an Outcome Contract.
    PATCH /{namespace}/outcome-contracts/{id}doOutcomeContract.updated

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
OutcomeContract.getYesYesYesYes
OutcomeContract.listYesYesYesYes
OutcomeContract.updateYesYesYesNo

Call it

Text
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.