How ScanQueue's Queue Management System Works
ScanQueue is a digital queue management platform that allows businesses to manage customer queues efficiently while providing customers with real-time updates on their position and wait times.
See ScanQueue in Action
Watch how easy it is to manage your queue
See How Different Industries Use ScanQueue
Complete configurations, workflows, and results from real business scenarios.
"The Rustic Table" - Busy Weekend Brunch Spot
Challenge: 45-minute weekend wait times, customers leaving due to uncertainty, staff overwhelmed with manual waitlist management.
Platform Configuration
Customer Form Fields
Services Setup
Indoor Dining
Full-service indoor experience
Patio Seating
Al fresco dining
Quick Bite (Bar)
Bar seating, limited menu
Custom Messages
Waiting Screen
You're on the list!
Explore our menu while you wait. We'll text you when your table is ready.
Called Screen
Your table is ready!
Please check in with the host within 5 minutes or your table may be reassigned.
Customer Workflow
Customer scans QR code at entrance → Joins queue with party size
Receives welcome SMS with tracking link
Can browse menu, walk around nearby shops
Gets "almost ready" SMS 5 mins before
Gets "table ready" SMS → Returns to restaurant
Expected Results
40%
reduction in walkouts
25%
increase in bar sales
2+ hrs
staff time saved daily
“Turn wait time into wine time.”
Staff/Business Side
Queue Management Tab
The main operational hub for managing your queue in real-time.
Features:
| Feature | Description |
|---|---|
| Real-time Queue View | Live view of all customers with connection status (Live/Synced/Connecting) |
| Queue Statistics | Total waiting, total being served, average wait time, estimated wait for next |
| Queue Delay Control | Add/remove extra minutes to all wait estimates in 5-minute increments |
| Currently Serving Panel | Shows customers being called with actions: Mark Served, No Show, Return to Queue |
| Next Up Panel | Shows next customer with "Call Next" button |
| Waiting List | Grid of all waiting customers with full action menu |
Queue Actions:
| Action | Description |
|---|---|
| Call Next | Moves first waiting customer to "called" status, triggers SMS notification |
| Mark Served | Completes customer service, removes from queue |
| Mark No Show | Customer missed their turn, removes from queue |
| Remove | Removes customer entirely from queue |
| Return to Queue | Moves called customer back to front of waiting queue |
| Move Up/Down | Reorder customers by swapping positions with adjacent entry |
| Move to Front NEW | One-click jump to position 1 for VIPs, executives, or priority guests. Everyone ahead bumps back by one, everyone behind is unaffected. |
| Add Walk-In | Manually add customer who didn't scan QR code |
Reports Tab (Analytics)
Metrics Available:
- Daily/weekly/monthly customer volumes
- Average wait times (today vs weekly comparison)
- Customer success rate (served vs no-shows)
- SMS usage and costs
- Peak hour and peak day analysis
- Service efficiency metrics
- Export to CSV for external analysis
Subscription Tab (Billing)
Plan Tiers:
| Plan | Price | Daily Limit | SMS Included |
|---|---|---|---|
| Starter | Free | 50/day | 10 (trial) |
| Growth | $99/mo | 500/day | 500/mo |
| Pro | $249/mo | 2,000/day | 1,400/mo |
| Enterprise | Custom | Unlimited | 2,800+/mo |
Management Options:
- View current plan and status
- Upgrade/downgrade plans
- Access Stripe billing portal
- Cancel or reactivate subscription
Business Profile
| Setting | Description |
|---|---|
| Business Name | Your company/venue name |
| URL Slug | Custom URL: scanqueue.com/join/{slug} |
| Description | Shown to customers on join page |
| Phone Number | Contact number |
| Address | Business location |
Queue Configuration
| Setting | Description | Range |
|---|---|---|
| Avg Service Time | Minutes per service (or per person if party-size enabled) | 1-120 min |
| Max Queue Size | Auto-close queue when reached | 1-500 |
| Party Size Wait Calculation | Toggle: position-based vs people-based calculation | ON/OFF |
| Queue Status | Open or close queue for new customers | ON/OFF |
Party Size Calculation Explained:
- OFF (Default): Wait = (people ahead) × avg service time
- ON: Wait = (total people in parties ahead) × time per person
Example: 3 parties ahead with sizes 2, 4, 1 at 6 min/person
- • OFF: 3 × 6 = 18 min
- • ON: 7 × 6 = 42 min
Form Field Customization
Customize the customer join form:
| Field | Configurable Options |
|---|---|
| Customer Name | Rename label, required/optional, show/hide |
| Party Size | Rename label, required/optional, show/hide |
| Phone Number | Rename label, required/optional, show/hide |
| Special Notes | Rename label, required/optional, show/hide |
Configuration Path: Settings → Form Field Customization section
SMS Settings
| Setting | Description |
|---|---|
| Welcome Message | Send when customer joins queue (ON/OFF) |
| Ready Soon Alert | Send when approaching turn (ON/OFF) |
| Called Notification | Send when it's their turn (ON/OFF) |
| Minutes Before Ready | How far ahead to trigger "ready soon" (1-30 min) |
Note: SMS requires ClickSend integration (system-managed)
Voice Settings
Configure automated voice calls to notify customers when it's their turn.
| Setting | Description |
|---|---|
| Enable Voice Calls | Toggle to enable/disable voice notifications (ON/OFF) |
| Custom Voice Message | Customize the spoken message using placeholders |
| Voice Usage Tracking | Monitor current/remaining voice calls for the billing period |
| SMS Fallback | Automatic SMS sent if call goes unanswered (~30 seconds) |
Message Placeholders:
| Placeholder | Replaced With |
|---|---|
| {customerName} | Customer's name |
| {businessName} | Your business name |
| {counterName} | Service counter name (e.g., "Counter 1") |
| {counterText} | Auto-generated "Please head to..." text |
Example Voice Message:
"Hi John, this is a call from Coffee Shop! Just letting you know it's your turn. Please head to Counter 1. See you soon!"
Voice is delivered using natural-sounding AI text-to-speech
Note: Voice calling requires plan upgrade or admin configuration. Contact support for more information.
Team Management
Roles:
| Role | Permissions |
|---|---|
| Owner | Full access, invite/remove all, delete account |
| Manager | Queue management, invite/remove staff, access settings |
| Staff | Queue management only |
Two Ways to Add Staff:
Quick Add (PIN) — Recommended
Add staff with just a name and 4-6 digit PIN. No email required. Staff log in at /staff-login using your business code, pick their name, and enter their PIN. Perfect for casual staff, shared tablets, and fast setup.
Invite by Email
Send an email invitation. Staff create their own account with password self-service. Best for staff who need multi-location access or their own credentials.
Actions:
- Quick Add staff with PIN (instant, no email)
- Invite members by email
- Reset PIN for quick-add staff
- Switch Staff button on shared tablets
- Remove team members
QR Code Generation
- Auto-generated QR linking to your join queue page
- Download in various sizes
QR Code Customization
| Option | Description |
|---|---|
| Logo Upload | Add business logo to QR center |
| Dark Color | QR code module color |
| Light Color | Background color |
| Corner Colors | Corner dot customization |
Summary Statistics
- Total SMS sent
- Successful deliveries
- Credits used
Activity Log
- Search by customer name, phone, or message
- Filter by status: All, Sent, Delivered, Failed, Pending
- View message content, credits charged, error messages
Customer Side
Access: Public URL (no login required) - typically accessed via QR code scan
Page Elements
| Element | Description |
|---|---|
| Business Header | Business name and description |
| Queue Info Banners | Current people in queue, estimated wait time |
| Join Form | Customizable fields (name, party size, phone, notes) |
| Benefits Section | SMS updates, real-time tracking, skip physical wait |
User Flow
Access: Direct link (no login required) - received after joining
Page Elements
| Element | Description |
|---|---|
| Position Circle | Large display showing queue position (#1, #2, etc.) |
| Status Message | "You're #X in line" or "It's your turn!" |
| Estimated Wait | Minutes until turn (hidden when next) |
| Your Details Card | Name, masked phone, status badge |
| Progress Indicator | 3-step: Joined → Waiting → Being Called |
| Leave Queue Button | Exit queue with confirmation |
Status States
| Status | Display | Customer Action |
|---|---|---|
| Waiting | Blue circle, position number | Can leave queue |
| Called | Green pulsing circle, "YOU'RE NEXT" | Proceed to counter |
| Served | Thank you message | None |
| No Show | Missed turn message | Can rejoin |
| Cancelled | Left queue message | Can rejoin |
Real-time Updates
- • Position updates instantly when queue changes
- • Estimated wait recalculates automatically
- • Status changes immediately when called
- • WebSocket connection with polling fallback (every 3 seconds)
| SMS Type | When Sent | Content |
|---|---|---|
| Welcome | After joining queue | Position, estimated wait, business name |
| Ready Soon | N minutes before turn | "Almost your turn, please come to [business]" |
| Called | When staff calls next | "It's your turn! Please proceed to counter" |
When voice notifications are enabled, customers receive an automated phone call when it's their turn.
| Call Type | When Made | Content |
|---|---|---|
| Turn Notification | When staff clicks "Call Next" | Personalized voice message announcing it's their turn |
| Counter Direction | Included in call | Tells customer which counter/service point to go to |
| SMS Fallback | If call unanswered (~30 sec) | Automatic SMS sent with same turn notification |
How Voice Calls Work
- • Customer receives automated call to their registered phone number
- • Natural-sounding AI voice delivers personalized message with their name
- • Message includes business name and which counter to proceed to
- • If call goes unanswered within ~30 seconds, SMS fallback triggers automatically
- • Works alongside SMS notifications for maximum reach
Why Voice Calls?
- • Higher engagement - phone calls are harder to miss than texts
- • Instant awareness - customers know immediately when it's their turn
- • Accessibility - helpful for customers who may not check SMS quickly
- • Backup system - SMS fallback ensures no customer is missed
Multi-Service & Multi-Counter
Scale your queue with multiple service types and service points
Transform your single queue into a flexible multi-service, multi-counter system. This feature allows businesses to define different service types, set up multiple service counters, and serve multiple customers simultaneously.
Services
Define different service types like Coffee, Food, Checkout - each with its own average service time.
Counters
Set up multiple service points. Each counter can serve all services or be assigned to specific ones.
Parallel Serving
Multiple staff can call and serve customers simultaneously without conflicts.
Services represent different types of offerings your business provides. Customers select a service when joining the queue.
| Setting | Description | Example |
|---|---|---|
| Service Name | Display name shown to customers | Coffee, Food Order, Table Seating |
| Description | Optional explanation of the service | "Hot and cold beverages" |
| Avg Service Time | Minutes per service (for wait estimates) | 5 min for coffee, 15 min for food |
| Active Status | Enable/disable without deleting | ON/OFF toggle |
| Service Logo NEW | Optional partner logo shown at the top of the customer queue page | Gillette logo on the Gillette service |
| Thank-You Message NEW | Post-service message with optional offer URL + CTA button (overrides the business default) | "Claim your 10% off" → gillette.com/promo |
Example: Coffee Shop with Food
~5 min service time
~15 min service time
~10 min service time
Counters are physical service points where staff serve customers. Each counter can be assigned to specific services or serve all.
| Setting | Description |
|---|---|
| Counter Name | Display name shown in dashboard and SMS (e.g., "Counter 1", "Checkout A", "Bar") |
| Assigned Services | Which services this counter handles. Leave empty to serve all services. |
| Active Status | Enable/disable counter without deleting |
Service Assignment Options:
- Specific services: Counter only serves selected services (e.g., "Coffee Bar" → Coffee only)
- All services: Leave empty - counter can serve any customer in queue (good for overflow/flex counters)
When counters are configured, the dashboard transforms into a multi-counter view with service filtering.
New Dashboard Elements:
| Element | Description |
|---|---|
| Service Tabs | Filter view by service type: [All] [Coffee (5)] [Food (3)] [Table (2)] |
| Counter Cards | Each counter shown as a card with its own "Call Next" button |
| Counter Status | Shows "Available" or "Serving: [Customer Name]" for each counter |
| Service Badge | Each counter shows which services it handles |
| Waiting Queue | Compact grid view of all waiting customers (filters with service tabs) |
Counter Card Actions:
| Action | When Available | Description |
|---|---|---|
| Call Next | Counter is empty, customers waiting | Calls next customer matching counter's services |
| Served | Serving a customer | Mark customer as served, free up counter |
| No Show | Serving a customer | Customer didn't arrive, mark and free counter |
| Return to Queue | Serving a customer | Put customer back at front of queue |
Concurrency Protection
Multiple staff can click "Call Next" simultaneously without conflicts. The system uses database-level locking to ensure each customer is only called to one counter - no double-assignments possible.
Join Queue Page
When multiple services are configured, customers see a service selector before filling in their details:
What do you need today?
~5 min
~15 min
~10 min
SMS Notifications
When called to a specific counter, the SMS includes the counter name:
Without counter (single queue):
"Hi John! It's your turn at Acme Cafe! Please proceed to the counter."
With counter (multi-counter):
"Hi John! It's your turn at Acme Cafe! Please go to Counter 2."
Coffee Shop with Food
- Services: Coffee (5 min), Food (15 min)
- Counters: Barista (Coffee), Kitchen (Food)
- Coffee orders don't block food orders
Retail Peak Times
- Services: Single (Checkout)
- Counters: Register 1-8 (all serve checkout)
- 8 customers served simultaneously
Service Center
- Services: Passport, License, Registration
- Counters: Specialized + Flex counters
- Service-specific analytics
Restaurant with Bar
- Services: Bar (5 min), Table (45 min)
- Counters: Bar, Host Stand
- Bar customers don't wait behind diners
Backwards Compatible
Existing businesses without services or counters configured continue to work exactly as before. The multi-service selector only appears when multiple services exist, and the multi-counter dashboard only activates when counters are configured.
Online Booking
Let customers book time slots online alongside your walk-in queue. Both flows share one dashboard, one SMS thread, and one wait time estimate — so you never need a second tool.
- 1Customer visits your booking page at scanqueue.com/book/your-business
- 2Picks a service, selects a date and available time slot
- 3Fills in their details (same fields you configured for walk-ins)
- 4Receives instant confirmation via SMS + email with booking details
- 5Automatic reminders at 24 hours and 1 hour before their booking
- 6Customer arrives → staff clicks Check In → joins the live queue
- Day/week toggle — Google Calendar-style view with time axis and booking blocks
- Party size on blocks — see group sizes at a glance without clicking
- One-click check-in — when the customer arrives, check them into the live queue
- Reschedule or cancel — staff can move bookings via a modal, customer gets notified
- Real-time sync — new bookings appear live across all staff screens
- No-show handling — auto-marked after a configurable grace period (default 15 min)
- Confirmation page — shows booking date, time, service, and party size
- Self-serve reschedule — customers move their booking to a different time, no login required
- Self-serve cancel — one-tap cancellation from the confirmation page
- Provider picker — if enabled, customers choose their preferred barber/stylist/doctor
- One dashboard — walk-ins and bookings share the same queue, same SMS thread, same analytics
- Honest walk-in ETAs — wait times account for upcoming bookings (opt-in)
- Smart rebook — when a booking is cancelled, nearby walk-ins get offered the freed slot via SMS
- Per-service control — each service can be walk-in only, booking only, or both
Available on Growth plans and above. Free and Essential remain walk-in only.
Configuration Path: Settings → Booking Settings
Configuration Summary
| Feature | Location |
|---|---|
| Business name/details | Settings → Business Profile |
| Queue open/close | Settings → Queue Status toggle |
| Service time | Settings → Avg Service Time |
| Party-size calculation | Settings → Party Size Wait Calculation toggle |
| Form fields | Settings → Form Field Customization |
| Services | Settings → Services & Counters → Add Service |
| Counters | Settings → Services & Counters → Add Counter |
| SMS notifications | Settings → SMS Settings |
| Queue delay | Dashboard → Queue Delay control |
| Team members | Settings → Team Management |
| QR code design | QR Codes page → Customization tab |
| Subscription | Dashboard → Subscription tab |
Typical Workflows
- 1Customer joins via QR → appears in Waiting List
- 2Staff clicks Call Next → customer moves to "Currently Serving"
- 3Customer arrives → staff clicks Mark Served
- 4Next customer automatically ready to call
- Customer not ready? → Use Return to Queue to put back at front
- Order ready out of sequence? → Use Move Up to bump customer
- Customer needs more time? → Use Move Down to delay them
- Customer left? → Use Remove or No Show
- Taking a break? → Add queue delay (+5/+10 min)
- 1Customer joins and selects service type (e.g., Coffee)
- 2Staff at Coffee Bar clicks Call Next → calls coffee customer
- 3Meanwhile, Kitchen staff calls food customers independently
- 4SMS tells customer: "Please go to Coffee Bar"
Security & Privacy
| Venue-Isolated Data | Each business only accesses their own queue data - no cross-venue tracking |
| Minimal Collection | Only name, party size, and optional phone - no accounts required for customers |
| No Tracking | No tracking cookies or pixels used for customer tracking |
| Secure Links | Queue tickets use unique IDs that cannot be guessed |
What We Collect
Customer name, party size, and phone number (if SMS enabled). No email, no payment info, no location data from customers.
| Auto-Deletion | Completed queue entries automatically deleted after 30 days (configurable) |
| Leave Queue | Customers can leave the queue anytime from their status page |
| Account Deletion | Business owners can permanently delete all their data at any time |
Privacy Compliance
Built with GDPR principles in mind: data minimization, purpose limitation, and customer rights to erasure.
| Explicit Opt-In | Customers must check a consent box before receiving SMS notifications |
| STOP Support | Text STOP to immediately opt-out of future messages |
| HELP Support | Text HELP to get assistance and contact information |
| TCPA Compliant | All SMS messages follow Australian and US telecommunications regulations |
| Role | Permissions |
|---|---|
| Owner | Full access, billing management, account deletion |
| Manager | Queue management, settings, invite staff members |
| Staff | Queue management only - call, serve, and manage customers |
PIN Login: Staff can be added instantly with a name and PIN — no email needed. They log in via your business code at /staff-login. Owners can reset PINs at any time. Both PIN and email invite methods work side by side.
All traffic encrypted in transit
Protection against common web attacks
Data encrypted at rest
Regular automated backups
