v1.0 Dashboard Public Profile GitHub
✅ Complete (Core) Phase 12

Phase 12 — Front Desk Physical Replacement

A complete digital front desk system — visitor check-in kiosk, queue token management, digital display screen, and staff queue dashboard. Designed to replace the physical receptionist desk entirely.

What It Does

Visitors arriving at a business use a tablet kiosk to check in themselves. They choose their purpose (appointment, walk-in, query, delivery, complaint, other), enter their name and phone, and receive a token (T-001, T-002...). The digital display screen shows who is being served. Staff manage the queue from a dashboard. All without a human receptionist.

Key Routes

URLAuth?Description
GET /kiosk/{slug}❌ NoneFull-screen kiosk check-in page (touch-friendly, no login required)
POST /kiosk/{slug}/checkin❌ NoneSubmit visitor check-in
GET /kiosk/{slug}/token/{id}❌ NoneToken confirmation screen (shows T-001, position in queue, estimated wait)
GET /display/{slug}❌ NoneDigital display screen — dark TV mode, 8-second live polling
GET /front-desk✅ AuthStaff queue management dashboard
POST /front-desk/call-next✅ AuthCall the next visitor in queue
POST /front-desk/visitors/{id}/serve✅ AuthMark specific visitor as being served
POST /front-desk/visitors/{id}/skip✅ AuthSkip a visitor
POST /front-desk/visitors/{id}/done✅ AuthMark visitor as served/done
POST /front-desk/visitors/{id}/left✅ AuthMark visitor as left queue without being served

Key Files

TypePath
Controllerapp/Http/Controllers/KioskController.php
Controllerapp/Http/Controllers/DisplayController.php
Controllerapp/Http/Controllers/FrontDeskController.php
Modelapp/Models/Visitor.php
Tablevisitors — tenant_id, token_number, name, phone, purpose, purpose_detail, status, check_in_at, served_at
Viewresources/views/kiosk/checkin.blade.php
Viewresources/views/kiosk/token.blade.php
Viewresources/views/kiosk/display.blade.php
Viewresources/views/front-desk/index.blade.php

Visitor Purposes

PurposeSlugIcon
AppointmentappointmentCalendar
Walk-inwalk_inPerson walking
Query / EnquiryqueryQuestion mark
DeliverydeliveryPackage
ComplaintcomplaintWarning
OtherotherDots

Queue Token System

Tokens auto-increment daily per tenant: T-001 on day 1, T-002, T-003... Reset to T-001 at midnight (based on check_in_at date). The token is shown to the visitor on a confirmation screen and on the digital display when they're called.

Visitor Statuses

  • waiting — checked in, in queue
  • serving — currently being served at the desk
  • served — visit complete
  • skipped — staff skipped this visitor
  • left — visitor left without being served

Digital Display Screen

The display at /display/{slug} is designed for a TV or large monitor mounted in the waiting area. It shows:

  • "Now Serving" — the token currently being served (large, prominent)
  • Queue list — next 5 tokens waiting
  • Business name and logo
  • Current time
  • Auto-refreshes every 8 seconds via JavaScript polling

What's Complete

  • Visitor check-in system with name, phone, purpose selection
  • Auto-incrementing daily token (T-001, T-002...)
  • Kiosk mode: no auth, full-screen, touch-friendly 2-step flow with purpose cards
  • Token confirmation screen: token number, queue position, estimated wait
  • Digital display screen: dark TV mode, 8-second live polling, Now Serving + queue list
  • Queue dashboard: call next, serve specific, skip, done, left actions
  • 30-second auto-refresh on queue dashboard
  • Today's stats: waiting, serving, served count, average wait time
  • Staff "Up Next" panel showing next 3 visitors in queue
  • Colour-coded statuses in queue dashboard

What's Deferred

  • ID verification (scan/upload — needs camera/hardware)
  • Form/document upload at check-in
  • Payment kiosk support (link to wallet/billing)
  • Smart AI routing (complaint → manager, delivery → store room)
  • SMS notification to staff on new check-in
  • Multi-counter support (Counter 1 serves A-series, Counter 2 serves B-series)
  • Walk-in appointment booking from kiosk (link to scheduling Phase 3)