1 Introduction

Most tourism literature describes a traveler as a visitor who visits a country or a city other than his/her hometown for a period of less than 12 months [1]. They face different decision-making challenges during their travel [2, 3], and are frequently overwhelmed by a plethora of questions and travel information [4, 5]. Before travel, traveler is more interested to get recommendation on the main destination, required budget, and the length of travel. While in the booking stage, they are seeking to get recommendation on the accommodation and the transportation. Finally, during the travel, they think about how to obtain personalized and current information about the events, restaurants, and activities and shopping centres [69]. The traveler has to extract travel information from different sources such as travel websites, friends, and experienced travelers, which is not personalized [10]. During the travel, travelers struggle to find out how to be notified about upcoming events. Furthermore, traveler’s decisions can be interrelated to each other. For instance, they need to get recommendation on the activities and then on the main destination. In addition, travelers’ preferences, and information related to destination, accommodation, flight, and so forth change rapidly. As a result, how to adapt to these changes becomes another vital element in travel planning before and during travel [1115]. A large amount of work has been devoted to tackle some of these issues [7, 1619].

We tackle these requirements by proposing an adaptive tourist recommendation system (ATRS), which can change its behavior to adapt to the new situation. This system collects information about the traveler and the travel products from different resources. In the next stage, it offers personalized recommendation based on the collected information.

Moreover, ATRS takes the traveler’s stage of travel into account and suggests the travel products based on that. In addition, ATRS collects the traveler’s preferences about the travel product recommendation’s order in the first place. Then, during the travel, system follows the sequences. For instance, traveler prefers to get recommendation on the activity then on the accommodation. Finally, ATRS provides a facility for admin of the system or expert traveler to modify the recommendation algorithm parameters.

This paper is organized as follows: Sect. 2 introduces ATRSs, and then illustrates the current ATRS situation. Further, in Sect. 3, we propose ATRS concepts, processes, and system frameworks that address the research lacuna. Finally in Sect. 4, we illustrate our proposed ATRS architecture and describe our prototypical implementation.

2 Adaptive tourist recommendation systems

In this section, we will summarize the recent ATRS applications and we will identify which ATRS aspects are not completely covered.

2.1 Current ATRS

Adaptive tourist recommendation systems provide recommendations based on travelers’ needs and interests, their devices (e.g., mobile, PC, PDA) and their locations [20, 21]. Michael and Jean [22] proposed several solutions to cope with travel dynamic packaging. They considered two scenarios in travel planning: the first one just recommends specific travel services such as accommodation or flights; while the other recommends travel package that are a combination of flights, accommodation, POI, and so forth.

Cena et al. [23] proposed an ATRS which supports different forms of adaptation. For example, adapting to different devices (Laptop, smartphone and web access) and adapting to the user’s preferences and experiences. In the research done by Mahmood et al. [20], they coped with existing problems within the dynamic packaging travel planning by offering a new adaptive recommendation system that allows users to select travel components such as hotels, events, and attractions, and put them in the new plan. In addition, their system was a kind of interactive system that was conversational and followed two processes. The first process was seeking inspiration for a list of products for users to encourage them to buy travel products; and the second process was that the travelers do some query searching themselves.

Coelho et al. [24] proposed an ATRS that can adapt to different traveler preferences. They got information about the travelers in various ways such as considering domain independent data or domain dependant data. As a result, they got different types of data by diverse methods (e.g., Likelihood Matrix, Stereotypes, Socialization, Psychological Model, User Explicit Knowledge, and Retrieval).

2.2 ATRS problems and issues

To achieve the success in all business domains, it is crucial to adapt to the new situations and respond quickly to the unexpected changes [25]. Many efforts have been done in different disciplines to cope with the ever-changing environment. Most of these literatures proposed an adaptive cycle to handle these alternations (Fig. 1). The first step to be adaptive is about sensing the environment and the system user. Next, based on the collected data, appropriate adaptive approach is selected. Take ATRS as an adaptive system into account; it is vital to follow this cycle.

