Hi all!

I was wondering if someone could show their customized Vacations App, as I’m looking into the ways and ideas to make the standard one better.

I have basic usage concerns, like “how do I set the state holidays for everyone, how do I manage paid and unpaid leaves, how do I make formulas omit the weekends” – and I thought that everyone using it has probably dealt with these concerns in some way.

So I just wanted to ask: would someone want to show off their awesome customized Vacations App?

@antoniokov Is working on these problems right now and I hope he will share the space soon.

1 Like

BTW, here is the early MVP.

1 Like

Well, I’m tempted to re-type the arcane formulas by @Chr1sG right from the video right now!
Thanks for sharing! @antoniokov, I’m looking forward to picking that baby up right off your hands!

S

``````If(WeekDayName(Dates.Start(),"dy") = "mon",0,If(WeekDayName(Dates.Start(),"dy") = "tue",1,If(WeekDayName(Dates.Start(),"dy") = "wed",2,If(WeekDayName(Dates.Start(),"dy") = "thu",3,If(WeekDayName(Dates.Start(),"dy") = "fri",4,If(WeekDayName(Dates.Start(),"dy") = "sat",5,6))))))
``````

E

``````If(WeekDayName(Dates.End(),"dy") = "mon",6,If(WeekDayName(Dates.End(),"dy") = "tue",5,If(WeekDayName(Dates.End(),"dy") = "wed",4,If(WeekDayName(Dates.End(),"dy") = "thu",3,If(WeekDayName(Dates.End(),"dy") = "fri",2,If(WeekDayName(Dates.End(),"dy") = "sat",1,0))))))
``````

Weekdays

``````(((((ToDays(Dates.End(false) - Dates.Start()) + S) + E) * 5) / 7) - If(S > 5,5,S)) - If(E < 3,0,E - 2)
``````
2 Likes

We are considering adding a function to get the day as a number instead of text, which will make S and E much simpler

Thanks a whole lot!

Can someone share a working template with holidays per country?

I believe @antoniokov can do it, since we have it in our company

I have finally implemented the MVP shown in the video here. But my Public Holidays have DateRange instead of a single Date. @Chr1sG @antoniokov any chance you have a solution for this case or can help me with the formula? It would be a massive help, it takes me a lot of time to construct something like that.

The formulas above are intended to work with a date range. They assume that the field name is ‘Dates’ but if you change that everywhere to whatever you’re calling your field, they should work fine.

e.g. change

``````If(WeekDayName(Dates.Start(),"dy") = "mon",0,If(WeekDayName(Dates.Start(),"dy") = "tue",1,If(WeekDayName(Dates.Start(),"dy") = "wed",2,If(WeekDayName(Dates.Start(),"dy") = "thu",3,If(WeekDayName(Dates.Start(),"dy") = "fri",4,If(WeekDayName(Dates.Start(),"dy") = "sat",5,6))))))
``````

to

``````If(WeekDayName(YourFieldName.Start(),"dy") = "mon",0,If(WeekDayName(YourFieldName.Start(),"dy") = "tue",1,If(WeekDayName(YourFieldName.Start(),"dy") = "wed",2,If(WeekDayName(YourFieldName.Start(),"dy") = "thu",3,If(WeekDayName(YourFieldName.Start(),"dy") = "fri",4,If(WeekDayName(YourFieldName.Start(),"dy") = "sat",5,6))))))
``````

and similarly for the other formulas.

Thanks, Chris! But I’m not talking about the S & E formulas for the Vacations database. I’m talking about the date format for the Public Holiday database and the formula in Automation Rules that are used to connect Public Holidays to Vacations.

In Anton’s example above it is simply a `Date` (e.g. Public Holiday “Christmas” has a date of `25-12-2021`), and he performs simple comparison to know if the Public Holiday falls in any vacation’s `DateRange`.

But my Public Holidays have `DateRanges` (e.g. Public Holiday “Christmas” has a date range of `25-12-2021 — 27-12-2021`).

Therefore Public Holidays’ `DateRanges` have to be compared to Vacations’ `DateRanges`, which I can’t wrap my head around fast enough.

I think Anton chose to make public holidays single dates because it is hard to calculate overlaps in date ranges.
I think I recall there were also some challenges if a vacation/holiday date range spanned two years (e.g. 30th Dec - 2nd Jan).
Anyway, I’m wondering why you are choosing not to use a single date field (and then define multiple holidays if the period is more than one day)?

I chose DateRanges because we use the term “Studio Holiday” instead of “Public Holiday” – and that also covers cases where we have a long holiday for the whole studio (say, Dec25-Jan10). I realize that having single dates works better because it works easier, but I really don’t like the idea of creating 16 one-day holidays.

I’m a bit late to the party but I hope this is still helpful

I chose single-date public holidays to avoid dealing with partial overlaps:

I’m pretty sure we can upgrade the solution to support date range holidays, but the complexity would skyrocket. I’d use a spreadsheet to slice a range into single dates instead:

It’s a once-in-a-year operation so it shouldn’t be much of a burden, even if dates shift. You can always add a container DB on top of the Public Holiday DB and set up an automation to move the holidays when their parent container moves.

1 Like

Nudged by this discussion as well as a few conversations with our dear customers, we’ve packed our vacation tracking solution into a proper template: https://fibery.io/templates/vacations-pro.

On top of our regular Vacations template, this advanced template accounts for country-specific holidays and weekends. Hence, makes a report like the one we have on Open Startup page possible:

An overview:

A behind-the-scenes video for total nerds:

3 Likes