Skip to main content

Best practices: Fair queuing with appointments

In this article, we will go through some recommendations for organizations who use appointments.

Set up appointment queues

When setting up queues, it’s important that you segment appointment visits into appointment queues. This makes it possible to set up the system so that appointment customers are called as close as possible to their booked time. When you use calling rules like “Call by max waiting time”, the system uses the appointment time to calculate the waiting time. Also, visits in appointment queues are sorted based on the appointment start time.

If you don’t segment appointments into appointment queues, appointment visits will be handled just like walk-in visits and they will be sorted according to the check-in time.

Limit how late and early customers can check in

We recommend limiting how long before and after the appointment time customers can check in on kiosks or by using Mobile Ticket. In general, it’s most important to restrict how late they can be, because if customers arrive too late, the risk is that the rest of the appointments on that day are delayed.

  • For kiosks, in the appointment arrival widget, enter values for the settings Appointment Early (Minutes) and Appointment Late (Minutes).

  • In Mobile Ticket, configure a value for appointment_late and appointment_early in config.json.

  • For the Check in view, see Warnings for early and late check-in

Set up segmentation rules based on check in time

You can set up segmentation rules to segment customers into different queues, depending on when they arrive in relation to their booked appointment.

To segment late customers into another queue, use this rule:

  • WHEN: When the appointment is <late> by over X minutes, THEN: Go to the assigned queue.

This way, you could segment late appointment customers into a normal queue and not let them cause delays for the subsequent appointments.

To segment on-time customers into a appointment queue, and let the rest go to a normal queue (for example), use this segmentation rule:

  • WHEN: When appointment is <early> no more than X minutes AND when the appointment is <late> no more than X minutes, THEN: Go to the assigned queue.

Inform customers about check-in restrictions

It’s a good idea to let customers know if you have check-in restrictions. Place this information in the booking confirmation and also in the check in reminder.

Limit how early an appointment can be called

We recommend limiting how long before the appointment time an appointment visit can be called. This way, you will not reward customers who have checked in way too early (if you allow this).

The setting for this is called Block early appointments and can be found in the System Administration application and can only be changed by a Qmatic admin. Note that this setting is applied globally on all branches and all services. The value you set must be less than the “appointment early” setting.

The only case we advise against blocking early appointments is if you don’t allow cherry picking visits, in which case you could end up in a situation where an early appointment customer is the only visit in the queue and the staff member cannot call that visit.

Set up calling rules based on service level

If you have counters who are calling both appointment customers and drop-in visits, you should set up work profiles with calling rules that calls a visit from the queue that is closest to service level.

Let’s say the time is 10.00. A walk-in customer has taken a ticket a 9.45 and has now waited for 15 minutes. You also have an appointment customer who has an appointment at 10.00 and checked in at 9.55. Ideally, you would want the appointment customer to be called next because you always want to prioritize serving customers who have booked an appointment in time. One way to achieve this is to set the service level for the appointment queue to 0 and set the calling rule to call by closest to service level.