Generative AI-Powered Knowledge Sharing System for Travel Expertise
hotelplan_suisse · Other · 2024 · source Agentic: yes · promotional bias: high · source-backed · extracted with prompt 0.5.6 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: travel sales knowledge sharing
Hotelplan Suisse wanted to make distributed travel expertise instantly available to sales staff so they could answer detailed customer travel questions without waiting for colleagues in another expertise area.
Constraints:
- Hotelplan operates four travel brands and 82 branches
- the booking team depends on expert knowledge about specific countries and locations
- customer questions outside a staff member's expertise required consulting other team members
- the system had to combine internal expert knowledge with external, structured, and unstructured data
- outputs needed guardrails against hallucinations and harmful content
- the production system needed logging, unit tests, CI/CD, and separation between frontend and backend LLM logic
Architecture
Datatonic and Hotelplan built a Google Cloud generative AI knowledge-sharing chatbot for internal sales staff. The system ingests 10+ internal and external sources through an automated versioned-ingestion pipeline, uses semantic search to retrieve relevant travel knowledge, calls backend LLM logic behind a Gradio frontend, applies guardrails for undesirable outputs, lets users save and reload chat history, logs LLM inputs and outputs to BigQuery, and is delivered through production CI/CD with unit tests.
Diagram confidence: reconstructed (reconstructed from prose).
flowchart LR hotelplan_sales_staff["Hotelplan sales staff"] --> knowledge_sharing_chatbot["Knowledge sharing chatbot"] internal_and_external_data_sources["Internal and external data sources"] --> automated_ingestion_pipeline["Automated ingestion pipeline"] automated_ingestion_pipeline --> semantic_search_layer["Semantic search layer"] knowledge_sharing_chatbot --> backend_llm_logic["Backend LLM logic"] backend_llm_logic --> semantic_search_layer semantic_search_layer --> backend_llm_logic backend_llm_logic --> guardrails["Guardrails"] guardrails --> backend_llm_logic backend_llm_logic --> knowledge_sharing_chatbot knowledge_sharing_chatbot --> chat_history_store["Chat history store"] chat_history_store --> knowledge_sharing_chatbot backend_llm_logic --> bigquery_llm_logging["BigQuery LLM logging"] ci_cd_and_unit_tests["CI/CD and unit tests"] --> backend_llm_logic ci_cd_and_unit_tests --> automated_ingestion_pipeline
Components
| Component | Role | Interacts with |
|---|---|---|
Hotelplan sales staff |
Internal users who ask travel questions and use generated recommendations when advising customers. | Knowledge sharing chatbot |
Knowledge sharing chatbot |
Staff-facing Gradio chatbot interface for entering questions, receiving recommendations, and resuming conversations. | Backend LLM logic, Chat history store |
Internal and external data sources |
Travel expertise, structured data, and unstructured content used to answer destination and itinerary questions. | Automated ingestion pipeline |
Automated ingestion pipeline |
Loads new versions of 10+ data sources into the retrieval layer. | Semantic search layer |
Semantic search layer |
Retrieves relevant internal and external travel knowledge for a staff question. | Backend LLM logic |
Backend LLM logic |
Runs LLM calls and generation logic separately from the frontend. | Semantic search layer, Guardrails, BigQuery LLM logging, Knowledge sharing chatbot |
Guardrails |
Constrains chatbot outputs to reduce hallucinations and harmful content. | Backend LLM logic |
Chat history store |
Persists and reloads user chat histories across sessions. | Knowledge sharing chatbot |
BigQuery LLM logging |
Stores LLM inputs and outputs in Hotelplan's Google Cloud project for monitoring and review. | — |
CI/CD and unit tests |
Automated deployment and basic functionality checks for APIs, data availability, and processing logic. | Backend LLM logic, Automated ingestion pipeline |
Data flow
Internal and external travel knowledge sources are ingested through an automated pipeline whenever new data versions arrive. A sales staff user asks a travel question in the chatbot frontend; backend LLM logic retrieves relevant knowledge through semantic search, generates a guarded response, returns it to the user, saves chat history when requested, and logs LLM inputs and outputs in BigQuery for monitoring and review.
3 supporting quotes
Why this architecture
The architecture centralizes expertise that was previously distributed across people and branches. Semantic search over internal, external, structured, and unstructured data lets the chatbot answer beyond a single staff member's location expertise; backend separation, tests, CI/CD, logging, and guardrails make the Gradio prototype production-ready enough for an internal sales-support rollout.
3 supporting quotes
Models used: Google Cloud generative AI
Scale
- Hotelplan Suisse operates four travel brands.“Hotelplan Suisse is Switzerland’s largest tour operator and operates with four travel brands”article, stated
- Hotelplan advises customers online and in person across 82 branches.“trained travel experts advising customers online and in-person across their 82 branches.”article, stated
- The knowledge base represents the connected expertise of more than 500 travel experts.“answer detailed customer questions and needs with the connected travel expertise of 500+ travel experts in seconds.”article, stated
- The ingestion pipeline handles more than 10 internal and external data sources.“Ingests data from 10+ internal and external sources with an automated pipeline for ingestion of new versions of the data sources”article, stated
- Recommendation turnaround is described as moving from hours to minutes.“Accelerated the time to provide expert recommendations to travel questions from hours to minutes”article, stated
Alternatives considered (roads not taken)
Continue colleague-to-colleague expert consultation
Rejected because: Consulting other specialists worked but took time when a customer's destination fell outside the current staff member's expertise.
Expose only internal expert knowledge
Rejected because: Hotelplan wanted the chatbot to combine staff know-how with external, structured, and unstructured data through semantic search.
Keep frontend and LLM call logic coupled
Rejected because: The delivery team explicitly refactored the Gradio frontend away from backend LLM calls as part of productionizing the system.
Run the chatbot without output guardrails
Rejected because: The deployed tool needed guardrails to prevent hallucinations and harmful content before supporting sales staff.
Patterns
rag-retrieval (knowledge sharing)
The chatbot uses semantic search over internal expert knowledge plus external structured and unstructured data to answer travel questions for sales staff.
guardrails-io-filtering (safe generation)
The system includes output guardrails to reduce hallucinations and harmful content in generated travel recommendations.
agent-memory (conversation continuity)
Users can save the current chat history and load prior conversations in a new session, making the assistant stateful across interactions.
eval-driven-development (acceptance testing)
The delivery team tuned prompts through multiple UAT rounds and added automated unit tests for APIs, data availability, and processing logic.
observability-tracing (LLM operations)
Inputs and outputs from the LLMs are logged in Hotelplan's Google Cloud project and made available in BigQuery.
data-quality-loop (source refresh)
The system ingests new versions of more than 10 internal and external sources, keeping the retrieval corpus aligned with changing travel information.
Tradeoffs
Assist sales staff instead of replacing the travel expert workflow.
Chose An internal staff knowledge-sharing chatbot over A direct customer-facing travel planner.
Rationale: The source positions trained staff as the users who advise customers, so the AI accelerates expert recommendation work rather than removing the staff mediation layer.
Use a semantic-search chatbot over manual expert handoff.
Chose Generative AI over connected internal and external travel knowledge over Waiting for colleagues with destination-specific expertise.
Rationale: Semantic search reduced the time to provide recommendations from hours to minutes while preserving access to specialized expertise.
Use an automated ingestion pipeline.
Chose Automated ingestion of new source versions over Static or manual updates to the knowledge corpus.
Rationale: Travel information changes, and the system needed 10+ source feeds to stay current without manual refresh work.
Preserve conversation continuity.
Chose Save and reload chat histories over Stateless one-off Q&A sessions.
Rationale: Travel planning can involve multi-turn context, so saved histories make it possible to continue prior advice sessions.
Gotchas (what bit them)
Expert knowledge was siloed by destination and location.
Root cause: Travel experts had deep knowledge of specific countries and locations, so staff needed to consult colleagues when customer needs fell outside their area.
Resolution: Build a knowledge-sharing chatbot that connects staff to the combined expertise of more than 500 travel experts plus external data.
Generation quality had to be improved through user acceptance testing rather than assumed from the base model.
Root cause: The source frames prompt tuning and multiple UAT rounds as necessary delivery work to improve performance.
Resolution: Tune prompts and iterate with UAT before production rollout.
A prototype-style Gradio frontend was not enough as a production boundary.
Root cause: Frontend concerns and backend LLM calls needed separation for maintainability and deployment.
Resolution: Refactor the Gradio frontend away from backend LLM logic and add production CI/CD.
Travel recommendations needed protection against hallucinated or harmful outputs.
Root cause: The chatbot generates advice from diverse sources, so unguarded outputs could mislead staff or customers.
Resolution: Add guardrails to prevent undesirable outputs.
Evaluation
The case reports multiple rounds of UAT, prompt tuning, automated unit tests for APIs/data availability/processing logic, and LLM input-output logging to BigQuery rather than a detailed offline benchmark.
Metrics: 10+ internal and external data sources ingested · automated unit tests for APIs, data availability, and processing logic · multiple rounds of UAT · recommendation time improved from hours to minutes
3 supporting quotes
Outcomes
- Hotelplan's sales staff gained a generative AI tool for faster and better travel recommendations.
- The time to provide expert travel recommendations moved from hours to minutes.
- The system is being rolled out to accelerate the sales process and serve personalized recommendations faster.
- Datatonic and Hotelplan also began applying GenAI to marketing and content workflows for location descriptions and blogs.
The rollout targets Switzerland's largest tour operator, four brands, 82 branches, more than 500 travel experts, and a retrieval corpus spanning more than 10 internal and external sources.