Online reservation method

The server-based system addresses inefficiencies in vacation planning by automating data collection, learning user preferences, and enhancing voice interaction, offering personalized and timely recommendations for vacations.

WO2026029736A1PCT designated stage Publication Date: 2026-02-05SONMEZ SELAHATTIN
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/TR2025/050750
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-07-11
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

Existing vacation reservation systems are cumbersome, requiring manual searches, lack personalized recommendations, struggle with voice command limitations, fail to proactively manage plans, and inadequately address cultural activities, leading to inefficient and unsatisfactory user experiences.

Method used

A server-based system utilizing AI algorithms for data collection, preference learning, dynamic pricing, and voice interaction, integrated with smartphones, to provide personalized vacation recommendations and manage plans efficiently.

Benefits of technology

Enhances vacation planning by automating data collection, providing tailored suggestions, optimizing timing, and improving user interaction, resulting in a seamless and efficient holiday planning experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IMGF000035_0001
    Figure IMGF000035_0001
  • Figure IMGF000036_0001
    Figure IMGF000036_0001
  • Figure IMGF000037_0001
    Figure IMGF000037_0001
Patent Text Reader

Abstract

The invention relates to a server-based system designed to facilitate holiday planning and provide personalised recommendations to users. The system optimises the holiday planning process by processing data provided through users' smartphones. The server utilises algorithms within its infrastructure to present users with options such as hotels, tours, and cultural trips, while also determining the most suitable holiday periods. Furthermore, the system performs comparisons of hotel prices to recommend options that align with users' budgets. Smartphones transmit information to the server, including hotel prices, user reviews, location data, and booking details. Once this data is processed, the server transmits the results back to the smartphones. Users can view and interact with these results through voice commands, text, images, and videos. This invention aims to deliver a personalised holiday planning experience by processing user data through a server-centric system and facilitating interaction via smartphones.
Need to check novelty before this filing date? Find Prior Art

Description

