In the problem of the title, vehicle and crew schedules are to be determined simultaneously in order to satisfy a given set of trips over time. The vehicles and the crew are assigned to depots, and a number of rules have to be observed in the course of constructing feasible schedules. The main contribution of the paper is a novel mathematical programming formulation which combines ideas from known models, and an exact solution procedure based on branch-and-price. The method is tested on benchmark instances from the literature and it provides suboptimal schedules using limited computational resources.