All featuresBlock A: Monetization
Referrals with per-trip commission
On top of the lifetime activation reward, the driver (or rider) who invited can now earn a recurring commission on EVERY trip their referee makes. Per-tenant config: percentage of the final fare, duration in days from activation, and an optional cap on paid trips per referee. Crediting happens automatically on each trip complete, shows up in the wallet with a clear description ('Commission for the referral trip <name> · trip TRP123 · 5% of $120 MXN') and is logged in a ledger that powers the per-driver report: how many they referred, how much each generated, full payout history. Each rate change keeps a snapshot so historical movements stay auditable. Idempotent, gated per-tenant, default OFF.
Web DashboardDriver AppRider App
What's included
Per-tenant % over the trip's final fare
Optional duration in days from activation (default unlimited)
Optional per-referee payout cap (e.g. 'pay up to 50 trips')
Automatic credit on trip complete (idempotent)
Clear wallet line with referee name + tripCode + applied %
Per-referrer report: payouts, distinct referees, total amount
Traceable ReferralRevenue ledger + per-row rate snapshot
Configurable from the dashboard and the AI-agent endpoint
Coexists with the one-shot activation reward — not mutually exclusive
Technical details
SchemaReferralProgram.recurringCommissionRate/DurationDays/MaxTrips + ReferralRevenue (ledger)
Hooksrc/lib/services/referral/recurring-commission.ts → accrueRecurringForTrip()
Disparado en/api/mobile/trips/[id]/complete (tras dispersión)
Reporte API/api/companies/[id]/referrals/revenue + /api/ai-agent/referrals/revenue
Config API/api/ai-agent/referrals (PATCH)
Doctrinadocs/arquitectura/REFERIDOS_COMISION_RECURRENTE.md
Defaultrate=null → comportamiento legacy preservado