To comply with social distancing norms it is often not enough to only manage the capacity of a venue, the number of people there. It can also be necessary to manage the number of people arriving or leaving at the same time. For example, a swimming pool or day care may easily hold 50 people, but if they all arrive at the same time it will still cause problems around exits and changing rooms. And there can be many other reasons besides social distancing that make staggered arrival of guests a good idea.
As explained in a previous blog on queue management, you can set up a queue to allow, say, a batch of 10 customers every 15 minutes. However, for a swimming pool, you don’t want those 10 people to leave after 15 minutes, instead you want to allow the first batch to stay inside while the second batch arrives. This can be achieved by creating an appointment schedule that allows batches of staggered appointments, where you can set a limit both on the batch size and the total.
You could set this up with a single “capacity-type” schedule, by creating lots of little boxes in a staggered pattern, each with the capacity of one batch. But creating all the boxes is tedious (that’s what computers are for) and making a change later is cumbersome too. Also, it looks a bit confusing and users will not be able to easily change their appointment to another time.
This example does not look very clear and is tedious to create
There’s a better approach, but that one can be a bit tricky to set up. It involves creating a separate schedule for each batch, and after that, a schedule that combines those into a single calendar.
First, you use the “New schedule” wizard to create a “resource” type schedule, where the number of resources is the size of one batch of people. A batch can have a size of just one, of course. Next, you use the wizard again to copy that schedule, the number of copies you need is the number of batches that happen concurrently. Then, on each of the copies you set a different start time constraint, for example “9:00, 10:00, 11:00” on one batch and “9:15, 10:15, 11:15” on the second batch. You can also use the short form “*:00, *:30”, indicating that those batches start at all times ending in :00 or :30.
Finally, we use the wizard to create a “service” type schedule that will be used to combine the batches we just created. On this schedule we will set opening hours and create a single service that indicates the length of a batch. In the wizard define the service to consist of “Batch 1” or “Batch 2” or “Batch 3” or “Batch 4”.
Remember to toggle the switch from “and” to “or”
Voila, the resulting calendar will allow people to sign up for a specific time until that batch is full, at which point the slot disappears.
This is what the administrator would see, you can hide the existing appointments from the users