Overview

Built a conversational AI chatbot for Jawed Habib salon services. The bot handles appointment bookings, pricing inquiries, and customer service through natural language conversations.

Architecture

Bot Framework Integration

C# ASP.NET MVC application with Bot Framework SDK 3.2. MessagesController handles incoming messages and routes them to appropriate dialog flows.

LUIS Natural Language Understanding

Trained LUIS model with intents for:

  • Booking management (make, check, cancel)
  • Price inquiries (services, products)
  • Payment information
  • General help and greetings

Entity Extraction

LUIS extracts entities from user messages:

  • Date/time for appointments
  • Service names
  • Product names
  • Customer information

Implementation

Conversation Flow

Multi-turn dialogs for complex interactions. Example booking flow:

  1. User expresses intent to book
  2. Bot prompts for service type
  3. Bot prompts for date/time
  4. Bot confirms details
  5. Booking created

Data Models

Core entities:

  • Booking: Appointment details, customer info, status
  • Service: Service name, description, price, duration
  • Product: Product name, description, price
  • PaymentMethod: Accepted payment types

Helper Classes

Business logic separated into helper classes:

  • BookingHelper: Booking CRUD operations
  • ServiceHelper: Service information queries
  • ProductHelper: Product information queries

LUIS Model

Trained with intents and sample utterances:

MakeBooking Intent:

  • “I want to book an appointment”
  • “Schedule a haircut for tomorrow”
  • “Can I get a spa treatment next week”

CheckServicePrice Intent:

  • “How much is a haircut”
  • “What’s the price for hair coloring”
  • “Cost of spa treatment”

Entity recognition for services, dates, and times.

Technical Challenges

Context Management: Maintaining conversation state across multiple turns. Used Bot Framework state service for session management.

Entity Validation: Ensuring extracted entities are valid (e.g., date is in future, service exists). Added validation helpers.

Fallback Handling: Graceful handling of unrecognized intents. Implemented fallback to suggest valid options.

Results

Production-ready chatbot with:

  • 90%+ intent recognition accuracy
  • Support for multiple conversation flows
  • Robust error handling
  • Extensible architecture

Technology Stack

Language: C#
Framework: ASP.NET MVC 5, Microsoft Bot Framework 3.2
NLU: LUIS
Database: SQL Server
Deployment: Azure

Source Code

GitHub: github.com/tanchunsiong/gamurai-chatbot

Contact


Project created March 2019