{"id":36442359,"url":"https://github.com/mohsinsheikhani/multi-agent-hotel-assistant","last_synced_at":"2026-01-18T15:00:29.658Z","repository":{"id":317263509,"uuid":"1065295435","full_name":"mohsinsheikhani/multi-agent-hotel-assistant","owner":"mohsinsheikhani","description":"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.","archived":false,"fork":false,"pushed_at":"2025-09-29T20:05:20.000Z","size":253,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-29T22:12:49.682Z","etag":null,"topics":["a2a","a2a-protocol","aws","aws-cdk-typescript","aws-lambda","bedrock-agentcore","dynamodb","mcp","strands-agents"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohsinsheikhani.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-27T12:41:47.000Z","updated_at":"2025-09-29T21:19:17.000Z","dependencies_parsed_at":"2025-09-29T22:12:58.065Z","dependency_job_id":"98c96512-df1b-427d-b92c-ddf3acc9ec62","html_url":"https://github.com/mohsinsheikhani/multi-agent-hotel-assistant","commit_stats":null,"previous_names":["mohsinsheikhani/multi-agent-hotel-assistant"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mohsinsheikhani/multi-agent-hotel-assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsinsheikhani%2Fmulti-agent-hotel-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsinsheikhani%2Fmulti-agent-hotel-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsinsheikhani%2Fmulti-agent-hotel-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsinsheikhani%2Fmulti-agent-hotel-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohsinsheikhani","download_url":"https://codeload.github.com/mohsinsheikhani/multi-agent-hotel-assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsinsheikhani%2Fmulti-agent-hotel-assistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28538865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T14:59:57.589Z","status":"ssl_error","status_checked_at":"2026-01-18T14:59:46.540Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["a2a","a2a-protocol","aws","aws-cdk-typescript","aws-lambda","bedrock-agentcore","dynamodb","mcp","strands-agents"],"created_at":"2026-01-11T22:00:18.247Z","updated_at":"2026-01-18T15:00:29.649Z","avatar_url":"https://github.com/mohsinsheikhani.png","language":"TypeScript","funding_links":[],"categories":["Community Projects"],"sub_categories":["For PyPI Packages"],"readme":"# Multi-Agent Hotel Booking Assistant\n\n\u003e **AWS AI Engineering Month Competition Submission**  \n\u003e *Building with Agents using Amazon Bedrock AgentCore and AWS Strands*\n\nA production-ready multi-agent system that transforms complex hotel booking workflows into natural conversations through intelligent agent orchestration.\n\n## The Problem\n\nHotel 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.\n\n**Real-world pain points:**\n- 2 AM booking changes that require calling customer service\n- Hidden cancellation fees discovered too late\n- Starting over when modifying existing bookings\n- No memory of previous preferences or conversations\n\n## The Solution\n\nInstead of building another booking form, I created a team of AI specialists that work together like a hotel's back-office staff:\n\n\u003cimg width=\"2150\" height=\"1160\" alt=\"multi-agent-bedrock-agentcore-aws-strands-agents\" src=\"https://github.com/user-attachments/assets/eba2d9a0-a232-4aa7-acce-515bbf0db022\" /\u003e\n\n## Architecture Overview\n\n### Multi-Agent Orchestration\n- **Supervisor Agent**: Orchestrates workflows with persistent memory and policy-aware routing\n- **Specialized Agents**: Each handles a specific domain (search, booking, policies, notifications)\n- **A2A Communication**: Agents collaborate through Agent-to-Agent protocols\n- **Policy-Aware Workflows**: Automatic compliance checking before any booking action\n\n### Amazon Bedrock AgentCore Integration\n- **Memory Service**: Persistent conversation context across sessions (7-day retention)\n- **Gateway Service**: Secure Lambda function access via Model Context Protocol (MCP)\n- **Runtime Service**: Production deployment with automatic scaling and observability\n- **Identity Service**: OAuth2 authentication with fine-grained access control\n\n### AWS Infrastructure\n- **Lambda Functions**: Business logic for hotel inventory, booking, and policy management\n- **DynamoDB**: Hotel inventory and reservation data storage\n- **Cognito**: Authentication and authorization for AgentCore Gateway\n- **Knowledge Base**: Hotel policies and advisory information (Bedrock Knowledge Base)\n\n## Key Capabilities\n\n### Intelligent Conversations\n```\nUser: \"I need to cancel my booking for next week, but I'm worried about fees.\"\n\nTraditional System: Navigate → Find booking → Read policy → Call support → Wait → Explain...\n\nOur System: \n1. Supervisor identifies policy-sensitive cancellation\n2. Guest Advisory Agent retrieves specific policy\n3. Reservation Agent calculates exact fees and alternatives\n4. Present clear options: \"Cancelling now = $50 fee, modifying dates = free until tomorrow\"\n5. User chooses, system executes, confirmation sent\n```\n\n### Memory That Matters\n- Remembers preferences across sessions (\"ground floor rooms like last time\")\n- Maintains conversation context (\"your previous concern about cancellation fees\")\n- Enables intelligent recommendations based on history\n\n### Production-Ready Architecture\n- **Error Handling**: Graceful degradation when components fail\n- **Observability**: Deep insights into agent interactions and performance\n- **Scalability**: Independent agent scaling based on demand\n- **Security**: End-to-end authentication and authorization\n\n## 📁 Project Structure\n\n```\n├── app/                    # Multi-agent application\n│   ├── src/\n│   │   ├── agents/        # Individual agent implementations\n│   │   ├── core/          # Supervisor and memory management\n│   │   ├── config/        # Configuration management\n│   │   └── utils/         # Shared utilities\n│   └── scripts/           # Development and deployment tools\n│\n├── infrastructure/         # AWS CDK infrastructure\n│   ├── lib/\n│   │   ├── constructs/    # Reusable CDK constructs\n│   │   └── config/        # Infrastructure configuration\n│   └── lambda/            # Lambda function implementations\n│\n└── README.md              # This file\n```\n\n## Technology Stack\n\n**AI \u0026 Agents:**\n- Amazon Bedrock AgentCore (Memory, Gateway, Runtime, Identity)\n- AWS Strands Agents (Multi-agent framework)\n- Model Context Protocol (MCP) for tool integration\n- Agent2Agent Protocol (A2A) for multi-agent communication\n\n**Infrastructure:**\n- AWS CDK (TypeScript) for infrastructure as code\n- AWS Lambda for business logic\n- Amazon DynamoDB for data storage\n- Amazon Cognito for authentication\n- Amazon Bedrock Knowledge Base for policies\n\n**Application:**\n- Python 3.12 with async/await patterns\n- Pydantic for configuration and data validation\n- UV package manager for dependency management\n\n## Business Impact\n\n### Operational Efficiency\n- **4x faster support interactions** (12 minutes → 2-3 minutes)\n- **24/7 intelligent assistance** without staffing costs\n- **Reduced abandoned bookings** through policy clarity\n- **Improved customer retention** via seamless modifications\n\n### Customer Experience\n- **Conversational booking** instead of form-filling\n- **Proactive policy guidance** prevents booking mistakes\n- **Contextual recommendations** based on actual preferences\n- **Seamless cross-session continuity**\n\n## Competition Highlights\n\nThis project demonstrates:\n\n1. **Multiple AgentCore Services**: Memory, Gateway, Runtime, and Identity working together\n2. **Third-Party Integration**: AWS Strands Agents framework with production deployment\n3. **Real Business Value**: Solving actual hotel booking pain points with measurable impact\n4. **Production Architecture**: Error handling, observability, and scalable infrastructure\n5. **Advanced AI Patterns**: Policy-aware workflows and intelligent agent orchestration\n\n## Documentation\n\n- **[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\n\n## AWS AI Engineering Month\n\nThis 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.\n\n**The future of customer service: intelligent agent teams that think, remember, and collaborate like the best human support staff.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohsinsheikhani%2Fmulti-agent-hotel-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohsinsheikhani%2Fmulti-agent-hotel-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohsinsheikhani%2Fmulti-agent-hotel-assistant/lists"}