By Santa Settles, ©2017, 2023 That’s Santa
T’is the season to pencil-in bookings and do some long-range planning. And if you should find conflicts, there is no better time to deal with them than now. If you haven’t run into problems already with scheduling repeating events then you may not be aware of the considerable difficulty that can be involved, especially when using multiple methods for referencing dates. Let’s start with a simple example.
A new client would like to start a new annual tradition and wants to book the first Sunday in December, which is 12/3 in 2017. You take a look at your calendar which has other scheduled events marked off (11/25, 11/26, 12/9, 12/10) and below the calendar are listed the ways those clients reference when their event is to be scheduled, and yes, the first Sunday, 12/3 is free (yellow). But, you’re the cautious sort so you break out a 2018 calendar and mark all of this year’s repeating events on it, too, just to be sure (below).
Hey, alright, no conflicts here, either. But, some nagging feeling is bothering you, so you go crazy and pull up a 2019 calendar and fill it out (below). And there it is, a conflict for the new gig, and a possible problem for a gig you’ve been doing for years already! Let’s take a closer look.
The Sunday after Thanksgiving is now the first Sunday in December, Yellow and Green events are on the same day (12/1, striped yellow and green)! Also, when the town first hired you for the tree lighting and parade they said that they would need all your second Saturdays for the tree lighting and your second Sundays for the parade on the day after. But in 2019 the second Sunday is a week before the second Saturday, not consecutive days. Fortunately, in this example, no one had booked the third Sunday and the parade can be safely moved. Because of your foresight the town will know of the change two years in advance. And once the parade is moved your new booking can slide into the second Sunday slot.
As you can see, this conflict could have easily gone unnoticed if we hadn’t taken that extra step and filled out a 2019 calendar. And there could be more conflicts lurking. Using this method, how many years worth of calendars do you think we’d have to fill out before covering all our bases? Would you believe, we’d have to do them through 2025! There must be an easier way! There is, let me show you.
Here is a graphic I use to visualize how dates rotate from year to year. There are 7 patterns for the dates around Christmas, each dictated by what day of the week on which November 1st falls. In the leftmost calendar the first is on Sunday, the next is Monday and so on to represent every pattern possible for November and December. At the top I show some samples of years that use each pattern, but you’ll notice that they are not uniform because of leap years… just one more thing that makes tracking repeating events difficult!
On each calendar, Thanksgiving is highlighted orange, and Christmas is red. One of the first things you’ll notice is that "the season” (which I use to mean Black Friday to Christmas Eve) varies in length from 26- to 32-days long. It’s this variability that can lead to trouble. The chart below shows the inconsistency of season lengths. Most notably, there are no 27-day seasons until 2025! So, as alluded to above, a person using this system in 2017 would have to fill out calendars through 2025 to spot all possible conflicts!
The crux of our problem is just there, we make relative references to both fixed and unfixed dates. We base an event on Thanksgiving (unfixed), or a certain week of December (unfixed), or so long before Christmas (fixed), and it’s all in flux every year. It is a rare thing indeed to have an event that makes an absolute reference to their date… almost no one wants to book December 11th every year since one year it will be on a Sunday, then a Tuesday, then a Thursday. Birthday parties are a possible exception, but even then folks are likely to have it on a weekend before or after the actual date. So, for the most part we are left with relative references for our dates: “we want the Saturday the week after Thanksgiving”, or the second Sunday in December, or, my all time favorite, “can we do the Saturday before Christmas… unless it is later than the 20th, then we want the second Saturday before Christmas”! And any one of these systems of reference can work and never give you a conflict, the problem is when different clients use different relative references. Even then, things may work for a while, as shown in opening example. Eventually though, the 4th Sunday of the season, which is normally the 2nd Sunday before Christmas, will be the 1st Sunday before Christmas and you will have an unexpected conflict between clients who have happily coexisted on your calendar for three years!
We need a way to standardize relative references into absolute references. But how? Let’s consider an example. A new client wants the 3rd Sunday in December, so in 2017 that’s the 17th. They want “this date” for years to come, so what more can we know about “this date” in other years? Well, to be the third of any weekday in a month it has to be at least the 15th (two weeks plus a day) and the latest it can be is the 21st (three full weeks). Now, if you have any other bookings that command Sun 12/15, Sun 12/16, Sun 12/17, Sun 12/18, Sun 12/19, Sun 12/20 or Sun 12/21, then at some point there will be a conflict. So, how to remedy it? We need to figure out an absolute way to refer to the client’s relative dates, and then come up with an easy way to compare that range to the ranges of all your other repeating events… without having to fill out years and years worth of calendars! Let’s use Thanksgiving as an example. The classic way to refer to when Thanksgiving occurs is it’s the fourth Thursday in November, but if you want to know what date it falls on you’re going to need to look at that year’s calendar. But, how else could we define it? If its the fourth Thursday that means at least three weeks have passed, so the earliest it can be in any year is the 22nd (3 x 7 + 1), i.e. any November where the 1st is a Thursday. Further, it cannot fall in the fifth week of November, so the latest it can be is the 28th (4 x 7). So, Thanksgiving is the Thursday that falls in the range of November 22-28 on any given year. You can confirm this with the orange dates on the calendars above.
So how do we use that information? Above is a very useful, if odd-looking, “calendar”. On this calendar the dates are not tied to days of the week, instead the dates run left to right and the days of the week run top to bottom. You’ll also note there is no year. What this calendar allows us to do is see the whole season for any year at a glance. For instance, the red bars on the right are Christmas Eve and Christmas. They run vertically in columns D24 (December 24) and D25 (December 25) because they fall on that date every year, but that date can be Sunday (top row) or Monday (second row), and so on. Thanksgiving on the other hand, in gold, runs horizontally because it is always on a Thursday (fifth row). But not just any Thursday, it must fall no earlier than N22 (November 22) and no later than N28, as we addressed above. These colored bars represent every possible occurrence in any possible year.
Using this system, even a convoluted request can be given an absolute reference. Try the one mentioned earlier: a brunch that wants “the Sunday before Christmas unless it is later than the 20th then we want the second Sunday before Christmas(!)”. This client would want the Sunday (first row) with a late date no later than 12/20 (D20). In order to cover all 7 possible calendar patterns we need to hold 7 consecutive days in the range, so the earliest early date would be the 6 days before 12/20. So we would reserve every Sunday that falls between 12/14–12/20 in any given year, shown below in light blue (ignore the boxes and other colors for now).
If you get another client who wants the 2nd Sunday of December you need to translate that into the new system: it becomes the only Sunday between 12/8–14 (second week means 7+1 to 7+7, or 8th to 14th). We go to our chart (above) to mark out 12/8–12/14 (box outline) and oops, see that, there is a conflict! The new dates are shown with a box outline, and that box overlaps an existing event, the light blue. The brunch from the previous example already commands every Sunday 12/14–20 (blue), and this new event, Sundays 12/8–14, overlaps on any Sunday the 14th. Now, that only happens once every several years, and as of this writing will not happen again until 2025 (you can check it on the calendar patterns), so you may have no issue booking it even knowing the conflict (I’ll leave the ethical questions up to you). But, the main thing is that now you know where the hitch will be and you can plan for it with your clients. The simple solution in this case is to change the repeat of this new event to Sundays 12/7-13 (shown in pink, above).
Let’s try another: I have a client who always wants the Thursday after Thanksgiving. Let’s translate that to the new system. Thanksgiving, as we saw above, is always 11/22–28, so the Thursday a week after that is 11/29–12/5. To protect that client’s booking you cannot book any Thursday that falls between 11/29 and 12/5. Example shown in green, above.
How about one final example: I have a client who books the second Wednesday of December and the following Thursday and Friday (which are not necessarily the second Thursday and Friday, but are sometimes the third). To be the second of any weekday in a given month the date must always fall between 12/8 (7 + 1) and 12/14 (7 + 7), so we would block out W 12/8–14, Th 12/9–15, and F 12/10–16 (shown in purple). Now, this points out another kind of problem. There are three Thursdays between the green event and the purple event that are not reserved, Thursdays 12/6–8. Go back to the chart on page 2 and you’ll see that these dates are available this year and next, but not again until 2022! So, if you booked Thursday 12/7/2017, the client could rebook you for 2018, but basically never again… they’d have to get a fill-in Santa for 4 out of 7 years, guess how well that’d work out!. The better solution would be to ask your purple event if they would be willing to move their range 3 dates earlier (or 4 dates later). That would leave no gaps between Thanksgiving, the green event and the purple event, a solid booking!
Obviously, this graph is exceedingly simplistic. You can only book one event per day! A slightly more complex, but immensely more useful graph might divide each day into three broad time blocks: AM, Midday and PM. This would allow you to put three events per day into a graphical “repeats at a glance” chart, like this, showing the events from the previous calendar but placed in their appropriate time-slots:
You can see that this would be a much more useful tool, allowing you to see not only what days have openings and conflicts, but also get a better sense of what total percentage of your time is booked. Notice that I have shown the shift in the purple event as though the client approved the earlier date range. We still have a difficult to utilize gap for Sundays 12/21, 22 and 23 which will be hard to book unless they are just one-off type visits.
If you want to really get fancy, you can make a highly detailed “repeats at a glance” like I use. This is a closeup of a section of mine.
You can see I have broken each day into hourly slots from 10am to 10pm (though 9–9 would probably be better). I have put years in the columns as a background so that I can tell when each weekday/date combination occurs, and repeated this background across the sheet so that when a new event covers part of it up I can just refer to an uncovered part. I have also outlined 7-date ranges based off of Thanksgiving so that I am reminded that it is better to keep to those ranges so as to avoid booking gaps. Below is my full “repeats at a glance” calendar. It is sized to fill my monitor so that all needed info is there at one shot. I have found this system to work very well for me in the 5 years or so that I’ve been using it (10 years as I revise this paper in 2023!), I hope you will find this info helpful to devise a system that works for you, as well.