Medium
DoorDash
Build a Courier Payout Service System Design Interview
Design and implement the service that calculates courier payouts from order activity and upstream timing data.
1. Problem Statement
Build a payout service that calculates how much a courier earns from the time and set of orders in a delivery. How would you define the API and make the calculation reliable?
2. Architecture Discussion Map
Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.
Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph LR
A["Build a Courier Payout Service"]
A --> F1["Payout API and rule modeling"]
A --> F2["Idempotency and duplicate requests"]
A --> F3["Upstream latency and retries"]
A --> F4["Money precision and audit history"]
A --> F5["Testing changing compensation rules"]3. Key Focus Areas
- 1Payout API and rule modeling
- 2Idempotency and duplicate requests
- 3Upstream latency and retries
- 4Money precision and audit history
- 5Testing changing compensation rules
4. What Strong Candidates Should Demonstrate
- ✓Turn compensation rules into deterministic, testable calculations.
- ✓Make payout creation idempotent and auditable.
- ✓Handle slow or unavailable upstream order services.
Want interactive feedback?
Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.
Start InterviewCore Concepts
PaymentsIdempotencyAPI DesignUpstream Dependencies
