QMS (Queue Management System)
Token-based, walk-in-style bookings with live queue stats.
QMS is a queue-based booking flow. Instead of picking a specific time
slot, the patient joins a queue and gets a token number.
When it's active
Doctors set up for queue management in your dashboard get this flow. Everyone else gets the scheduled flow.
Patient flow
Pick a doctor from the same list as any other doctor.
See the live queue banner — it appears once a QMS doctor is selected, showing whether the queue is open along with current queue length and estimated wait time.
Pick a day — today for immediate walk-ins, or a future date for same-day-of-week queue reservation.
Enter phone, verify OTP, and confirm patient details.
Get a token — the confirmation shows the token number, queue position, and estimated wait time.
Confirmation payload
The intended onSuccess payload is a full QueueToken (note that
onSuccess doesn't fire yet):
interface QueueToken {
tokenNumber: string;
queuePosition: number;
estimatedWaitTime: number; // minutes
patientName: string;
appointmentDate: string; // YYYY-MM-DD
appointmentTime?: string; // HH:MM (approximate, if provided)
doctorName?: string;
locationName?: string;
bookingType: "TODAY" | "FUTURE";
}Once the callback is live it's what you'd use for downstream actions — SMS reminders, pushing the token to your CRM, a "your position" ticker on the patient's page. The widget shows the token on its own confirmation screen regardless.
Common patterns
Kiosk mode — set calendarOnly: true and externalMemberId to the walk-in
doctor's id, and mount the widget as a tablet-friendly inline experience at
the reception desk.
Show the token on your own page — the intended pattern is to stash the token
in sessionStorage from onSuccess and redirect to a "Your Token" page. That
depends on the callback firing, so it isn't available yet.