I'd like to be able to fix the time of day that a given task must start at and its duration without specifying the actual start date. In this scenario, the date would depend on the end time & date of previous tasks while the start time would be defined.

For example, task 2 is set up to have a Finish-Start dependency on task 1. Task 2 is assigned a start time of 13:00. If task 1 ends on July 5th at 20:00, then task 2 will start on July 6th at 13:00. If task 1 is changed so that it ends on July 5th at 10:45, then task 2 begins at 13:00 on July 5th.

Thanks for any input on this. Never needed to do this exact thing before, but assumed it was possible with minimal fuss. Maybe I was wrong? I'm using Project 2016.

Background: I'm planning a rather complex 5 week trip with some long train journeys. These journeys are obviously at fixed start times and are long enough that they should properly be considered in the planning. I thought why not use MS Project to allow me to make changes to each task such as adding stops in a particular place, changing the duration of stops etc. When I make such changes (say to a task in the middle of the trip), I'd obviously like the subsequent tasks to be affected from the point of view of their start & end times. In particular, I'd like to be sure I actually have time overall for all the stages planned.

In principle one can just have dependencies from a given stage set to the completion of the previous one with a Finish-Start relationship.

This works for most things, but a problem arises when organizing things that must start at a particular time of day like train journeys. I don't want to fix the date and time of things like that as changes made to task durations before that date will not be properly reflected in the overall timeline.

  • I should mention that I set the 24hr calendar, changed the working time to 00:00-00:00, 168 hours/week & 31 days/month.
    – JMcC
    Commented Jun 5, 2019 at 11:04

1 Answer 1


Consider using Task Calendars to constrain the departure time for each train journey – according to the published timetables. In the example figure below:

  1. Train 1-2 is a work-week daily service that departs City 1 each weekday (M-F) at 13:00.
  2. Train 2-3 is a daily service that departs City 2 each day (M-S) at 23:00.
  3. Train 3-4 is a weekly service that departs City 3 only at 08:00 on Wednesday mornings.

For each journey, there is a 1-minute “Depart” task – e.g. climbing aboard and taking your seat – that is a successor to the local city tasks and predecessor to the long train ride. This “Depart” task is assigned a Task Calendar that constrains it to occur only during one of the one-minute windows prior to each scheduled train departure. If the predecessor tasks are delayed, then the journey will automatically be delayed to the next scheduled train, with cascading effects through the schedule. (Be advised that using multiple calendars can complicate the calculation and interpretation of Slack and any other Duration-type variables, if that’s important to you.)

enter image description here

  • Tom, thanks for your response. I tried this idea of assigning a special calendar for each journey, but only as one task per journey. This led me into trouble under some circumstances. Your one minute 'depart task' may just be what I'm looking for. I'll try this later.
    – JMcC
    Commented Jun 5, 2019 at 16:00
  • Indeed, the one-minute task is a trick, born from experience....
    – Tom Boyle
    Commented Jun 5, 2019 at 16:50
  • I agree with most of this answer but my preference would be to have the calendar start at 13:00 (in the Train 1-2 example) and make the "Depart" task a milestone (0 day duration) instead of 1 minute duration Commented Oct 25, 2021 at 16:10
  • Kenny, that would also be my preference, which is easily done in some other tools. In MSProject, however, true milestones cannot be constrained by work-time calendars, so you have to give it a duration.
    – Tom Boyle
    Commented Oct 31, 2021 at 23:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.