- Home
- School Bus Routing Software
- BusPlan
BusPlan
Philadelphia, Pennsylvania, USA
What it is
BusPlan is free, open-source software for generating optimized school bus routes from student, stop, and school-location data. It is intended for school districts and grew from Azavea’s work with the School District of Philadelphia on algorithmic routing. Routes aim to reduce bus driving time and can enforce a maximum student ride-time limit. The workflow uses CSV files for locations, students, candidate stops, stop eligibility, and garage bus limits. Preparation instructions create candidate stops within one mile of each student and calculate walking-distance eligibility. OpenStreetMap extracts and OpenTripPlanner produce route costs, while OptaPlanner applies optimization constraints. Results are CSV files containing ordered stops for each route and assignments connecting students with routes and stops. A script calculates student ride times, and a Jupyter notebook supports route analysis. BusPlan is distributed as source code with setup instructions under the Apache License, Version 2.0. Getting started requires generating OpenTripPlanner routing graphs from OpenStreetMap extracts. No packaged desktop or mobile download is listed.
For and against
For
- Free and open source under Apache 2.0
- Optimizes routes to reduce bus drive time
- Supports maximum student ride-time constraints
- Exports route and student assignment CSV files
- Includes ride-time analysis tools
Against
- Requires generating OpenTripPlanner routing graphs
- Distributed as source code, not packaged apps
- Uses CSV preparation and documented setup steps
The verdict
BusPlan offers a reproducible school-bus routing workflow with explicit ride-time constraints, route-cost generation, optimization, and analysis outputs. Its source-based setup and routing-graph requirement make it better suited to districts with technical implementation capacity.
Who it suits
BusPlan suits school districts seeking a reproducible, source-based routing workflow using student and stop CSV data. It is aimed at organizations able to generate routing graphs and run the documented setup.
Plans and prices
BusPlan
Open source; no hosted plan or usage limits stated
Read 9 Oct 2026 · github.com
On the record
- Analysis
- The repository includes instructions and a Jupyter notebook for analyzing student ride times and routes.github.com · read 9 Oct 2026
- Distribution
- The repository provides source code and setup instructions, with no packaged desktop or mobile download listed.github.com · read 9 Oct 2026
- Input data
- The setup instructions use CSV files for network nodes, students, eligible stops, and garage bus limits.github.com · read 9 Oct 2026
- Integrations
- The documented workflow uses OpenStreetMap extracts with OpenTripPlanner for routing and OptaPlanner for optimization.github.com · read 8 Oct 2026
- Intended users
- The project describes its goal as reducing public school budgets and helping students spend less time riding to school.github.com · read 9 Oct 2026
- License
- The repository provides the software under the Apache License, Version 2.0.github.com · read 9 Oct 2026
- Open source license
- The repository provides the software under the Apache License, Version 2.0.github.com · read 8 Oct 2026
- Optimization
- Routes are optimized to minimize bus drive time and can be constrained by maximum student ride time.github.com · read 8 Oct 2026
- Optimization engine
- BusPlan uses OptaPlanner as its constraint solver.github.com · read 9 Oct 2026
- Outputs
- The solver produces CSV files containing ordered route stops and student assignments, which can then be converted into mappable routes.github.com · read 9 Oct 2026
- Potential constraints
- The project page describes planned solver improvements for bus fleet size, capacity, student age, special needs and buses serving multiple schools.fellowship.azavea.com · read 8 Oct 2026
- Project context
- Azavea says it worked with the School District of Philadelphia to investigate algorithmically optimized school bus routing.fellowship.azavea.com · read 8 Oct 2026
- Purpose
- BusPlan generates school bus routes for existing students, stops, and school locations, optimizing for minimum bus drive time.github.com · read 9 Oct 2026
- Ride time constraint
- Routes can be constrained to limit maximum student ride time.github.com · read 9 Oct 2026
- Routing and solver
- The project uses OpenTripPlanner to generate route costs and OptaPlanner as a constraint solver.github.com · read 8 Oct 2026
- Routing engine
- BusPlan uses OpenTripPlanner to generate route costs.github.com · read 9 Oct 2026
- Security
- The repository page does not state any product-specific security certifications or compliance claims.github.com · read 9 Oct 2026
- Setup requirement
- The getting-started instructions require generating OpenTripPlanner routing graphs from OpenStreetMap extracts.github.com · read 9 Oct 2026