Off set date calculations to take into account non-working days (ie work schedule)

Roland Drane 3 months ago in Productivity Management updated by Eric Teitsma 3 weeks ago 9

When setting for example a project end task to fixed end minus one day from activity begin date, the calculation should take into account that possibly the -1 day is a week-end day (or a public holiday) and therefore set the -1 day to the earliest working day.  This request is also applicable to workflow start tasks where calculations on off set to a particular date, do not take into account the work schedule (ie week-ends & public holidays are counted as working days in the calculation).

This causes severe problems with some customers and does not provide the functionality that is expected: defining end and start dates whilst giving consideration to work schedules and thus enabling automated workflow starts.

Regarding timing, this will not be able to fit the roadmap yet this year but we are targeting to do it in 1H 2021.

Hi All,

We have evaluated this further internally and looked into the logic.  The simplest thing here would be to basically count only working days based on the work schedule for that task.  This would achieve the behavior we are talking about.  If you are subtracting 15 days, you start counting backwards 15 working days and where you end up becomes the date.  Same in reverse if you add 15 days it would count forward.

I do have a question though on the starting point itself.  The date value is coming from an EA and the end user can pick any day they want for it.  IF they pick a non-working day as the date and the Task is simply set to be due on the specific date picked (there is no offset being calculated) then what should the application do in that case?


I have an EA called "Invitation Email Send Date" and I link that EA to a task.  On that task I configure no offset so the end of the task should match the date of the EA.  But the user picks a Saturday for the EA date which is not a working day on the schedule.  Should we still then move the task due date to a working day and in that case which way should it move?  Or should error and notify the project manager?



We often have Email Send Dates / Launch dates to be Saturdays so we would need the date to stay as Saturday and we place the Send Dates on the Marketing Calendar, so they need to be the correct / entered dates. As long as the offset calculations consider the non-working day schedule so the tasks don’t fall on a weekend, we are fine with keeping the date as entered

Good question Eric. 

First We should not allow the user to select holiday or weekend. 
Date pick list should sync with the calendar/Work Schedule.

we should have date validation in Work request and DCT as well.

Karthik, we cannot limit the selection of a date EA field to only allow work days.  That would hugely impact their value and use cases.  They are used for so many other things beyond just setting a project schedule.  They could hold the expiration date of an offer, the dates a live event is being held, a store opening, etc.  All which could fall outside the work schedule.  

So we would need to determine a behavior for this when it occurs.  If I pick a Saturday and the task should only allow work days then we have two choices.  Move it earlier or move it later.  I would guess move it earlier is the better option in most cases.  So in the "Saturday is selected" use case the task due date gets moved to Friday even if there is no offset configured to move it to a working day but the value in the EA stays as entered for Saturday.

When this will be available?

We would also benefit from this feature as we would like to offset our projects based on a Send Date. We would like a task to be assigned on the following Monday if it did fall on a Saturday or Sunday.


Would you always go "earlier" until you get to a working day?  Meaning if the calculation is -5 days and that puts you on a Sat you move to the Friday before but what if the offset is a plus (+) and not a minus (-).  If you want the task to start +5 days and that puts you on a Sat should you still move backward to Friday or should you move forward to Monday?

We would have to use our Work Schedule as the reference for whether to skip weekends and the customer would have to also block their holidays on that work schedule as well.

I would make this an optional setting though as I can see some use cases where you would NOT want to have this done.  So I would see this as a new setting when configuring a fixed date task like "Use Working Days Only" and if set to "Yes" then we skip weekends and holidays.

Yes, the two use cases which I have are "minus cases" where we would want to go earlier.  The objective is to only take working days into account as defined by the work schedule.  I appreciate other users need to take actual/calendar days into account.

Case 1: End date of project defined as minus one day (working day) from source,  so as you describe, if that takes you to a sunday; you move to friday.

Case 2: Start date of project is set at a fixed source minus x days (these x days are working days, not actual/calendar days).   

I don't have use cases for positive calculations but my gut feel would be to take into account working days ie: if +1 puts you on  saturday, then you would move to monday.