Features › Scheduling
Scheduling: durations, links, dates and float
How Ganttry works out your dates — durations, links and lag, constraints and deadlines, work calendars, float and the critical path.
Ganttry is a critical-path scheduler: you say how long each task takes and what it waits for, and Ganttry works out every start and finish date from those durations, the links between tasks and your work calendars. It follows Microsoft Project's rules.
This page covers building the logic. Recording what actually happened is on Progress tracking and the Projects page; comparing dates against a baseline is on Baselines and variance, and comparing a version saved in History with today's plan is on Saving, history and opening projects; budgets are on Cost loading and cash flow.
Where to find it
- In the grid: the Duration, Predecessors, Start and Finish columns, and more you can show from Add or show columns… (right-click any column header).
- Right-click a row → Constraint & deadline….
- Tools ▾ → Calendars… for work calendars.
- Project settings (click the project name) for the project start date, the critical threshold and how Activity IDs show.
Durations
A duration is how long a task takes, in working days unless you say otherwise:
| You type | It means |
|---|---|
5 or 3.6 | working days |
5d | working days, with the unit written out |
2w | weeks — multiplied by the working days in your workweek |
36h | hours — converted at the calendar's hours per day, and remembered as hours |
0 | a milestone — a zero-length marker such as "Notice to proceed" |
The Hours column shows each task's duration times the hours per day; a summary adds up its subtasks. You can type into it too — hours convert to days at the calendar's hours per day.
Hours per day
Set the hours in the calendar: Calendars… → Hours per workday — 8 for five 8-hour days, 10 for four 10-hour days (and clear Friday).
Round durations entered in hours up to full days decides whether durations typed in hours round up to whole days. Turned off, 36h at 10 hours a day schedules as exactly 3.6 days, and the next task can start the same day.
A task you entered in hours keeps its hours: a 36h task scheduled as 5 days still shows 36h. Change the hours per day and tasks entered in hours reschedule, while tasks entered in days keep their days.
Predecessors, link types and lag
The Predecessors column says which tasks must come before this one, using Microsoft Project's shorthand: the other task's row number, an optional link type, and an optional lag.
| You type | It means |
|---|---|
12 | finish-to-start (FS): task 12 finishes, then this one starts — the normal case |
12SS | start-to-start: this can start once 12 starts |
12FF | finish-to-finish: this can't finish until 12 finishes |
12SF | start-to-finish: this can't finish until 12 starts (rare) |
12FS+3d | starts 3 working days after 12 finishes |
14SS-2d | starts 2 working days before 14 starts (a lead) |
Separate several links with commas. When you insert or delete rows, the numbers in every link renumber automatically. Ctrl+L links the selected tasks finish-to-start, and on the Gantt you can draw a link by dragging from the end of one bar to another — see The Gantt chart.
Successors
The Successors column is the same links seen from the other end, kept in step for you. Type 14SS+2d into task 5's Successors and task 14's Predecessors gains 5SS+2d; remove it on either side and the other side goes too. Both columns take the same shorthand — they are one set of links, not two.
WBS and Activity IDs
Both columns start hidden; show them from Add or show columns….
- WBS is the outline number —
1,1.1,1.1.2— worked out from where the task sits, so it changes when tasks move. - Activity ID is a stable code you can edit, in P6's style (
A1000,A1010…). New tasks get one automatically and keep it when they move. To renumber the whole project from a prefix, a start number and a step, right-click the Activity ID header → Renumber activity IDs….
In Project settings, Show Activity IDs in Predecessors / Successors makes those columns show IDs instead of row numbers. Either way, you can type a row number or an Activity ID. Activity IDs come in from an import, and Ctrl+F finds them.
Dates
- Typing a Start date pins the task: it sets a Start No Earlier Than constraint, shown by 📌. To remove the pin, empty the Start cell (
Deleteclears it). - Typing a Finish date changes the duration to fit.
- Editing any date cell — Start, Finish, Deadline, Actual Start or Actual Finish — opens a small calendar under the cell. Click a day to use it; that task's non-working days are dimmed. Typing still works:
3/4,Mar 4,4 Mar,3/4/26,Mar 4 2026and2026-03-04all read correctly, and the calendar follows what you type.Esccancels the edit. - A date typed without a year takes the year nearest the task's own date: its start for Start and Actual Start, its finish for Finish, Deadline and Actual Finish. A row with nothing typed in it yet goes by the nearest row above that has dates, or by today if there isn't one — so a date more than six months away needs its year. A Finish before the task's start, or an Actual Finish before its Actual Start, is refused, as it is with its year typed; a Deadline before the start is kept, and shows as missed. A day that doesn't exist, such as
Feb 30, is refused.
Tasks with no predecessors or constraints start on the project start date, set in Project settings.
Constraints and deadlines
Right-click → Constraint & deadline… sets one of four constraint types, plus a separate deadline:
| Type | What it does |
|---|---|
| Start No Earlier Than (SNET) | the task starts on the date or later — what typing a Start date, or dragging a bar, sets |
| Must Start On (MSO) | pins the start to the date, even against its predecessors; a conflict is flagged |
| Finish No Later Than (FNLT) | moves nothing; a finish past the date shows negative float and is flagged |
| Must Finish On (MFO) | moves nothing; a finish that isn't exactly on the date, early or late, is flagged |
A Deadline never moves a date. It is a target finish you want to watch: if the task can't finish by it, its float goes negative, and once it is missed the task and its Deadline cell turn red. Use deadlines for contract dates you need to see slipping early.
On screen, a broken constraint shows a red ⚠ beside the row and a red outline on the bar. A deadline draws a diamond on the Gantt — green when met, red when missed. The Constraint and Deadline columns start hidden; once shown, they go into CSV, Excel and PDF exports, and the PDF draws the deadline diamonds and their key. Remove constraint on the right-click menu clears a constraint.
Once a task has actual dates, its constraints no longer apply — what happened wins — though a deadline still flags a late finish. A task with an actual finish never shows the constraint warning (the red ⚠).
Calendars
Tools ▾ → Calendars… (or Working calendar → Calendars… in Project settings) opens the project's calendars. Opened from Project settings, it has a ← Project settings button back.
A project can have several named work calendars — "5-day", "6-day paving crew", "In-water window" — each with its own:
- working weekdays and hours per day;
- holidays, which can repeat every year and can carry a name;
- working exception days — single days worked that would otherwise be off;
- recurring shutdown periods, such as "Winter shutdown: 12-15 → 03-15 (ends next year)", which repeat every year and may run over the year end. A working exception day still counts as worked during a shutdown.
5×8 Mon–Fri and 4×10 Mon–Thu set the workweek and the hours in one click, leaving holidays and shutdowns as they are. Add US federal holidays adds the 11 federal holidays for a range of years, by name. A holiday that falls on a weekend is observed on the nearest weekday — "2026-07-03 — Independence Day (observed)" — and the real date is marked too, so a Saturday crew doesn't work it. Delete any your contract doesn't recognize. Names are only labels; the dates alone drive the schedule.
Signed in to a company account, the calendar editor also has Save as a calendar standard…, which keeps the calendar as one of your company's reusable standards — see Company calendar standards.
To put a task on a calendar, show the Calendar column and pick one; blank means the project's default. The task's bar then spans its own working days (a 6-day crew works Saturdays), hours convert at its hours per day, and its float and variance are counted in its working days. A link between tasks on different calendars hands over at the right point in the day, and lag counts working days on the calendar of the task that follows (the successor).
Three things still follow the project calendar, not each task's: weekend shading on the Gantt and in the PDF, the crew histogram, and the hour weighting on the Projects page.
Float and late dates
Four read-only columns, hidden until you show them:
- Total Float — how many working days a task can slip before the project finish, or a deadline or constraint, slips.
- Free Float — how far it can slip before it delays the next task.
- Late Start and Late Finish — the latest dates that still protect the finish.
They go into CSV, Excel and PDF exports once shown. Negative float — from a deadline or finish constraint the chain of tasks can't meet — shows red everywhere.
The critical path and the critical threshold
The critical path is the chain of tasks with no float to spare: delay one, and the project finish (or a deadline or constraint) slips. The Critical button on the toolbar highlights it on the Gantt.
In Project settings, Critical total float (working days) sets the critical threshold. At 0, the default, you see the classic critical path. Raise it — to 5, say — and near-critical work with a little float left lights up too, so you see trouble coming. The Critical button, the Gantt's red tint and the PDF all follow the threshold. A task with an actual finish is never critical.
Who can use it
Admins and Editors build and change the logic in the editor. A Field account sees the resulting dates in My tasks and Work, but never changes the logic. See Who can see and do what.
Good to know
- A summary's dates come from its subtasks — see Editing in the grid.
- Links, durations, constraints, deadlines and calendars all go out to MS Project in the XML export — see Print and export. Links, durations, constraints and calendars come in from MS Project and P6 files; deadlines come in from MS Project only — see Importing a project.
- Tasks that work only some days of the week, or pause and restart, are on The Gantt chart.
- A calendar holds up to 24 recurring periods, and at least one weekday must be a working day.
Describes Ganttry 1.15.0. Something wrong or missing? Tell us.