Welcome
  • Home
  • About
    • Our story
    • About Integrity6
    • Our name
  • Learn
    • FAQs
    • Why Charter Schools Switch
    • Did you know
  • Solutions
    • ROI & Cost Savings
    • Enrollment, Lottery, Waitlist Management
    • Case Studies & Support
    • Automated Continuous Enrollment
    • Systems Integration & Data Sync
    • Custom Software Development
    • Bus Lottery
  • Request a Demo
  • Partner With Us
  • Contact Us
  • Home
  • About
    • Our story
    • About Integrity6
    • Our name
  • Learn
    • FAQs
    • Why Charter Schools Switch
    • Did you know
  • Solutions
    • ROI & Cost Savings
    • Enrollment, Lottery, Waitlist Management
    • Case Studies & Support
    • Automated Continuous Enrollment
    • Systems Integration & Data Sync
    • Custom Software Development
    • Bus Lottery
  • Request a Demo
  • Partner With Us
  • Contact Us

BUS LOTTERY FREE & OPEN SOURCE

A transparent, cloud-native Google Apps Script tool built to eliminate "names in a hat" chaos and restore parent trust—completely free for charter schools.

Why We Built This & Gave It Away

When one of our charter school partners struggled with manual bus lotteries—drawing names from a paper bag on Zoom calls—it created parent doubts about fairness. While bus seating isn't part of our core enterprise platform, our mission is helping charter schools succeed. We developed this transparent, Google Sheets-based script and published it as open source on GitHub so any school can run fair, verifiable bus lotteries for free.

✔ 100% Free Courtesy Tool • Google Apps Script Native • Publicly Auditable Logic
Access Code on GitHub →

Key System Features

Automated, Fair, and Verifiable

📏 Distance-Based Weighting
Assigns configurable weighted lottery scores based on distance from the school—giving higher selection odds to families living farther away.
👪 Sibling Handling Modes
Supports configurable sibling preference priorities or rules that keep siblings grouped together so families aren't split across routes.
🎲 Fisher-Yates Randomization
Uses the industry-standard Fisher-Yates algorithm for unbiased random shuffling, ensuring every entry is drawn with complete mathematical fairness.
📝 Instant Waitlist Output
Automatically awards available bus seats and generates an ordered waitlist for remaining applicants directly inside Google Sheets.

How the Google Sheets Integration Works

The system runs as a Google Apps Script connected to three structured sheets:

  • 1. Import File (Raw Data): Captures raw parent submissions (names, emails, distance, sibling status, seats requested).
  • 2. Lottery Data (Processed): Calculates distance weights, assigns unique IDs, and structures applicant entries.
  • 3. Lottery Results (Output): Runs the weighted draw, allocates seats up to your capacity limit, and orders the waitlist.

Tested at Scale:

Tested against datasets of over 6,300 rows and 20,000 requested seats without hitting Google Apps Script execution limits.

📜 License & Usage Terms

This tool is provided as a courtesy by Integrity6 under the Creative Commons CC BY-NC-ND 4.0 License.

  • Free to Share: You may freely distribute and use this code in your school.
  • Attribution Required: Integrity6 must be credited as the original creator.
  • No Support/Maintenance: Provided as-is for self-service use. Custom development or assistance is available by inquiry.

Looking for Full School Enrollment & Student Lottery Automation?

While our bus lottery is a simple open-source tool, our main platform automates full student admissions, official enrollment lotteries, and 24/7 continuous waitlists.

Get Bus Lottery on GitHub → Demo Our Main Platform

Links

Home

​About us

Our Story

Our name

FAQs
Vertical Divider
Solutions

Why charter schools switch?

​Did you know?

ROI & Cost Savings
Vertical Divider
Strategic Partnerships

Request a Demo

Custom Software Development
Vertical Divider

Contact

Tel: (704) 997-9520
eMail: [email protected]

Picture
Copyright 2025 Integrity6