🏨 OREA Hotels

Technická architektura - AI Asistent

🏨 OREA Hotels - AI Asistent

Technická architektura s MCP, Azure AI Search a postupnou implementací

1

PoC - Proof of Concept

4-6 týdnů | Interní použití

👤
Web App + Widget
Entra ID auth | Embedded do webu
🎯
Simple Router + GPT-4.1-mini
Orchestrace dotazů
📅
MCP Server - Events (Azure Container)
Samostatný kontejner pro Events
🔍
Azure AI Search
Vektorové + Fulltextové vyhledávání
💾
Knowledge Base (Strapi)
Relevantní kolekce pro události
🤖
GPT-4.1 / GPT-5 (Azure OpenAI)
Finální skládání odpovědí
Odpovědi na dotazy o akcích a programech z KB
Rychlé vyhledávání přes Azure AI Search
Odkazy na KB zdroje pro verifikaci
CI/CD pipeline a správná infrastruktura od začátku

📝 Příklad dotazu:

"Jaké máte vánoční programy?"
→ Azure AI Search najde relevantní články → MCP zkombinuje data → GPT-4.1sestaví odpověď

2

MVP - Plná KB orchestrace

8-10 týdnů | Interní použití

👥
Multi-channel
Web + Widget + API
🧠
Langchain/LangGraph
Inteligentní orchestrace více MCP
↓ ↙ ↘
📅
Events MCP
FAQ MCP
💆
Wellness MCP
🍽️
F&B MCP
🗺️
Discovery MCP
Extras MCP
Redis Cache
~10ms | FAQ, Otevírací doby
🔍
Azure AI Search
~100ms | Sémantické vyhledávání
🗄️
Kompletní KB
Všechny oblasti + Vector DB
Orchestrace 6 MCP serverů současně
Redis cache pro často používaná data
Kombinace dat z více oblastí KB
Pokročilá analytika a reporting

📝 Příklad dotazu:

"Můžu jít po brunchi do wellness?"
→ Langchain orchestruje Events MCP + Wellness MCP → Cache/AI Search → GPT-4.1vytvoří inteligentní odpověď

3

Enterprise - Externí integrace

Dle dohody | Externí nasazení

🌍
Veřejný přístup
Hosté + Zaměstnanci
🚀
Enterprise Orchestrator
Langchain + Business logic
📚 6x KB MCP Servery
+ Nové externí MCP:
🏨
Booking MCP
👤
CRM MCP (Fabric)
🔑
PMS MCP
💰
Pricing MCP
Real-time dostupnost a ceny z externích systémů
Personalizace na základě CRM dat
Kompletní rezervační proces
Business intelligence (finanční výsledky, analýzy)

📝 Příklad dotazu:

"Máte volný pokoj na vánoce s wellness?"
→ KB (programy) + Booking (dostupnost) + Pricing (cena) = Nabídka s možností rezervace

🔍 PoC Fáze - Technický Detail

🎯 Klíčové principy PoC fáze

  • Správná infrastruktura od začátku (CI/CD, Azure deployment)
  • Azure AI Search místo přímého dotazování do Knowledge Base
  • Každý MCP = samostatný Azure Container
  • Použití GPT-4.1-mini pro orchestraci, GPT-4.1/GPT-5 pro finální odpovědi

📊 Architektura Flow

1
User Input

Uživatel zadá dotaz přes Web App (Entra ID auth) nebo Widget na webu

2
Simple Router + GPT-4.1-mini

Router analyzuje dotaz, identifikuje potřebu dotazu na Events MCP

3
Events MCP Server (Azure Container)

Samostatný kontejner zpracovává dotaz a volá Azure AI Search

4
Azure AI Search

Vektorové + Fulltextové vyhledávání v indexovaných datech z KB
Rychlejší a levnější než přímé dotazování do Knowledge Base

5
Knowledge Base (Strapi)

Relevantní kolekce pro události hotelů (programy, akce, wellness, atd.)

6
GPT-4.1 / GPT-5 (Azure OpenAI)

Složení finální odpovědi z nalezených dat v kontextu konverzace

7
Response + KB Links

Uživatel dostane odpověď s odkazy přímo do Knowledge Base pro verifikaci zdrojů

🛠️ Technologie Stack

🔵 Azure AI Search

Role: Vektorové + Fulltextové vyhledávání

Důvod: 10-50x rychlejší než přímé API dotazy do Knowledge Base

Latence: ~100ms

🤖 Azure OpenAI

GPT-4.1-mini: Orchestrace, routing

GPT-4.1 / GPT-5: Finální skládání odpovědí

Embedding models: Vektorizace (pokud potřeba)

📦 MCP Protocol

Anthropic MCP: Listopad 2024

Deployment: Azure Container Apps

Izolace: Každý MCP = samostatný kontejner

🔐 Entra ID

Auth: Azure AD / Entra ID