In ATRS, the main information that should be collected by ATRS is about the traveler and the travel products.

Fig. 1
figure 1

Adaptive system cycle adopted from characterization of adaptive systems [21]

Information about the traveler can range from demographic information, preferences, needs, and the health situation. This information should be collected before, during, and after the travel [26]. Moreover, according to the integral theory of Wilber [27], all of the reality in the world neither is composed of whole/parts, not just whole nor parts (holistic perspectives). Consequently, the first step to be adaptive before and during travel is about holistically sensing the status and specification of traveler and travel elements (e.g., accommodation, transportation, and so forth). Moreover, ATRS should collaborate with other systems to collect information [21]. The collected data should be recent, and should encompass all aspects of traveler and travel elements [28].

However, current ATRS just rely on a single and poor representation of the travelers’ specifications and assumptions. They do not take into consideration all the aspects of the traveler, which is composed of the individual’s interior and exterior aspects, as well as social and cultural realms (Fig. 2).

Fig. 2
figure 2

All-quadrants, all-levels (AQAL), traveler dimension, adopted from integral theory [27]

Information underlying the dimensions of travel elements should also sense by ATRS. The general travel elements are about accommodation, places, types of transportation, restaurants, cafes, shopping centers, etc. However, different types of travel have different travel elements; for example, medical travel information is composed of general travel elements information, as well as pharmacies and hospital information. Nonetheless, most of the current ATRS just focus on general travel elements information.

During travel, information about the travel elements can be changed. Current ATRS mostly focus on the static aspect of travel element, and they rarely consider the ephemeral aspect (Fig. 3). For example, each accommodation has some static information such as the room size and accommodation location. In a similar way, it has some ephemeral aspects such as the room price, which can change with seasons and economic conditions.

Fig. 3
figure 3

Travel elements information, context as a holistic relation adopted from Fraser [29]

Another important issue that has been less covered in ATRS literature is about the travel process. Traveler needs can be changed during travel [18], in different stage of travel they require suggestion on different travel products. For instance, before the travel and in the inspiration stage, traveler needs recommendation on the main destination, length of their travel, and required budget. While during the travel they seek for recommendation on the historical attractions, accommodation, and transportation. To be able to dynamically plan and respond to the changes, it is crucial to take all the pre-defined travel processes (Fig. 5) AND travel linkage processes (Fig. 4), into consideration.

There is a need to modify ATRS behavior to fit the current context. Feigh [21] introduced the four primary ways to be adaptive to changes. The first one is about the modification of the function allocation by dividing functions or tasks between people and machines. The second one is the modification of task scheduling (timing, prioritization, and duration); and the third way concerns modification of the interaction by providing different styles, amounts of data, and interface features. The last one concerns modification of the content, based on the quantity, quality, and abstraction. However, most ATRS just support one approach.

Finally, to have a more adaptive system, it is vital ATRS admin or expert traveler can change and customized the system setting based on their customer’s needs and specifications.

In the next following sections, we will explain how we synthesis these concepts to reach an ATRS.

Fig. 4
figure 4

Travel process linkage adopted from Langley [32]

Fig. 5
figure 5

Main ATRS process and states

3 Proposed ATRS concepts and conceptual frameworks

Taking into account the existing problems mentioned in the above discussion, in this section, we propose the main ATRS concepts, processes, and frameworks, which can cope with these problems.

3.1 Main ATRS concepts

As it can be seen from the Fig. 6, there are four main ways to alter ATRS behavior, namely: modification of ATRS information, modification of ATRS stakeholders’ interaction, modification of ATRS process task scheduling, and modification of function allocation.

Fig. 6
figure 6

Travel adaptation triggers and the travel adaptation approaches

