Give everyone a token, including walk-ins
Sequential tokens at registration end most of the arguments, because the order is written down instead of remembered. Reception issues the next number in seconds and calls them in sequence. Nobody has to defend who arrived first.
Keep a separate queue per doctor
One shared queue in a multi-doctor clinic guarantees confusion. Give each doctor their own token sequence and their own waiting list, so nobody has to ask reception who is next.
Tell people roughly when, not just where they stand
Waiting feels twice as long when it is open-ended. If reception can see token 14 is with the doctor and you are 19, they can give a patient an honest estimate. Many will step out and come back, and your waiting room gets quieter without a single extra minute of consultation time.
Have the bill ready as the visit ends
The second queue is the billing counter. If consultation charges and medicines are already sitting on the patient's record when they walk out of the room, the last stop takes a minute. If not, you get a crowd at closing time.
Check the peak hour before changing the roster
Daily appointment and token reports show when the crush actually happens. It is often not the hour you assume. Move staffing or slot lengths based on that, then look again next month.