This article investigates a static on-demand transportation problem in which users are picked up and dropped off at existing bus stops. Specifically, we assume that the selection of bus stops for each request, along with the bus routes, is determined by the booking system using an optimization algorithm. We focus on service quality by lexicographically minimizing passenger travel time (including both walking time and time spent on the bus) and the total route length. We introduce a new matheuristic algorithm based on small and large neighborhood search, incorporating state-of-the-art operators and a set covering component. This algorithm outperforms previous approaches by over 24% and shows good performance on related problems benchmarks. The algorithm is tested on a new set of instances, based on real data from New York City, which we propose as a future benchmark. Additionally, we discuss implementation details for decision-makers and practitioners.