Photo by filmplusdigital on Unsplash

Easter and other holidays in Coda

Using Coda.io to create an actionable holiday calendar

Christiaan Huizer
5 min readMar 29, 2022

--

When preparing a work planning for clients, we often run into the issue of holidays. Employees have the right to take off some days and tend to do so around official holidays. For obvious reasons as I’ll show below.

I discriminate between three types of holidays

  • School holidays
  • Holidays that behave like birthdays, only the year changes
  • Religious holidays related to Easter

They all are a bit related, but not very strict and on top differ in Europe from country to country and even from region to region in certain countries.

Easter Holidays

If your team is composed with people of all walks of live you have to deal with various religious traditions as you can see here. In this blog we focus on ‘Moon Holidays’.

Once you know the date of Easter, you know also Ascension and Pentecost, they are related via a fixed number (39 and 49 days later). There are more like Three Kings’ Day and Carnaval that can be computed. Since they are not official holiday days we do not take them into account.

Easter is the first Sunday following the full moon but not before March 22 and later than April 25.

Easter, considered the greatest feast day in the Christian calendar, is a movable feast, which means that it falls on a different date each year. Easter always falls on a Sunday, but Easter Sunday can be as early as March 22 and as late as April 25.

We have the option to create a table that contains the dates of Easter between this year and let’s say the next twenty years. That goes fast and does the job very well. You check for this year via Today().Year() and off you go. Once you know Easter, you know the related onces as well.

The alternative is that you create a function in Coda that calculates for each year the date(s) you need. This is complicated as you see below. You can copy — paste it on the Coda Canvas and you have the date of this year.

Sum(Remainder(Today().year(),19),1).WithName(GoldenNumber,Sum(Product(GoldenNumber,11),-15,1,2).Remainder(30).WithName(Epacta,If(Remainder(Today().Year(),4)=0 AND (Remainder(Today().Year(), 100) !=0 OR Remainder(Today().Year(),400)=0),-1,0).WithName(LeapYear,Sum(31, - epacta ,13,LeapYear).WithName(FullMoon,If(GoldenNumber > 11,26,25).WithName(Critical_Epacta,If(Epacta < Critical_Epacta,29,30).WithName(MonthLenght,If(FullMoon<21,FullMoon+MonthLenght,FullMoon))))))).WithName(FullMoonDays,If(FullMoonDays - 31 > 0,Date(Today().Year(),4,FullMoonDays-31),Date(Today().Year(),3,FullMoonDays)).ToDate()).WithName(DateFullMoon,If( DateFullMoon.Weekday().Contains(7),DateFullMoon + 7,7 - DateFullMoon.Weekday() + DateFullMoon))

Feel free to use it in a personal setting or even in your company, but note that this code snippet is not intended to be commercialized by you. You shall not use it in docs you create for others without my permission.

Once we have this this date we can calculate the the related dates. I used a structure as below that has a button related to a table. The button prints the ‘moon holidays’ in the ThisDate column.

In the column BaseValues you see I created the first part of the date without a year. To avoid complications I used the typical Coda (USA) notation. In the column TheNextDate I mix the ‘moon holidays’ with the fixed holidays as you can see below. One year is added is to the fixed holidays once we passed the day.

mixing holiday types

The Moon Holidays receive their proper (updated) date via the button. The result is an overview of holidays partly fixed partly variable that are automatically updated.

I wrote before that most people like these holidays as a kind of anchor for their days off. That is is understandable because due to these days off you can have a week or a prolonged weekend without the need to give up too many of your free days.

In the Dutch variation below the colors help the HR people to communicate proactively on available free days. It might even ben an option to close the office on certain days if everybody takes a day off. Yellow represents a prolonged weekend, while purple makes a bridge day possible, the holiday is then on a Tuesday or Thursday.

Holiday View

The school holidays

Certainly school holidays differ from country to country and even from region to region. In 2023 the children living in the French speaking part of Belgium enjoy 7 weeks of summer holiday, while the Flemish children get 9 . But the children in Wallonia have two weeks extra during the year. As a planner you have to take care of it all.

Below I kept the USA date notation and used English names. It is a matter of additional columns and using them in the card view. The grey onces past, the blue one is the first to come.

Holidays

I hope you enjoyed this article. If you have questions feel free to reach out. Though this article is for free, my work (including advice) won’t be, but there is always room for a chat to see what can be done. Besides you find my (for free) contributions to the Coda Community and on Twitter

My name is Christiaan Huizer and I support SMB with calculations (budgets and planning) using Coda to get the job done. The Coda Community provides great insights for free once you add a sample doc.

Christiaan on ‘Easter and other holidays in Coda”

--

--

Christiaan Huizer

I write about Coda.io - AI and (HR )planning challenges. You find blogs for beginners and experienced makers. I publish about once per week. Welcome!