Working days (the schedule knows crews don't work weekends)

Stage durations are counted in the days a crew actually works, so a 5-day stage never quietly runs through a weekend.

What it is

A working-week pattern (which weekdays a crew works) resolved per project, with the schedule doing its date arithmetic in working days. A builder types '5 days' and the system derives the calendar span that occupies — 5 calendar days from a Monday, 7 from a Thursday. Days nobody works are shaded on the chart.

Also called: weekends · working week · M-F · does the schedule count Saturdays · calendar days vs work days

See it, piece by piece
01

Type five days and you get five days of work, not five days on a calendar

A five-day stage starting Thursday finishes the following Wednesday, because nobody is on site Saturday or Sunday. The schedule does its date arithmetic in the days your crew actually works and puts the bar where it belongs. Enter it as calendar days — which is what a spreadsheet does — and the finish date is wrong before the job has begun.

02

Days nobody works are shaded, so an impossible date looks impossible

Non-working days draw as bands behind the bars at day and week zoom, with Saturday and Sunday merged into one. A stage sitting on a shaded band is visibly wrong, which is what makes the schedule readable at a glance rather than something you audit stage by stage. At quarter and year zoom the shading drops away, where a weekend would be a sliver.

Build Schedule
Project / Task
Hostetler Equipment ShedCrew A
Zimmerman Horse BarnCrew B
PermittingAug 4Aug 18
Dirt WorkAug 18Aug 22
ConcreteAug 22Aug 28
Material DeliveryAug 28Sep 1
Post SetSep 1Sep 11
Stoltzfus ShopCrew C
Byler BarndominiumCrew A
Jul 27Aug 2
Aug 3Aug 9
Aug 10Aug 16
Aug 17Aug 23
Aug 24Aug 30
Aug 31Sep 6
Sep 7Sep 13
Sep 14Sep 20
Sep 21Sep 27
Sep 28Oct 4
Oct 5Oct 11
Oct 12Oct 18
Oct 19Oct 25
Oct 26Nov 1
TODAY
Permitting 4/4
Post Set 3/6
Siding / Roofing 0/11
46% • 38d
Permitting+3d
Concrete
Post Set0/6
Permitting 1/4
Framing 0/6
Siding / Roofing 0/11
Permitting 0/4
Slab / Foundation 0/6
Post Set 0/6
Siding / Roofing 0/11
Shutdown week — Crew B
OVERLAP
The pale vertical bands behind the bars are Saturdays and Sundays. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
03

One weekend counted wrong does not drift the whole build

Stages chain, so a weekend counted as work near the start pushes everything after it. Six stages in, a build could drift by more than a week before anyone lifted a hammer — and the customer has already been given a completion date that was never possible. Counting in working days stops the drift at the source.

04

Your concrete sub works Saturdays; your framing crew doesn't

Set the working week once for the company, override it on the crew that works Saturdays, and override it again on the one rush job that has to run through a weekend. Each level shows the pattern it inherits, so “same as the company” has a visible consequence instead of something you go and look up. The last remaining day cannot be switched off — a crew that works no days cannot be scheduled at all.

05

A start date picked on a Saturday rolls to Monday, and says so

Picking a Saturday used to schedule a crew onto a Saturday. Now the date rolls forward to the next working day and the field tells you that it did. Chaining one stage onto the end of the one before it does the same.

How it works
  1. 1The pattern resolves most-specific-first: project override → crew override → company default → Mon-Fri
  2. 2calendarSpanFor(startDay, workDays, pattern) walks forward counting working days and returns the calendar span from the start to the last working day inclusive
  3. 3workDaysInSpan() does the inverse, so a bar that was dragged rather than typed can be described back in the number a human thinks in
  4. 4nextWorkingDay() rolls a start dropped on a non-working day forward, and is used when chaining a stage to the end of the one before it
  5. 5The stored `duration` on a task stays the CALENDAR span, unchanged, so every existing startDay + duration calculation in the chart keeps working
Why we built it

Stage lengths were counted in calendar days, so a five-day stage starting Thursday was scheduled to finish Monday — straight through a weekend nobody works. Because each stage starts when the last one ends, every later stage inherited the error, and a six-stage build had drifted more than a week before anyone lifted a hammer. Crews were told to show up on Saturdays that were never real, and customers were given completion dates the plan could not hit. Schedules are laid out on the working week the company actually keeps.

The problem
  • Stage durations counted in calendar days producing impossible dates
  • Chained stages compounding the weekend error across a whole build
  • No way to say one crew works Saturdays and another doesn't
Sound familiar?
What you get
Typed durations land on dates the crew will actually be on site
Errors stop compounding down the stage chain
Saturday crews and Mon-Fri crews coexist on one board
What's inside

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →