Skip to content

prernaaagarwal/Sakhi

Repository files navigation

Sakhi

AI Voice Agent for Hotel Operations

Building production-grade AI systems that handle the messy realities of real-world deployment — not just polished demos.

Demo Status License


📋 Table of Contents


Overview

Sakhi is an AI-powered voice agent designed to handle high-volume guest interactions in hotel operations — spanning support, reservations, and front office services.

The core insight: Most AI hotel assistants are chatbots. Sakhi is an operational workflow layer that integrates with existing hotel systems to complete tasks, not just answer questions.

Why This Matters

Unlike proof-of-concept demos, Sakhi is built for production environments with:

  • Noisy, real-world inputs (diverse accents, background noise)
  • Real-time operational constraints
  • Critical system integrations (PMS, ticketing systems)
  • Human expectations for reliability and accuracy

The Problem

The Operational Bottleneck

Hotels face a crushing burden of repetitive, high-frequency guest calls:

"Can I get extra towels?"
"What's the WiFi password?"
"Is early check-in available?"
"I need a wake-up call at 6 AM."

Impact on Operations

Pain Point Consequence
Staff overload during peak hours Guest service quality degrades
Slow response times Guest satisfaction drops
Low-value repetitive tasks Staff can't focus on high-touch experiences
Manual ticketing overhead Increased operational costs

The Real Issue: Not intelligence — it's workflow efficiency.


Product Thesis

Core Belief

AI in hospitality should not replace humans.

Instead, it should:

  1. Handle repetitive workflows → Free up staff capacity
  2. Augment efficiency → Enable staff to focus on high-value tasks
  3. Preserve human touch → Escalate complex interactions seamlessly

Positioning

Sakhi is not a chatbot.
Sakhi is an AI operations layer for hotel workflows.


How It Works

User Journey

Guest Call → Speech Recognition → Intent Detection → Decision Engine → Action Layer → Response → Confirmation → (Escalate if needed)

Core Capabilities

1. 🎧 Support Automation

  • FAQs: WiFi passwords, amenity locations, operating hours
  • Ticketing: Automated creation for housekeeping and maintenance requests
  • Status Updates: Real-time tracking and notifications

2. 📅 Reservations

  • Availability Checks: Real-time integration with PMS systems (AxisRooms, Oracle)
  • Booking Processing: New reservations and modifications
  • Confirmation Handling: Automated confirmation and follow-ups

3. 🏨 Front Office Requests

  • Check-in/Checkout: Late checkout requests, early check-in availability
  • Guest Services: Wake-up calls, room service requests
  • Special Requests: Custom guest needs and preferences

System Architecture

High-Level Flow

graph LR
    A[User Call] --> B[Speech-to-Text]
    B --> C[Intent Detection<br/>LLM Layer]
    C --> D[Decision Engine]
    D --> E[Action Layer]
    E --> F1[PMS Integration]
    E --> F2[Ticketing System]
    E --> F3[Knowledge Base]
    F1 --> G[Response Generation]
    F2 --> G
    F3 --> G
    G --> H[Text-to-Speech]
    H --> I[Response to User]
    D --> J[Fallback: Human Agent<br/>with Full Context]
Loading

Technology Stack

  • Speech Processing: Real-time STT/TTS optimized for Indian accents
  • NLU Engine: Custom LLM layer for intent classification
  • Integration Layer: RESTful APIs for PMS and operational systems
  • Fallback System: Seamless human escalation with conversation context transfer

Key Product Decisions

1. Human-in-the-Loop by Design

The Problem: Full automation fails spectacularly in edge cases.

Our Approach:

  • Built seamless escalation with full context transfer
  • Zero information loss during handoff
  • Guests never repeat themselves

Why It Works: Trust is built through reliability, not perfection.


2. Workflow Integration > Standalone Intelligence

The Problem: AI without actionability creates friction.

Our Approach:

  • Deep PMS integration (AxisRooms, Oracle)
  • Operational system connectivity (ticketing, notifications)
  • Focus on task completion, not just conversation

Why It Works: Users care about outcomes, not clever responses.


3. Reliability Over Raw Intelligence

The Problem: Highly variable outputs destroy user trust.

Our Approach:

  • Structured flows with guardrails
  • Predictable behavior over impressive but inconsistent responses
  • Constrained decision trees for common paths

Why It Works: In operations, predictability > intelligence.


4. Built for Real-World Indian Context

The Reality:

  • Diverse accents (Hindi, Tamil, Telugu, Bengali)
  • High background noise in hotel environments
  • Operational variability across properties

Our Approach:

  • Accent-robust speech models
  • Noise-filtering pipeline
  • Configurable per-property workflows

Why It Works: AI that works in labs ≠ AI that works in hotels.


Deployment & Impact

Pilot Deployment

Properties:

  • Bloom Hotels (Bangalore)
  • Ginger Hotels (Bangalore)
  • Lemon Tree Hotels (Bangalore)

