Real-Time Barber Booking Platform Development
Budget: $10 – $30 USD
Barber Queue Management Website – Technical Specifications
Project Overview
Develop a modern, responsive barber website focused on real-time queue management rather than traditional appointment scheduling.
Customers do not select a date or time. Instead, they join a live queue and receive a queue number. They can then track queue progress and estimated waiting time in real time.
The website must support three languages:
- Tunisian Arabic (Derja)
- French
- English
The system must include both a customer-facing interface and an admin dashboard.
---
Customer Features
Queue Registration
Customers can join the queue by entering:
- Full Name
- Phone Number
Phone numbers must be validated according to Tunisian mobile number standards.
---
Service Selection
Customers must select one of the following services:
- Hair
- Beard
- Hair + Beard
Estimated service durations:
- Beard = 15 minutes
- Hair = 30 minutes
- Hair + Beard = 45 minutes
---
Children Option
Customers must answer:
"Are you accompanying children?"
Options:
- Yes
- No
If Yes:
- Display a selector for number of children.
Each child haircut should be counted as approximately 20 minutes when calculating estimated waiting time.
---
Queue Number Assignment
After successful registration:
- Customer receives a queue number.
- Customer is added to the live queue.
- Queue position is displayed.
Example:
Current number being served: 15
Your queue number: 22
Position in queue: 7
---
Real-Time Queue Tracking
Customers must be able to see:
- Current number being served
- Their queue number
- Their queue position
- Estimated waiting time
Updates should occur in real time without page refresh.
---
Estimated Waiting Time
The system must calculate waiting time dynamically based on:
- Services selected by customers ahead in queue
- Number of accompanying children
- Queue pause state
Example:
Current serving: #12
#13 Hair = 30 min
#14 Beard = 15 min
#15 Hair + Beard = 45 min
Customer #16 sees estimated waiting time of approximately 1 hour 30 minutes.
---
Appointment Cancellation
Customers must be able to cancel their queue entry.
After cancellation:
- Queue updates automatically.
- Waiting times recalculate automatically.
---
Announcements
Customers should be able to view announcements published by the barber.
Examples:
- Shop closed today
- Special offer
- Delayed opening
- Holiday notice
---
Admin Dashboard
Dashboard Access
Protected admin login.
Only authorized staff may access dashboard functions.
---
Queue Management
Admin must be able to:
- View entire queue
- View customer details
- Edit appointments
- Delete appointments
- Cancel appointments
- Reorder queue if necessary
- Manually add customers
---
Current Customer Selection
Admin must be able to select the customer currently being served.
Example:
Now serving #17
This update must immediately appear on customer screens.
---
Queue Pause / Resume
Admin must be able to:
- Pause queue
- Resume queue
While paused:
Customers should see:
"Queue temporarily paused. Waiting times may be delayed."
---
Appointment Availability
Admin must be able to:
- Enable appointments
- Disable appointments
When disabled:
Customers cannot join the queue.
A custom message should be displayed.
---
Opening Hours Management
Admin must be able to:
- Define opening hours
- Modify opening hours
- Set exceptions
Example:
Monday–Friday: 09:00–18:00
Saturday: 09:00–15:00
Sunday: Closed
---
Vacation / Closed Mode
Admin must be able to activate:
- Vacation mode
- Closed mode
When enabled:
Queue registration is disabled and a custom message is shown.
---
Queue Capacity Limit
Admin must be able to define:
Maximum customers accepted per day.
Example:
Maximum queue size = 50 customers.
After reaching the limit:
"Queue is full for today."
---
Phone Number Management
Admin must be able to:
- Ban phone numbers
- Unban phone numbers
Banned numbers cannot register.
---
Device Management
Admin must be able to:
- Ban devices
- Unban devices
Device bans should remain effective even if a different phone number is used.
---
Announcement Management
Admin must be able to:
- Create announcements
- Edit announcements
- Delete announcements
- Schedule announcements
---
Security & Anti-Spam Requirements
Phone Number Restrictions
Each phone number may:
- Create a maximum of 5 appointments per day
- Have only 1 active queue entry at a time
---
Device Restrictions
Each device may:
- Create a maximum of 5 appointments per day
Device identification should use browser/device fingerprinting.
---
IP Rate Limiting
Implement IP-based rate limiting to reduce spam and abuse.
---
CAPTCHA
Implement invisible CAPTCHA protection during registration.
---
Duplicate Prevention
Prevent duplicate active queue entries for the same phone number.
---
Audit Logs
Record all important admin actions:
- Appointment edits
- Appointment deletions
- Queue changes
- Bans
- Opening hour modifications
---
Customer Data
Store:
- Customer Name
- Phone Number
- Device Identifier
- IP Address
- Service Type
- Number of Children
- Queue Number
- Registration Timestamp
- Status (Waiting / Serving / Completed / Cancelled)
- Visit Count
- Cancellation Count
- Ban Status
---
Technical Requirements
Responsive Design
Must work properly on:
- Mobile phones
- Tablets
- Desktop computers
Mobile-first design is preferred.
---
Real-Time Updates
Queue updates must occur in real time without requiring page refresh.
---
Performance
Pages should load quickly and remain responsive under normal business usage.
---
Backup System
Automatic database backups should be implemented.
---
Future Expansion Considerations
Architecture should allow future implementation of:
- SMS notifications
- WhatsApp notifications
- Customer history and analytics
- Loyalty programs
- Multiple barber branches
- Multiple barbers working simultaneously
These features are not required in version 1 but should be considered during development.
Project Overview
Develop a modern, responsive barber website focused on real-time queue management rather than traditional appointment scheduling.
Customers do not select a date or time. Instead, they join a live queue and receive a queue number. They can then track queue progress and estimated waiting time in real time.
The website must support three languages:
- Tunisian Arabic (Derja)
- French
- English
The system must include both a customer-facing interface and an admin dashboard.
---
Customer Features
Queue Registration
Customers can join the queue by entering:
- Full Name
- Phone Number
Phone numbers must be validated according to Tunisian mobile number standards.
---
Service Selection
Customers must select one of the following services:
- Hair
- Beard
- Hair + Beard
Estimated service durations:
- Beard = 15 minutes
- Hair = 30 minutes
- Hair + Beard = 45 minutes
---
Children Option
Customers must answer:
"Are you accompanying children?"
Options:
- Yes
- No
If Yes:
- Display a selector for number of children.
Each child haircut should be counted as approximately 20 minutes when calculating estimated waiting time.
---
Queue Number Assignment
After successful registration:
- Customer receives a queue number.
- Customer is added to the live queue.
- Queue position is displayed.
Example:
Current number being served: 15
Your queue number: 22
Position in queue: 7
---
Real-Time Queue Tracking
Customers must be able to see:
- Current number being served
- Their queue number
- Their queue position
- Estimated waiting time
Updates should occur in real time without page refresh.
---
Estimated Waiting Time
The system must calculate waiting time dynamically based on:
- Services selected by customers ahead in queue
- Number of accompanying children
- Queue pause state
Example:
Current serving: #12
#13 Hair = 30 min
#14 Beard = 15 min
#15 Hair + Beard = 45 min
Customer #16 sees estimated waiting time of approximately 1 hour 30 minutes.
---
Appointment Cancellation
Customers must be able to cancel their queue entry.
After cancellation:
- Queue updates automatically.
- Waiting times recalculate automatically.
---
Announcements
Customers should be able to view announcements published by the barber.
Examples:
- Shop closed today
- Special offer
- Delayed opening
- Holiday notice
---
Admin Dashboard
Dashboard Access
Protected admin login.
Only authorized staff may access dashboard functions.
---
Queue Management
Admin must be able to:
- View entire queue
- View customer details
- Edit appointments
- Delete appointments
- Cancel appointments
- Reorder queue if necessary
- Manually add customers
---
Current Customer Selection
Admin must be able to select the customer currently being served.
Example:
Now serving #17
This update must immediately appear on customer screens.
---
Queue Pause / Resume
Admin must be able to:
- Pause queue
- Resume queue
While paused:
Customers should see:
"Queue temporarily paused. Waiting times may be delayed."
---
Appointment Availability
Admin must be able to:
- Enable appointments
- Disable appointments
When disabled:
Customers cannot join the queue.
A custom message should be displayed.
---
Opening Hours Management
Admin must be able to:
- Define opening hours
- Modify opening hours
- Set exceptions
Example:
Monday–Friday: 09:00–18:00
Saturday: 09:00–15:00
Sunday: Closed
---
Vacation / Closed Mode
Admin must be able to activate:
- Vacation mode
- Closed mode
When enabled:
Queue registration is disabled and a custom message is shown.
---
Queue Capacity Limit
Admin must be able to define:
Maximum customers accepted per day.
Example:
Maximum queue size = 50 customers.
After reaching the limit:
"Queue is full for today."
---
Phone Number Management
Admin must be able to:
- Ban phone numbers
- Unban phone numbers
Banned numbers cannot register.
---
Device Management
Admin must be able to:
- Ban devices
- Unban devices
Device bans should remain effective even if a different phone number is used.
---
Announcement Management
Admin must be able to:
- Create announcements
- Edit announcements
- Delete announcements
- Schedule announcements
---
Security & Anti-Spam Requirements
Phone Number Restrictions
Each phone number may:
- Create a maximum of 5 appointments per day
- Have only 1 active queue entry at a time
---
Device Restrictions
Each device may:
- Create a maximum of 5 appointments per day
Device identification should use browser/device fingerprinting.
---
IP Rate Limiting
Implement IP-based rate limiting to reduce spam and abuse.
---
CAPTCHA
Implement invisible CAPTCHA protection during registration.
---
Duplicate Prevention
Prevent duplicate active queue entries for the same phone number.
---
Audit Logs
Record all important admin actions:
- Appointment edits
- Appointment deletions
- Queue changes
- Bans
- Opening hour modifications
---
Customer Data
Store:
- Customer Name
- Phone Number
- Device Identifier
- IP Address
- Service Type
- Number of Children
- Queue Number
- Registration Timestamp
- Status (Waiting / Serving / Completed / Cancelled)
- Visit Count
- Cancellation Count
- Ban Status
---
Technical Requirements
Responsive Design
Must work properly on:
- Mobile phones
- Tablets
- Desktop computers
Mobile-first design is preferred.
---
Real-Time Updates
Queue updates must occur in real time without requiring page refresh.
---
Performance
Pages should load quickly and remain responsive under normal business usage.
---
Backup System
Automatic database backups should be implemented.
---
Future Expansion Considerations
Architecture should allow future implementation of:
- SMS notifications
- WhatsApp notifications
- Customer history and analytics
- Loyalty programs
- Multiple barber branches
- Multiple barbers working simultaneously
These features are not required in version 1 but should be considered during development.