[0001]DESCRIPTION ARTIFICIAL INTELLIGENCE-BASED PERSONALIZED HOTEL, TOUR, CULTURAL TRIP, ETC. VACATION RECOMMENDATION AND PRICING SYSTEM 5 Technical Field The invention relates to a server-based system designed to facilitate holiday planning and provide personalised recommendations to users. The system optimises the holiday planning process by processing data provided through users’ smartphones. 10 The server utilises algorithms within its infrastructure to present users with options such as hotels, tours, and cultural trips, while also determining the most suitable holiday periods. Furthermore, the system performs comparisons of hotel prices to recommend options that align with users’ budgets. Smartphones transmit information to the server, including hotel prices, user 15 reviews, location data, and booking details. Once this data is processed, the server transmits the results back to the smartphones. Users can view and interact with these results through voice commands, text, images, and videos. This invention aims to deliver a personalised holiday planning experience by processing user data through a server-centric system and facilitating interaction via 20 smartphones. Prior Art Currently, vacation reservation and location search systems offer various solutions to meet users' needs, leveraging modern technological advancements. These systems typically operate through web-based platforms or mobile applications, 25 facilitating users' vacation planning and reservations. The primary objective of existing systems is to enable users to search for and find vacation options based on specific criteria and to make the reservation process faster and more efficient. Existing vacation reservation systems provide a wide range of services to meet users' different vacation needs. These services include hotel reservations, flight 5 ticket searches, car rental services, tour packages, and various events. Users can plan their vacations through these systems by utilizing various filtering options to determine the most suitable vacation options for themselves. Filtering options are generally based on criteria such as price range, hotel class, location, user reviews, and facility features. Users use these criteria to narrow down search results and find 10 the most appropriate vacation options. Some vacation reservation systems employ personalized recommendation systems to enhance the user experience. These systems analyze users' past search and reservation data to learn their vacation preferences and habits, and provide recommendations accordingly. For instance, if a user has previously preferred 15 staying at beachfront hotels, the system will suggest beach hotels in future searches and present vacation options that align with the user's preferences. Such recommendation systems aim to make users' vacation experiences more personalized and satisfying by utilizing machine learning and data analysis techniques. 20 Existing vacation reservation systems require users to manually conduct searches for specific vacation periods. Users manually input vacation dates and other search criteria into the system during vacation planning, which results in obtaining search results. This situation complicates vacation planning and causes time loss. Especially during peak vacation periods, it becomes even more challenging for 25 users to find and book their desired vacation options. The manual search process makes the vacation planning process more complex and cumbersome. Some existing systems offer voice command search functionality. These systems allow users to perform searches and view vacation options using voice commands. However, these systems generally operate with limited command sets and do not 30 support more natural language communication. Users are required to memorize specific commands and may not achieve desired results if they do not use the commands correctly. This limitation hinders users from effectively utilizing voice command features and negatively impacts the user experience. The restricted nature of voice command systems fails to meet users' expectations for natural language communication and reduces user satisfaction. 5 Additionally, existing vacation reservation systems inadequately learn users' vacation habits and preferences and fall short in providing personalized recommendations. Systems lacking detailed information on specific vacation periods and preferences are unable to accurately predict users' needs and offer suitable recommendations. To enable users to plan vacations more effectively and 10 efficiently, systems need to learn users' habits and preferences in greater depth and provide recommendations accordingly. The inadequacy of existing systems in this regard makes vacation planning more challenging and complex for users. Another significant shortcoming of existing systems is their insufficient ability to address users' needs for searching and booking tours and cultural travel in addition 15 to vacation reservations. Users seek information not only for vacation reservations but also for cultural activities, tours, and excursions. Existing systems generally provide these services at a limited level and fall short in meeting all users' vacation needs. To enable users to plan their vacations more comprehensively, systems should offer services not only for hotel and flight bookings but also for cultural 20 activities, tours, and excursions. The lack of such services results in users' inability to fully realize their vacation plans and leads to incomplete vacation experiences. Many existing systems also fall short in managing users' vacation plans and reservations proactively. Users expect the system to automatically perform searches and provide recommendations during specific vacation periods, but existing 25 systems do not offer such proactive services. Users waste time performing manual searches during each vacation period and face difficulties in managing their vacation plans. To allow users to plan their vacations more effectively and efficiently, systems need to learn user habits and automatically perform searches and provide recommendations during specific vacation periods. The inadequacy of 30 existing systems in this regard complicates vacation planning and reduces user satisfaction. In summary, current vacation reservation and vacation venue search systems have certain shortcomings and limitations in meeting users' needs. Manual search processes, limited voice command features, inadequate personalized recommendations, deficiencies in learning vacation habits, and a lack of proactive 5 service are among the main issues with existing systems. These shortcomings negatively impact user experience and complicate vacation planning processes. Some advancements related to accommodation and reservation in the field include the following: 10 1. Patent No: 2021 / 017909 Title: Online Reservation Method Summary: The invention relates to an online reservation method for travel and accommodation 15 services via a reservation server (20) for travel products including flight tickets, bus tickets, train tickets, ferry services, and hotel reservations through a user device (10) which can be an internet-connected smartphone or operating system-equipped device. Evaluation: 20 Patent number 2021 / 017909 focuses on data collection and recommendation methods for hotel and flight reservation systems. The existing patent introduces a system in which a server collects hotel information using web scraping and data analysis techniques to optimise users’ hotel selections. This patent addresses collaborative filtering and content-based filtering methods for data collection and 25 recommendation systems; however, it does not offer a broader spectrum of data analysis, such as dynamic pricing and user interactions. On the other hand, our current patent, unlike 2021 / 017909, enables the server to optimise pricing by employing gradient boosting machines and random forest algorithms for dynamic pricing and price comparison. The server predicts holiday 30 periods using LSTM and time series analysis algorithms and processes voice commands through text-to-speech and natural language processing technologies. Furthermore, the server delivers visual and video content through image retrieval and video summarisation techniques while optimising system performance using model quantisation, edge computing, and transfer learning techniques. This expanded functionality and enhanced user interactions provide a holiday planning 5 experience beyond the scope of the existing patent. 2. Patent No: US2023385717A1 Title: AI-Powered Tour Reservation System Summary: 10 This invention introduces an innovative AI-Powered Tour Reservation System that revolutionizes the tour reservation experience in the travel and tourism sector. Unlike traditional methods, this system combines advanced technologies to provide travelers with a comprehensive and personalized solution. The system consists of a travel database with a wide range of tour options, an AI-powered recommendation 15 engine, a reservation engine that autonomously interacts with travel service providers, and an intuitive user interface that facilitates user-system interactions. The recommendation engine, at the forefront of AI algorithms, provides personalized tour recommendations based on user preferences, historical data, and 20 online behavior. By integrating these insights, the engine offers tour options tailored to individual preferences and constraints, surpassing the limitations of general recommendations. In a novel approach, the reservation engine automates the booking process, interacting with tour operators, hotels, airlines, and transportation services to make reservations based on user selections. This automation enhances 25 the user experience, reduces manual errors, and saves time. The user interface further improves interaction by offering an intuitive platform that allows users to input preferences, access personalized recommendations, review travel itinerary suggestions, and make selections according to travel desires. 30 Together, these components form an ecosystem that redefines tour reservation with a holistic, efficient, and personalized approach. This innovation places AI-powered advancements at the forefront, providing travelers with unique convenience and enriching their journeys in the world of travel and exploration. Evaluation: 5 US2023385717A1 focuses on optimising personalised tour bookings in the travel and tourism sector through an AI-powered system. This system aims to enhance the traveller experience by utilising a comprehensive tour database and an intuitive interface for user interactions. The patent encompasses AI algorithms that analyse user preferences, historical data, and online behaviours, as well as automated 10 booking processes. In our current patent, the server similarly employs AI algorithms to provide personalised recommendations but extends beyond this by offering a broader data collection and analysis capacity. In addition, the server utilises gradient boosting machines and random forest algorithms for dynamic pricing and price comparison, 15 predicts holiday periods using LSTM and time series analysis algorithms, and processes voice commands through text-to-speech and natural language processing technologies. Furthermore, the server delivers visual and video content through image retrieval and video summarisation techniques while optimising system performance with model quantisation, edge computing, and transfer learning 20 techniques. These innovative methods enhance both user experience and system efficiency, enabling our patent to provide a holiday planning solution that surpasses US2023385717A1. In existing applications, considering the situations referenced above, a server or 25 server system is described that optimises users' hotel, tour, and cultural excursion selections while enhancing the user experience. The server automatically collects data from various websites, including hotel prices, hotel features, locations, user reviews, tour programmes, and cultural excursion details. It learns user preferences to provide personalised recommendations, predicts users’ holiday periods to 30 determine the most suitable travel times, and performs dynamic pricing and hotel price comparisons. Additionally, the server delivers both voice and text notifications, understands voice commands to facilitate user interaction with the system, provides visual and video content to offer more comprehensive information about hotels, and optimises system performance to ensure efficient operation on mobile devices. 5 Brief Description of the Invention Task 1: Automatic Web Browsing and Data Collection by Smartphones In this task, smartphones utilise web scraping and web automation algorithms, such as Selenium and Puppeteer, integrated into their architecture to collect data from various tour, cultural excursion, and hotel websites. Using these algorithms, 10 smartphones automatically retrieve information from websites, including hotel prices, hotel features, locations, user reviews, tour schedules, and cultural excursion details. Web scraping is performed via Python-based libraries such as BeautifulSoup and Scrapy, while web automation is achieved through Selenium and Puppeteer. This task enables smartphones to autonomously browse and collect15 data in order to find hotels, tours, and cultural excursion locations that meet user- defined criteria. As a result, the challenges of manual searching and data collection are overcome, and efficiency is enhanced. This task is executed by an API installed on the smartphone, which does not scrape tourism-related web pages defined by users but instead sends this information to the server system with an ID tag, 20 personalised for the respective user. Task 2: Learning User Preferences In this task, the server employs collaborative filtering, content-based filtering, and K-means clustering algorithms to analyse user preferences. The collaborative filtering algorithm analyses the reservations, tours, and cultural excursions 25 previously made by users and enables the server to learn the preferences of similar users. The content-based filtering algorithm examines the characteristics of the hotels, holidays, tours, and cultural excursions preferred by the user, allowing the server to recommend similar hotels, tours, and excursions. The K-means clustering algorithm segments users based on behavioural and preference patterns, facilitating 30 personalised recommendations based on this segmentation. Through these algorithms, the server learns users' preferences for holidays, tours, and cultural excursions and, by evaluating the results of the analysis, sends notifications containing the most suitable options to users' smartphones. Consequently, users receive personalised recommendations without the need for 5 manual searches, thus improving the overall user experience. Task 3: Learning Users' Holiday Timing In this task, the server uses LSTM (Long Short-Term Memory) RNNs and time series analysis algorithms to analyse users' holiday timings. The LSTM algorithm analyses the temporal patterns of users' holiday reservations, predicting future 10 holiday trends. The time series analysis algorithm examines users' holiday habits, learning the trends of holiday patterns during specific periods. With the aid of these algorithms, the server learns users' holiday timings and, by evaluating this data, recommends the most suitable holiday periods. As a result, users' holiday planning processes are simplified, and they are encouraged to take 15 holidays at more optimal times. Task 4: Generating Written and Audible Notifications This task is performed via an API located on the user's smartphone. Data sent by the server, based on the user's holiday preferences and habits related to holiday timings, is processed through the API on the smartphone and converted into written 20 or audible notifications. The Text-to-Speech (TTS) algorithm presents suggestions and reminders to users in the form of audible notifications. The Natural Language Generation (NLG) algorithm is employed to create written notifications and suggestions. The API performs the function of generating both audible and written notifications by 25 utilising these algorithms. This ensures that users receive suggestions and reminders in a more accessible and effective manner. Task 5: Understanding and Processing Voice Commands This task is carried out via an API installed on the user's smartphone. The user 30 issues voice commands to the smartphone, for example, “Open holiday webpages” or “Suggest cultural excursions based on my habits.” The API detects these voice commands and converts them into text using a Speech- to-Text algorithm. The text-based data is processed in two distinct ways: 1. Data Request from the Server: The API sends the user's text-converted request to the server along with an ID tag and processes the results returned by the 5 server. The personalised information received from the server is then presented to the user on the smartphone via written or audible notifications through the API. 2. Local Processing and Opening of Web Pages: The API analyses the content of the voice command and opens the relevant web pages in the smartphone’s browser or provides direct access to the requested information. 10 This ensures that voice commands are processed more easily and efficiently, speeding up the holiday planning process and enhancing the user experience. Task 6: Providing Visual and Video Content to the User In this task, the server provides visual and video content based on requests transmitted from the user's smartphone API, with the ID tag. When a user makes a 15 request regarding specific hotels or holiday locations, the request is forwarded from the smartphone API to the server. The server then processes the request using the following algorithms to present appropriate content to the user: 1. Image Retrieval Algorithm: The server retrieves photos of hotels and holiday locations from the database that match the user’s request and presents them 20 to the user. 2. Video Summarisation Algorithm: The server analyses promotional videos of hotels according to the user's request and summarises these videos to present the most suitable version for the user's needs. As a result, the visual and video content processed by the server is sent back to the 25 smartphone API and presented to the user in image or video format. This enables users to gain more information about hotels and make more informed decisions. Task 7: Dynamic Pricing and Price Comparison In this task, the server performs dynamic pricing and price comparison based on requests transmitted from the user’s smartphone API, accompanied by the ID tag. 30 When a user submits a request related to a specific hotel and price comparison on their smartphone, the request is forwarded from the smartphone API to the server, which processes the request using the following algorithms: 1. Gradient Boosting Machines (GBM): The server employs this algorithm to predict hotel prices and perform dynamic pricing. 5 2. Random Forest: The server performs price comparisons to determine the most suitable hotel options, which are then presented to the user. The dynamic pricing and price comparison results processed by the server are sent back to the relevant user’s smartphone API, where the most competitively priced hotel options are displayed. This enables users to find the most cost-effective hotels, 10 thereby increasing their cost-efficiency. Task 8: Energy and Resource Management This task involves the collaboration between the user’s mobile devices and the server to ensure efficient energy and resource management. Smartphones use the following algorithms to offload some resource-intensive tasks to the server: 15 1. Edge Computing: Smartphones offload certain processing-heavy tasks to the server, rather than performing them locally on the device. This enables the device to operate efficiently without overburdening its hardware capacity. 2. Transfer Learning: Smartphones utilise existing data on the user’s mobile device to develop new models, benefitting from large pre-trained models provided 20 by the server. This approach enables high performance with less data and computational power, optimising the use of the device’s resources. 3. Model Quantisation and On-Device AI Inference: Smartphones perform AI inference locally on the device to enhance model performance and reduce energy consumption, while also using model quantisation techniques to reduce model size 25 and computational requirements. Through these methods, smartphones and the server work together to reduce energy consumption and perform tasks efficiently without straining the device’s hardware capabilities. Task 9: Data Collection and Classification through Web Scraping and Web 30 Automation In this task, the server uses web scraping and web automation algorithms to collect data from various web pages and classify this data according to the users' needs. Web scraping is performed by navigating predefined websites such as those related to hotels, tours, and cultural excursions, where relevant data is gathered and 5 categorised into various categories. The server follows the steps outlined below in this process: 1. Web Scraping and Web Automation: The server navigates predefined web pages using web automation tools such as Selenium and Puppeteer. These tools enable the server to access data related to hotels, tours, cultural excursions, and 10 other topics, which is subsequently collected. 2. Data Classification: The collected data is classified for faster and more effective presentation to users. This classification is performed using Decision Trees algorithms, which categorise the data based on criteria such as price range, customer segments, and geographical location. 15 As a result, the server is able to respond to user queries more swiftly and accurately, providing more personalised holiday recommendations. Integration of Tasks and Holistic Working Principle This patent encompasses the integration of a series of tasks and algorithms designed to enable users to perform holiday and travel planning in a more efficient, 20 personalised, and user-friendly manner, through the combined operation of smartphones and server systems. Each task functions by processing data and analyses from the other, making the user experience more efficient. Below, the integration of the tasks and a potential scenario of how they operate is detailed. Scenario: User Holiday Planning 25 The user opens their smartphone and issues a voice command saying, “Open holiday web pages for me.” This command is recognised and converted into text by the algorithms for speech command understanding and processing, as outlined in Task 5. Then, via the API, the text obtained from the user is directed to the second phase of Task 5, which involves local processing and the opening of web pages. 30 The smartphone opens holiday web pages in the browser and presents the content as per the user’s request. Once the web pages are opened, Task 1 is triggered. The user defines specific holiday or tourism-related web pages on their smartphone via the API. Data is collected from these pages and, in accordance with the function of Task 1, this data is sent by the smartphone API to the server. Additionally, the server utilises the web 5 scraping and web automation algorithms from Task 9. These algorithms scan a much larger number of web pages, as specified by the company, which contain a broader pool of data related to holidays and tourism. The collected data is classified into categories; this classification is carried out using methods such as Decision Trees algorithms. This ensures that the server can return more rapid and accurate 10 responses to the user. The server also employs the user preference learning algorithms from Task 2 to analyse data from the user’s past holiday preferences. Algorithms such as Collaborative Filtering, Content-based Filtering, and K-means Clustering are used to recommend the most suitable holiday destinations, hotels, and tours to the user. 15 These suggestions are presented in a personalised manner on the user’s smartphone. When the user selects a hotel from the recommendations, the visual and video presentation algorithms from Task 6 are activated. If the user wishes to obtain more information about a hotel, the server summarises promotional videos or presents images of the hotel. This allows the user to make more informed decisions. 20 Finally, the dynamic pricing and comparison algorithms from Task 7 come into play. The user gives a command to compare hotel prices. The server ranks the most competitively priced hotels using Gradient Boosting Machines and Random Forest algorithms and sends the results to the user’s smartphone. In this way, the user efficiently finds the best hotel at the lowest cost. 25 Tasks 2, 6, and 7 can also be programmed to work simultaneously. When users send requests via the API on their smartphones, hotels and tours, promotional images and videos, as well as price comparisons, can be sent to the user’s smartphone in a single operation. Energy and Resource Management is also carefully managed throughout the 30 process. Using techniques from Task 8, such as edge computing, transfer learning, and model quantisation, the smartphone’s processing power is utilised efficiently. Computationally intensive tasks are offloaded to the server, ensuring that the smartphone operates efficiently without straining its hardware capacity. Throughout all these processes, the smartphone continuously sends holiday recommendations, reminders, and updates to the user via the notification algorithms 5 from Task 4. Voice notifications are delivered via the Text-to-Speech (TTS) algorithm, while written notifications are generated using the Natural Language Generation (NLG) algorithm. Holistic Working Principle Each task performs a specific function while interacting with other tasks, operating 10 as part of an overall system. Data obtained from holiday web pages accessed by the smartphone API in Task 1 is integrated with the server’s broader data pool in Task 9, providing the user with fast and accurate information. Voice commands in Task 5, visual and video presentation in Task 6, dynamic pricing and comparison in Task 7, and user preference analysis in Task 2 work together to provide personalised 15 recommendations to the user. The integration of these tasks ensures that the user experiences a seamless holiday planning process. The user can easily make requests using voice commands, be continuously informed through smartphone-based processes, and be guided with personalised suggestions. Energy efficiency is ensured by Task 8, allowing the 20 smartphone to operate effectively without overburdening its hardware capacity. This holistic working principle maximises the user experience, while prioritising efficiency, speed, and personalisation at every stage. In the invention, a single server may be utilised, or alternatively, a server system comprising multiple servers may be employed. Furthermore, the invention may be 25 implemented with integration into cloud systems to enable the generation of responses in a faster and / or more efficient manner. Detailed Description of the Invention 1. General Overview of the Invention 1.1. General Purpose of the Invention 30 The invention is designed to develop a comprehensive system that significantly enhances the user experience in holiday planning processes, making the selection of hotels, tours, and cultural excursions more efficient through a server-based approach. This system integrates modern web technologies and advanced data analysis methods, operating in conjunction with servers and users' smartphones, to assist users in determining their holiday preferences with greater accuracy and to 5 make the holiday planning process more user-friendly. The primary objective is to automate the process of selecting holidays, hotels, and cultural excursions, provide personalised recommendations, and identify the most suitable holiday opportunities. 1.2. Problems Addressed by the Invention 10 1.2.1. Difficulties in Manual Search and Data Collection In traditional holiday planning processes, users manually collect and compare information such as hotel prices, hotel features, location details, user reviews, tour programs, and cultural trip details. This process is often time-consuming, complex, and inefficient, requiring users to gather information from various sources and 15 analyze it to make decisions. The invention addresses these challenges by utilising web scraping and web automation techniques on both the server and users’ smartphones to automatically collect data from various holiday websites, thereby significantly simplifying the processes of search and data collection for users. Through the application of web 20 scraping and web automation methods, information such as hotel prices, hotel features, locations, user reviews, tour programmes, and cultural excursion details is collected on a large scale at the server level and on users’ smartphones within the framework of their preferences. This eliminates the difficulties and time consumption associated with manual data collection processes. 25 1.2.2. Lack of Personalized Recommendations During the holiday planning process, users often struggle to find the most suitable options among various holiday choices due to a lack of access to personalized recommendations. Most existing systems offer general options rather than tailored suggestions based on the user's preferences, providing broad, standard options that 30 do not accurately reflect the user's holiday preferences. The server comprising the invention utilises collaborative filtering, content-based filtering, and K-means clustering algorithms to learn user preferences and provide personalised recommendations. By employing these algorithms, the server analyses the user’s past preferences and behaviours, identifies the preferences of similar 5 users, and delivers recommendations for hotels, tours, and cultural excursions tailored to the user’s interests and holiday expectations. Consequently, users are afforded the opportunity to evaluate holiday options in a personalised manner and discover more suitable choices. 1.2.3. Difficulty in Determining Holiday Timing 10 Users often struggle to determine the most suitable time for their holiday. Timing can significantly impact both the cost and the experience of the holiday, yet determining the best holiday times can be a complex process, and most systems do not assist users in this regard. The server constituting the invention employs LSTM and time series analysis 15 algorithms to analyse users' holiday habits and predict future holiday trends. Utilising these algorithms, the server examines the temporal patterns of holiday reservations to identify the most suitable holiday periods and provides guidance to users on timing their holiday planning. As a result, users are enabled to identify the optimal holiday periods, thereby conducting the holiday planning process more 20 efficiently. 1.2.4. Lack of Written and Voice Notifications Current holiday planning systems typically offer recommendations in the form of written notifications and are often insufficient in providing reminders or detailed information. 25 In the invention, an API located on users' smartphones employs text-to-speech and natural language generation algorithms to deliver both verbal and written notifications to users. These notifications provide holiday recommendations, reminders, and updates, thereby enhancing the user experience by making it more effective and accessible.. 30 1.2.5. Difficulty in Interaction with Voice Commands The ability for users to interact with the system through voice commands is often limited in many systems. The capability to understand and process voice commands can facilitate more natural interaction with the system. The invention provides the capability for understanding and processing users' voice 5 commands by utilising automatic speech recognition, natural language processing, and named entity recognition algorithms via an API located on users' smartphones. These algorithms, employed by the API on the smartphones, convert the users' voice commands into text and analyse the meaning of these commands, thereby facilitating easier and more efficient interaction with the system. 10 1.2.6. Insufficient Provision of Visual and Video Content Users frequently require visual and video content to gain information about hotels, tours, and cultural trips, but existing systems often fall short in meeting these needs. The server constituting the invention utilises image retrieval and video summarisation algorithms to provide users with photographs and promotional 15 videos about hotels. These functionalities enable users to obtain more comprehensive information about hotels and support their decision-making processes. 1.2.7. Need for Dynamic Pricing and Comparison Hotel prices can fluctuate frequently, and users need systems capable of dynamic 20 pricing and comparison to find the best rates. The server constituting the invention utilises gradient boosting machines and random forest algorithms to predict hotel prices and perform price comparisons, thereby determining the most suitable hotel options. This feature enables users to find the most cost-effective holiday opportunities and enhances cost efficiency. 25 1.2.8. Energy and Resource Management Issues The performance of holiday planning systems operating on mobile devices can often be limited, and managing energy consumption becomes a significant concern. In the invention, model quantisation, edge computing, and transfer learning techniques deployed on users' smartphones optimise system performance and 30 enable efficient operation on mobile devices. These techniques allow for high performance to be achieved without stressing the device's hardware capacity, while also reducing energy consumption. 2. Server and Cloud System Design 2.1 Server Design 5 In order for this system to function effectively, it is essential to design a high- performance, scalable, and energy-efficient server infrastructure. The server must be capable of running computationally intensive algorithms while also storing large volumes of data to facilitate fast data flow. The design of the server incorporates multi-core, high-performance microprocessors. Intel Xeon Platinum or AMD 10 EPYC processors are preferred, as these processors stand out due to their high core count and fast processing capacity. Processors with a minimum of 32 physical cores and 64 threads are employed, with core speeds of 3.0 GHz or higher. Additionally, these processors provide power efficiency, optimising energy management. The server's memory is designed for large-scale data processing and temporary data 15 storage. DDR5 RAM with a capacity of 512 GB or more is used, with memory speeds of 4800 MHz or higher. Error-correcting code (ECC) RAM modules maintain data integrity and enhance system stability. As for storage, PCIe 4.0 or PCIe 5.0 NVMe SSDs are preferred. These SSDs offer read / write speeds of 7 GB / s or higher, with a total capacity of 10 TB or more. For data redundancy, RAID 5 or 20 RAID 6 configurations are used, and backup systems are regularly integrated into external servers. For artificial intelligence and image processing tasks, NVIDIA A100 or H100 Tensor Core GPUs are preferred. These GPUs accelerate the training and inference processes of AI models, each equipped with a minimum of 40 GB of HBM2 25 memory. The CUDA cores enhance parallel processing capabilities, meeting the large-scale data processing requirements. To maintain the server’s performance sustainably, an advanced cooling system is used. Air cooling is provided by low- noise, high-static pressure fans, and closed-loop liquid cooling systems are utilised for processors and GPUs. Thermal sensors continuously monitor temperatures, and 30 fan speeds are automatically adjusted when necessary. The server is equipped with 100 Gbps Ethernet connections, with redundant network links and load balancing systems integrated to ensure uninterrupted operation. In terms of power management, highly efficient (80+ Platinum certified) redundant power supplies are used, dynamically optimising the energy 5 consumption of components. On the software side, a Linux-based operating system is employed, with server management provided by Kubernetes or Docker-based container systems. Tools such as Prometheus and Grafana are integrated for monitoring server performance and resource usage. This design ensures the rapid and efficient execution of high-performance 10 algorithms and enables the server to respond to user demands without interruption. The server offers a scalable, reliable, and energy-efficient infrastructure with both hardware and software components. 2.2 Server Security The security of the server is designed with a multi-layered approach to provide high 15 levels of protection against both physical and digital threats. Physical security measures include the protection of the data centre housing the server. Data centres are secured with biometric authentication systems, continuous video surveillance, magnetic doors, and security personnel. Additionally, rack-lock systems and environmental monitoring sensors are employed to prevent unauthorised access to 20 the server hardware. Digital security measures are implemented using the latest technologies and protocols. Access to the server is restricted through multi-factor authentication (MFA) and role-based access control (RBAC). Users are granted only the permissions appropriate to their roles, and unnecessary privileges are not assigned. 25 Data traffic is protected using strong encryption algorithms, such as AES-256, and all data transmission is encrypted via the TLS 1.3 protocol. All external ports of the server are regularly scanned, and unnecessary ports are closed. Firewalls and intrusion detection systems (IDS) continuously monitor the server’s network traffic. Firewalls permit traffic only from authorised sources and intervene 30 when suspicious activity is detected. IDS and intrusion prevention systems (IPS) detect abnormal behaviour and potential attacks, automatically responding to these threats. Additionally, a dedicated DDoS protection system is integrated to prevent distributed denial-of-service (DDoS) attacks that could target the server. Software security for the server is ensured through regular updates and patches. All operating systems, software components, and third-party applications are updated 5 with the latest security patches. The server only runs digitally signed and verified software. Regular scans for malware are conducted, and antivirus and antimalware software are actively utilised. In terms of data security, access to databases is strictly controlled, and data is dynamically encrypted both end-to-end and within the server. Sensitive data is 10 protected by access control policies and can only be viewed by authorised users. Backup systems ensure that data is securely stored, with backups being kept in a separate physical or cloud-based location. The security status of the server is continuously monitored and assessed through regular testing. Penetration tests and vulnerability scans are performed periodically 15 to identify potential security flaws. Security events are logged, and detailed logs are analysed by incident response teams. All these measures ensure the server’s security against external threats and enhance the system's reliability. 2.3 Cloud System Integration with Server and User Phones If preferred, the server and users' phones can be integrated with a cloud system. The 20 features of a cloud system, which can be employed if desired, are as follows: Cloud System Design and Integration The cloud system is designed to facilitate the collaboration between the server and smartphones, optimise data storage and processing operations, and enhance the scalability of the system. The system is structured to offer high performance, 25 reliability, and flexibility. The cloud infrastructure operates with a distributed architecture, ensuring service continuity through load balancing across data centres. The cloud system primarily ensures the secure and rapid storage of user data. The data is encrypted using an object-based storage method and geographically backed up. The security of the data is ensured by both dynamic encryption (AES-256) and 30 access control mechanisms. The data is accessible only to authorised users, and all access operations are logged in detail. Smartphones and servers communicate with the cloud system via API integration. Voice commands sent from smartphones are converted to text and transferred to the cloud, where they are processed. The cloud system directs these commands to the relevant servers and returns the processed results to the users’ devices. Additionally, 5 the cloud system stores user profiles and personal settings, providing the user with personalised suggestions based on this data. The cloud system also manages big data processing and artificial intelligence model operations. Machine learning models are trained on the cloud to provide dynamic suggestions based on user habits and requests. In this process, GPU-accelerated 10 servers are used, and the models are optimised for faster processing. The cloud system updates models using data collected from smartphones via transfer learning methods, thus reducing the load on the server. High scalability is one of the core features of the cloud system. Auto-scaling mechanisms are triggered to maintain system performance during sudden demand 15 spikes. These mechanisms automatically adjust processing power and storage capacity. Furthermore, load balancing is performed between data centres to ensure business continuity, and in the event of a data centre failure, the system continues to operate from other data centres. The cloud system is equipped with the latest technologies in terms of security. All 20 data traffic is encrypted and protected by firewalls. Additionally, the cloud environment undergoes regular vulnerability scans and penetration testing. Multi- factor authentication (MFA) and access control lists (ACL) are used to ensure authorised access for users and system administrators. Finally, the cloud system offers extensive API support for functionality, allowing 25 for easy integration of various devices. This system has real-time data processing capabilities to enhance the user experience and ensures seamless connectivity in server-smartphone communication. Backup and disaster recovery mechanisms prevent data loss and support service continuity. Through this structure, the cloud system provides rapid, secure, and flexible services by seamlessly integrating with 30 both the server and smartphones. 3. Design of the Algorithms The design of the algorithms used by the server, which constitutes the invention, and the API located on the smartphones of the users that operate in integration with the server to perform the intended functions, is fundamentally as follows: Task 1: Automated Web Navigation and Data Collection 5 In this task, web scraping and web automation algorithms (Selenium, Puppeteer) are utilised to collect data from various tour, cultural trip, and hotel websites. These algorithms automatically extract information such as hotel prices, hotel features, locations, user reviews, tour programs, and cultural trip details from the websites. Web scraping is performed using Python-based libraries such as BeautifulSoup and 10 Scrapy, while web automation is facilitated by Selenium and Puppeteer. This task performs automated navigation and data collection to find hotels, tours, and cultural trip locations that meet the criteria specified by users. Thus, it overcomes the challenges of manual search and data collection, increasing efficiency. 15 Working Steps of the Web Scraping Algorithm: 1. Accessing the Web Page: In the initial step, an HTTP GET request is sent to the target web page to collect data. This process is represented by the URL `u` and the HTTP GET request `r`: 20 r = GET(u) The response of the `r` request is obtained as HTML content `p`: 25 p = r.content 2. Parsing the HTML Content: The HTML content `p` is parsed using BeautifulSoup, resulting in the parsed content `s`: 30 s = BeautifulSoup(p,'html.parser') 3. Finding Target Data: From the parsed content `s`, target data (such as hotel prices, hotel features, etc.) are selected and extracted from specific HTML tags `e_i `: 5 V = {e_i | e_i∈ s\} `V` is a set containing all the collected target data. 10 4. Storing the Data: The obtained data `V` are stored in a structured format in a database or file system. This process is represented by `D`: D = store (V) 15 Detailed Technical Description: 1. Sending Request and Receiving Response: HTTP GET request: 20 r = GET(u) HTML content of the response: p = r.content 25 2. Parsing Operation: The HTML content `p` is parsed using BeautifulSoup: s = BeautifulSoup(p,'html.parser') 30 3. Data Extraction: The data extraction from HTML tags is performed using specific tags and classes `c_j`. Each data point `〖 v〗_i ` is associated with a specific tag `e_i` and class `c_j`: 5 〖 v〗_i = s.find(e_i,{class: c_j}) All target data is collected in the set `V`: V = {v_i | v_i∈ s,∀ e_i,c_j} 10 4. Data Storage: The obtained data `V` is stored in a database or file system. This process is represented by `D`: 15 D = store(V) Contribution of the Algorithm to Functionality: This web scraping algorithm automatically extracts information such as hotel 20 prices, hotel features, locations, user reviews, tour programs, and cultural trip details from websites and is used to gather data that meets the user's specified criteria. Thus, it overcomes the difficulties of manual search and data collection, enhancing efficiency. 25 Description of Web Automation (Selenium, Puppeteer) Algorithms 1. Initialization and Browser Opening: The algorithm initiates a browser session by calling the `start_browser` function: 30 B = start_browser () Then, it accesses the specified URL (`u`) using the `B.get(u)` command: B.get(u) 5 A specific amount of time is waited for the page to fully load: wait(t) Here, `t` represents the waiting time. 10 2. Locating and Extracting Elements: Specific HTML elements on the web page are identified and extracted: V = B.find_elements(e_i,{class: c_j}) 15 Where: e_i represents the type of target elements (e.g., ``, ``). {class: c_j} indicates the filtering of elements with a specific CSS class. 20 3. Filtering and Data Extraction: The collected elements are filtered according to specific criteria, and unnecessary ones are removed: V' = filter(V,f_k) 25 Where f_k represents the filtering criteria. 4. Data Extraction and Storage: Desired data is extracted from the filtered elements and stored: 30 D = extract_data(V') Where `D` represents the extracted data set. 5. Form Filling and Submission: 5 The algorithm fills out forms on the web page and performs submission: B.fill_form(f_input,v_input) B.submit(f_form) 10 Where: f_input represents the description of form elements. v_input, indicates the values to be entered into form elements. f_form specifies the form to be submitted. 15 6. Waiting for Page Load: After form submission, it is necessary to wait for the page to fully load: wait(t') 20 Where `t'` represents the waiting time required for the new page to load. 7. Navigation Between Pages: If the data collection process is performed across multiple pages, the algorithm navigates between pages. This step involves changing pages by either using the 25 page number or clicking the "Next" button: B.click(p_next) Here, p_next represents the definition of the "Next" button. This step is executed 30 using a loop (such as a `while` or `for` loop), collecting data from all pages: while B.has_next_page(): B.click(p_next) 5 V_next = B.find_elements(e_i,\{class: c_j}) V=V∪V_next 10 Where: B.has_next_page()`: A function that checks if there is a next page in the browser. V_next: The data set extracted from the next page. V∪V_next: The union of the current data set and the new data set. 15 8. Data Cleaning and Formatting: The collected data is cleaned and formatted into the desired format. This process involves removing unnecessary data and reorganizing the data set: V^''=clean(V) 20 Where: V^'': The cleaned and formatted data set. clean(V)`: A function that cleans and formats the data. 25 9. Summarisation and Result Extraction: Summarisation and analysis are performed on the cleaned and formatted data. This is done to determine the suitability of the collected data according to the criteria specified by the user: 30 R = summarize(V'') Where: R: The summarised and analysed results. summarize(V''): A function that summarises and analyses the data set. 5 10. Saving Results: The obtained results are saved to a specified data repository (such as a database, file, etc.): save_results(R,destination) 10 Where: R: The summarised and analysed results. destination: The target location where the results will be saved. save_results(R,destination): A function that saves the results to a specified target. 15 11. Closing the Browser Session: After all operations are completed, the browser session is closed: B.quit() 20 This step is important for freeing up browser resources and optimizing system performance. 12. General Structure of the Algorithm: 25 The general structure of the algorithm is summarised by the following steps: 1. The browser is launched and navigated to the target webpage. 2. The target elements are located and extracted. 3. The extracted data is filtered according to specific criteria and irrelevant data is removed. 30 4. The filtered data is cleaned and formatted into the desired format. 5. The cleaned data is summarised and analysed. 6. The obtained results are saved to a specified target. 7. The browser session is closed. 13. Technical Representation of the Algorithm: 5 Each step of the algorithm is technically represented as follows: 1- B = start_browser () 2- B.get(u) 3- wait(t) 10 4- V = B.find_elements(e_i,{class: c_j}) 5- V' = filter(V,f_k) 6- D = extract_data(V') 7- B.fill_form(f_input,v_input) 8- B.submit(f_form) 15 9- wait(t') 10- while B.has_next_page() do 11- B.click(p_next) 12- V_next = B.find_elements(e_i,{class: c_j}) 13- V=V∪V_next 20 14- End while 15- V^''=clean(V) 16- R = summarize(V'') 17- save_results(R,destination) 18-B.quit() 25 Contribution of the Algorithm to Web Scraping and Web Automation Tasks These algorithms assist in the automatic collection of data from websites, processing it, and helping users find accommodation and travel destinations such 30 as hotels, tours, and cultural trips that meet specific criteria. Specifically: Reducing Manual Workload: The algorithm automates the manual data collection process, allowing users to save time and effort. 5 Accuracy and Reliability: The algorithm ensures error-free and consistent data collection, minimising manual data entry errors. Efficiency: 10 The algorithm can collect large volumes of data at high speeds and perform operations without user intervention. Comprehensive Data Collection: The algorithm navigates between multiple pages to collect extensive data, 15 summarising it meaningfully for the user. This technical structure and functionality provide a detailed and clear understanding of how the algorithms operate and fulfil their tasks, ensuring that the patent documentation is thoroughly detailed. 20 Integrated Operation of Algorithms and Their Contributions to Tasks Automated Navigation and Data Collection on the Web 25 Web scraping and web automation algorithms integrate to collect and process data from various tour, cultural trip, and hotel websites. This process is carried out within the framework of the steps outlined below, with each step being technically described in detail: 30 Initialization and URL Redirection: 1. Browser Initialization: The `start_browser()` function creates a browser object and initiates a browser session. This object contains all methods necessary for interacting with the browser using tools such as Selenium or Puppeteer. 5 2. Navigating to the Specified URL: The `B.get(u)` command directs the browser to the specified URL, ensuring that the target website is opened. This step enables the algorithm to access the site and commence data collection activities. 10 Page Loading and Waiting: 3. Waiting for Page to Load: Thè wait(t)` function ensures that the page is fully loaded by pausing for a specified15 duration. This wait time guarantees that all page content is loaded and the browser is ready to interact with it. Finding and Filtering Web Elements: 20 4. Locating HTML Elements: B.find_elements(e_i,{class: c_j}) command identifies HTML elements with specific attributes on the page. This step involves selecting elements defined by particular class names or other properties for processing. 25 5. Filtering Elements: The filter(V, f_k) function filters the located HTML elements according to specific criteria. These criteria are used to ensure the accuracy and relevance of the data, selecting only the elements containing necessary information. 30 Data Extraction and Processing: 6. Extracting Data: The `extract_data(V')` function extracts data from the filtered HTML elements. This step involves collecting information such as hotel prices, features, location, and user reviews, which is stored as raw data. 5 Form Filling and Submission: 7. Filling Form Fields: The B.fill_form(f_input,v_input) command populates specified form fields in the 10 browser. These fields include user input data or search criteria, ensuring that the form is filled correctly. 8. Submitting the Form: The - B.submit(f_form) command submits the filled form, prompting the website 15 to load new content based on the provided data. This step simulates user interaction to advance the data collection process. Navigating Between Additional Pages and Data Merging: 20 9. Waiting Time: The `wait(t')` function pauses after form submission to allow the new page to load. This period ensures that new content is fully loaded and the browser is prepared to interact with it. 25 10. Navigating Between Pages: The `while B.has_next_page() do` command enables the browser to move to additional pages by clicking the 'next' or 'forward' buttons. This operation is carried out with the `B.click(p_next)` command, ensuring that all pages are navigated and data is collected. 30 11. Finding New Elements: The B.find_elements(e_i,{class: c_j}) command identifies HTML elements on the new page. This step collects new data to be merged with the existing dataset. 12. Merging Data: 5 The `V = V∪V_next` command merges the new data with the existing dataset. This operation combines data collected from all pages into a single dataset for processing. Cleaning and Summarising Data: 10 13. Cleaning Data: The `clean(V)` function cleans the collected data by removing unnecessary information and organising it. This step ensures that the data is in a usable format for analysis. 15 14. Summarising Data: The `summarize(V'')` function summarises the cleaned data, converting it into meaningful information. This step provides a summary of the data to be presented to the user. 20 Saving Results and Closing the Browser: 15. Saving Results: Thè save_results(R, destination)` function saves the summarised data to a specified25 location. This step ensures that the results are stored in a file or database for future use. 16. Closing the Browser: The `B.quit()` command closes the browser once all operations are complete. This 30 step finalises the browser session and frees up system resources. This technical structure demonstrates how web scraping and web automation algorithms operate integratively and fulfil their tasks, significantly assisting users in finding accommodation and travel destinations that meet specific criteria while overcoming the challenges of manual search processes. 5 Task 2: Learning User Preferences This task employs collaborative filtering, content-based filtering, and K-means clustering algorithms. Collaborative filtering learns user preferences by analysing 10 past bookings, tours, and cultural excursion choices to identify preferences of similar users; content-based filtering, on the other hand, suggests similar hotels, tours, and excursions based on the features of hotels, vacations, tours, and cultural excursions preferred by the user. K-means clustering segments users based on behaviour and preference patterns to provide personalised recommendations. This 15 task performs the function of learning user preferences for vacations, tours, and cultural excursions to recommend the most suitable options. Thus, users receive personalised recommendations without manual searching, improving the overall user experience. 20 Collaborative Filtering Algorithm: Data Collection and Preparation: 1. Creating the User-Item Matrix: 25 (■(r_11&r_12&r_1n@r_21&r_(22 )&r_2n@r_m1&r_m2&r_mn )) This matrix is created through the following steps: 30 1. Identifying Users: Determine m users ( u_1,u_2,…,u_m ). 2. Identifying Items: Determine n items ( v_1,v_2,…,v_n ). 3. Assigning Ratings: For each user-item pair u_i, v_j, the value r_ij represents the rating or interest given by the user for the relevant item. These ratings are obtained from past bookings, tours, and cultural excursion preferences. If user u_i has expressed a preference for item v_j, the corresponding r_ij value is 5 a positive number. If user u_i has not expressed a preference for item v_j, the corresponding r_ij value is set to 0 or marked as missing data. This matrix represents users' past preferences and forms the foundational data 10 structure for subsequent stages. It serves as the basis for the collaborative filtering algorithm, allowing for the calculation of user similarities. 2. Handling Missing Data: Missing values in the user-item matrix are filled using various methods. These 15 methods may include mean rating imputation, k-nearest neighbours (k-NN), or matrix factorization techniques. Filling in missing data improves the model's accuracy and enhances predictions. The missing value r_ij between user u_i and item v_j is filled using the following formulas: 20 Mean Rating Imputation: Missing values are filled using the average of the ratings given by the user for items previously rated. r_ij=(∑_(k=1)^n▒r_ik ) / n 25 k-Nearest Neighbours (k-NN): Missing values are filled based on the ratings of the nearest k neighbours. 30 Here, N_k (i) represents the set of k nearest neighbours of u_i, and w_iu denotes the similarity weight between users. Matrix Factorization: The user-item matrix is factorized into two low-dimensional matrices to approximate the missing values. 5 R≈P∙Q^T Here, matrices P and Q are two low-dimensional matrices that approximately represent the original matrix. 10 Similarity Calculation: 3. User Similarity Matrix: Similarities between users are computed using metrics such as cosine similarity, Pearson correlation coefficient, or Jaccard similarity. These similarities measure 15 preference alignments between users and identify similar users. Cosine Similarity: The cosine similarity between two users \( u_i \) and \( u_j \) is calculated using: 20 sim(ui, uj) = (∑_(k=1)^n▒〖r_ik.〗 r_jk) / (√(∑_(k=1)^n▒〖r_ik〗^2 ) )) Pearson Correlation Coefficient: The Pearson correlation coefficient between two users is calculated using: 25 sim(ui, uj) = (∑_(k=1)^n▒(r_ik-〖rˉ〗_i ) ) / (√(∑_(k=1)^n▒〖(r_ik-r_i^-)〗^2 ) √(∑_(k=1)^n▒〖(r_jk-r_j^-)〗^2 )) Here,〖rˉ〗_i and r_j^- represent the average ratings of users u_i and u_j, 30 respectively. Jaccard Similarity: The Jaccard similarity between two users is calculated using: sim(ui, uj) |I_i∩I_j | / |I_i∪I_j | 5 Here, I_i and I_j represent the sets of items rated by users u_i and u_j, respectively. 4. Item Similarity Matrix: Similarities between items are also computed using the same metrics. The item 10 similarity matrix determines similarities between hotels, tours, and excursions, enabling recommendations of similar items to users. Cosine Similarity: The cosine similarity between two items v_i and v_j is calculated using: 15 sim(v_i,v_j )=(∑_(k=1)^m▒〖r_ki r_kj 〗) / (√(∑_(k=1)^m▒r_ik^2 ) √(∑_(k=1)^m▒r_kj^2 )) Pearson Correlation Coefficient: The Pearson correlation coefficient between two 20 items is calculated using: sim (r_ki-(r_i )̅)(r_kj-(r_j )̅)〗) / (√(∑_(k=1)^m▒〖 (r_ki- (r_kj-(r_j )̅)〗^2 ))25 Here, (r_i )̅ and (r_j )̅ represent the average ratings of items v_i and v_j,respectively. Jaccard Similarity: The Jaccard similarity between two items is calculated using: 30 sim(v_i,vj)= |U_i∩U_j | / |U_i∪U_j | Here, U_i and U_j represent the sets of users who rated items v_i and v_j, respectively. 5 Prediction and Recommendation: 5. Weighted Average Calculation: For items that a user has not previously rated, predictions are made by calculating the weighted average of ratings given by similar users. Weights are determined 10 based on similarity degrees between users. (r_ui )̂=(∑_(v∈N_u (i))▒〖sim(u,v)∙r_ui〗) / (∑_(v∈N_u (i))▒〖sim(u,v)〗) Here, (r_ui ) ̂ represents the predicted rating for item u by the user, N_u (i) 15 represents the items rated by the user, and sim(u,v) denotes the similarity degree between users. 6. Generating Recommendation List: Predicted ratings are ranked for items that the user has not previously rated. Items 20 with the highest predicted ratings are presented as recommendations. These recommendations include hotels, tours, and excursions that the user is likely to enjoy. This step ensures that the most suitable options for the user are identified and enhances the user experience. 25 Performance Evaluation and Improvement: 7. Model Evaluation: The accuracy of the model is evaluated using metrics such as Root Mean Squared 30 Error (RMSE) or Mean Absolute Error (MAE). These metrics measure the model's prediction accuracy and identify areas for improvement. 1. Root Mean Squared Error (RMSE): RMSE is calculated by taking the square root of the average of the squared 5 differences between the predicted scores and the actual scores. RMSE measures the accuracy of the model's predictions and is more sensitive to large errors. RMSE is calculated using the following formula: RMSE=√(1 / N ∑_(i=1)^N▒〖(r_ui-(r_ui )̂)〗^2 ) 10 Where: N represents the total number of predictions. r_ui represents the actual score given by user \( u \) for item \( i \). (r_ui )̂ represents the predicted score by the model. 15 2. Mean Absolute Error (MAE): MAE is calculated by taking the average of the absolute differences between the predicted scores and the actual scores. MAE measures the model's prediction 20 accuracy and gives equal weight to all errors. MAE is calculated using the following formula: MAE= 1 / N ∑_(i=1)^N▒|r_ui-(r_ui )̂ | 25 Where: N represents the total number of predictions. r_ui represents the actual score given by user \( u \) for item \( i \). (r_ui )̂ represents the predicted score by the model. 30 These metrics are used to quantitatively evaluate the model's prediction performance. To enhance the model's prediction accuracy, the obtained RMSE and MAE values are continuously monitored and areas for improvement are identified. Low RMSE and MAE values indicate that the model makes predictions with high accuracy and correctly anticipates users' preferences. This evaluation process is continuously applied to optimize the model's performance and provide the most 5 accurate recommendations to users. 8. Model Improvement: The model's performance is continuously improved through various techniques 10 such as hyperparameter optimization, data augmentation, and model adjustments. These steps ensure that the model predicts user preferences more accurately and enhances the recommendation quality. 1. Hyperparameter Optimization: 15 Hyperparameter optimization involves systematically adjusting hyperparameters to maximize the model's performance. Methods such as Grid Search and Random Search are employed, with more advanced techniques like Bayesian Optimization and Genetic Algorithms also being applicable. 20 a. Grid Search: Grid Search systematically evaluates predefined ranges and step sizes of specific hyperparameters. All possible combinations are assessed, and the hyperparameter set that provides the best performance is selected. 25 BestParams=arg 〖〖min〗_θ^Θ Validation error(θ)〗 Where: Θ represents the search space of hyperparameters. 30 θ represents a hyperparameter set. ValidationError(θ) represents the validation error for a specific hyperparameter set. b. Random Search: Random Search evaluates randomly selected hyperparameter combinations from the search space to determine the best performing set. It requires less computation 5 than Grid Search and is more effective in large search spaces. BestParams=arg 〖〖min〗_(θ∈Θrandom min )〗 ValidationError(θ) Where: 10 Θ_random represents a subset of randomly selected hyperparameter sets. 2. Data Augmentation: Data augmentation involves creating new data or reprocessing existing data to 15 increase the size and diversity of the training dataset. This enhances the model's generalization ability and reduces overfitting. a. Data Synthesis: Synthetic data similar to the training dataset is created. This method is particularly 20 useful in cases of data scarcity to boost model performance. X_sintetik=f_synthetic (X) Where: 25 X represents the original dataset. f_synthetic represents the synthetic data generation function. X_sintetik represents the synthetic dataset. b. Data Sampling: 30 Different subsets of the training dataset are created, and the model is trained on these subsets. X_subset=sample(X) Where: 5 sample(X) represents the function for selecting a random subset of the dataset. X_subset represents the subset of the dataset. 3. Model Adjustments: 10 Structural adjustments to the model are applied to enhance its prediction performance. These adjustments aim to optimize the model's complexity and capacity. a. Regularization: 15 L1 and L2 regularization techniques are applied to reduce overfitting. L1∶ L=L_0+λ∑_(j=1)^P▒|B_j | L2∶ L=L_0+λ∑_(j=1)^P▒B_j^2 20 Where: L_0 represents the original loss function. λ represents the regularization parameter. B_j represents the model parameters. 25 b. Model Ensembles: Combining multiple models and using them together enhances the model performance. This reduces model variance and increases prediction accuracy. ŷ=1 / M ∑_(m=1)^M▒ŷ_m 30 Where: ŷ represents the final prediction. M represents the number of models. ŷ_m represents each model's prediction. 5 These steps are continuously applied to optimize the model's performance and more accurately predict user preferences. The model improvement process is supported by hyperparameter optimization, data augmentation, and model adjustments, and the combination of these processes ensures the highest accuracy and overall performance. 10 Application and Integration of Results: 9. Integration of Results: 15 The hotels, tours, and trips recommended to users are integrated into the system's user interface and presented to the users. This integration process enriches the user experience and ensures that personalized recommendations are easily accessible. a. Integration of Recommendation Data into the Interface: 20 Recommended items for users are placed into interface components (e.g., recommendation lists, recommendation cards) and made visible on the user's screen through these components. This process optimises the user interface design and interactions, ensuring that recommendation data is presented to the user in a suitable format. 25 Recommendation data is conveyed to the user interface via API (Application Programming Interface) or database connections. 〖UI〗_i=Format(〖Recommendation〗_i ) 30 Where: 〖UI〗_i represents the recommendation item on the user interface. 〖Recommendation〗_i represents the recommendation data. Format(⋅) represents the conversion of data into the interface format. 5 b. Monitoring User Interactions: User interactions with recommendations (e.g., clicks, reviews) are monitored and analysed to assess and improve the user experience. 〖UserInteraction〗_i=Track(〖Recommendation〗_i) 10 Where: 〖UserInteraction〗_i represents the user's interaction data with the recommendation. Track(⋅) represents the monitoring and recording of interactions. 15 10. User Feedback: User feedback on recommendations is used to enhance the accuracy of future recommendations and is integrated into the model through continuous learning 20 mechanisms. This feedback ensures the dynamic updating of the model. a. Feedback Collection: Feedback provided by users on recommendations (e.g., likes, ratings, reviews) is collected and added to the feedback dataset. This feedback is used to evaluate and 25 improve the model's performance. 〖Feedback〗_i=Collect(〖UserResponce〗_i) Where: 30 〖Feedback〗_i represents the user's feedback data. 〖UserResponce〗_i represents the user's response to the recommendation. Collect(⋅) represents the collection and addition of feedback to the dataset. b. Model Updates: 5 Collected feedback is integrated into the model's training dataset, and the model parameters are updated using continuous learning algorithms (e.g., online learning, incremental learning). UpdatedModel=Update(Model,Feedback) 10 Where: UpdatedModel represents the model updated with feedback. Update(⋅) represents the model's update with feedback. 15 These steps outline the Collaborative Filtering algorithm’s processes. Steps such as creating the user-item matrix, handling missing data, calculating user and item similarities, making predictions, generating recommendation lists, model evaluation, model improvement, integration of results, and processing user feedback comprehensively describe the algorithm's operations. This algorithm aims 20 to provide personalised recommendations based on users' past preferences and includes the necessary technical processes to enhance the accuracy and effectiveness of recommendation systems. Contribution of the Collaborative Filtering Algorithm to the Functions and Tasks 25 of the Invention The collaborative filtering algorithm plays a crucial role within the scope of Learning User Preferences. This algorithm is notable for its ability to analyse users' past reservations, tours, and cultural excursion preferences, and to learn the preferences of similar users. Users' preferences are organised into a structure 30 defined as a user-item matrix, and similarities between users are calculated based on this structure. The operation of the algorithm focuses on users' past interactions, determining the preferences of similar users based on these interactions. The user-item matrix contains ratings given by users to items such as hotels, tours, and cultural excursions they have evaluated in the past, with missing data being processed through various 5 methods. The resulting user and item similarity matrices enable predictions for items that users have not yet evaluated. In particular, the collaborative filtering algorithm offers personalised recommendations by considering the preferences of similar users. These recommendations include hotels, tours, and cultural excursions that align with the 10 user's existing preferences and are potentially enjoyable, thereby significantly enhancing the user experience. The accuracy of the algorithm's predictions is measured using model evaluation metrics and is continuously improved through model enhancement steps, thus increasing the effectiveness of the recommendation system. 15 In conclusion, the collaborative filtering algorithm performs in-depth analyses of users' past preferences to present the most suitable options to users, eliminating the challenges of manual search processes. This algorithm ensures that users receive personalised recommendations, enriching the user experience and improving the system's accuracy and effectiveness. 20 Content-Based Filtering Algorithm The content-based filtering algorithm performs a crucial function within the framework of Learning User Preferences by providing recommendations based on 25 the user's previous preferences and the characteristics of those preferences. The fundamental steps of the algorithm are as follows: 1. Feature Extraction: The content-based filtering algorithm extracts features of each hotel, vacation, tour, 30 and cultural excursion, representing these features as a feature vector. Feature vectors are denoted by \( f_i \), with each feature considered a dimension. Features are determined using the following formula, where each feature is represented by a specific weight \( w_j \): f_i=[ w_i1,w_i2 ,…,w_in ] 5 Here, w_ij denotes the weight of the j-th feature for the i-th item. 2. User Profile Creation: A user profile is created based on the features of the items preferred by the user. 10 This profile is represented by the weighted average of the features of the items the user likes. The user profile \( p_u \) is calculated using the following formula: p_u=1 / |D_u | ∑_(i∈D_u)▒f_i 15 Here, D_u represents the set of items preferred by the user, and |D_u | denotes the number of items preferred by the user. 3. Item Similarity Calculation: Similarity between the user profile and the feature vector of each item is typically 20 computed using cosine similarity metrics, with the similarity score denoted as s(u,i). This score is calculated using the following formula: s(u,i)=(p_u∙f_i) / ‖p_u ‖‖f_i ‖ 25 Here, p_u∙f_i represents the dot product of the user profile and the item’s feature vector, while ‖p_u ‖ and ‖f_i ‖ are the norms of these vectors. 4. Recommendation Score Calculation: After calculating the similarity score between the user profile and each item, the 30 recommendation score r(u,i) is predicted for items that the user has not yet evaluated. This score is determined using the similarity score s(u,i). The recommendation score is given by: r(u,i) = s(u,i) 5 This formula determines recommendation scores for items that may interest the user, with items having higher scores being included in the recommendation list. 5. Recommendation List Creation: 10 Based on the calculated recommendation scores, items that the user has not previously evaluated are ranked, and those with the highest recommendation scores are presented to the user. The ranking is performed using the following formula: Ranked Items=Sort({(i,r(u,i))∣i∈I-Du},by r(u,i) in descending order) 15 Here, I denotes the set of all items, and D_u represents the set of items previously evaluated by the user. These steps ensure that the content-based filtering algorithm provides personalised 20 recommendations by analysing users' past preferences and the characteristics of these preferences. Accurate identification and recommendation of items that might interest the user significantly enhance the user experience, ensuring that users receive relevant and personalised suggestions without manual searching. 25 The content-based filtering algorithm plays a crucial role in the process of Learning User Preferences and supports the primary function of the patent. In this context, it analyses the characteristics of hotels, vacations, tours, and cultural excursions that the user has preferred in the past, providing new recommendations with similar attributes. The algorithm creates a feature vector that numerically represents 30 specific attributes of each item and uses these vectors to compute similarities with the user's past preferences. The extraction of feature vectors involves numerically expressing the attributes of each item. This process facilitates the creation of a user profile that reflects the user's general preference tendencies. The user profile is calculated as the weighted average of the feature vectors of the items the user has preferred in the past. The similarity between this profile and the 5 feature vectors of other items in the system is computed using the cosine similarity metric. These similarity calculations identify the items most closely matching the user's profile. Recommendation scores are predicted for items the user has not yet evaluated, and these scores are used to rank the items. Items with high recommendation scores are 10 presented to the user as a recommendation list. This process ensures that items of potential interest are automatically recommended to the user without requiring manual searches. The content-based filtering algorithm provides personalised recommendations by considering the user's past preferences and the characteristics of those preferences, 15 directly contributing to the primary subject of the patent. By enabling users to quickly and accurately find vacation, tour, and cultural excursion options, it enhances user satisfaction and ensures system efficiency. One of the major advantages of this algorithm is its ability to provide recommendations based on the user's personal preferences. By considering the 20 attributes of items the user likes, it recommends new items with similar attributes. Additionally, the user profile can be dynamically updated, and the recommendations become more precise with the inclusion of new preferences. The content-based filtering algorithm eliminates the challenges of the manual search process and improves the user experience. Accurate identification and 25 recommendation of items that might interest the user reduce the difficulties of manual searching and enhance the user experience. This algorithm significantly reduces the user's time and effort, providing them with a more enjoyable and satisfying experience. 30 K-means Clustering Algorithm The K-means clustering algorithm is used to segment users based on their behaviour and preference patterns and to provide personalised recommendations. The way this algorithm operates within the scope of Task 2: Learning User Preferences can be summarised as follows: 5 1. Data Preparation: The past preferences of users for reservations, tours, and cultural excursions are collected and transformed into feature vectors. These feature vectors include the attributes of the hotels, tours, and excursions preferred by the user (e.g., location, 10 price, services, etc.). For each user u_i, a feature vector x_i is expressed as follows: x_i=[x_i1,x_i2,…,x_in ] Here, x_ij represents the value of the j-th attribute for the user. 15 2. Initiation of the K-means Clustering Algorithm: The algorithm is initiated to determine k clusters. The value of k is selected based on the number of users and the application area. A centroid is randomly chosen for each cluster. 20 3. Formation of Clusters: Each user vector x_i is assigned to the nearest centroid, thus forming temporary clusters. The distance between user vectors and centroids is calculated using the Euclidean distance: 25 (x_im-μ_jm)〗^2 ) where μ_j is the centroid of the j-th cluster. 30 4. Updating Centroids: The centroid for each cluster is updated by taking the arithmetic mean of all user vectors in the cluster: μ_j= 1 / |C_j | ∑_(x_i∈C_j)▒x_i 5 Here, C_j denotes the j-th cluster and |C_j | denotes the number of users in the j-th cluster. 5. Iteration of the Clustering Process: 10 User vectors are reassigned to the nearest cluster based on the new centroids, and this process is repeated until the centroids no longer change or a specified number of iterations is reached. 6. Analysis of Clustering Results: 15 Upon completion of the K-means clustering algorithm, each user is assigned to a specific cluster. These clusters group users with similar behaviour and preference patterns. The clusters are analysed to identify characteristic features for each cluster, and personalised recommendations are made based on these characteristics. 20 7. Integration into the Recommendation System: The characteristic features and user preferences identified for each cluster are integrated into the recommendation system. This enables the provision of the most suitable travel and accommodation options, such as hotels, tours, and cultural excursions, to each user. 25 8. Model Evaluation and Improvement The results of the K-means clustering algorithm are analysed using model evaluation metrics, and if necessary, model parameters (e.g., the value of k) are optimised. Evaluation metrics include criteria such as the Silhouette Score and the 30 Davies-Bouldin Index: Silhouette Score=(b(i)-a(i)) / (max(a(i),b(i))) where a(i) represents the average distance of the i-th user to other users within the same cluster, and b(i) represents the average distance of the i-th user to users in the 5 nearest other cluster. These steps comprehensively and technically explain how the K-means clustering algorithm operates within Task 2: Learning User Preferences, and how it achieves the goal of providing personalised recommendations by segmenting users' 10 preferences for holidays, tours, and cultural excursions. This algorithm offers recommendations based on users' past behaviours and enhances the user experience by simplifying the manual search process. Integration of Algorithms Used in the Task 15 The collaborative filtering, content-based filtering, and K-means clustering algorithms are integrated to learn user preferences and provide personalised recommendations. This integration combines the strengths of each algorithm to enhance the accuracy and effectiveness of the recommendation system. The integration of these algorithms is as follows: 20 Firstly, users' past preferences for reservations, tours, and cultural excursions are collected in a database. These data are converted into feature vectors for both users and items (hotels, tours, excursions). The collaborative filtering algorithm identifies similar users and items based on past preferences. The User-Based Collaborative Filtering (User-Based CF) algorithm determines users with preferences similar to 25 each individual user’s preferences. This similarity is computed using Cosine Similarity or Pearson Correlation Coefficient. The content-based filtering algorithm recommends other items with similar features by examining the attributes of the hotels, holidays, tours, and cultural excursions preferred by the user. The feature vectors F(u) of the preferred items for a user u 30 are aggregated, and the average of these feature vectors is used to create the user profile P(u). This profile represents the attributes preferred by the user. The K-means clustering algorithm is employed to segment users based on behaviour and preference patterns. Users' feature vectors are divided into clusters using the K-means algorithm. Each user vector is assigned to the nearest centroid, and the centroids are updated by averaging the user vectors within each cluster. 5 These three algorithms are integrated in a complementary manner. Initially, the K- means clustering algorithm segments users into clusters and determines characteristic features for each cluster. These clusters serve as the starting point for the collaborative filtering and content-based filtering algorithms. K-means clustering identifies general behaviour and preference patterns among users, 10 creating more homogeneous user groups and facilitating more accurate and personalised recommendations for users within these groups. The collaborative filtering algorithm identifies similar users and items within each user cluster. By detecting similarities between users, new recommendations are made based on the preferences of similar users. The content-based filtering 15 algorithm, on the other hand, analyses the preferred attributes of each user and recommends other items with similar features. User profiles are created to calculate the likelihood of users preferring items with specific attributes, and these items are included in the recommendation lists. In conclusion, the integration of collaborative filtering, content-based filtering, and 20 K-means clustering algorithms analyses users' past behaviours and preferences to provide personalised and accurate recommendations. This integration enhances the performance of the recommendation system, ensures users receive relevant recommendations without manual searching, and improves the overall user experience. By leveraging the strengths of each algorithm, this integrated system 25 effectively learns users' preferences for holidays, tours, and cultural excursions, delivering personalised recommendations. Task 3: Learning Users' Holiday Times 30 In this task, LSTM (Long Short-Term Memory) RNNs and time series analysis algorithms are utilised. LSTM predicts future holiday trends by analysing the temporal patterns in users' holiday bookings. Time series analysis, on the other hand, examines users' holiday habits to identify trends during specific periods. This task aims to determine users' preferred holiday times and recommend the most suitable holiday periods to them. Consequently, it facilitates the holiday planning 5 process for users and enables them to take holidays during more optimal times. The basic operational steps of the algorithms within this task are as follows: Operational Steps of the LSTM (Long Short-Term Memory) RNN Algorithm 10 1. Data Collection and Preprocessing: Users' historical holiday booking data is collected and organised in a time series format. Missing data is imputed, and anomaly detection and cleansing procedures are performed. The data is normalised and scaled. 15 2. Configuration of the LSTM Network: The number of layers, the number of cells, and other hyperparameters of the LSTM network are determined. The network's input is designated as X_t and the output as y_t. Here, X_t represents historical holiday booking data, and y_t denotes the predicted future booking data. 20 3. Calculation of the Forget Gate: The forget gate determines the proportion of the previous cell state to be retained: f_t=σ(W_f∙[h_(t-1),x_t ]+b_f ) 25 where W_f and b_f are the weight and bias values for the forget gate; h_(t-1) is the previous hidden state; x_t is the current input; and σ is the sigmoid activation function. 30 4. Calculation of the Input Gate: The input gate specifies the extent to which the current input affects the cell state: i_t=σ(W_i∙[h_(t-1),x_t ]+b_i ) where W_i and b_i are the weight and bias values for the input gate. 5 5. Calculation of the New Cell State: Using the output of the input gate, the new cell state is calculated as follows: 10 C ̌_t=tanh (W_c∙[h_(t-1),x_t ]+b_C) C_t= f_t∙C_(t-1)+i_t∙C _̌t Here, W_c and b_C are the weight and bias values for the cell state. C_(t-1) represents the previous cell state and C_t represents the new cell state. 15 6. Calculation of the Output Gate: The output gate determines how much of the current cell state will be output: 20 o_t=σ(W_o∙[h_(t-1),x_t ]+b_o ) h_t=o_t∙tanh (C_t) Here, W_o and b_o are the weight and bias values for the output gate. h_t represents 25 the new hidden state. 7. Training the Model: The LSTM network is trained using historical holiday booking data. During the 30 training process, the backpropagation algorithm and the Adam optimisation algorithm are utilised. The loss function used is Mean Squared Error (MSE): MSE=1 / n ∑_(i=1)^n▒〖(y_i-y ̂_i)〗^2 Here, y_i represents the actual values, and y _̂i represents the predicted values. 5 8. Predicting Future Reservations: Using the trained LSTM model, future holiday reservations are predicted. The model forecasts future booking trends by using a window of past data. The 10 predictions are output as time series data, identifying the most likely holiday periods within a specific timeframe. 9. Model Evaluation and Improvement: 15 The model's performance is evaluated using test data, with Root Mean Squared Error (RMSE) as the performance metric: RMSE=1 / n ∑_(i=1)^n▒〖(y_i-y ̂_i)〗^2 20 If the model's performance is suboptimal, hyperparameters are optimised, data preprocessing techniques are improved, and the model is retrained. 10. Integration and Presentation of Results to Users: 25 The predicted holiday reservation times are recommended to users as the most suitable holiday periods. These recommendations facilitate users' holiday planning processes and enable them to take holidays during more optimal times. The recommendations are integrated into the user interface, and user feedback is collected to ensure continuous model improvement. 30 The LSTM algorithm predicts future holiday trends by analysing users' historical holiday booking data. These predictions are then used to recommend the most suitable holiday periods to users, thereby easing the holiday planning process and enabling them to take holidays at more appropriate times. 5 The Long Short-Term Memory (LSTM) algorithm significantly contributes to the functions of the invention. Firstly, the LSTM algorithm analyzes the temporal patterns of users' holiday reservations to predict future holiday trends. These predictions fulfill the function of recommending the most suitable holiday periods to users. Consequently, the holiday planning process for users is simplified, 10 allowing them to take holidays at more convenient times. The LSTM algorithm considers the user's historical holiday reservation data, learning the patterns and trends within this data. During this process, LSTM cells simultaneously model long-term dependencies and short-term fluctuations, resulting in more accurate and reliable predictions. The forget, input, and output 15 gates of the LSTM determine the importance of each data point, ensuring that significant information is preserved over time and irrelevant information is filtered out. This algorithm analyzes users' past holiday behaviors and predicts how these behaviors will continue in the future. For instance, information such as the 20 frequency of reservations made during specific periods and the preferred types of holidays are learned by the LSTM model, which then predicts future holiday trends. These predictions are used to recommend the most suitable holiday periods and options to the user. Moreover, the LSTM algorithm saves users time and effort in the holiday planning 25 process. Instead of manually researching holiday options, users can focus on the holiday periods and options recommended by the LSTM model, thereby speeding up the planning process. This improvement enhances the user experience and provides a more satisfying holiday experience. In conclusion, the LSTM algorithm analyzes users' holiday reservation data to 30 predict future holiday trends and recommends the most suitable holiday periods based on these predictions. This process simplifies the holiday planning process for users, saves time and effort, and offers a more satisfying holiday experience. Thus, the LSTM algorithm greatly contributes to the functions of the invention. Time Series Algorithm 5 The time series algorithm encompasses techniques used for the analysis and modelling of time series data. To learn users' holiday timings and predict future holiday trends, this algorithm operates through various stages. The fundamental steps of the algorithm are as follows: 10 Step 1: Preparation of Time Series Data In this step, users' historical holiday reservations are organised as time series data. Time series data encompass the number of holiday reservations made over a 15 specific period. These data are typically expressed as y_t, where t represents the time period. y_t={y_1,y_2,…,y_n } 20 Step 2: Decomposition of Time Series Data Time series data are decomposed into trend, seasonality, and random components. This decomposition facilitates the separate analysis of each component. The decomposition process is expressed as follows: 25 y_t=T_t+S_t+E_t T_t: Trend component S_t: Seasonality component E_t: Random (error) component 30 Step 3: Determination of the Trend Component The trend component reflects the overall direction of the time series. This component is typically identified using a linear regression model. The trend T_t is expressed as: 5 T_t=β_0+β_1 t Here, β_0 and β_1 represent the coefficients of the linear regression. 10 Step 4: Determination of the Seasonality Component The seasonality component represents recurring patterns within specific periods. This component includes the effects of periodic changes. The seasonality S_t is expressed as: 15 S_t=∑_(i=1)^p▒〖γ_i sin(2πit / P)+δ_i cos(2πit / P)〗 Here, γ_i and δ_i are coefficients, and P represents the seasonal period. Step 5: Determination of the Random Component 20 The random component reflects the random fluctuations in the time series. This component is calculated as the data with the trend and seasonality components removed. The random component E_t is expressed as: E_t=y_t- T_t-S_t 25 Step 6: Model Selection and Application Various models are used to model time series data. These models include ARIMA (Autoregressive Integrated Moving Average) and Exponential Smoothing (Holt- Winters) models. 30 ARIMA Model The ARIMA model includes autoregressive (AR), moving average (MA), and differencing (I) components. The ARIMA model is expressed as follows: 5 y_t=c+ϕ_1 y_(t-1)+ϕ_2 y_(t-2)+⋯+ϕ_p y_(t-p)+θ_1 ^_(t-1)+θ_2 ^_(t-2)+⋯+θ_q ^_(t-q)+^_t c: Constant term ϕ: AR coefficients 10 θ: MA coefficients ^_t: Error term Holt-Winters Model 15 The Holt-Winters model incorporates level, trend, and seasonality components. Known as triple exponential smoothing, this model is expressed as follows: L_t=α(y_t-S_(t-m) )+(1-α)(L_(t-1)+T_(t-1)) T_t=β(L_t-L_(t-1) )+(1-β)T_(t-1) 20 S_t=γ(y_t-L_t )+(1-γ)S_(t-m) L_t: Level component T_t: Trend component S_t: Seasonality component 25 α,β,γ: Smoothing coefficients m: Seasonal period Step 7: Training the Model and Making Predictions The selected model is trained on the time series data. The trained model is used to forecast future holiday trends. Predictions are computed using the model's formulas: 5 y ̂_(t-h)=f(y_t,y_(t-1),…,y_(t-p),^_t,^_(t-1),…,^_(t-q)) Here, y ̂_(t-h) represents the forecast at h steps ahead from the time point t. Step 8: Evaluating and Improving the Model 10 The model's performance is evaluated using various metrics that measure the accuracy of predictions. These metrics include MSE (Mean Squared Error), MAE (Mean Absolute Error), and MAPE (Mean Absolute Percentage Error): 15 MAE=1 / n ∑_(i=1)^n▒|y_i-y _̂i | MAPE=1 / n ∑_(i=1)^n▒〖|(y_i-y ̂_i) / y_i |×100〗 After evaluating the model's performance, the model parameters and 20 hyperparameters are adjusted as needed. Step 9: Applying and Integrating Results The forecasts made by the model are integrated into the user interface and presented 25 to users. Users are informed about the recommended holiday periods and options. Step 10: User Feedback Feedback from users on the recommendations is utilised to enhance the accuracy of 30 the model's future predictions. This feedback is integrated into the model through continuous learning mechanisms, enabling dynamic updates to the model. The time series analysis algorithm significantly contributes to the task of determining users' holiday periods. This algorithm forecasts future holiday trends by analysing past holiday reservation data. By examining users' holiday habits in 5 detail, it identifies holiday trends during specific periods. In this process, it separates and analyses the trend, seasonality, and random components of users' past holiday data. The time series analysis algorithm primarily decomposes users' holiday reservation data into trend, seasonality, and random components. The trend component 10 identifies users' general holiday trends and long-term changes. The seasonality component reveals recurring holiday patterns during specific times of the year. The random component encompasses random fluctuations beyond the trend and seasonality. This decomposition process facilitates a better understanding of users' holiday 15 timings and more accurate predictions of future holiday periods. While the trend component determines the general direction of users' holiday tendencies, the seasonality component indicates that users' holiday patterns peak during certain times of the year. This information aids users in planning their holidays more effectively and recommends the most suitable holiday periods. 20 The time series analysis algorithm employs various mathematical models to model users' holiday reservation data. Models such as ARIMA and Holt-Winters are effective in predicting holiday periods. The ARIMA model uses autoregression, differencing, and moving average components to model time series data. The Holt- 25 Winters model operates using triple exponential smoothing, which incorporates level, trend, and seasonality components. These models ensure high accuracy in forecasting users' holiday periods. The time series analysis algorithm simplifies the holiday planning process for users, enabling them to take holidays at more suitable times. Through this algorithm, users 30 can make more informed holiday reservations and optimise their holiday plans. Additionally, the algorithm incorporates continuous learning mechanisms to evaluate user feedback, thereby enhancing the model's accuracy. As a result, the user experience is continually improved, making the process of learning and planning holiday timings more effective. 5 Integration of Algorithms: LSTM (Long Short-Term Memory) RNNs and time series analysis algorithms work in an integrated manner to optimise users' holiday planning processes and recommend the most suitable holiday periods. The integration of these two algorithms enables the achievement of the objectives of Task 3 by effectively 10 analysing the patterns and trends in users' holiday reservations over time. The LSTM RNNs algorithm predicts future holiday trends using users' past holiday reservation data, leveraging its capability to model long-term dependencies. This algorithm learns complex temporal dependencies from historical data to understand users' holiday habits and forecasts future holiday periods based on this information. 15 The feature of LSTM allows for more accurate predictions of users' holiday tendencies. On the other hand, the time series analysis algorithm decomposes users' holiday reservation data into trend, seasonality, and random components for analysis. This decomposition process aids in better understanding users' holiday timings and 20 contributes to more accurate predictions of future holiday periods. Time series analysis establishes a robust foundation for determining users' holiday times by using past data's trend and seasonality components. The integration of these two algorithms creates a synergistic effect for more accurate and comprehensive predictions of users' holiday times. While the LSTM 25 RNNs algorithm models long-term dependencies and users' holiday habits, the time series analysis algorithm decomposes and analyses the trend and seasonality components of holiday times. This integration offers a multifaceted approach to determining users' holiday timings. The combined application of LSTM and time series analysis algorithms provides a 30 powerful method for understanding the patterns and trends in users' holiday reservations over time. LSTM predicts users' holiday habits and future holiday trends, while time series analysis supports these predictions by analysing the trend and seasonality components of past data. This integrated approach optimises users' holiday planning processes and recommends the most suitable holiday periods. In conclusion, the integration of LSTM and time series analysis algorithms 5 effectively fulfils the function of learning users' holiday timings and recommending optimal holiday periods, thereby achieving the objectives of Task 3. This integration facilitates users' holiday planning processes and enables more informed holiday reservations. Accurate prediction of users' holiday times enhances the user experience and ensures more efficient holiday planning. 10 Task 4: Providing Written and Spoken Notifications In this task, text-to-speech (TTS) and natural language generation (NLG) algorithms are utilized. The text-to-speech algorithm delivers recommendations 15 and reminders to users in the form of spoken notifications, while NLG is used to generate written notifications and suggestions. This task fulfills the function of providing both spoken and written notifications to users, thereby ensuring that users receive recommendations and reminders more easily and effectively. 20 The fundamental operating principles of the algorithms used for this task are as follows: Operating Principles of the Text-to-Speech (TTS) Algorithm 25 1. Text Input: The TTS algorithm receives and processes the text data to be conveyed to users, represented as X={x_1,x_2,…,x_n }. 2. Natural Language Processing: The text is analyzed using natural language processing (NLP) techniques for grammar and semantic analysis. Techniques used at this stage include word emphasis, sentence structure, and semantic parsing. 5 3. Text Normalization: Numbers, dates, and special characters within the text are appropriately pronounced. In this process, the text X is converted into normalized text N. N=normalize(X) 10 4. Phonetic Translation: The normalized text is translated into phonetic units according to phonetic rules, with phonemes determined based on the language's phonetic characteristics. 15 P=phonetic_translation(N) 5. Prosody Modeling: The features of pitch, rhythm, and emphasis of the speech are modeled. The prosody model Pr is used in this stage. 20 Pr=prosody_model(P) 6. Acoustic Modeling: Phonetic units and prosody information are converted into sound waves using an 25 acoustic model. Techniques such as Hidden Markov Model (HMM) or Deep Neural Network (DNN) are employed in this process. A=acoustic_model(Pr) 30 7. Waveform Generation: The sound waves generated by the acoustic model are converted into final audio signals using digital signal processing (DSP) techniques, represented as S(t). S(t)=waveform_synthesis(A) 5 8. Output: Finally, the audio signals are presented to users, who listen to these spoken notifications, completing the TTS algorithm. 10 The steps of the Text-to-Speech algorithm take text data, process it through natural language processing and phonetic translation, convert it into sound waves via acoustic modeling, and present it to users as spoken notifications. This process allows users to perceive text data more easily and effectively. 15 Operating Principles of the Natural Language Generation (NLG) Algorithm 1. Data Collection: The NLG algorithm collects data based on the information to be conveyed to users and prepares this data for processing. This data is represented as D. 20 D={d_1,d_2,…,d_n } 2. Content Determination: The algorithm determines which information will be conveyed to users. At this 25 stage, data selection and prioritisation are performed. Content determination is represented by C. C=content_selection(D) 30 3. Document Structure Planning: The determined content is converted into a suitable document structure, where the order of sentences and the arrangement of paragraphs are planned. Document structure planning is denoted by S. 5 S=document_structuring(C) 4. Sentence Planning: Each content piece within the document structure is converted into sentences, taking into account the meaning and grammatical structure of the sentences. 10 Sentence planning is represented by T. T=sentence_planning(S) 5. Sentence Realisation: 15 The planned sentences are converted into meaningful and fluent text in natural language, with attention given to grammar rules and language usage. Sentence realisation is denoted by G. G=sentence_realization(T) 20 6. Natural Language Processing: The sentences are examined and corrected using natural language processing (NLP) techniques, with analysis of meaning, word emphasis, and sentence structure being checked. 25 N=nlp_processing(G) 7. Final Text Output: The processed and corrected text is prepared as the final written text to be conveyed 30 to the end user and is then delivered. Y=final_text(N) 8. Output: The final text is presented to the user and delivered as a written notification, thus 5 completing the NLG algorithm. The steps of the Natural Language Generation (NLG) algorithm begin with data collection and content determination, progressing through sentence planning and realisation to produce meaningful and fluent text in natural language, which is then 10 provided to users as written notifications. This process effectively communicates text data to users and facilitates their understanding. Integration of Algorithms 15 The integration of the Text-to-Speech (TTS) and Natural Language Generation (NLG) algorithms ensures that the objective of Task 4 is achieved by providing users with both written and spoken notifications. These two algorithms work in tandem to deliver personalised and effective notifications to the user. The integration process is fundamentally as follows: 20 Firstly, the NLG algorithm is activated and processes the dataset from which information to be conveyed to users is collected. This dataset includes information on user preferences such as holidays, reservations, tours, and cultural trips. The NLG algorithm uses this data to determine which information will be communicated to the user during the content determination phase and then plans 25 the document structure. The planned document structure dictates the sequence of sentences and the arrangement of paragraphs. The NLG algorithm transforms the determined content into sentences and then produces meaningful and fluent text in natural language. The sentences are realised considering grammar rules and language usage, and the final text output is 30 generated. This final text is prepared to be conveyed to the user as a written notification. At this point, the TTS algorithm is activated. The final text produced by the NLG is provided as input to the TTS algorithm, which converts this text into spoken notifications. The TTS algorithm uses phonetic transcription to render the text into an audible form and synthesises a natural voice to deliver it to the user. This process 5 ensures that the text is read with the correct intonation, emphasis, and pronunciation. The integration of the NLG and TTS algorithms enhances the effectiveness and accessibility of information transfer by presenting users with both written and spoken notifications simultaneously. Users can read detailed information through 10 written notifications and listen to information instantly through spoken notifications. This integration improves the user experience and ensures that suggestions and reminders are received more easily and effectively. As a result, this integrated system enables users to better understand and act upon suggestions and reminders. 15 Task 5: Understanding and Processing Voice Commands In this task, automatic speech recognition (ASR), natural language processing (NLP), and named entity recognition (NER) algorithms are employed. ASR 20 converts users' voice commands into text, while NLP analyses the meaning of these texts. NER identifies and parses entities mentioned in the commands, such as locations, number of people, and price ranges. This task facilitates the understanding and processing of voice commands, allowing users to interact with the system via voice commands to obtain information and perform actions more 25 easily and quickly. The Fundamental Working Steps of the Algorithms Used in the Task Are as Follows: 30 Automatic Speech Recognition (ASR) Algorithm 1. Pre-processing: ASR systems initiate processing by capturing voice commands from the user. The audio signal is converted into a digital form and processed at the sampling frequency. 5 y[n]=〖x(t)|〗_(t=nT) Here, x(t) represents the analogue signal, y[n] represents the sampled digital signal, and T denotes the sampling period. 10 2. Feature Extraction: Mel-Frequency Cepstral Coefficients (MFCC) are used to extract important features from the audio signal. Initially, the audio signal is subjected to Short-Time Fourier Transform (STFT). 15 X(ω)=log 〖(∑_(n=-∞)^∞▒〖x[n]e〗^(-jωn) )〗 Subsequently, filtering is performed on the mel-frequency scale, and logarithmic energy is computed. 20 Here, H_k (ω) represents the mel-frequency filter. 25 3. Acoustic Modeling: Acoustic features are matched with phonetic units using Hidden Markov Models (HMM) or deep neural networks (DNN). For HMM, the probability of observations given each state is calculated as follows: 30 P(O∣λ)=∑_allQ▒〖P(O∣Q,λ)P(Q∣λ)〗 Here, O represents the observation sequence, λ represents the HMM parameters, and Q denotes the state sequence. 5 4. Language Modeling: The language model calculates the probabilities of recognised words and determines the correct word sequence. n-gram models are commonly used. 10 〗 This formula computes the probability of a word based on the preceding words. 5. Output Generation: 15 The ASR algorithm generates the most probable word sequence based on information from the acoustic and language models and outputs it as text. This process is achieved using the Viterbi algorithm to determine the highest probability path. 20 Q^*=〖arg max〗_Q P(O∣Q)P(Q) Here, Q^* represents the most probable state sequence. The ASR algorithm's step-by-step operation converts users' voice commands into 25 text, which is then used as input for subsequent NLP and NER processes. Steps of the Natural Language Processing (NLP) Algorithm The Natural Language Processing (NLP) algorithm ensures that the system 30 functions correctly by analysing the meaning of the text converted from users' voice commands within the scope of this task. The fundamental steps of the NLP algorithm are as follows: 1. Preprocessing: 5 Text Cleaning: Text data obtained from users is cleansed of unnecessary characters, stop words, and punctuation marks. Mathematical Representation: Text data is converted into a numerical form using methods such as word frequency or TF-IDF (Term Frequency-Inverse Document Frequency). 10 TF(t,d)=f_(t,d) / (∑_(t^'∈d)▒f_(t^',d) ) IDF(t,D)=log (N / |{d∈D:t∈d}| ) TF-IDF(t,d,D)=TF(t,d)×IDF(t,D) 15 2. Tokenization: The text data is segmented into meaningful pieces (tokens). Each word or phrase is considered a token. 20 Tokens=split(text) 3. Parsing: Sentence structure is analysed, and the grammatical structure of sentences (parse tree) is extracted. 25 Parse Tree=parse(Tokens) 4. Lemmatization and Stemming: Words are reduced to their root or base form. 30 Lemmatized Words=lemmatize(Tokens) 5. Named Entity Recognition (NER): Important entities such as proper names, places, and dates in sentences are recognised and tagged. 5 Entities=recognize_entities(LemmatizedWords) 6. Contextual Understanding: The context of sentences is analysed to derive meaning. This is performed using 10 deep learning models (e.g., BERT). Contextual Representation=BERT(LemmatizedWords) 7. Semantic Analysis: 15 The semantic analysis of the text is performed to determine the user's intent. Intent=analyze_semantics(ContextualRepresentation) 8. Feature Extraction: 20 Features and parameters present in the user's command are extracted and communicated to other components of the system. Features=extract_features(Intent) 25 The NLP algorithm, after converting voice commands into text, analyses the meaning of these texts to determine the user's intent and extracts the necessary information to be transmitted to relevant system components. The steps used in this process ensure that text data is processed accurately and effectively. 30 Steps of the Named Entity Recognition (NER) Algorithm The Named Entity Recognition (NER) algorithm identifies and tags important entities within the text (such as place names, personal names, and organisations) as part of this task. The fundamental steps of this algorithm are as follows: 5 1. Preprocessing: Text Cleaning: The text is cleansed of unnecessary characters and stop words. Text Transformation: The text data is converted into a numerical form. This step involves the use of word embedding techniques. 10 Embedding(w)=v_w Here, v_w represents the embedding vector for the word w. 2. Tokenization: 15 The text data is segmented into meaningful pieces known as tokens. Tokens=split(text) 3. Entity Candidate Generation: 20 Each token or group of tokens in the text is identified as a potential entity candidate. Entity Candidates=generate_candidates(Tokens) 4. Feature Extraction: 25 Features associated with each entity candidate are extracted. These features include the word itself, surrounding words, and the word's position. Features=extract_features(EntityCandidates) 30 5. Classification: Each entity candidate is assigned to specific entity classes (e.g., person, place, organisation) or determined not to be an entity. Typically, models such as CRF (Conditional Random Fields) or LSTM are used in this step. 5 CRF Formula: P(y∣x)=〖1 / (Z(x)) exp〗 Here, Z(x) is the normalisation factor, and f_k are feature functions weighted by〖 10 λ〗_k. LSTM Formula: i_t=σ(W_i∙[h_(t-1),x_t ]+b_i) 15 f_t=σ(W_f∙[h_(t-1),x_t ]+b_f) o_t=σ(W_o∙[h_(t-1),x_t ]+b_o) C ̂_t=tanh 〖(W_C∙[h_(t-1),x_t ]+b_C)〗 C_t=f_t*C_(t-1)+i_t*C _̂t 20 Here, i_t, f_t, and o_t represent the input, forget, and output gates, respectively; C_t is the cell state, and h_t is the cell output. 6. Labeling: As a result of classification, specific entity labels are assigned to the entity 25 candidates and marked on the text. Labeled Entities=label(ClassifiedCandidates) 7. Entity Extraction: 30 The identified and labelled entities are extracted from the text and used for analysis. Labeled Entities=label(ClassifiedCandidates) The NER algorithm analyses text data from users to identify and tag important 5 entities within the text. The steps used in this process ensure the text data is processed accurately and effectively. This enables the system to correctly identify information such as place names, personal names, and price ranges in user commands, facilitating accurate execution of tasks. 10 Integration of Algorithms The execution of Task 5 is made possible through the integration of automatic speech recognition (ASR), natural language processing (NLP), and named entity recognition (NER) algorithms. The integration of these algorithms comes together 15 to effectively understand and process users' voice commands. The integration is fundamentally outlined as follows: Firstly, the ASR algorithm converts users' voice commands into text. At this stage, the user's speech is analysed and the words in the speech are identified. The ASR algorithm takes the audio data, analyses the sound waves, and converts these sound 20 waves into digital signals. Subsequently, these digital signals are transformed into text form using phonetic models and language models. Techniques such as time- frequency analysis and Hidden Markov Models (HMM) are employed in this process. As a result, the voice command from the user is converted into text. This text is then processed by the NLP algorithm. The NLP algorithm analyses the 25 text to derive its meaning and examines the grammatical structures within the text. In this process, the text is tokenised, meaning it is divided into meaningful words. Subsequently, grammatical relationships between these words are determined. Parse trees are constructed to extract sentence structures, and the functions of words (such as subject, object, verb, etc.) are identified. This analysis ensures an 30 understanding of the context within the text. NLP also identifies specific patterns and semantic relationships in the text. For instance, phrases like "make a reservation" trigger the system to perform a specific action. After the text is analysed by NLP, the NER algorithm comes into play. NER identifies specific entities in the text (such as place names, personal names, dates, 5 price ranges, etc.). At this step, words and word groups in the text are assigned and labelled with specific categories (entity classes). The NER algorithm uses word embedding techniques and statistical models to recognise important entities in the text. For example, in the phrase "a reservation for two people in Paris," "Paris" is identified as a place name, and "for two people" is identified as a numerical entity. 10 This process ensures the extraction and accurate labelling of critical information in the text. The integration of these three algorithms completes the process of understanding and processing users' voice commands. The user's voice command is converted to text by ASR, analysed by NLP, and entities are identified by NER. This 15 comprehensive process accurately interprets the user's request and performs the necessary actions. For instance, when a user says "book a tour in New York for tomorrow evening," ASR converts this command into text, NLP analyses the semantic relationships in the sentence, and NER identifies entities like "New York" and "tomorrow evening." Thus, the system provides appropriate suggestions and 20 performs actions quickly and efficiently. The integration of these algorithms enhances user experience and facilitates interaction through voice commands. Task 6: Presenting Visuals and Videos to the User 25 In this task, image retrieval and video summarization algorithms are employed. Image retrieval retrieves and presents photographs of hotels, vacation spots, tour destinations, etc., from a database according to the user's requests. Video summarization provides summaries of promotional videos for hotels to the user. This task serves the function of presenting visual and video content to the user, thus 30 facilitating better information acquisition and decision-making regarding hotels. The fundamental steps of the algorithms used in this task are as follows: Steps of the Image Retrieval Algorithm 5 1. Feature Extraction: Features are extracted from images using deep learning models such as Convolutional Neural Networks (CNN). CNN extracts high-level features from images, representing each image as a series of vectors. The feature vector f(I) extracted from an image I is defined as: 10 f(I)=CNN(I) Here, f(I) represents the feature vector of the image. 15 2. Comparison of Feature Vectors: The feature vectors of images in the database are compared with the features requested by the user. This comparison is performed using Euclidean distance or cosine similarity. 20 Euclidean distance between two feature vectors f(I_1) and f(I_2) is calculated as follows: 25 Cosine similarity is calculated as: cos 〖(θ)〗=(f(I_1)∙f(I_2)) / ‖f(I_1)‖‖f(I_2)‖ 3. Calculation of Similarity Scores: A similarity score is calculated for each image, indicating how well it matches the user's request. The similarity score S is inversely proportional to the similarity measure between the feature vectors: 5 S=1 / (1+d(f(I_1),f(I_2))) 4. Ranking of Images: Images are ranked according to the calculated similarity scores. Images with the highest scores are the most relevant to the user's request. 10 5. Presentation of Images: The ranked images are presented to the user, who can select from these images. Steps of the Video Summarization Algorithm 15 1. Feature Extraction: Frames are extracted from videos, and features are extracted from each frame. This process is also carried out using CNN. Each frame is represented by a feature vector. A video V is represented as a sequence of frames {F_1,F_2,…,F_n }. For each 20 frame F_i, the feature vector f(F_i) is defined as: f(F_i )=CNN(F_i) 2. Clustering of Feature Vectors: 25 Feature vectors of video frames are clustered using clustering algorithms. At this stage, K-means or Gaussian Mixture Models (GMM) are employed. The K-means algorithm partitions the feature vectors into k clusters: 〖arg (μj∈{C_j } ) ‖f(F_i )-μj‖^2〗 30 Here, C_j denotes the j-th cluster, and μj represents the centroid vector of the j-th cluster. 3. Selection of Representative Frames: 5 Representative frames are selected from each cluster. This is achieved by choosing the frames that are closest to the centroid vector of each cluster. A representative frame T_j is selected as the frame F_i that is nearest to the cluster centre μj: T_j=arg 〖〖min〗_(F_i∈C_j ) ‖f(F_i )-μj‖〗 10 4. Creation of the Summary Video: The selected representative frames are compiled to create a summary video. This summary includes key moments that capture the user's interest. 15 5. Presentation of the Summary Video: The created summary video is presented to the user. The user can gather information about hotels and holiday locations from this summary video. Integration of Algorithms 20 The implementation of Task 6 is achieved through the integration of image retrieval and video summarization algorithms. These two algorithms work together in accordance with the user's requests, providing visual and video content. When a user seeks information about a hotel, tour, or holiday destination, the image retrieval 25 algorithm locates and presents relevant images from the database. Concurrently, the video summarization algorithm condenses the hotel's promotional video, enabling the user to acquire information more swiftly and conveniently. This integration enriches the user experience and supports the decision-making process. While image retrieval ensures the rapid and accurate finding of images, video 30 summarization aids users in efficiently managing their time by summarising lengthy videos. Consequently, users gain better insights into hotels, tours, and other activities and make more informed decisions. The integration of these algorithms facilitates the effective presentation of visual and video content, thereby enhancing user satisfaction. 5 Task 7: Dynamic Pricing and Comparison In this task, Gradient Boosting Machines (GBM) and Random Forest algorithms are employed. GBM is used to forecast hotel prices and implement dynamic pricing, while Random Forest performs price comparisons to determine the most suitable 10 hotel options. This task provides the functions of dynamic pricing and price comparison. As a result, users are enabled to find the most cost-effective hotels, thereby increasing cost efficiency. The fundamental steps of the algorithms used in this task are as follows: 15 Gradient Boosting Machines (GBM) Algorithm Steps 1. Initial Prediction Generation: Initially, a starting prediction for prices is made. This prediction is typically taken 20 as the average of the target values (hotel prices). The initial prediction F_0 (x) is defined as follows: F_0 (x)=1 / N ∑_(i=1)^N▒y_i 25 Here, y_i represents the actual price of the i-th hotel or tour, and N denotes the total number of hotels, tours, etc., in the dataset. 2. Calculation of Error Terms: After the initial prediction, error terms are calculated for each iteration. The error 30 term r_im for the i -th observation in the m-th iteration is computed as: r_im=y_i-F_(m-1) (X_i) 3. Training a New Decision Tree: To reduce the error terms, a new decision tree is trained. This tree is used to predict 5 the error terms. The decision tree h_m (x) is trained based on the error terms r_im. 4. Updating Tree Outputs: The outputs of the new decision tree are updated for each leaf node. For a leaf node 10 j, the update is performed as follows: γjm=(∑_(i∈R_jm)▒r_im ) / (∑_(i∈R_jm)▒1) Here, R_jm represents the indices of the samples in the j -th leaf node. 15 5. Updating the Model: The model is updated by adding the new decision tree's predictions. The update is performed as: 20 F_m (x)=F_(m-1) (x)+v∙h_m (x) Here, ν represents the learning rate. 6. Repeating the Above Steps: 25 The above steps are repeated for a specified number of iterations. Each iteration reduces the model's error terms and improves the price predictions. Steps of the Random Forest Algorithm 30 1. Creating the Dataset via Bootstrap Sampling: Multiple subsets of the original dataset are created using the bootstrap sampling method. Each subset is a copy of the original dataset created from randomly selected samples. 5 2. Training Decision Trees: Independent decision trees are trained on each bootstrap sample. These trees are trained on randomly selected features. During the training of a decision tree, the best split point is selected at each node. The best split point is chosen based on criteria such as Gini impurity or information 10 gain. Gini impurity=1-∑_(k=1)^K▒p_k^2 Here, p_k represents the probability of the k-th class. 15 3. Combining the Trees: Once training is complete, all the decision trees are aggregated. These trees are used to make predictions on new data. Each tree independently classifies or makes regression predictions for new data 20 points. 4. Averaging the Predictions: The predictions from all trees are combined and averaged. This process forms the final prediction of the model. 25 The average prediction is calculated as follows: y ̂=1 / B ∑_(b=1)^B▒〖T_b (x)〗 Here, T_b (x) represents the prediction of the b-th tree, and B denotes the total 30 number of trees. 5. Price Comparison and Determining the Best Options: The average predictions are used to compare the prices of hotels, tours, and other activities. The most cost-effective holiday options are identified and presented to users. 5 The holiday options presented to the user are ranked according to their prices, with the most affordable options highlighted. Integration of Algorithms 10 The execution of Task 7 is made possible through the integration of Gradient Boosting Machines (GBM) and Random Forest algorithms. This integration is essential for providing dynamic pricing and price comparison functionalities to the user. The collaboration of these algorithms enhances the accuracy of price predictions and effectively determines the most suitable holiday options. 15 Initially, the Gradient Boosting Machines (GBM) algorithm is used to predict holiday prices and perform dynamic pricing. The GBM algorithm operates iteratively, starting from an initial prediction, and adds decision trees to reduce the model's error terms with each iteration. In this process, each new tree learns from the errors of previous trees, thereby improving the overall accuracy of the model. 20 The continuous updating of the model through each iteration ensures the ongoing improvement of price predictions. The price predictions provided by GBM enable accurate and up-to-date presentation of holiday prices to the user. At this stage, the price predictions generated by GBM are utilised by the Random Forest algorithm. The Random Forest algorithm consists of numerous decision trees 25 and provides the final prediction by averaging the predictions of these trees. This algorithm is used to validate price predictions and perform price comparisons among different holiday options. The Random Forest algorithm trains decision trees using bootstrap sampling and feature randomisation techniques, ensuring that each tree operates independently. This method increases the model's resilience to general 30 errors and prevents overfitting. The integration between the GBM and Random Forest algorithms is achieved by combining the results of the two algorithms. Initially, the GBM algorithm predicts holiday prices, and these predictions are then used by the Random Forest algorithm. The Random Forest algorithm compares the GBM predictions to determine the 5 most suitable holiday options. This process ensures that holiday prices are dynamically updated and compared. Based on user requirements, the GBM and Random Forest algorithms work together to present the most cost-effective holiday options to the user. The dynamic pricing provided by GBM ensures that holiday prices are current and accurate, 10 while the price comparison capability of the Random Forest algorithm aids users in identifying the best holiday options. This integration optimises pricing and comparison processes, thereby enhancing the user experience. The integration of algorithms enhances efficiency in pricing and comparison processes, facilitating the user's holiday selection. The GBM algorithm enables 15 dynamic prediction of holiday prices, while the Random Forest algorithm compares these prices and determines the most suitable options. The combined operation of these two algorithms ensures that holiday prices are accurate, up-to-date, and comparable, thereby assisting users in making the best hotel choices. This integration improves the accuracy of price predictions and ensures cost- 20 effectiveness. In conclusion, the integration of the GBM and Random Forest algorithms provides high accuracy and efficiency in holiday pricing and comparison processes. This integration offers users dynamic pricing and price comparison functionalities, helping them identify the most suitable holiday options and enhancing their overall 25 experience. The collaboration of these algorithms optimises the pricing and comparison processes, enabling users to make the best holiday choices. Task 8: Model Quantization, Edge Computing, and Transfer Learning 30 Task 8 involves the integrated operation of model quantization, edge computing, and transfer learning algorithms. This task aims to make the models used in holiday pricing and comparison processes more efficient, faster, and cost-effective. Model quantization reduces the size and computational cost of models, edge computing enables these models to run on local devices, and transfer learning allows for the quick adaptation of existing models to new data. This combination enhances user 5 experience and improves system performance. The fundamental steps of the algorithms working in this task are as follows: Model Quantization 10 Model quantization enables deep learning models to operate using less computational power and memory, making it feasible to run them on smart devices (edge devices). 15 1. Model Training: In the initial step, the model is trained with full-precision (e.g., 32-bit floating point) data. This training process optimizes all parameters necessary for the model to produce high-accuracy results. The model's output y ̂, with input data x and parameters θ, is expressed as: 20 y ̂=f(x;θ) 2. Quantization Aware Training: During training, some layers of the model are simulated as quantized (e.g., 8-bit integer). This ensures the preservation of the model's performance after quantization. The formula used at this stage, with 25 quantized weights θ_q, is as follows: y ̂_q=f(x;θ_q) 3. Post-Training Quantization: After training is complete, the model parameters are 30 quantized. This reduces the model's size and computational requirements, although there may be a slight loss in accuracy. The output of the quantized model is expressed as: y ̂_pq=f(x;θ_pq ) 5 Here, θ_pq represents the parameters after post-training quantization. By implementing these steps, Task 8 ensures that the models are efficient and suitable for execution on edge devices, providing a responsive and accurate 10 experience for users in holiday pricing and comparison applications. Edge Computing Edge computing enables data processing on local devices (e.g., smartphones, IoT 15 devices), thereby reducing latency and enhancing data security. 1. Model Deployment: The quantized model is deployed to local devices. At this stage, the model must be optimized according to the hardware specifications of the device. 20 2. Local Execution: The model runs on the local device, processing data directly from the user. This allows for fast and real-time predictions without the need to send data to the cloud. The output of the locally running model is represented as follows: 25 y ̂_local=f_local (x_local;Q_local) 3. Feedback of Results: The results generated on the local device are fed back to the user, providing a quick and effective user experience. 30 Transfer Learning Transfer learning involves reusing pre-trained models for new tasks, allowing the model to adapt quickly to new data. 5 1. Utilization of Pre-Trained Model: Initially, a pre-trained model is utilized. This model has been trained on a large and diverse dataset and has effectively learned general features. The initial parameters of the model are denoted as θ_pretrained. 2. Fine-Tuning: The pre-trained model is fine-tuned on a new dataset. This process 10 optimizes the model for the new task. The loss function L used during fine-tuning and the updated parameters θ_ft are represented as follows: θ_ft =arg 〖〖min〗_0 L(f(x;θ),y)〗 15 3. Model Evaluation and Updating: After fine-tuning, the model's performance is evaluated, and if necessary, the model parameters are re-optimized. This step ensures that the model performs optimally with the new data. Integration of Algorithms 20 In this task, model quantization, edge computing, and transfer learning algorithms work in an integrated manner to optimize holiday pricing and comparison processes. First, the model quantization algorithm significantly reduces the size and computational requirements of deep learning models, enabling their execution on local devices (edge devices). Model quantization enhances performance and energy 25 efficiency, particularly on hardware-constrained platforms like mobile devices. Quantized models operate efficiently on local devices, processing user data directly on the device. This improves user experience and safeguards data privacy by eliminating the need to send data to server. The edge computing algorithm enables the execution of quantized models on local 30 devices, shifting the computational load from the server to local devices. This approach reduces latency and improves real-time response times. Users can access the system from various devices such as smartphones, tablets, desktops, and laptops, allowing for quick and efficient price predictions and comparisons. Edge computing optimizes performance according to the hardware capacity of the devices, ensuring high performance across a wide range of devices. Consequently, 5 the system is designed to function smoothly on smartphones and equally well on tablets, desktops, and laptops. The transfer learning algorithm allows for the rapid adaptation of existing models to new data. This algorithm involves fine-tuning pre-trained models with new data, thereby enhancing the accuracy of the models. Transfer learning accelerates the 10 training process on new datasets and improves cost efficiency. This method ensures that models used in holiday pricing and comparison processes are continuously updated and optimized. Transfer learning facilitates the integration of new data into the model while maintaining its performance. This integration process ensures that dynamic pricing and price comparison 15 functions are performed with high accuracy, speed, and efficiency. The collaboration of model quantization, edge computing, and transfer learning algorithms enhances overall system performance and user experience. Users can find the most cost-effective holiday options, thereby increasing cost efficiency. The system, designed to function efficiently on mobile devices like smartphones, also 20 operates seamlessly and with high performance on tablets, desktops, and laptops. This comprehensive integration provides innovative and effective solutions for holiday pricing and comparison processes, delivering quick and reliable responses to user needs. 25 Real-World Use Case Scenario: Holiday Planning for a Family with Two Children The Campbell family uses an AI-based personalised hotel, tour, and cultural trip 30 recommendation and pricing system to plan their holidays in the most efficient and enjoyable manner. The Campbells have various holiday needs throughout the year; they prefer sea-based holidays during mid-term and summer breaks, while opting for cultural tours during winter and other holiday periods. Usage Scenario 5 1. Collection of User Data: The Campbell family organises their holiday plans via their smartphones. The system collects data from the family’s phones and transmits it to the server, which analyses past holiday preferences, search history, reservation details, and price 10 ranges. This information provides a comprehensive understanding of the users’ holiday habits, budgets, and preferences. 2. Data Collection and Analysis: The smartphone utilises web scraping and web automation technologies to collect up-to-date data from various hotel, tour, and cultural excursion websites and 15 transmits it to the server. This data includes hotel prices, hotel features, location information, user reviews, tour programmes, and cultural excursion details. The collected data is associated with the user profile on the server. 3. Providing Personalised Recommendations: The server analyses the collected data using collaborative filtering, content-based 20 filtering, and K-means clustering algorithms to offer the most suitable hotel, tour, and cultural trip options to the Campbell family. For instance, it may suggest a child-friendly hotel in Antalya for summer holidays and a cultural tour in Cappadocia for winter holidays. These recommendations are tailored according to the family’s holiday preferences and budget. 25 4. Optimising Holiday Timing: The server employs LSTM RNNs and time series analysis algorithms to analyse the Campbell family's holiday timings. By considering the family's holiday habits and preferred holiday periods, it determines and suggests the most optimal dates. For 30 example, it may recommend the last week of July for summer holidays and the first week of February for winter holidays. 5. Notifications and Reminders: The data transmitted from the server to the smartphone is processed using text-to- 5 speech (TTS) and natural language generation (NLG) algorithms on the smartphone to deliver written and voice notifications to the Campbell family. The family is informed about critical matters such as holiday reservations, payment reminders, and pre-holiday updates. This facilitates more organised and timely holiday planning. 10 6. Use of Voice Commands: The Campbell family can use the application through voice commands. For instance, they can quickly receive recommendations by giving commands such as "Suggest a seaside hotel for a summer holiday" or "Recommend a cultural tour for 15 a winter holiday." Automatic speech recognition (ASR), natural language processing (NLP), and named entity recognition (NER) algorithms process these commands and transmit them to the server, which then returns appropriate responses to the smartphone. 20 7. Presentation of Visual and Video Content: The server utilises image retrieval and video summarisation algorithms to send photos and promotional videos of hotels to the Campbell family. These visual and video contents enable the family to gain better insights into the hotels and make 25 more informed decisions. 8. Dynamic Pricing and Comparison: The server employs gradient boosting machines (GBM) and random forest 30 algorithms to predict hotel prices and implement dynamic pricing. Additionally, it performs price comparisons to identify the most suitable hotel options and sends these to the Campbell family's smartphone. This aids the family in finding the most cost-effective holiday options, ensuring budget efficiency. 9. Energy and Resource Management: 5 The API embedded in the smartphone utilises model quantization, edge computing, and transfer learning algorithms for energy and resource management. This ensures the efficient operation of the system and reduces energy consumption, effectively managing the battery life and processing power of the smartphones. Benefits 10 The substantial benefits that the Campbell family derives from this system include: Personalised Recommendations: The family avoids wasting time and simplifies holiday planning by receiving options that best match their holiday preferences and 15 budget. Timely Notifications: Written and spoken notifications ensure that holiday bookings and payment reminders are managed promptly. Quick and Easy Interaction: Voice commands enable the family to swiftly specify their holiday preferences and receive recommendations. 20 Visual Information: Photos and videos of hotels and holiday destinations provide the family with better information and facilitate more informed decision-making. Cost Effectiveness: Dynamic pricing and comparison features help find the most affordable options and optimise costs. Energy Efficiency: The system enhances smartphone performance and battery life 25 through effective energy and resource management. This scenario comprehensively illustrates the real-world application and benefits of an AI-based personalised hotel, tour, and cultural trip recommendation and pricing system. 30 The server discussed in the patent provides the capability to review hotel, cultural tour, and similar travel and accommodation websites, as well as the web pages containing reviews on these sites. It also allows for online reservations through these web pages. The algorithms utilised by the server and the API embedded in users' smartphones, 5 as described in the patent document, should not be construed as binding to the electronic components employed in the server design. The intended functions can also be achieved using different algorithms and servers designed with alternative electronic components. The server and the APIs embedded in users' smartphones support multiple world 10 languages. 15 20 25 30

Claims

CLAIMS 1. Claim 1: An artificial intelligence-based personalised system for recommending and pricing holidays, such as hotels, tours, and cultural trips, comprising: 5 A module on smartphones that collects data from various hotel, tour, and cultural trip websites using web scraping and web automation algorithms (e.g., Selenium, Puppeteer), A module on a server system that learns user preferences using collaborative filtering, content-based filtering, and K-means clustering algorithms, 10 A module on a server system that determines users’ holiday timings through Long Short-Term Memory (LSTM) Recurrent Neural Networks (RNNs) and time series analysis algorithms, A module on smartphones that delivers notifications in text and speech form using text-to-speech (TTS) and natural language generation (NLG) algorithms, 15 A module on smartphones that processes and understands voice commands using automatic speech recognition (ASR), natural language processing (NLP), and named entity recognition (NER) algorithms, A module on the server system that provides visual and video content using image retrieval and video summarisation algorithms, 20 A module on the server system that performs dynamic pricing and price comparisons using gradient boosting machines (GBM) and random forest algorithms, A module on smartphones that manages energy and resources through model quantisation, edge computing, and transfer learning algorithms. 25 2. Claim 2: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the web scraping and web automation module on smartphones collects information such as hotel prices, features, locations, user reviews, tour programmes, and cultural trip details using Python-based libraries 30 such as BeautifulSoup, Scrapy, Selenium, and Puppeteer, and transmits the collected data to the server system.

3. Claim 3: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the server system’s user preference learning module analyses users’ past reservations, tour, and cultural trip preferences and applies 5 collaborative filtering algorithms to learn the preferences of similar users.

4. Claim 4: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the server system’s user preference learning module uses content-based filtering algorithms to recommend similar hotels, tours, and trips 10 based on the features of the hotels, holidays, tours, and cultural trips preferred by the user.

5. Claim 5: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the server system’s user preference learning module 15 segments users based on behavioural and preference patterns using K-means clustering algorithms to provide personalised recommendations.

6. Claim 6: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the server system’s module for determining holiday 20 timings analyses the temporal patterns of users’ holiday bookings and predicts future holiday trends using Long Short-Term Memory (LSTM) Recurrent Neural Networks (RNNs).

7. Claim 7: The artificial intelligence-based personalised holiday recommendation and pricing 25 system of Claim 1, wherein the server system’s module for determining holiday timings analyses users’ holiday habits to identify trends for specific periods using time series analysis algorithms.

8. Claim 8: The artificial intelligence-based personalised holiday recommendation and pricing 30 system of Claim 1, wherein the text-to-speech (TTS) algorithm on smartphones is used to deliver recommendations and reminders in the form of audio notifications.

9. Claim 9: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the server system generates written notifications and recommendations using natural language generation (NLG) algorithms. 5 10. Claim 10: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the module on smartphones that processes voice commands uses automatic speech recognition (ASR) algorithms to convert users’ voice commands into text. 10 11. Claim 11: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the module on smartphones that processes voice commands analyses the meaning of users’ voice commands using natural language processing (NLP) algorithms. 15 12. Claim 12: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the module on smartphones that processes voice commands identifies and extracts entities such as locations, number of people, and price ranges specified in commands using named entity recognition (NER) 20 algorithms.

13. Claim 13: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the server’s module for providing visual and video content retrieves and presents photos of hotels and holiday destinations that match 25 users’ requests using image retrieval algorithms.

14. Claim 14: The artificial intelligence-based personalised holiday recommendation and pricing system of Claim 1, wherein the module on smartphones summarises promotional videos of hotels and presents them to users using video summarisation algorithms. 30 15. Claim 15:An artificial intelligence-based personalised system for recommending and pricing holidays such as hotels, tours, and cultural trips, characterised in that, according to Claim 1, the dynamic pricing and price comparison module located on the server system utilises a gradient boosting machines (GBM) algorithm to predict hotel 5 prices and perform dynamic pricing.

16. Claim 16: An artificial intelligence-based personalised system for recommending and pricing holidays such as hotels, tours, and cultural trips, characterised in that, according to 10 Claim 1, the dynamic pricing and price comparison module located on the server system employs a random forest algorithm to analyse hotel and holiday prices and determine the most suitable options.

17. Claim 17: 15 An artificial intelligence-based personalised system for recommending and pricing holidays such as hotels, tours, and cultural trips, characterised in that, according to Claim 1, the energy and resource management module located on smartphones employs a model quantisation algorithm to optimise the size and computational 20 requirements of deep learning models, thereby enabling more efficient operation.

18. Claim 18: An artificial intelligence-based personalised system for recommending and pricing 25 holidays such as hotels, tours, and cultural trips, characterised in that, according to Claim 1, the energy and resource management module located on smartphones uses edge computing algorithms to execute computationally intensive tasks on the server instead of the local device. 30 19. Claim 19:An artificial intelligence-based personalised system for recommending and pricing holidays such as hotels, tours, and cultural trips, characterised in that, according to Claim 1, the energy and resource management module located on smartphones employs transfer learning algorithms to develop new models based on the data 5 available on users' mobile devices.

20. Claim 20: An artificial intelligence-based personalised system for recommending and pricing 10 holidays such as hotels, tours, and cultural trips, characterised in that, according to Claim 1, the energy and resource management module located on smartphones uses on-device AI inference methods to enhance model performance on mobile devices while consuming less energy. 15 21. Claim 21: An artificial intelligence-based personalised system for recommending and pricing holidays such as hotels, tours, and cultural trips, characterised in that, according to Claim 1, the transfer learning algorithm operates on mobile devices to deliver personalised results. 20 22. Claim 22 An artificial intelligence-based personalised system for recommending and pricing holidays such as hotels, tours, and cultural trips, characterised in that, according to Claim 1, the server can be designed with one or more servers. 25 23. Claim 23 An artificial intelligence-based personalised system for recommending and pricing holidays such as hotels, tours, and cultural trips, characterised in that, according to Claim 1, the server and the smartphone support multiple world languages. 30

Citation Information

Patent Citations

  • Eco-friendly and easy-to-cut label

    KR102645935B1

  • Personalized travel itinerary planning

    US10445666B1

  • Real-time dynamic pricing system

    US20170109767A1

  • Artificial intelligence for travel partner and destination recommendations

    US20230162300A1