Duration: 6-month pilot program

Real-World Constraints Encountered

Challenge Impact Solution
Staff adoption resistance Low initial usage Champion network + peer-led training
System reliability expectations Zero tolerance for failures Graceful degradation + fast escalation
Integration dependencies Third-party API reliability Retry logic + fallback paths
Diverse use cases Edge cases we didn't anticipate Iterative workflow refinement

Change Management Strategy

The Insight: AI adoption is a behavior problem, not a technology problem.

Our Approach:

  1. Champion Network: Identified early adopters in each property
  2. Peer-Led Onboarding: Staff training by staff, not vendors
  3. Real-Time Feedback Loops: Weekly iteration cycles with teams

Results:

  • 3x faster adoption than top-down training
  • Higher trust in the system
  • Organic feature requests from staff

Impact Metrics

Operational Efficiency

  • 40% reduction in repetitive call volume
  • 2.5 minutes average time saved per interaction
  • 60%+ automation rate for support queries

Guest Experience

  • < 5 seconds average response time
  • 85% resolution without human escalation
  • 4.2/5 guest satisfaction score for AI interactions

Staff Impact

  • 15+ hours/week freed up per property
  • Focus shift to high-value guest interactions
  • Reduced burnout from repetitive tasks

Demo

Live Demo

👉 Try Sakhi Live

Example Interaction

Guest: "Hi, I need to checkout late tomorrow. My flight is at 8 PM."

Sakhi: "I'd be happy to help with a late checkout. Let me check availability."
      [Checks PMS system]
      "Good news — late checkout until 3 PM is available at no charge. 
       Would you like me to confirm that for you?"

Guest: "Yes, please."

Sakhi: "Perfect. I've updated your reservation for late checkout at 3 PM 
       tomorrow. You'll receive a confirmation text shortly. Is there 
       anything else I can help with?"

Key Behaviors:

  • Real-time PMS integration
  • Natural conversation flow
  • Proactive confirmation
  • Task completion focus

Learnings & What's Next

What I Would Do Differently

1. Earlier Investment in Evaluation Infrastructure

The Gap: We built monitoring reactively after deployment issues.

Better Approach:

  • Pre-deployment evaluation framework
  • Synthetic test cases for edge scenarios
  • Automated regression testing

2. Improved Multi-Accent Robustness

The Gap: Initially underestimated accent diversity impact.

Better Approach:

  • Larger accent-specific training datasets
  • Regional model fine-tuning
  • Active learning from production failures

3. Clearer Escalation Thresholds

The Gap: Escalation logic was too conservative initially.

Better Approach:

  • Data-driven confidence thresholds
  • User-configurable risk tolerance
  • A/B testing escalation strategies

4. Tighter Feedback → Iteration Loops

The Gap: Weekly iteration cycles were still too slow.

Better Approach:

  • Real-time feedback collection
  • Automated anomaly detection
  • Daily micro-iterations on high-impact issues

Product Strategy Reflection

Why Voice?

  1. Natural Interface: Aligns with existing guest behavior
  2. Low Friction: No app downloads or account creation
  3. Ideal for Repetitive Tasks: High-volume, low-complexity interactions

Why Hotels?

  1. Clear Workflow Structure: Repetitive, rule-based tasks
  2. Measurable ROI: Time savings directly translate to cost savings
  3. Existing System Integration: PMS APIs enable actionability

Strategic Positioning

Sakhi is not a chatbot — it's an AI workflow engine for hospitality operations.


What I Learned

Technical Learnings

  1. AI Reliability ≠ Model Accuracy
    System design matters more than model sophistication.

  2. Context Transfer is Critical
    Seamless human escalation requires full conversation state.

  3. Real-World Data > Synthetic Data
    Production edge cases are impossible to anticipate in labs.


Product Learnings

  1. Adoption Requires Champions
    Top-down mandates fail; peer-led adoption succeeds.

  2. Actionability > Intelligence
    Users value task completion over impressive conversations.

  3. Graceful Degradation > Perfect Automation
    Systems that fail predictably beat systems that fail mysteriously.


Operational Learnings

  1. Change Management ≠ Training
    Behavior change requires ongoing support, not one-time sessions.

  2. Integration Reliability is a Dependency Risk
    Third-party APIs become single points of failure.

  3. Edge Cases Emerge in Production
    No amount of pre-deployment testing catches everything.


Tech Stack

Speech Processing
├── STT: Custom-trained models for Indian accents
└── TTS: Neural TTS with prosody modeling

NLU & Decision Layer
├── LLM: GPT-4 for intent classification
├── Decision Engine: Rule-based + ML hybrid
└── Context Management: Redis for session state

Integration Layer
├── PMS: AxisRooms, Oracle Hospitality APIs
├── Ticketing: Custom REST APIs
└── Notifications: SMS (Twilio), Email (SendGrid)

