## 3 Personalized Waiting Time
### Mobile App Subsystem
#### 4.1.2 Tour Suggestion Module  
This module performs the central functions of the mobile app subsystem and provides the tourist with an interface to take advantage of these functions, including Personalized Dynamic Scheduling, Location-based dynamic map, and Attraction Reservation. For ease of reserving attractions, we add the attraction reservation function embedded in the personalized dynamic scheduling function for the tourist to reserve the recommended attraction when the tourist obtains the recommended offered by the personalized dynamic scheduling function. Note that the service can also be independent of the personalized dynamic scheduling function according to the consideration of the industry of theme parks. * Personalized Dynamic Scheduling  
This function provides the tourist with a customized recommendation of the next attraction to visit according to the tourist's location, favorite or wish attraction list (My Play List), preferred attraction priority (strategy), without the tourist making plans or too many decisions by himself/herself. To reduce the choice overhead of tourists, the TPTS system offers only one recommended attraction at a time. In addition, the recommended attraction is always the prompt best next attraction to visit according the tourist's strategy, not an out-of-date or out-of-time result in a recommended list figured out or arranged in advance. Furthermore, we use the personalized waiting times instead of the general waiting times of attractions to find a recommended attraction in order to improve the tourist's perception of waiting. Figure 2: The TPTS system architecture. There are three choices of preferable strategies as the optimal solution: Closest First, Shortest Waiting Time First, and Hottest First. The \"Closest First\" strategy determines the attraction that is the closest one to the tourist. The \"Shortest Waiting Time First\" strategy determines the attraction having the shortest personalized waiting time. The \"Hottest First\" strategy determines the attraction with the maximum number of visits. Once the best next attraction is obtained, the central subsystem determines the recommended session time, the estimated moving time, and the estimated personalized waiting time in terms of the attraction. Then, the mobile app displays this information when receiving the response from the central subsystem. * Attraction Reservation This function provides the tourist with attraction reservation or booking services. The tourist can reserve attractions in advance, and enjoy his/her ride without the painful waiting in a long line. This function provides tourists with the attraction reservation service after the personalized dynamic scheduling function offers the recommended next attraction. When a tourist activates this function, the mobile app subsystem will proceed with the following steps. * Request the central subsystem to return a list of bookable sessions of this attraction, each session with a current bookable quota, and display this list to the tourist. * Hint the tourist to select the booking amount, such as three persons, after the tourist chooses a bookable session. * Request the central subsystem to reserve the designated attraction after the tourist selects the booking amount and confirms his/her booking choice. * Display the reservation result when receiving the response from the central subsystem. If the result is successful, the mobile app subsystem will store a digital booking ticket for later verification when the tourist arrives at the reservation entrance of the attraction. * Location-based Dynamic Map This function provides the recommended route(s), direction(s), estimated distance(s), and moving time(s) from the location of the tourist to his/her specified attraction on an electronic map, where the map can be easily zoomed in and out. This function can be easily accommodated via widely used Google Maps API, just as Walt Disney World and Universal Studios, Orlando have already adopted in their systems.