Ministry Meeting Rooms — Government Booking System
Ministry hall booking: week grid, per-hall approvals, Outlook invites and one-time-code sign-in
Visit live siteBuilt 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
How it works
The path a piece of work takes through the system, step by step.