SSO: Integrace s firemním účtem

Permissions: Role-based access

🚀 CI/CD Pipeline

Azure DevOps: Automatický deployment

Containers: Docker + Azure Container Apps

Infrastruktura: Správně od začátku

💾 Knowledge Base

CMS: Strapi

Events kolekce: Relevantní kolekce s vazbami na hotel

Synchronizace: Real-time přes API

📚 Knowledge Base - Events Structure

PoC pracuje s relevantními kolekcemi pro Events oblast hotelů:

Události a programy - Základní informace o událostech a hotelových programech
Vazby na hotely - Přiřazení událostí ke konkrétním hotelům
Nastavení a metadata - Globální nastavení a rozšiřující informace

⚠️ Důležitá úloha: Čištění duplicit a překrývajících se článků ve spolupráci s AAG

🎯 MVP Fáze - Technický Detail

🎯 Klíčové rozšíření v MVP

  • Langchain/LangGraph pro orchestraci více MCP serverů
  • Redis Cache pro často používaná data (~10ms latence)
  • 6 samostatných MCP serverů (každý = Azure Container)
  • Multi-channel přístup (Web + Widget + API)

📊 Orchestrace Flow s Langchain

1
User Query

"Můžu jít po brunchi do wellness?"

2
Langchain/LangGraph Orchestrator

Analyzuje dotaz → Identifikuje potřebu volat Events MCP + Wellness MCP

3
Paralelní volání MCP serverů

Events MCP: Najde čas konce brunche (např. 14:00)
Wellness MCP: Najde otevírací dobu wellness (např. 10:00-20:00)

4
Cache Check (Redis)

Kontrola, zda jsou data v cache (~10ms)
Pokud ne → Azure AI Search (~100ms)

5
Data Aggregation

Langchain agreguje výsledky z obou MCP serverů

6
GPT-4.1 / GPT-5 Response Composition

"Ano, brunch končí ve 14:00 a wellness je otevřené do 20:00, takže máte dostatek času."

🛠️ MCP Servery v MVP

📅 Events MCP

Hotelové akce, programy, události

Kolekce: Relevantní kolekce pro události hotelů

❓ FAQ MCP

Často kladené otázky

Cache: 100% v Redis (statická data)

💆 Wellness MCP

Wellness služby, otevírací doby, programy

Cache: Částečně (otevírací doby, statické info)

🍽️ F&B MCP

Restaurace, bary, room service, jídelní lístky

Update: Denně (menu změny)

🗺️ Discovery MCP

Okolí hotelu, atrakce, doporučení

Cache: Většina dat (statické)

➕ Extras MCP

Doplňkové služby, aktivity

Mix: Cache + Real-time

⚡ Data Strategy v MVP

⚡ Redis Cache (~10ms)

Co: FAQ, otevírací doby, statické články

Update: Každou hodinu

Hit rate: Očekáváno ~60-70%

🔍 Azure AI Search (~100ms)

Co: Sémantické vyhledávání, komplexní dotazy

Update: 1x denně (indexace)

Použití: Cache miss nebo složité dotazy

🔄 Real-time KB (~200ms)

Co: Aktuální změny, které nejsou v cache/search

Update: Okamžitě

Použití: Fallback, critical updates

🚀 Enterprise Fáze - Technický Detail

🎯 Enterprise Rozšíření

  • Integrace externích systémů (Booking, CRM/Fabric, PMS, Pricing)
  • Veřejný přístup pro hosty (ne jen zaměstnanci)
  • Real-time dostupnost pokojů a ceny
  • Business intelligence (finanční výsledky, analýzy)
  • Kompletní rezervační proces

📊 Komplexní Use Case Flow

1
Guest Query

"Máte volný pokoj na vánoce s wellness programem?"

2
Enterprise Orchestrator

Langchain identifikuje potřebu:
- Vánoční program (Events MCP + KB)
- Dostupnost pokojů (Booking MCP)
- Cena (Pricing MCP)
- Wellness info (Wellness MCP)

3
Paralelní dotazy na 4 MCP servery

Events MCP: Vánoční programy s datumy
Booking MCP: Real-time dostupnost pokojů (API booking systému)
Pricing MCP: Aktuální ceny + speciální nabídky
Wellness MCP: Wellness vybavení a služby v hotelu

4
CRM Lookup (Optional)

Pokud host přihlášen → načtení z CRM/Fabric:
- Historie návštěv
- Preference
- Loyalty status → personalizované nabídky

5
GPT-4.1 / GPT-5 Comprehensive Response

"Ano, máme dostupné pokoje 24.-26.12. Hotel nabízí vánoční gala večeři 24.12. a wellness balíček. Cena od 8.500 Kč/noc včetně snídaně. [Tlačítko: Rezervovat]"

6
Booking Flow (Optional)

Host klikne na "Rezervovat" →
PMS MCP vytvoří rezervaci →
Confirmation email + CRM update

