https://github.com/mohsinsheikhani/multi-agent-hotel-assistant
AWS-powered hotel booking multi-agent assistant built with Strands Agents, Amazon Bedrock AgentCore, A2A protocol, MCP, Bedrock Knowledge Base, serverless Lambda integrations, and AWS CDK. Provides natural-language hotel search, price discovery, booking, and policy advisory.
https://github.com/mohsinsheikhani/multi-agent-hotel-assistant
a2a a2a-protocol aws aws-cdk-typescript aws-lambda bedrock-agentcore dynamodb mcp strands-agents
Last synced: 5 months ago
JSON representation
AWS-powered hotel booking multi-agent assistant built with Strands Agents, Amazon Bedrock AgentCore, A2A protocol, MCP, Bedrock Knowledge Base, serverless Lambda integrations, and AWS CDK. Provides natural-language hotel search, price discovery, booking, and policy advisory.
- Host: GitHub
- URL: https://github.com/mohsinsheikhani/multi-agent-hotel-assistant
- Owner: mohsinsheikhani
- Created: 2025-09-27T12:41:47.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-29T20:05:20.000Z (9 months ago)
- Last Synced: 2025-09-29T22:12:49.682Z (9 months ago)
- Topics: a2a, a2a-protocol, aws, aws-cdk-typescript, aws-lambda, bedrock-agentcore, dynamodb, mcp, strands-agents
- Language: TypeScript
- Homepage:
- Size: 247 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-strands-agents - Multi-Agent Hotel Assistant - powered hotel booking multi-agent assistant built with Strands Agents, Amazon Bedrock AgentCore, A2A protocol, MCP, Bedrock Knowledge Base, serverless Lambda integrations, and AWS CDK for natural-language hotel operations | [mohsinsheikhani/multi-agent-hotel-assistant](https://github.com/mohsinsheikhani/multi-agent-hotel-assistant) | Enterprise Apps | (Community Projects / For PyPI Packages)
README
# Multi-Agent Hotel Booking Assistant
> **AWS AI Engineering Month Competition Submission**
> *Building with Agents using Amazon Bedrock AgentCore and AWS Strands*
A production-ready multi-agent system that transforms complex hotel booking workflows into natural conversations through intelligent agent orchestration.
## The Problem
Hotel booking involves complex workflows: search, policy evaluation, booking management, and communication. Traditional systems force users through rigid interfaces, requiring multiple interactions for simple changes and leaving customers frustrated when policies aren't clear upfront.
**Real-world pain points:**
- 2 AM booking changes that require calling customer service
- Hidden cancellation fees discovered too late
- Starting over when modifying existing bookings
- No memory of previous preferences or conversations
## The Solution
Instead of building another booking form, I created a team of AI specialists that work together like a hotel's back-office staff:

## Architecture Overview
### Multi-Agent Orchestration
- **Supervisor Agent**: Orchestrates workflows with persistent memory and policy-aware routing
- **Specialized Agents**: Each handles a specific domain (search, booking, policies, notifications)
- **A2A Communication**: Agents collaborate through Agent-to-Agent protocols
- **Policy-Aware Workflows**: Automatic compliance checking before any booking action
### Amazon Bedrock AgentCore Integration
- **Memory Service**: Persistent conversation context across sessions (7-day retention)
- **Gateway Service**: Secure Lambda function access via Model Context Protocol (MCP)
- **Runtime Service**: Production deployment with automatic scaling and observability
- **Identity Service**: OAuth2 authentication with fine-grained access control
### AWS Infrastructure
- **Lambda Functions**: Business logic for hotel inventory, booking, and policy management
- **DynamoDB**: Hotel inventory and reservation data storage
- **Cognito**: Authentication and authorization for AgentCore Gateway
- **Knowledge Base**: Hotel policies and advisory information (Bedrock Knowledge Base)
## Key Capabilities
### Intelligent Conversations
```
User: "I need to cancel my booking for next week, but I'm worried about fees."
Traditional System: Navigate → Find booking → Read policy → Call support → Wait → Explain...
Our System:
1. Supervisor identifies policy-sensitive cancellation
2. Guest Advisory Agent retrieves specific policy
3. Reservation Agent calculates exact fees and alternatives
4. Present clear options: "Cancelling now = $50 fee, modifying dates = free until tomorrow"
5. User chooses, system executes, confirmation sent
```
### Memory That Matters
- Remembers preferences across sessions ("ground floor rooms like last time")
- Maintains conversation context ("your previous concern about cancellation fees")
- Enables intelligent recommendations based on history
### Production-Ready Architecture
- **Error Handling**: Graceful degradation when components fail
- **Observability**: Deep insights into agent interactions and performance
- **Scalability**: Independent agent scaling based on demand
- **Security**: End-to-end authentication and authorization
## 📁 Project Structure
```
├── app/ # Multi-agent application
│ ├── src/
│ │ ├── agents/ # Individual agent implementations
│ │ ├── core/ # Supervisor and memory management
│ │ ├── config/ # Configuration management
│ │ └── utils/ # Shared utilities
│ └── scripts/ # Development and deployment tools
│
├── infrastructure/ # AWS CDK infrastructure
│ ├── lib/
│ │ ├── constructs/ # Reusable CDK constructs
│ │ └── config/ # Infrastructure configuration
│ └── lambda/ # Lambda function implementations
│
└── README.md # This file
```
## Technology Stack
**AI & Agents:**
- Amazon Bedrock AgentCore (Memory, Gateway, Runtime, Identity)
- AWS Strands Agents (Multi-agent framework)
- Model Context Protocol (MCP) for tool integration
- Agent2Agent Protocol (A2A) for multi-agent communication
**Infrastructure:**
- AWS CDK (TypeScript) for infrastructure as code
- AWS Lambda for business logic
- Amazon DynamoDB for data storage
- Amazon Cognito for authentication
- Amazon Bedrock Knowledge Base for policies
**Application:**
- Python 3.12 with async/await patterns
- Pydantic for configuration and data validation
- UV package manager for dependency management
## Business Impact
### Operational Efficiency
- **4x faster support interactions** (12 minutes → 2-3 minutes)
- **24/7 intelligent assistance** without staffing costs
- **Reduced abandoned bookings** through policy clarity
- **Improved customer retention** via seamless modifications
### Customer Experience
- **Conversational booking** instead of form-filling
- **Proactive policy guidance** prevents booking mistakes
- **Contextual recommendations** based on actual preferences
- **Seamless cross-session continuity**
## Competition Highlights
This project demonstrates:
1. **Multiple AgentCore Services**: Memory, Gateway, Runtime, and Identity working together
2. **Third-Party Integration**: AWS Strands Agents framework with production deployment
3. **Real Business Value**: Solving actual hotel booking pain points with measurable impact
4. **Production Architecture**: Error handling, observability, and scalable infrastructure
5. **Advanced AI Patterns**: Policy-aware workflows and intelligent agent orchestration
## Documentation
- **[Blog Post](https://dev.to/mohsinsheikhani/building-production-multi-agent-systems-my-experience-with-amazon-bedrock-agentcore-and-aws-41h2)**: Building Production Multi-Agent Systems: My Experience with Amazon Bedrock AgentCore, and AWS Strands Agents
## AWS AI Engineering Month
This project showcases the transformative potential of AWS Strands Agents and Amazon Bedrock AgentCore for building production-ready multi-agent systems. By combining Memory persistence, Gateway tool access, Runtime scalability, and Identity security, we've created a foundation for AI workflows that solve real business problems at scale.
**The future of customer service: intelligent agent teams that think, remember, and collaborate like the best human support staff.**