TL;DR

  • A run is a real bus service on a specific date and time.

  • Runs are created from timetables or added manually.

  • Each run has one bus, one driver, and many jobs.

  • Jobs are passenger bookings inside a run.

  • Occupancy updates automatically as jobs are added.

  • Completed runs are read-only.

The Runs page is the operational heart of Kurtesy Bus.

It shows every scheduled courtesy bus run for the selected day and allows you to monitor, manage, and complete runs in real time.

A run represents a single operating session of a bus. That is from the time the bus leaves the venue until it returns. A single run – leave, do pickups and drop offs, return.

Each run can contain multiple jobs (pickups and drop-offs), and each run is assigned to one bus and one driver.

For each run, you’ll see:

  • Start time

  • Assigned bus

  • Current occupancy

  • Run status (scheduled, completed)

  • A list of jobs within the run

Runs are ordered chronologically so drivers and staff can quickly see what’s happening next.

A common point of confusion is the difference between runs and jobs:

  • Run
    The overall journey or shift (e.g. Saturday Night Run).

  • Job
    An individual passenger request within a run (pickup or drop-off).

A run can exist with no jobs, with some jobs, or become full as jobs are added.

Jobs are always attached to a run — you never manage jobs in isolation.


Runs are created in one of two ways:

1. Scheduled from Templates

Most venues use run templates to pre-schedule regular services (for example, every Friday and Saturday night).

When a template is scheduled:

  • A new run is created for that date

  • The bus and default times are pre-filled

  • The run appears automatically on the Runs page

2. Manually Created Runs

Runs can also be created manually for:

  • Special events

  • One-off services

  • Extra demand nights

Manual runs behave exactly the same as template-based runs once created.

Each run moves through a simple lifecycle:

Scheduled

  • The run exists but has not started

  • Jobs can be added or edited

  • Bus and driver can still be changed

Active

  • The run is currently in progress

  • Drivers typically interact with jobs during this phase

  • Occupancy updates in real time

Completed

  • The run is finished

  • Jobs are locked

  • The run becomes read-only for historical reference

Run occupancy is calculated automatically based on the jobs within the run.

  • Pickup jobs add passengers

  • Drop-off jobs reduce passengers

  • Maximum capacity is enforced based on the assigned bus

This allows staff and drivers to immediately see:

  • How full the bus is

  • Whether additional jobs can be accepted

Depending on your permissions, you may be able to:

  • Change the bus

  • Change the driver

  • Adjust start or end times

  • Add or remove jobs

Some fields become locked once a run is active or completed to prevent accidental changes to live or historical data.

It is normal to see runs with no jobs, especially:

  • Early in the day

  • For pre-scheduled template runs

  • Before bookings start coming in

These runs are still valid and will automatically populate with jobs as bookings are made.

  • Runs are the container — jobs live inside them

  • A run can exist without jobs

  • Capacity is enforced at the run level

  • Templates automate scheduling, but all runs behave the same once created

Creating Runs