← Back to product·Simulmedia Switchboard Docs · v1 draft·Concepts / Negotiation
Concepts

Negotiation

Negotiation is a workflow setting, not a separate product, available where the seller's capability profile advertises it (Seller Level 3). Offers and counters live as rounds on the negotiation object while the order parks in negotiating.

POST /v1/orders/{id}/respond
{ "action": "counter",
  "counter": { "line_items": [ { "package_id": "acme-prime", "week": "2026-W41",
      "units": 8, "rate": { "unit_cost": 392.00 } } ],
    "expires_at": "2026-09-30T20:00:00Z" } }
  • Buyer actions on respond: accept, counter, withdraw. Rounds carry actors and expiries; expired offers resolve to the prior state.
  • Sellers counter at the review gate (decide with per-unit counters), typically on the minority of units that would otherwise reject: the alternative to losing the whole order to a sold-out week.
  • Counters arrive as additional result lines with status: "countered" and an in_response_to naming the unit they answer; the original line keeps its own result, so every unit you requested is always accounted for.
  • The capability climb is non-breaking: a seller that only approves and rejects today can add counters later, so consumers must treat extra countered lines as additive rather than assuming a fixed response shape.
  • Every round is an event on the same append-only log; the audit trail reads like the negotiation happened, because it did.

Approval policy applies: your organization decides which principals (human or agent) may accept, and at what thresholds.

The same counter is the common case in a proposal: when the seller cannot meet the whole brief, the returned plan lists the shortfall as unmet[] ("you asked for 1, 2, 3; we have 1 and 2"), and a seller pricing per campaign returns the price itself as a quote inside that plan. Counters are not only about price; often they are about what is available.