Work

Meeting Booking AI Assistant

OpenAI GPT
C# / .NET
REST APIs
SQLite + Entity Framework Core

Meeting Booking AI Assistant

Meeting Booking AI Assistant

AI-powered meeting room booking assistant developed as a technical challenge for Promtior.

The application provides a conversational interface that allows authenticated users to manage meeting room reservations using natural language. The chatbot uses LLM tool calling to translate user requests into controlled operations exposed by the booking system.

The solution was designed with a clear separation between the AI orchestration layer and the core business logic, ensuring that the LLM does not directly manipulate the database or bypass booking rules.

Features

  • Natural-language meeting room booking.
  • AI tool/function calling using Semantic Kernel.
  • Authentication for User1 and User2.
  • Five meeting rooms: A, B, C, D and E.
  • Room-specific capacity validation.
  • 30-minute booking slots.
  • Bookings from 30 minutes up to 3 hours.
  • Prevention of overlapping bookings.
  • Room availability queries.
  • Room schedule queries.
  • Booking cancellation.
  • Persistent storage using SQLite.
  • Entity Framework Core for data access.
  • REST API built with ASP.NET Core Minimal API.
  • Docker containerization.
  • Cloud deployment support.
  • Automated unit tests in a separate MeetingBooking.Tests project.

Architecture

The application follows a layered architecture with a dedicated AI tool/plugin layer.

┌─────────────────────────────────────────────┐
│                 Client / SPA                │
│          Natural-language requests          │
└──────────────────────┬──────────────────────┘
                       │ HTTP
                       ▼
┌─────────────────────────────────────────────┐
│          ASP.NET Core Minimal API           │
│              Kestrel Web Server             │
└──────────────────────┬──────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────┐
│              ChatbotService                 │
│        Semantic Kernel + Chat History       │
└──────────────────────┬──────────────────────┘
                       │ Tool Calling
                       ▼
┌─────────────────────────────────────────────┐
│              BookingPlugin                  │
│       AI-exposed booking operations         │
└──────────────────────┬──────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────┐
│              Service Layer                  │
│                                             │
│  BookingService       AuthService           │
│  Business Rules       Authentication        │
└──────────────────────┬──────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────┐
│               Data Layer                    │
│         Entity Framework Core               │
│                  SQLite                     │
└─────────────────────────────────────────────┘

Login

To test login with:
Username: User
Password: 1234