Dashboard
Deliveries
| Order ID | Customer | Driver | Pickup | Dropoff | Distance | Price | Fee | Payout | Status | Created | Actions |
|---|
Revenue
Transaction Logs
| ID | User | Type | Amount | Status | Stripe ID | Date |
|---|
Payouts
| Driver | Available | Pending | Held (rows) | Dispute block | Stripe Connect | Last payout | Actions |
|---|
Reconciliation & earnings
Correlates payments, earnings, holds, refunds, and duplicates. Run sql/diagnostics/database_health_audit.sql (or the thin duplicate query in sql/operations/driver_earnings_duplicate_detection.sql) before applying the unique index. Dedupe API: POST /api/admin/reconciliation/dedupe-driver-earnings (reauth + admin_reason). Readiness: GET /api/admin/reconciliation/unique-index-readiness.
Held earnings
| Delivery | Driver | Net | Blocking dispute | Updated |
|---|
Duplicate (delivery, driver) groups
| Delivery | Driver | Rows | Suggested keep | Flags | Row IDs (short) |
|---|
Partial Stripe refund
Report JSON
User Management
| Name | Type | Verified | Suspended | Created |
|---|
Verifications (Drivers & Customers)
Review and approve driver verifications (ID, selfie, license, car insurance, vehicle photo) and customer verifications (ID, selfie). Log and verify both in one place.
Checkr bulk upload (manual)
Export drivers awaiting verification into a CSV. Upload the file in Checkr Dashboard (Order background check → Bulk). Verification typically takes up to 24 hours. When results are ready, upload the results CSV below to run the Eligibility Policy Engine (auto approve/deny/manual review).
Approve / Reject / Send reminder will open a password step: re-enter the same password you use on admin login. That is required for every action and is not stored in the browser.
| Driver | Phone | Verification | Background | Vehicle | Stripe | Updated | Docs | Actions |
|---|
Refunds & Disputes
Issue refunds via Stripe Payment Intent ID. Disputes sync via Stripe webhooks.
⭐ Rating & Reputation
Drivers Below Threshold (<3.5 stars)
| Driver | Rating | Total ratings | Perfect | Low in 50 | Badges |
|---|
Top Rated (100+ perfect ratings)
| Driver | Rating | Perfect | Total | Badges |
|---|
Rating Alerts
| Severity | Driver | Customer | Delivery | Type | Summary | Created | Actions |
|---|
🚨 Emergency Deliveries
Driver-to-driver reassignments and mid-transit cancellations.
| Order ID | Original driver | New driver | Reason | Original payout | New payout | Urgency bonus | Created |
|---|
Active emergencies (awaiting new driver)
| Order ID | Previous driver | Distance done | Reassignments | Wave | Last driver push | Updated | Actions |
|---|
Dispute Center
| Risk | ID | Order | Reporter | Refund rate | Amount | Status | Created | Actions |
|---|
Support Tickets
| ID | Customer | Subject | Flags | Status | Created | Updated | Actions |
|---|
Emails
Send branded transactional emails manually to selected users. Recipients and addresses are resolved on the server. Use saved filters for common audiences (e.g. unverified drivers). A saved filter overrides the account type dropdown.
| Name | Type | Driver status | Verification | Email prefs | Created |
|---|
Send history
Recent manual batch sends (from audit log).
| Time | Admin | Template | Recipients | OK / failed | Summary |
|---|
Compose
Advanced fields (optional)
Only fill fields needed for the selected template.
Send to external email
Use this when the sender is not in your users table yet (for example, support inbox replies).
🗂 Deleted Accounts Log
Permanent account deletions (customers and drivers). Admins cannot restore. Driver background/MVR data is purged after 30 days.
| Account type | Deletion date | IP address | Stripe ID | Background deletion (drivers) | Purged at |
|---|
Admin Activity Log
| Time | Admin | Role | Summary | Entity |
|---|
System Health
BOB Monitor
Autonomous audits for payments, drivers, customers, and platform health. Action items are what you should fix to keep the site profitable and working smoothly.
| Time | Job | Status | Issues | Fixes | Escalations |
|---|
| Time | Status | Stripe OK | Issue keys |
|---|
Settings
Control pricing, disputes, delivery rules, and driver background eligibility. Changes here do not alter Stripe account connections.
Owner cheat sheet
- Pricing & commission — Affects how new trip prices and platform fees are calculated going forward. Does not rewrite past completed orders.
- Risk & disputes — Used when disputes are reviewed or auto-processed. Affects customers (refunds) and drivers (outcomes) depending on your choices.
- Delivery & emergency — Cancellation windows, fees, emergency bonuses, and reassignment limits are read when those flows run. Trips already in progress keep the logic that applied when they started; new trips use values after save.
- Driver eligibility — Applies the next time you process a background-results CSV, not retroactively to past uploads.
- High-risk changes — Large commission moves, loosening serious-offense auto-denials, very aggressive auto-refunds, or very tight reassignment limits. Confirm when the system prompts you.
- Audit log — Settings saves are recorded with before/after where possible so you can see who changed what.
Pricing & commission
Share of each trip price kept by the platform before the driver’s payout.
Typical guidance: 10%–25% (not a hard limit)
High impact — large changes move driver pay and your revenue.
Floor fee charged on small trips so the platform still covers costs.
Often $0.50–$2.00 for local delivery platforms (guidance only)
Multiplies prices when demand is high (1 = no surge).
Usually 1.0–1.5 for mild surge; higher increases pushback (guidance)
Values well above 2 can sharply raise customer prices.
Extra percentage adjustment on driver-side calculations when your product uses this field.
How long drivers may see a “pending” window while you process checks (e.g. after CSV results).
1–168 hours (system allows this range)
Risk & disputes
These values feed dispute scoring and auto-actions in the admin dispute flow. They do not change Stripe keys.
Lower scores can allow automatic refunds for qualifying disputes (subject to max amount and abuse checks).
Lowering this increases automatic refunds.
Disputes at or above this risk level are more likely to be escalated for manual review.
Cap for automatic refunds when risk rules allow auto-refund.
Raising this increases automatic refund size.
Helps flag customers with unusually high refund rates in risk scoring.
Count threshold used with refund history in risk scoring.
Balances how aggressively disputes lean toward customers vs. drivers in automated handling.
“Customer-first” can increase refunds; confirm before switching.
Deliveries & emergency controls
Cancellation windows, fees, emergency bonuses, and reassignment limits. The server reads these when those features run—already active trips are not retroactively repriced.
How long after booking a customer may cancel without your inconvenience fee logic applying (per server rules).
Fee applied when customers cancel outside the free window (per product logic).
Extra pay incentive during emergency reassignment flows.
Penalty when a driver cancels after accepting (per server delivery-control logic).
Very high values strongly discourage cancellations but can feel harsh.
How many times an order may be reassigned in edge cases.
Setting to 1 can strand orders if a driver drops off.
Pricing multiplier applied for urgent loads (1–2).
How far the system looks for replacement drivers in emergency flows.
Extra percentage for a driver picking up an emergency reassignment.
Floor on driver payout share in supported scenarios.
Driver eligibility (background CSV)
Rules evaluated when you upload eligibility results—not retroactive for past CSV runs. Changes are audit-logged.
Drivers below this age fail automated eligibility.
Vehicles older than this fail or require review per rules.
At or above this count, automated denial.
From this count up to auto-deny threshold, send to manual review.
How far back DUI-related signals are considered in rules.
When Yes, matching records auto-deny.
Turning this off reduces automatic blocks—confirm with counsel if unsure.
When Yes, violent felony category auto-denies.
Turning off increases manual review burden and risk exposure.
When Yes, theft/robbery felony category auto-denies.
When Yes, fatal accident flag auto-denies.
When Yes, petty theft signals can auto-deny instead of manual review.