Moreover, there is a need to take into account the main triggers for these adaptations. For example:

  • Changing the ATRS state which is more concerned with the travel process (Fig. 5).

  • Environment’s status such as weather conditions, social ceremonies, and so forth.

  • Traveler’s status such as traveler’s location and preferences, his/her health situation.

  • Finally, the need for adaptation can be identified by comparing the traveler’s expectations and what the ATRS has already suggested to him/her.

To reach an acceptable level of adaptation, it is necessary to have a holistic understanding of both cause and effect [8]. Bear in mind that all of the ATRS elements’ information is not located in a single place (Sect. 1) so it is difficult to reach a holistic perspective. One solution to overcome this problem is to obtain information from other systems by employing integration and collaboration techniques [33]. Moreover, taking into account the ATRS as a type of decision support system (DSS), it is important to consider all important DSS’s elements (i.e., model, solver, and visualization). Consider ATRS as a subset of recommendation systems; it should encompass user profile (traveler profile), as well as item profile (travel element profile). In addition, there are three main external services which are responsible for collaborating with external applications and websites (Fig. 7).

Fig. 7
figure 7

Adaptive tourist recommendation system architecture

3.2 Traveler, travel elements, and travel processes

Bearing in mind that changing the ATRS elements’ context can trigger the system to adapt to the new situations, changing travel status, recent information about the travel elements, and the traveler, can cause the system to change its behavior.

In Fig. 5, we proposed the main travel status and the travel processes. Some of the important processes in this activity diagram are concerned with gathering information holistically. For example, in the Get Traveler Information process, it is crucial to take into account the main four traveler’s dimensions adopted from the integral theory, namely: individual, Social, Behavioral, and Cultural (Sect. 3.1); Fig. 2 shows these dimensions briefly.

4 Proposed ATRS architecture and implementation

4.1 ATRS architecture

The ATRS architecture proposed in Fig. 7. ATRS can be presented at four different layers: Presentation, Application, Database, and External Services Layers. The Presentation Layer is mainly responsible for establishing a connection between the main stakeholders. The Application Layer is the core of the ATRS which contains seven main components (Fig. 7). ATRS Models are the main component of the Application Layer which consists of both Specific ATRS Models and General Models. Specific ATRS Models support the main ATRS aspects: Holism, Adaptation, Integration, and Collaboration. For example, a traveler logs into the ATRS; Travel Workflow Management Model identifies the traveler’s status (Fig. 5) and then executes the other required ATRS models. Travel Process Linkage supports the process integration concepts (Fig. 4). Traveler Information Gathering Model and Travel Elements Information Gathering Model are for handling the holistic aspects, which are connected with the External Collaboration Engine to gather information. Travel Adaptation Model is responsible for managing adaptation approaches, as well as adaptation triggers such as how to adapt to the different devices and identify the current status of the traveler.

General Models are not restricted to use in ATRS. For instance, Recommendation Models can be used in all types of recommendation systems. The Rule-Based Model identifies which recommendation algorithm should be applied. In addition, the Rule-Based Model employsSingle Loop Learning andDouble Loop Learning Models to increase the ATRS’ future performance.

ATRS scenarios contain one or several executed ATRS Models that can be saved by ATRS Management Systems in the Scenario Database. TheATRS Management System is responsible for maintaining, modifying, and retrieving the ATRS solvers, models, traveler profile, travel elements profile, travel process, and scenarios. Finally, the External Collaboration Engine is mainly responsible for establishing a connection between the ATRS and external travel websites and applications.

4.2 Scenarios illustrate integration and holism

In this section, we demonstrate different scenarios which all of them describe some of the ATRS features. The first two scenarios present how ATRS can sense the traveler specifications, needs, and preferences. While, the third scenario mostly explain how ATRS can provide a personalized recommendation on travel products to the traveler. Finally, the last scenario represents how travel agency, ATRS admin, and expert traveler are able to modify the existing recommendation algorithm.

