Skip to content

Deal.propose

POST /{namespace}/deals/{deal}/propose

Propose sends a Deal’s buyer a Quote they accept to place an Order.

Noun
Deal
Mode
do
Event
Deal.proposed

Inputs

InputTypeRequiredDescription
dealDealrequiredThe qualified Deal.
quoteQuoterequiredThe Quote to send.

Outputs

OutputTypeRequiredDescription
dealDealrequiredThe Deal with its Quote out.

Effects

  • Emits Deal.proposed.
  • Performed by the Sales Lead.
  • One-way (money, customer): it waits out its delay window, and runs in the send and do modes.
  • Checks the discount Limit; above it, opens an Approval.
  • Checks each Quote line’s discount against the discount Limit’s percent; a deeper line holds the Quote and opens an Approval.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.Deal.propose
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.Deal.propose

When it waits

GateDefault
Decision classMedium: one-way, bounded (money, customer)
Delay window1 business hour, in which a watcher can pause, redirect or cancel it; then it runs.
LimitThe spend Limit of the Permission or Mandate it runs under.
Over the LimitIt waits pending for an Approval from the Founder. Approved, it runs; refused, it ends refused with limit-exceeded; unanswered by its deadline, it ends canceled.