Product / Rider scheduling

Rider scheduling

Recommendations that protect a rider's earning time.

Rootd returns a suggested swap window that minimizes travel plus wait, surfaced through the operator's own app as a projection, never a separate consumer brand.

GET /v1/rider/{id}/view200 OK
SUGGESTED SWAP WINDOW
13:20-13:50
Kawangware Hub · 600m away
est. wait 3 min
0%earning time retained
−11minvs. unplanned swap
recommendation only · operator app decides surfacing
Windowsuggested swap time
Travel + waitfriction minimized
Projectionoperator app decides
Read-onlyno consumer brand

Earning time, protected

Point riders at the right station at the right minute.

Swap friction is travel plus queue. Rootd minimizes both, and hands the result to your app.

Suggested window

A window, not just a station.

Rootd reads live station load and returns the swap window with the least combined travel and wait, so a rider spends minutes idle, not a shift.

  • Window derived from live station load
  • Travel distance factored in
  • Updates as conditions change
GET /v1/rider/{id}/view200 OK
SUGGESTED SWAP WINDOW
13:20-13:50
Kawangware Hub · 600m away
est. wait 3 min
0%earning time retained
−11minvs. unplanned swap
recommendation only · operator app decides surfacing

Less queue

Move riders out of the long tail.

A scheduled window shifts swap demand off the peaks, collapsing the long wait-time tail that quietly eats rider earnings.

  • Demand spread off peaks
  • Long waits become rare
  • Modeled, then validated on your data
SWAP WAIT TIME · MINUTES
UnplannedRootd-suggested window
0-2
2-5
5-10
10+

Illustrative distribution: modeled, not measured production data.

API output

Output your app owns.

Scheduling is a read API and a projection object. Your swap app chooses whether and how to surface it. Rootd never talks to riders directly.

  • Clean projection payload
  • Surface it, or don't
  • Rootd stays a layer, not an app
GET /v1/rider/{id}/view
01"riderId": "rdr_8841",
02"currentBatteryId": "BIKE-001",
03"nextSwapRecommendation": {
04 "stationId": "kawangware_hub",
05 "window": { "from": "2026-06-24T13:20:00Z", "to": "2026-06-24T13:50:00Z" },
06 "confidence": 0.86
07},
08// recommendation omitted entirely when no high-confidence window exists
A recommendation, never a takeover. Rootd does not replace your swap app or station software, and does not operate a consumer brand. It returns projections; your product decides what riders see.

Less time in the queue, more daily rider earnings retained after swap friction.

See the rider projection API run against your network's live load.