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
- The doctor has
appointmentSystemType: "QMS", or - The workspace default is
QMS.
Doctors on QMS never fall back to SCHEDULED_WITH_PACKAGES — the system
type is explicit.
Patient flow
Pick a doctor — the doctor list shows a "Queue" badge on QMS doctors.
See the live queue banner — current queue length and estimated wait time appear above the date picker.
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
onSuccess fires with a full 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";
}Use it to trigger downstream actions: SMS reminders, sending the token to your CRM, showing a "your position" ticker on the patient's page, etc.
Common patterns
Kiosk mode — set calendarOnly: true and medosDoctorId to the walk-in
doctor's id, and mount the widget as a tablet-friendly inline experience at
the reception desk.
Show the token number after redirect — pass onSuccess a callback that
stores the token in sessionStorage, then redirect to a "Your Token" page
that displays it.