Skip to content

An intelligent AI-powered meeting room booking system built with LangGraph and advanced natural language processing capabilities. It provides seamless room reservation through conversational interfaces, featuring automated availability checking, smart scheduling, and comprehensive booking management.

Notifications You must be signed in to change notification settings

danieladdisonorg/Meeting-Room-Booking-AI-Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Meeting Room Booking Agent

An intelligent AI-powered meeting room booking system built with LangGraph and advanced natural language processing capabilities. The system provides seamless room reservation through conversational interfaces, featuring automated availability checking, smart scheduling, and comprehensive booking management.

Meeting Room Booking Chatbot Interface

Overview

The Meeting Room Booking Agent leverages state-of-the-art language models to transform natural language requests into structured booking operations. Built on the LangGraph framework, it provides enterprise-grade workflow orchestration with intelligent fallback mechanisms and user clarification loops.

Key Features

πŸ€– Intelligent Natural Language Processing

  • Advanced request parsing with context understanding
  • Multi-turn conversation support with memory retention
  • Automatic extraction of booking parameters (time, capacity, equipment)

πŸ“… Smart Scheduling & Availability

  • Real-time room availability checking
  • Conflict detection and resolution
  • Alternative suggestion engine for optimal scheduling

πŸ”„ Adaptive Workflow Management

  • Dynamic clarification loops for incomplete requests
  • State-aware conversation handling
  • Robust error recovery mechanisms

🌐 Modern Web Interface

  • Responsive design optimized for all devices
  • Real-time chat interface with typing indicators
  • Intuitive booking confirmation flows

πŸ”§ Flexible Architecture

  • Modular design supporting multiple LLM providers
  • JSON-based data layer for rapid prototyping
  • Extensible plugin system for custom integrations

System Architecture

System Architecture Diagram

Core Components

Component Technology Purpose
AI Agent Engine LangGraph + Groq API Orchestrates booking workflows and natural language understanding
Web Interface Flask + HTML/CSS Provides user interaction layer with responsive design
Data Layer JSON Database Manages room inventory and booking records
Booking Service Mock API Handles reservation logic and calendar integration

Installation & Setup

Prerequisites

  • Python: 3.11.0 or higher
  • Conda: Miniconda or Anaconda distribution
  • API Access: Groq API key (or compatible LLM service)

Quick Start

  1. Environment Setup

    conda create -n meeting_room_agent python=3.11 -y
    conda activate meeting_room_agent
  2. Dependency Installation

    pip install -r requirements.txt
  3. Configuration

    Create a .env file in the project root:

    GROQ_API_KEY=your_groq_api_key_here
    FLASK_ENV=development
    FLASK_DEBUG=True
  4. Launch Application

    flask run

    Access the application at http://localhost:5000

Project Structure

meeting-room-booking-agent/
β”œβ”€β”€ app.py                      # Flask application entry point
β”œβ”€β”€ config.py                   # Application configuration
β”œβ”€β”€ helper.py                   # Utility functions and helpers
β”œβ”€β”€ requirements.txt            # Python dependencies
β”œβ”€β”€ .env.example               # Environment variables template
β”‚
β”œβ”€β”€ booking_agent/             # Core AI agent components
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ conditions.py          # Workflow transition conditions
β”‚   β”œβ”€β”€ nodes.py              # LangGraph node definitions
β”‚   β”œβ”€β”€ prompt_config.py      # System prompts and templates
β”‚   β”œβ”€β”€ schemas.py            # Pydantic data models
β”‚   └── workflow.py           # LangGraph workflow orchestration
β”‚
β”œβ”€β”€ mock_apis/                 # Mock service layer
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ booking_services.py   # Booking API simulation
β”‚   └── room_services.py      # Room data management
β”‚
β”œβ”€β”€ static/                    # Frontend assets
β”‚   β”œβ”€β”€ style.css             # Application styles
β”‚   └── js/                   # JavaScript modules
β”‚
β”œβ”€β”€ templates/                 # Jinja2 templates
β”‚   └── index.html            # Main application interface
β”‚
β”œβ”€β”€ data/                      # Data storage (JSON files)
β”‚   β”œβ”€β”€ rooms.json            # Room definitions and metadata
β”‚   β”œβ”€β”€ bookings.json         # Active booking records
β”‚   └── clarification_messages.json  # Fallback clarification templates
β”‚
└── docs/                      # Documentation and diagrams
    β”œβ”€β”€ Project_Documentation.md
    β”œβ”€β”€ system_architecture.svg
    β”œβ”€β”€ flowchart.svg
    └── chatbot.jpg

Supported Language Models

Primary Integration

  • Groq API (Default): LLaMA3-8b-8192 with optimized inference
  • Temperature: 0.5 for balanced creativity and consistency

Alternative Providers

  • Ollama: Local model deployment for privacy-sensitive environments
  • OpenAI GPT: Enterprise-grade language understanding
  • Anthropic Claude: Advanced reasoning capabilities
  • Custom LLMs: Via LangChain integration layer

Agent Workflow

Agent Workflow Diagram

Workflow States

State Description Transitions
Parse Request Extract booking parameters from natural language β†’ Find Rooms / Request Clarification
Find Rooms Filter rooms by capacity and equipment requirements β†’ Check Availability / End
Check Availability Verify time slot availability β†’ Show Options / Suggest Alternatives
Get Confirmation Present options and await user decision β†’ Reserve Room / End
Reserve Room Execute booking transaction β†’ Send Confirmation

Data Management

Room Schema

{
  "id": 1,
  "name": "Conference Room Alpha",
  "capacity": 12,
  "equipments": ["Projector", "Whiteboard", "Video Conference"],
  "location": "Floor 2, East Wing",
  "amenities": ["WiFi", "Power Outlets", "Climate Control"]
}

Booking Schema

{
  "room_id": 1,
  "start_time": "2025-01-15T14:00:00Z",
  "end_time": "2025-01-15T15:30:00Z",
  "booked_by": "John Doe",
  "purpose": "Team Standup",
  "attendees": 8
}

API Reference

Core Endpoints

Endpoint Method Description
/ GET Main application interface
/chat POST Process booking requests
/api/rooms GET Retrieve available rooms
/api/bookings GET/POST Manage booking records

Development & Deployment

Development Mode

export FLASK_ENV=development
export FLASK_DEBUG=True
flask run --host=0.0.0.0 --port=5000

Production Considerations

  • Replace JSON storage with production database (PostgreSQL, MongoDB)
  • Implement proper authentication and authorization
  • Add rate limiting and request validation
  • Configure HTTPS and security headers
  • Set up monitoring and logging infrastructure

Contributing

We welcome contributions! Please see our Contributing Guidelines for details on:

  • Code style and standards
  • Testing requirements
  • Pull request process
  • Issue reporting

License

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

Support & Documentation

  • Full Documentation: docs/Project_Documentation.md
  • API Reference: Available in the /docs directory
  • Issue Tracking: GitHub Issues
  • Discussions: GitHub Discussions

Built with ❀️ using LangGraph, Flask, and modern AI technologies

About

An intelligent AI-powered meeting room booking system built with LangGraph and advanced natural language processing capabilities. It provides seamless room reservation through conversational interfaces, featuring automated availability checking, smart scheduling, and comprehensive booking management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published