Mawaid — booking system
IN BUILD · SHIPPING SOONTHE BRIEF
A clinic, salon or studio takes its bookings on WhatsApp. Customers should pick a real free slot on a page of their own instead of messaging, and staff should run the whole day from one screen. Bilingual from the start, Arabic and English, because half the customers read one and half the other.
THE HARD PART
Two customers can tap the same 10:30 slot in the same second. Checking availability in code is not enough: between the moment you check and the moment you write, the other booking lands. Every WordPress booking plugin we opened has this hole.
HOW IT IS SOLVED
The rule lives in the database, not the code. A unique index on staff plus start time, ignoring cancelled rows, so the second write is rejected by the database itself. The app catches that rejection and offers that customer the next free slot instead of showing an error.
WHAT ELSE IS DECIDED
Every time is stored in UTC and shown in the shop's timezone, which is what stops the Gulf and Europe mismatch that breaks most small booking tools. Staff can only be booked for services they actually perform. Nothing can be booked less than two hours ahead.
- Stack
- ASP.NET Core · C# · SQL
- Interface
- Server-rendered, no framework shipped
- Languages
- Arabic and English, RTL included
- Time handling
- Stored UTC, shown local
- Status
- In build