States
Every drop in RoomDrop follows a defined lifecycle:Cancelled states
At any point before pickup, a drop may enter a cancelled state:cancelled_no_runner— no runner accepted within the windowcancelled_by_runner— runner cancelled after acceptingcancelled_by_customer— customer cancelled before runner acceptance
Tip window
After a drop is marked delivered, a 5-minute tip window opens. During this window:- The customer can select a tip (2, or $3)
- The RoomDrop backend holds the payment open
Payment flow
- Authorization — When the customer starts an order session, RoomDrop creates a Stripe PaymentIntent with manual capture for up to $6.99
- Capture — After the tip window closes, the PaymentIntent is captured for the actual amount
- Runner payout — Payouts to runners are queued and processed through Stripe Connect Express

