Bus scheduling is a well-known NP-hard problem, and it is addressed with the use of heuristic solution methods or graphical approaches. In this study, the author proposes an improved formulation of the bus scheduling problem that considers the vehicle availability, the vehicle capacity and the allowed headway variability among successive trip dispatches. His formulation expands the classic bus scheduling model formulation by including the aforementioned features. In his study, the bus scheduling problem is understood as the problem of setting the optimal dispatching times for a set of pre-determined daily trips of a particular bus line. His model facilitates the search of solutions that can improve the waiting times of passengers while meeting the operational requirements and avoiding overcrowding. His proposed mathematical program is proved to be non-convex, and it is solved with heuristic solution methods because numerical optimisation approaches cannot guarantee a globally optimal solution. The performance of his approach is tested in a case study using real operational data from bus line 302 in Singapore. A simulation-based evaluation demonstrates potential gains of up to 20% on average passenger waiting times and a major reduction in refused passenger boardings because of overcrowding.