Purpose -The growth of online data and services on the Web have have led to the Web become an indispensable tool for the tourist industry. It is not denied that various approaches bring benefits for visitors, in supporting their searching for tourist attractions, such as interesting places for the visit, eating or staying. However, like a coin has two sides, too much information would present a difficulty for people when planning their journeys. Generally, tourists usually have problems when trying to find satisfactory accommodation if references to nearby restaurants, sights or event locations are lacking. In addition, travelers suffer from the information overload when they look for information about potential destinations, events and related services. Providing relevant and up-to-date information for the tourists with different personal interests is still a challenging task for the tourist guide information systems. The purpose of this paper is to propose a semantic approach for searching tourist information and generating travel itinerary. Design/methodology/approach -The paper focus on introducing an ontological model for representation of tourist resources as well as traveler's profile. Based on this model, smart user interfaces facilitating the semantic search have been implemented in the mobile travel guide application. In addition, the authors propose an algorithm for generating travel itinerary which combines semantic matching with ant colony optimization technique. Findings -The Semantic Tourist informAtion Access and Recommending (STAAR) system, which has been implemented to promote the travel activity in Hanoi, reveals the advantages of the semantic approach in the development of smart application with ontology-based, user-friendly interface and high precision information search features. An experiment was conducted to show that the proposed algorithm generates travel itinerary relevant to both criteria of itinerary length and user interest. Originality/value -This paper presents a novel algorithm for planning a travel itinerary that is optimized on the length as well as semantically matching the user interests.