Sanitation • Exhauster Services • Driver Dispatch

🚛 TakaRide API

API documentation for the TakaRide exhauster service platform — powering customer bookings, driver job matching, live job tracking, payments, NEMA-compliant disposal logging, and admin operations.

Customers

Book exhauster services

Drivers

Accept and complete jobs

Admins

Monitor platform operations

🎯 Quick Access

🔐 Platform Features

  • ✅ Customer booking requests
  • ✅ Driver job matching and acceptance
  • ✅ Live job status tracking
  • ✅ JWT auth for Flutter/mobile apps
  • ✅ HttpOnly cookie support for web dashboards
  • ✅ Prisma ORM with PostgreSQL
  • ✅ Zod validation and OpenAPI docs
  • ✅ NEMA disposal logging and certificates
  • ✅ Payments, receipts, reviews, and notifications

📡 Sample Endpoints

POST/auth/register – Register a TakaRide user account
POST/auth/login – Login and receive access/refresh tokens
GET/auth/me – Fetch current authenticated user
POST/jobs – Create a customer exhauster booking
GET/jobs – List customer bookings
GET/jobs/available – Driver gets available nearby jobs
PATCH/jobs/:id/accept – Driver accepts a pending job
PATCH/jobs/:id/arrived – Driver confirms arrival
GET/jobs/:id/timeline – Customer views live job timeline
GET/jobs/all – Admin retrieves platform-wide jobs

🧰 Tech Stack

Express.js TypeScript Zod Prisma JWT Auth OpenAPI 3.0 Socket.IO PostgreSQL Flutter-ready API Vitest & Supertest

🚀 Client Integration

Authorization: Bearer <accessToken>

POST /api/v1/jobs
{
  "serviceType": "STANDARD",
  "tankSize": "MEDIUM",
  "pickupAddress": "Plot 14, Ngara Road, Nairobi",
  "pickupLatitude": -1.2741,
  "pickupLongitude": 36.8219,
  "accessNotes": "Access via side gate",
  "scheduledAt": null
}