Generated AI is changing the way companies deliver personalized experiences across the industry, including travel and hospitality. Travel agents are enhancing their services by offering personalized holiday packages that carefully curate the unique preferences of customers, including accessibility needs, dietary restrictions and activity interests. To meet these expectations, a solution that combines comprehensive travel knowledge with real-time pricing and availability information is required.
This post shows you how to build a generated AI solution using Amazon Bedrock, which combines customer profiles with real-time pricing data to create bespoke holiday packages. Shows Amazon Bedrock Knowledge Bases for travel information, how to use Amazon Bedrock Agent for real-time flight details, and how to use Amazon OpenSearch Serverless for efficient package search and search.
Solution overview
Travel agents face increasing demand for personalized recommendations, while struggling with real-time data accuracy and scalability. Consider a travel agent that needs to offer accessible holiday packages. Although certain accessibility requirements must be matched with real-time flight and accommodation availability, they are constrained by the manual processing times and outdated information of traditional systems. This AI-powered solution combines personalization with real-time data integration to allow institutions to automatically match accessibility requirements with current travel options, providing accurate recommendations in minutes rather than hours.
- Front End Layer – A travel agent provides an interface to enter customer requirements and preferences
- Orchestration Layer – The process requests and enriches them with customer data
- Recommended layers – Combine two important components.
- Travel Data Storage – Maintain a searchable repository for travel packages
- Real-time information search – Get current flight details through API integration
The following diagram illustrates this architecture.

This layered approach allows travel agents to capture customer requirements, enrich their customers in a stored setting, integrate real-time data, and provide personalized recommendations tailored to their customers' needs. The following diagram shows how these components are implemented using AWS services.

AWS implementations include:
- Amazon API Gateway – It receives requests and routes them to an AWS lambda function.
- AWS Lambda – Create process input data, enrichment prompts and run recommended workflows
- Amazon dynamodb – Save customer preferences and travel history
- Amazon's bedrock knowledge base – Helps travel agents create curated databases of destinations, travel packages and transactions, with recommendations reviewed based on reliable and up-to-date information
- Amazon OpenSearch ServerLess – Enables simple, scalable and high-performance vector search
- Amazon Simple Storage Service (Amazon S3) – Store large datasets such as flight schedules and promotional materials
- Amazon bedrock agent – Integrate real-time information searches so that the recommended itinerary reflects current availability, pricing, and scheduling through external API integration
This solution uses an AWS Cloud Formation template that automatically provides and configures the resources you need. The template handles the complete setup process, including service configuration and required permissions.
For the latest information on service quotas that may affect your deployment, see Assigning AWS Services.
Prerequisites
To deploy and use this solution, you will need to:
- AWS accounts that allow you to access Amazon Bedrock
- Permission to create and manage the following services:
- Amazon rock
- Amazon OpenSearch ServerLess
- lambda
- dynamodb
- Amazon S3
- API Gateway
- Access to Amazon Bedrock's Basic Models for Amazon Titan Text Embeddings V2 and the Claude 3 Haiku Model of Humanity
Expand the CloudFormation stack
You can use AWS CloudFormation to deploy this solution to your AWS account. Complete the following steps:
- choose Start the stack:
![]()
You will be redirected to Create a stack The AWS CloudFormation console wizard already has stack names and template URLs filled in.
- Leave the default settings and complete the stack creation.
- choose View stack events Visit the AWS CloudFormation console to see deployment details.
The stack takes about 10 minutes to create the resources. Wait for stack status to reach create_complete Before you proceed to the next step.
CloudFormation templates automatically create and configure components for data storage and management, Amazon Bedrock, APIs and interfaces.
Data Storage and Management
The template sets up the following data storage and management resources:
- S3 bucket and sample data set (
travel_data.jsonandpromotions.csv), prompt templates, and API schemas

- Sample user profiles and travel history reside in dynamodb table

- OpenSearch ServerLess collection with optimized settings for travel package search

- Vector index with settings compatible with Amazon bedrock knowledge base

Amazon bedrock composition
For Amazon Bedrock, the CloudFormation template creates the following resources:
- Knowledge base with travel datasets and data sources ingested from Amazon S3 with automatic sync

