H
Resume
Back to all projects
Live in productionAfaq Tech·Government / Enterprise Booking

Ministry Meeting Rooms — Government Booking System

Ministry hall booking: week grid, per-hall approvals, Outlook invites and one-time-code sign-in

Visit live site
Booking portalASP.NET Core 8 MVCApproval email + meeting requestMailKit · iCalendar

Built the meeting-room booking system for a Saudi government ministry on ASP.NET Core 8 with Clean Architecture and CQRS. Staff pick a hall and drag across free slots (30 minutes by default, set per hall) on a week grid that follows working hours and holidays. Private halls send requests to their own approvers, recurring series are approved or rejected as a whole, and every decision goes out as an email carrying a calendar invite that Outlook shows as a meeting request. Sign-in is by an emailed one-time code, invitees are looked up in the ministry's directory (LDAP), bookings made in Outlook are picked up from Exchange, and a smart search recommends the best-fitting hall by headcount and equipment.

Key highlights

  • 1

    Week booking grid per hall: slots sized per hall (30 minutes by default) inside working hours, holidays and weekends blocked, booked and pending slots shown, click or drag to select.

  • 2

    Approval workflow: public or private halls, each with its own approvers and allowed users; reject with a reason; recurring series accepted or rejected as one.

  • 3

    Outlook integration: approval emails carry an iCalendar invite that Outlook shows as a meeting request, and bookings created in Outlook are polled from Exchange (EWS) and synced in.

  • 4

    Sign-in with an emailed one-time code, invitees looked up in the directory over LDAP, and role-based permissions (admin, approver, requester, viewer).

  • 5

    Smart hall search by headcount, time and required equipment, with the best fit tagged; hall reports exported to Excel.

  • 6

    Clean Architecture (Domain, Application, Infrastructure, Web), SQL Server temporal tables for history, background pollers, and four xUnit test projects.

Core modules

Week Booking Grid
Approvals & Private Halls
Recurring Bookings
Outlook / Exchange Sync
Smart Hall Search
Buildings, Floors & Zones
Working Hours & Holidays
Hall Reports

How it works

The path a piece of work takes through the system, step by step.

One-time code
Emailed sign-in code
Week grid
Free slots · LDAP invitees
Hall approvers
Pending → accepted
Email + meeting request
ASP.NET Core 8 MVC · Clean Architecture + CQRS · SQL Server · Exchange EWS · iCalendar · LDAP