🔗 Externí MCP Servery

🏨 Booking MCP

Integrace: API booking systému (TBD)

Funkce: Real-time dostupnost pokojů, rezervace

Latence: ~300-500ms (externí API)

👤 CRM MCP (Fabric)

Integrace: Microsoft Fabric nebo CRM API

Funkce: Historie hostů, preference, loyalty, personalizace

Data: Finanční výsledky, analýzy (pro zaměstnance)

🔑 PMS MCP

Integrace: Property Management System API

Funkce: Správa rezervací, check-in/out, room management

Auth: Secure API tokens

💰 Pricing MCP

Integrace: Revenue management system

Funkce: Dynamické ceny, speciální nabídky, packages

Update: Real-time (ceny se mění)

💡 Business Intelligence Use Case

Dotaz manažera: "Jaké byly finanční výsledky Q4 2024 a co je ovlivnilo?"

Proces:
1. CRM/Fabric MCP → Finanční data z Q4
2. Events MCP → Jaké akce proběhly v Q4
3. Booking MCP → Occupancy rate v Q4
4. GPT-4.1 / GPT-5 → Analýza korelací a doporučení

Odpověď: "Q4 2024: tržby 12.5M Kč (+8% YoY). Hlavní růst z vánočních programů (Events) a vysoké obsazenosti 85%. Doporučení: rozšířit vánoční nabídku pro Q4 2025."

💰 Enterprise Considerations

Analýza externích API (Booking, PMS, CRM) Potřeba detailní analýzy
Bezpečnost a GDPR compliance Kritické
Latence externích API 300-1000ms možné
Fallback strategie při API outage Nutné řešit

❓ Otázky pro indikativní odhad Enterprise fáze

Pro přesnější odhad nákladů a časového plánu potřebujeme následující informace:

💡 Naše standardní předpoklady:
• AI asistent bude pouze číst data z externích systémů (Booking, PMS, CRM, atd.)
• Write operace (úpravy dat, vytváření rezervací) výrazně zvyšují složitost a cenu
• Oprávnění lze řešit buď na úrovni MCP serverů (jednodušší), nebo respektovat oprávnění ze zdrojových systémů (složitější)

🎯 Obecné požadavky

🏨 Booking systém

🔑 Property Management System (PMS)

👤 CRM systém

📊 Data & Analytics (Microsoft Fabric, Power BI, atd.)

💰 Pricing / Revenue Management

📊 Rozsah & Požadavky

🔌 Další požadované integrace / MCP servery

⏱️ Timeline & Priority

💻 Interface & User Experience

🌐 Web Application

Authentication: Azure Entra ID (SSO)
Přístup: Zaměstnanci OREA Hotels
Features: Chat interface, historie konverzací
Verifikace: Odkazy přímo do Knowledge Base pod každou odpovědí
Export: Konverzace, reporty

Use case: Zaměstnanec recepce hledá informace o vánočním programu pro hosta

💬 Embedded Widget

Integrace: 1 řádek JavaScript kódu
Umístění: Pravý dolní roh webu (customizable)
Vzhled: Bublinka s minimalizací/maximalizací
Responsive: Desktop + Mobile optimalizace
Branding: OREA colors & logo

Use case: Host se ptá na recepci na wellness programy - recepční najde odpověď rychle bez složitého hledání v systému

🔧 Admin Vizualizace

Debug view: Kroky zpracování dotazu
MCP calls: Které MCP byly volány
KB vazby: Vizualizace vztahů mezi entitami
Performance: Latence jednotlivých komponent
Logs: Bez nutnosti konzolových logů na serveru

Use case: Pavel/Jakub ladí problém s nesprávnou odpovědí - vidí které články byly použity

📝 Prompt Management

🎯 Prompty mimo kód

  • Prompty uložené mimo kód (např. Azure Blob Storage nebo config)
  • Editovatelné bez nového commit do repo
  • Verzování změn v promptech
  • Možnost A/B testování různých promptů
  • Role-based přístup k editaci (kdo může měnit prompty)

🖥️ UI Mockup Flow

1
User Input

Uživatel zadá: "Jaké máte vánoční programy v Hluboké?"

2
Typing Indicator

Animovaná "..." indikace během zpracování (~2-3s)

3
Response

Formátovaná odpověď s:
- Strukturovaný text
- Bullet points pro přehlednost
- Zvýrazněné důležité info (ceny, datumy)

4
Source Links

Pod odpovědí odkazy na KB články:
"📄 Zdroje: Vánoční program 2024, Hotel Hluboká - Events"
(Pouze pro interní použití, hosté nevidí)

5
Follow-up Suggestions

Tlačítka s návrhy dalších dotazů:
"💆 Co zahrnuje wellness?" | "💰 Kolik stojí pobyt?" | "🗓️ Je ještě volno?"