- Automatically prepared Amazon bedrock agent

- New versions and aliases for the agent

- Agent Action Group with Mock Flight Data Integration

- Calling an action group consisting of
FlightPricingLambdaAPI schema obtained from lambda function and S3 bucket

Setup of APIs and interfaces
To enable API access and UI, the template configures the following resources:
- API Gateway Endpoint
- Lambda works using the mock flight API for demonstration
- Web interface for travel agents
Check the setup
Once the stack is created, you can check the setup at output Tabs in the AWS CloudFormation console. This provides the following information:
- websiteurl – Access the Travel Agent interface
- ApiendPoint – Used for program access to recommended systems

Test the endpoint
The web interface provides an intuitive form that allows travel agents to enter customer requirements such as:
- Customer ID (for example,
JoeorWill)) - Travel budget
- Priority date
- Number of tourists
- Travel Style

You can use the following code to invoke the API directly:
Test the solution
Create a sample user profile for demonstration purposes UserPreferences and TravelHistory dynamodb table.
UserPreferences The table stores user-specific travel preferences. for example, Joe It represents a luxury traveler with wheelchair accessibility requirements.

Will It represents budget travelers with needs for seniors. These profiles help show how the system handles the requirements and preferences of various customers.

TravelHistory The table stores past trips taken by the user. The following table shows past trips that users have made Joedestination, travel duration, rating, and travel date.

Let's walk through a typical use case and show how travel agents can use this solution to create personalized holiday recommendations. Consider a scenario in which travel agents are helping Joe, a customer who needs wheelchair accessibility, to plan a gorgeous vacation. The travel agent will enter the following information:
- Customer ID:
Joe - Budget: 4,000 GBP
- Duration: 5 days
- Travel date: July 15, 2025
- Number of travellers: 2
- Travel Style: Luxury

When a travel agent submits a request, the system organizes a series of actions. PersonalisedHolidayFunction A Lambda function that queries the knowledge base, reviews real-time flight information using a mock API, and returns personalized recommendations that suit the customer's specific needs and preferences. Recommended layers use the following prompt template:
The system retrieves Joe's preferences from a user profile that includes:
The system then generates personalized recommendations that consider:
- Destinations with proven wheelchair accessibility
- Luxury Accommodation Available
- Recommended destination flight details
Each recommendation includes the following details:
- Detailed accessibility information
- Real-time flight pricing and availability
- Details of accommodation with accessibility features
- Available activities and experiences
- Total package cost breakdown
cleaning
Remove the CloudFormation stack to avoid future charges. For more information, please remove the stack from the CloudFormation Console.
The template includes the appropriate deletion policy and ensure that the resources you created are properly deleted, such as S3 buckets, DynamoDB tables, and OpenSearch collections.
Next Steps
To further enhance this solution, consider the following:
- Explore multi-agent features:
- Create a professional agent for various travel aspects (hotels, activities, local transport)
- Enables agent-to-agent communication for complex itinerary planning
- Implement an orchestrator agent to coordinate responses and resolve conflicts
- Implement multilingual support using a multilingual basic model on Amazon Bedrock
- Integrate with a customer relationship management (CRM) system
Conclusion
In this post, we learned how to build an AI-powered holiday recommendation system using Amazon Bedrock, which helps travel agents provide a personalized experience. Our implementation combined Amazon Bedrock Knowledge Base with Amazon Bedrock agents to demonstrate how to effectively bridge historical travel information to real-time data needs and efficiently match customer preferences with travel packages with serverless architecture and vector search. This approach is especially valuable for travel organizations that need to integrate real-time pricing data, handle specific accessibility requirements, and scale personalized recommendations. This solution provides a practical starting point with clear paths for reinforcement based on specific business needs, such as modernizing travel planning systems and handling complex customer requirements.
Related Resources
For more information, see the following resources:
- document:
- Code Sample:
- Additional learning:
About the author
Vishnu Valdhini
Vishnu Vardhini is a Scotland-based solution architect for AWS and focuses on SMB customers across the industry. With her expertise in security, cloud engineering and DevOps, she is an architect of scalable, secure AWS solutions. She is passionate about helping customers leverage machine learning and generator AI to increase business value.