Infrastructure
├── Backend: Python (FastAPI)
├── Database: PostgreSQL (transactional), Redis (session)
├── Deployment: Docker, Kubernetes
└── Monitoring: Prometheus, Grafana, Custom logging

Repository Structure

sakhi/
├── speech/               # STT/TTS processing
│   ├── stt_engine.py
│   └── tts_engine.py
├── nlu/                  # Intent classification
│   ├── intent_detector.py
│   └── context_manager.py
├── decision/             # Decision engine
│   ├── workflow_engine.py
│   └── escalation_logic.py
├── integrations/         # External system connectors
│   ├── pms/
│   └── ticketing/
├── api/                  # API layer
│   └── main.py
├── tests/
│   ├── unit/
│   └── integration/
└── docs/
    ├── architecture.md
    ├── deployment.md
    └── api_reference.md

Installation & Setup

Prerequisites

  • Python 3.9+
  • Redis
  • PostgreSQL
  • Docker (optional)

Quick Start

# Clone repository
git clone https://github.com/prernaaagarwal/Sakhi.git
cd Sakhi

# Install dependencies
pip install -r requirements.txt

# Configure environment
cp .env.example .env
# Edit .env with your API keys and configuration

# Run database migrations
alembic upgrade head

# Start the service
python api/main.py

Docker Deployment

# Build image
docker build -t sakhi:latest .

# Run container
docker run -p 8000:8000 \
  --env-file .env \
  sakhi:latest

Configuration

Environment Variables

# Speech Services
STT_API_KEY=your_stt_key
TTS_API_KEY=your_tts_key

# LLM Configuration
OPENAI_API_KEY=your_openai_key
LLM_MODEL=gpt-4

# PMS Integration
PMS_PROVIDER=axisrooms  # or oracle
PMS_API_URL=https://api.axisrooms.com
PMS_API_KEY=your_pms_key

# Database
DATABASE_URL=postgresql://user:pass@localhost/sakhi
REDIS_URL=redis://localhost:6379

# Monitoring
SENTRY_DSN=your_sentry_dsn
LOG_LEVEL=INFO

API Documentation

Core Endpoints

/api/v1/call/initiate

Start a new voice interaction

Request:

{
  "phone_number": "+919876543210",
  "property_id": "bloom-bangalore-01"
}

Response:

{
  "call_id": "call_abc123",
  "status": "initiated",
  "timestamp": "2026-04-14T10:30:00Z"
}

/api/v1/call/process

Process speech input during a call

Request:

{
  "call_id": "call_abc123",
  "audio_data": "base64_encoded_audio",
  "context": {}
}

Response:

{
  "intent": "late_checkout_request",
  "response_text": "I'd be happy to help with a late checkout...",
  "action_taken": "pms_query_initiated",
  "escalate": false
}

Full API documentation: API Reference


Testing

Run Tests

# Unit tests
pytest tests/unit/

# Integration tests
pytest tests/integration/

# Full test suite with coverage
pytest --cov=sakhi tests/

Test Coverage

Current coverage: 85%+

Focus areas:

  • Speech processing pipeline
  • Intent classification
  • Decision engine logic
  • PMS integration error handling

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Style

  • Python: PEP 8 with Black formatting
  • Documentation: Google-style docstrings
  • Commits: Conventional Commits specification

Roadmap

Q2 2026

  • Multi-language support (Hindi, Tamil, Telugu)
  • WhatsApp integration
  • Advanced analytics dashboard

Q3 2026

  • Proactive guest engagement (pre-arrival, post-checkout)
  • Integration with additional PMS providers
  • Mobile app for staff monitoring

Q4 2026

  • AI-powered upselling capabilities
  • Sentiment analysis and escalation triggers
  • Multi-property deployment automation

License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

Pilot Partners

  • Bloom Hotels — Early feedback and workflow insights
  • Ginger Hotels — Multi-property deployment learnings
  • Lemon Tree Hotels — Staff training and adoption strategies

Technology Partners

  • AxisRooms — PMS integration support
  • OpenAI — LLM infrastructure

Contact & Support

Project Maintainer

Prerna Agarwal
Product Manager | AI Systems
📧 prerna@example.com
🔗 LinkedIn
🌐 Portfolio

Support


Why This Project Matters

Most AI voice agents are built as demos that work in controlled environments.

Sakhi is different:

  • Built for production constraints
  • Designed for real-world variability
  • Focused on operational reliability
  • Proven through pilot deployment

This is what AI product development looks like when you're solving real problems for real users in real environments.


Building AI systems that work beyond prototypes
Product Strategy × AI Capability × Operational Execution

Made with 🧠 and ❤️ by Prerna Agarwal

About

Sakhi is an AI-powered voice agent designed to handle high-volume guest interactions in hotel operations — spanning support, reservations, and front office services.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors