Express service providers manage shipments from senders to receivers under strict service level agreements. Such shipments are usually not sufficient to justify a single transportation, so it is preferred to maximize consolidation of these shipments to reduce cost. The consolidation is organized via depots and hubs: depots are local sorting centers that take care of the collection and delivery of the parcels at the customers, and hubs are used to consolidate the transportation between the depots. A single transportation between two locations, carried out by a certain vehicle at a specific time, is defined as a movement. In this paper, we address the problem of scheduling all movements in an express network at minimum cost. Our approach allows to impose restrictions on the number of arriving/departing movements at the hubs so that sufficient handling capacity is ensured. As the movement scheduling problem is complex, it is divided into two parts: one part concerns the movements between depots and hubs; the other part considers the movements between the hubs. We use a column generation approach and a local search algorithm to solve these two subproblems, respectively. Computational experiments show that by using this approach the total transportation costs are decreased.