The first scenario is about how we can implicitly gather demographic information about traveler. To initiate the traveler demographic profile, we employ Facebook Graph Explorer (FGE) API [38]. ATRS retrieves information such as age, gender, occupation, location, education, relational status from user’s Facebook account.

The user logs into the system. ATRS gets permission from the user to access his/her Facebook and an Outlook account (Fig. 8). Then ATRS employs Facebook API to obtain information about the traveler (Fig. 9). Finally, ATRS shows retrieved information from Facebook (Fig. 10). Moreover, information about the previous travel extracted from the traveler Facebook and outlook account. We use FGE API to access history of traveler’s check-ins in the different locations (Fig. 10).

Fig. 8
figure 8

First scenario, login page and get permission from the user

Fig. 9
figure 9

First scenario, Facebook API, retrieve personal information from Facebook

Accessing the traveler mail box is the other way to get information about the previous travel. Traveler logs into system (first scenario), ATRS employs Microsoft Office Outlook API to access the traveler mailbox (Fig. 10). In this stage, ATRS employs text-mining approach to search for previous booking made by travel.

Fig. 10
figure 10

First scenario, ATRS shows extracted previous travel history from Facebook and Outlook account

The second scenario is about gaining the traveler preferences about the order of recommendation by doing a pairwise comparison. Hence, ATRS employs one of multi-criteria decision-making (MCDM) algorithm named AHP [39] to get traveler preferences (Fig. 11).

The third scenario demonstrates how ATRS use the collected information in above scenarios to provide a personalized and adaptive recommendation to the traveler. For example, traveler is inspired to travel to London, and he/she wants to get recommendation on the duration of his/her travel before his/her travel. Traveler logs into system (Fig. 8) then as ATRS already collected traveler information from his/her account on the Facebook and outlook, it just loads them from database (Fig. 12). Moreover, user can identify his/her purpose/s of travel, for example in Fig. 12, Business has been selected. Finally, user selects Confirm button to validate extracted information. In the next page, user identifies his/her main destination for travel, and then selects the Recommendation on Duration of Travel icon to receive recommendation (Fig. 13:1). ATRS employs clustering algorithm to predict duration of the travel. Finally, the prediction result has been shown to the traveler (Fig. 13:4). By employing clustering algorithm, ATRS recommends user to stay there for 7 days. Furthermore, ATRS employs WikiTravel API to collect some general information about the main destination [36]. As a result, traveler received information about the London’s climate, health, and safety (Fig. 14).

Fig. 11
figure 11

Second scenario, get the traveler preference about the sequence of travel product recommendation

Fig. 12
figure 12

Second scenario, traveler demographic information which has been explicitly and implicitly extracted from his/her Facebook, Outlook account, and traveler inputs

Fig. 13
figure 13

Third scenario, ATRS presents recommendation on the length of travel to the user before the start of his travel

Fig. 14
figure 14

Third scenario, ATRS shows the general information regarding the main destination to the traveler

Besides that, in the start of the travel, traveler can receive recommendations on different travel products. For instance, in the third scenario (Fig. 11), traveler already identified his preferences about the order of recommendation. As a result, in this scenario, ATRS first provides recommendations on Destination then Activities and finally on Transportation (Fig. 15).

The last scenario is related to ATRS recommendation algorithm configuration. Expert traveler or ATRS admin can customize ATRS’s recommendation algorithm to help their customers to get a more personalized recommendation. For example, ATRS admin can create a new recommendation scenario on finding car rental. As a result, they can identify which mining algorithm should be used for car rental prediction and recommendation. The main mining models have been created by employing Microsoft SQL Server Analysis Services [34].

First, user logs in ATRS as admin (Fig. 16:1). In Configuration Data Mining Model page (Fig. 16:2), user able to identify desired mining model from existing options (Fig. 16:2). In this scenario, user chooses Clustering algorithm and Spend to predict the travel cost (Figs. 16:3, 17:1). After that, user pushes the Create Recommendation Model button to create a new clustering model (Fig. 17:2). This model predicts cost of travel using clustering algorithm. To create new mining model for each travel elements, we employed ADOMD.NET which is a Microsoft .NET Framework data provider that is designed to communicate with Microsoft SQL Server Analysis Services [35]. ATRS generates DMX code clustering mining model (Fig. 18) to predict the travel cost.

