Audience: Buyers, Sellers, Admins, Support, Legal
Outcomes: Know when to open a dispute, expected behavior, and how outcomes are reached.
What a dispute is
A formal, time-boxed, evidence-driven process to resolve disagreements about delivery, quality, scope, timing, or payment for an order. Priorities: fairness, auditability, speed.
Covered vs not covered
Covered: non-delivery/late delivery vs due dates; failure vs explicit acceptance criteria; scope mismatch vs signed contract; payout/refund disagreements.
Not covered: new scope after signature (use an amendment); off-platform work; harassment (route to Trust & Safety).
Outcome space
Refund (full/partial) → funds return to buyer
Release to seller (full/partial) → funds paid out
Custom remedy → redo/replace/repair/credit with deadline
Mutual cancellation → workflow ends; ledger reconciled
Lifecycle (states & SLAs)
stateDiagram-v2 [*] --> Open Open --> AwaitingEvidence: both parties upload packs (≤3 biz days) AwaitingEvidence --> UnderReview: evidence window closed UnderReview --> Mediation: clarifications requested (answers ≤2 biz days) UnderReview --> Resolved_Refund: refund_full | refund_partial UnderReview --> Resolved_Release: release_to_seller UnderReview --> Resolved_Custom: other (redo/credit/date extension) Mediation --> UnderReview: answers received Resolved_Refund --> [*] Resolved_Release --> [*] Resolved_Custom --> [*]
Default SLAs (plan-configurable):
Each side uploads evidence within 3 business days of Open.
Admin issues decision or requests clarifications within 3 business days of UnderReview.
Clarifications answered within 2 business days.
Optional appeal window: 5 business days post-decision.
If deadlines are missed, the platform may auto-decide on available evidence + history.
QA checklist
State transitions emit
dispute.*
events.SLA breaches trigger alerts and are visible in the dispute timeline.
Runbook: “Stalled in AwaitingEvidence”
Auto-nudge both parties → escalate to Admin after SLA → proceed UnderReview on available evidence.