Traveling to unfamiliar regions require a signignificant effort from novice travelers to plan where to go within a limited duration. In this paper, we propose a smart itinerary recommendation to recommend highly efficient and balanced itineraries based on multiple user-generated GPS trajectories. Users only need to provide a minimal query composed of a start point, an end point and travel duration to receive an itinerary recommendation. To differentiate good itinerary candidates from less fulfilling ones, we describe how we model and define itinerary in terms of several characteristics mined from user-generated GPS trajectories. We evaluate the efficiency of our method based on 17,745 user-generated GPS trajectories contributed by 125 users in Beijing, China. Also, we performed a user study where current residents of Beijing used our system to review and give ratings to itineraries generated by our algorithm and baseline algorithms for comparison.