Transportation & Fleet Management
The operational layer for school vehicles, routes, driver assignments, trip scheduling and live tracking, and parent-facing bus visibility — vehicle registry with document expiry alerts, route and stop management with transport fees, student assignments, admin trip scheduling, live GPS tracking, SOS handling, the full vehicle maintenance and fuel-logging workflow, and a dedicated transport analytics dashboard. Entirely Basic tier — no AI dependency.
Basic Tier Features
BasicVehicle Registry
- Register buses, mini-buses, vans, and contract vehicles with vehicle type and fuel type classification
- Document tracking: insurance, fitness certificate, permit, and pollution certificate with expiry dates
- Daily cron scans all vehicle documents and alerts Admins/Facilities Admins 30 days before expiry
- Web UI: /dashboard/admin/transport/buses
Route & Stop Management
- Named routes with ordered stops, GPS coordinates, per-direction ETAs, and per-stop geofence radius
- Route-based transport fee configuration (amount + billing cycle) referenced by the Finance module
- Web UI: /dashboard/admin/transport/routes
Student Transport Assignment
- Assign each student to a route with distinct pickup and drop-off stops
- One active assignment per student per academic year, enforced at the database level
- Web UI: /dashboard/admin/transport/students
Trip Scheduling & Live GPS Tracking
- Admin schedules morning/afternoon trips per route and date; driver and bus are taken from the route's assigned bus
- Driver mobile app starts/ends trips and streams live location over REST + Socket.IO; web driver dashboard starts/ends trips and marks students but does not push live GPS
- Live map (OpenStreetMap/Leaflet) on the admin live-tracking dashboard, the parent web portal, and the parent mobile app — all three update in real time from the same Socket.IO location stream (New: web maps)
- Parent can also request live bus location via WhatsApp self-service menu — see Chapter 15
- Boarding, drop-off, and absent events recorded per student per trip; full trip history with per-trip event timeline
- Web UI: /dashboard/admin/transport/trips (scheduler + list), /trips/[id] (detail + manifest), /live (live map) · Mobile: (driver) trip screens, (parent) transport screen
SOS & Delay Handling
- Driver-triggered SOS pushes an immediate alert to Admin/Facilities Admin with GPS coordinates
- Admin resolves an active SOS from the live tracking dashboard
- Driver-reported delays (minutes) accumulate on the trip and notify parents on the route
Vehicle Maintenance Workflow
- Report breakdown or scheduled-service issues; the vehicle is taken out of service automatically
- Status workflow: Reported → Inspection → Repair → Approved → Returned to Service
- Vehicle is automatically reactivated once returned to service
- Web UI: /dashboard/admin/transport/maintenance
Fuel Logs
- Record fuel entries per vehicle: date, liters, cost, and odometer reading
- Web UI: /dashboard/admin/transport/fuel
Transport Fees
- Route-level fee amount and billing cycle (monthly/quarterly/annual), set during route creation or edit
- Referenced by Finance module operators when building student fee structures
Analytics & Reports
- Trip history filterable by route, driver, direction, and date range
- Per-trip manifest and event timeline for boarding/drop-off compliance review
- Dedicated transport analytics dashboard: trip completion rate, trips by status, most active routes
- Web UI: /dashboard/admin/analytics/transport
API Reference — Chapter 16
Buses, Routes & Assignments
/api/transport/busesRegister a new vehicle
/api/transport/busesList all vehicles for the school
/api/transport/buses/:idUpdate vehicle details, documents, and expiry dates
/api/transport/routesCreate a route with stops and optional transport fee
/api/transport/routes/:idUpdate route, stops, or transport fee
/api/transport/assignmentsAssign a student to a route with pickup/drop-off stops
/api/transport/driversList active drivers for the school (for bus/driver assignment)
Trip Scheduling, Live Tracking & SOS
/api/transport/tripsSchedule a trip — driver/bus taken from the route's assigned bus (New)
/api/transport/tripsList trips, filterable by date, route, driver, direction, status (New)
/api/transport/trips/:id/cancelCancel a scheduled trip (New)
/api/transport/trips/:idGet trip details (New)
/api/transport/trips/:id/eventsGet a trip's event timeline (New)
/api/transport/trips/:id/manifestGet a trip's student manifest (admin or assigned driver)
/api/transport/liveList all trips currently in progress
/api/transport/historyFilterable trip history
/api/transport/trips/:id/sos-resolveResolve an active SOS on a trip (admin/facilities_admin)
Analytics
/api/analytics/dashboard/transportTransport analytics: completion rate, trips by status, most active routes (admin/facilities_admin)
Vehicle Maintenance & Fuel (New)
/api/transport/maintenanceList maintenance records, filterable by bus/status
/api/transport/maintenanceReport a maintenance issue — takes the vehicle out of service
/api/transport/maintenance/:idAdvance workflow status; returned_to_service reactivates the vehicle
/api/transport/fuel-logsList fuel entries, filterable by bus
/api/transport/fuel-logsRecord a fuel entry
Driver
/api/transport/driver/trips/todayToday's scheduled trips for the driver
/api/transport/driver/trips/:id/startStart a trip
/api/transport/driver/trips/:id/locationPush a GPS location update
/api/transport/driver/trips/:id/mark-studentRecord pickup/dropoff/absent for a student
/api/transport/driver/trips/:id/sosTrigger an SOS alert
/api/transport/driver/trips/:id/delayReport a trip delay in minutes (New)
/api/transport/driver/trips/:id/endEnd a trip
Parent
/api/transport/parent/child/:childIdChild's active transport assignment
/api/transport/parent/child/:childId/liveLive trip location and status
/api/transport/parent/child/:childId/historyTrip history for the child
Real-Time (Socket.IO)
A dedicated transport:* event namespace pushes live location, student boarding status, and SOS alerts without polling.
transport:join-trip / leave-triptransport:track-child / untrack-childtransport:location-update → transport:locationtransport:student-event → transport:student-status / transport:child-statustransport:sos → transport:sosFrontend Pages
| Path | Role | Description | Tier |
|---|---|---|---|
| /dashboard/admin/transport | Admin / Facilities Admin | Transport dashboard, stats, and document expiry alerts | Basic |
| /dashboard/admin/transport/buses | Admin / Facilities Admin | Vehicle registry with document and expiry management | Basic |
| /dashboard/admin/transport/routes | Admin / Facilities Admin | Route and stop management with transport fee configuration | Basic |
| /dashboard/admin/transport/students | Admin / Facilities Admin | Student route assignment | Basic |
| /dashboard/admin/transport/trips | Admin / Facilities Admin | Trip scheduler (route + date + direction) and trip list (New) | Basic |
| /dashboard/admin/transport/trips/[id] | Admin / Facilities Admin | Trip detail — manifest and event timeline (New) | Basic |
| /dashboard/admin/transport/live | Admin / Facilities Admin | Live trip tracking with SOS resolution (New) | Basic |
| /dashboard/admin/transport/maintenance | Admin / Facilities Admin | Vehicle maintenance workflow (New) | Basic |
| /dashboard/admin/transport/fuel | Admin / Facilities Admin | Fuel log entries (New) | Basic |
| /dashboard/admin/analytics/transport | Admin / Facilities Admin / Super Admin | Transport analytics dashboard — completion rate, status breakdown, active routes (New) | Basic |
| /dashboard/driver | Driver | Today's trips — start/end trip | Basic |
| /dashboard/driver/bus | Driver | Assigned bus details and document status | Basic |
| /dashboard/driver/trip/[id] | Driver | Active trip: student manifest (mark pickup/dropoff/absent) and SOS trigger | Basic |
| /dashboard/parent/transport | Parent | Child's route, live bus location, driver info | Basic |
Mobile Screens
(driver)/index(driver)/bus(driver)/trip/[id](parent)/transport