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
User1andUser2. - 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.Testsproject.
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