Legal & Compliance
AfriBUD is designed to be fully compliant with the South African National Land Transport Act (NLTA) for carpool/lift-club operations.
Legal Invariants (Enforced in Code)
1. Cost-Recovery Only
driver_cost_share = (fuel_cost + toll_cost) / num_passengers, capped at R2000 per seat. Drivers cannot set arbitrary prices. The backend calculates this — the mobile app cannot override it.
2. Fixed Platform Fee
platform_booking_fee = R5.00 (fixed). Never a percentage of the driver fare. Stored as a separate database column from driver_cost_share. They are never combined.
3. No Surge Pricing
surge_multiplier = 1.00 (always). Enforced by a PostgreSQL CHECK constraint (chk_no_surge). Any attempt to set a different value is rejected at the database level.
4. Separate Fee Columns
The driver_cost_share and platform_booking_fee are stored as separate columns in both the rides and bookings tables. They are never summed into a single "total fare" in the database or the UI.
NLTA Definition: Lift Club / Carpool
Under the National Land Transport Act (Act No. 5 of 2009), Section 1 defines a "lift club" or "carpool" as an arrangement where:
- Participants share a journey for a common purpose
- The driver recovers costs only (fuel, tolls, parking)
- The driver does not make a profit
- The driver is not operating a public transport service
AfriBUD enforces all four conditions through server-side fare calculation, database constraints, and manual driver verification.
Data & Privacy (POPIA)
AfriBUD complies with the Protection of Personal Information Act (POPIA). We collect only what's needed: phone number (for auth), name (for profiles), and verification documents (for driver safety). Documents are stored securely and accessed only by admin reviewers. Users can request data deletion at any time.