Fig. 15
figure 15

Third scenario, ATRS shows the sequence of recommendation process by first recommending on destination then on activities

Fig. 16
figure 16

Forth scenario, mining model algorithm configuration

Fig. 17
figure 17

Forth scenario, mining model algorithm configuration

Fig. 18
figure 18

Forth scenario, create new mining model

5 Evaluation

We follow design science methodology to create ATRS concept, framework, process, and implementation [40, 41]. According to Hevner, the quality of the design artifact should be evaluated continually [40]. In this stage, to evaluate our artifacts, we employ FURPS metrics, which are about the functionality, usability, reliability, performance, and suitability [40, 41].

Many studies have been published on the evaluation of the personalized system [42]. According to Lex van and his colleagues, the main metric for evaluating a personalized system is to test its usability [42]. They also present a model for evaluating the systems usability based on the development phase, methods, and variable.

Adaptive tourist recommendation system is a working prototype which is not in the first stage of development and also is not a full system yet. Our evaluation strategy employs questionnaires to focus on the specific issues that are revealed by user feedback from the prototype. As the evaluation of research artefacts is a continuing process, we assessed the usability and functionality of the ATRS by interviewing diverse people. We asked the actual travelers, travel experts (agencies), and the system experts to test the ATRS. By analyzing the current tourist websites and personalized systems, we get some criteria to evaluate the ATRS.

We tried to examine ATRS functionality to test whether the ATRS works as the use expected or not. In addition, we employ usability test to see does the system enough attractive for the user to use it or not. By analyzing the current tourist literature and personalized system, we came up with below metrics which contains both usability and functionality metrics [43]. We have synthesized the current recommendation system and tourist system evaluation dimensions. The questionnaire contained the following dimensions (Table 1) with a 5-point likert (very bad, bad, neutral, good, and very good) scale.

Moreover, we have assessed the quality of the system by defining and running various scenarios. The evaluation results are encouraging. As a result, we plan on doing wider evaluations.

6 Discussions and conclusion

Travelers face different challenges before, during, and after travel. These are more about how to adapt to new situations, and how to get personalized information.

Most of the current ATRS are incapable of providing a holistic view of traveler’s specifications and assumptions. Moreover, very few of them provide recommendation for all travel’s elements such as length of the travel, accommodation, transportation, restaurant, medical services, and car rentals. Finally, they lack the capacity to consider the travel process (Fig. 5).

Table 1 Metrics for evaluating the ATRS.

To address these issues, in this paper, we proposed ATRS which can be adapted to the new situation by employing different adaptive approaches. Moreover, to be adaptive there is a need to have a holistic perspective with regard to traveler dimensions and travel products. One way to reach holism is to increase the integration and the collaboration with other systems.

Taking all the above concepts into account, we came up with ATRS concepts, process, high-level framework, architecture, and implementation (Figs. 7, 18). The main travel process has been proposed in Sect. 3.2, which demonstrates the main travel stages and ATRS functions during travel. Section 3.1 comprises ATRS concept, which presents the main adaptation triggers and approaches. ATRS architecture has been shown in Sect. 4.1. The developed architecture supports the core ATRS concepts proposed in Sects. 3.1 and 3.2. Architecture embodies of four different layers: Presentation, Application, Database, and External Services Layers. Finally, a prototype was developed employing above artifacts. Implemented system is suitable for both the traveler and admin of ATRS.

Furthermore, to identify the weakness and strengths of the proposed artifacts, we have evaluated our artifacts (Sect. 5). Future research more investigates how to design and implement a holistic travel profile, which can enhance the adaptation in a tourist recommendation system.