Skip to content

Integrate holiday data in tj3 #54

maxmeyer opened this Issue Apr 10, 2012 · 2 comments

4 participants


Hi there,

folks from the taskwarrior team ( created to provide holiday data. It may help users to add vacations to their project files.

I see at least two possibilities to integrate the data in taskjuggler:

  • Using a script/sub-command of tj3: Fetch on request by user and output in the correct format needed by taskjuggler on STDOUT
  • Integrate as TaskJuggler option to vacation-command: Fetch on the first compilation run (and cache it)

Personallay I would prefer a subcommand. Otherwise you get wrong calculations if there is no online connection.

BTW: They also tell you if there are "regional" holidays: look for NRW or BW (Germany) at .

Information from their website

    The locale should be one of the supported locales (see the supported Locales, years and formats).
    The year should be a four-digit value no earlier than 2011.
    The data format should be one of: CSV, XML, YAML, JSON.


@scrapper scrapper was assigned Apr 12, 2012
nibua-r commented Feb 7, 2013


eliasp commented Jan 6, 2014

Another possibility:
instead of relying on an online source (which would need some additional caching logic etc. for offline use), use the holidays gem.

Then one could define a location/region for a resource:

resource johndoe "John Doe" {
  email "john@doe.tld"
  location "de/bw"

It should be possible to overwrite the region for task allocations (e.g. working temporarily in another country where different holidays apply) like this:

task onsite_implementation "Implement the product at the customer's site" {
  allocate johndoe { location "us/ca" }
  effort 8d

Maybe it should be also possible to override holidays for resources e.g. for special high-priority shifts like network-changes during major holidays like christmas which isn't that unusual, at least in IT.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.