This paper presents a planning problem faced by many shipping companies dealing with the transport of bulk products. These shipping companies typically have a certain amount of contract cargoes that they are committed to carry, while trying to maximize their profit from optional spot cargoes. The cargo quantities are often flexible within an interval. Therefore, interwoven with the routing and scheduling decisions, the planner also has to decide the optimal cargo quantities. A tabu search algorithm embedding a specialized heuristic for deciding the optimal cargo quantities in each route is proposed to solve the problem. Computational results show that the heuristic gives optimal or near-optimal solutions to real-life cases of the problem within reasonable time. It is also shown that utilizing the flexibility in cargo quantities gives significantly improved solutions.