Lessons · Lesson 2 of 5
How a planned date is worked out
The anchor, the working-day count, the holidays that cost nothing, and the six stretches that move an order's start date.
Lesson 2 of 5 · 26 min
What this lesson is about
Every date on a critical path here is calculated, not typed. The app starts at the end of the order and counts backwards. It skips the days the factory does not work. Then it adds time for the things that make this order slower than an average one.
That last part is the surprise. A plan built from a ninety-day template can easily need far more than ninety days. The number in the template's name never changes to say so.
The anchor, and the direction of travel
A milestone's lead time is a number of days before ex-factory. Order confirmation on the basic knit spine carries a lead of ninety. Cargo ready carries two. So the plan is built from the ship end backwards, which is the right way round: the date the buyer cares about is fixed, and everything else has to fit in front of it.
The anchor is the order's ex-factory date. When that is empty the app uses the ship date instead, with no warning. The app itself expects about three weeks at sea on CIF terms, so a plan anchored on the ship date runs roughly that much too relaxed all the way through.
Counting back through a real calendar
The count is in working days, and two things are skipped.
The first is the factory's own rest days. Serageldin Knitwear rests on Friday and Saturday, which is stored on its factory record. The app's built-in default is Saturday and Sunday, and the settings screen offers a suggestion per country, including Friday and Saturday for Egypt. The suggestion is only a starting point. The factory's own setting always wins, and the working week the arithmetic uses is simply seven minus the number of rest days.
The second is factory holidays. That is a plain list of dates on /settings/ta that anyone with the Owner role can add to. A new workspace arrives with thirty-four Egyptian public holidays already in it, covering 2025 and 2026. The seeded list is candid that the Islamic dates are astronomical calculations, and that an official announcement can move them by a day. It is seeded for every workspace wherever the factory is, so a factory outside Egypt starts with somebody else's calendar.
Nine of those thirty-four fall inside the window this order occupies. Four of the nine land on a Friday or a Saturday, which the factory was not working anyway.
| Date | Day | Cost |
|---|---|---|
| 27 May 2026 | Wednesday | a working day |
| 28 May 2026 | Thursday | a working day |
| 29 May 2026 | Friday | nothing — a rest day |
| 30 May 2026 | Saturday | nothing — a rest day |
| 17 June 2026 | Wednesday | a working day |
| 15 August 2026 | Saturday | nothing — a rest day |
| 25 August 2026 | Tuesday | a working day |
| 11 September 2026 | Friday | nothing — a rest day |
| 6 October 2026 | Tuesday | a working day |
Five of the nine cost a day each. Those five days push the count across two more weekends, so the plan's start moves seven calendar days earlier than it otherwise would. Nobody has to work that out by hand. It is worth knowing that a holiday on a rest day is free, because half of them are.
The six stretches
A template is written for an average order. Yours is not average. Before any date is written, the app compares the template's built-in allowances against this order's real numbers. Where reality is bigger, it adds days.
There are six of these adjustments. Every one of them is zero when the data it needs is missing. Nothing is invented from an empty field.
| Stretch | Reads | Missing input |
|---|---|---|
| Production span | order quantity against the fastest line's daily capacity | no capacity or no quantity, no stretch |
| Material sourcing | the longest supplier lead time on the bill, plus an imported premium | no supplier lead recorded, no stretch |
| Fabric development | whether any colourway's lab dip is still unapproved | no colourways at all, no stretch |
| Style complexity | the style's total standard minutes | no SAM, no stretch |
| Sewing (complexity) | the same complexity factor against the line days | no SAM or no capacity, no stretch |
| Print / embroidery / wash | wash fields plus print and embroidery in the operations text | a plain garment, no stretch |
Three words in that table need translating. A colourway is one colour version of the style. A lab dip is the small swatch a dyer sends for the buyer to approve the shade. SAM is the standard allowed minutes, meaning how long one garment takes to sew.
Each stretch carries a threshold, which is the lead time of the milestone it is protecting. It pushes back every milestone whose own lead is at or above that threshold. That is the whole trick. Extra time comes out of the front of the plan, and the tail between sewing and the container never moves against the ship date.
ORD-1274, one stretch at a time
STY-462 is a cotton polo with two colourways, total standard minutes of 15.5, no print, no embroidery and no wash. Its yarn comes from a spinner near Karacabey in Turkey with a recorded lead time of 38 days. Its trims come from Abu Hammad, an hour up the road, at 12 days. Serageldin's fastest line runs 1,600 pieces a day.
| Adjustment | Days | The app's reason |
|---|---|---|
| Fabric development | +17 | fabric/colour still in development across 2 colourways — +17d before approvals can start |
| Material sourcing | +9 | imported material lead 52d exceeds the template's 43d sourcing runway |
| Style complexity | +6 | complex style (×1.15) lengthens the 43d sampling block by 6d |
| Production span | +3 | 24,000 pcs ÷ 1,600/day needs 15 sewing days (template's sewing window allows 12) |
| Sewing (complexity) | +2 | complex garment (×1.15, SAM-driven) sews slower — +2 line-days for 24,000 pcs |
Read three of those closely. Each one shows the same idea from a different angle.
Material sourcing adds the overflow, not the lead. The longest supplier lead on the bill is the yarn at 38 days. Turkey is not the app's local country, so an imported premium of fourteen days is added, giving 52. The template already allows a sourcing runway: it books bulk yarn at 75 days out and expects it in the store at 32, so the runway is 43 days. The stretch is what will not fit, which is nine.
Development counts colours. Fourteen days are added when any colourway still needs a lab dip approved, and three more for every colourway after the first. Two colourways with one dip outstanding gives seventeen. A style with no colourways recorded at all gets nothing, because there is nothing left to be unapproved.
Complexity is worked out, not entered. A total of 15.5 standard minutes against a plain tee's baseline of twelve produces a factor of ×1.15, capped at 1.6. That factor lengthens the sampling block, and separately slows the sewing.
What that does to the dates
The stretches total thirty-seven days, and the milestone with the longest lead absorbs all of them.
| Milestone | Template | Effective | Planned |
|---|---|---|---|
| Order Confirmation & Tech Pack Handover | 90 | 127 | 5 May 2026 |
| Bulk Yarn / Fabric PO Confirmed | 75 | 89 | 1 July 2026 |
| Bulk Fabric In-House | 32 | 37 | 14 September 2026 |
| Cutting Start | 28 | 33 | 20 September 2026 |
| Sewing Start | 22 | 25 | 30 September 2026 |
| Finishing & Packing Start | 10 | 10 | 22 October 2026 |
| Final Random Inspection (FRI) | 4 | 4 | 1 November 2026 |
| Pre-Shipment Inspection (PSI) | 1 | 1 | 4 November 2026 |
Three things in that table are worth saying out loud.
- The order had to start on 5 May, not the 30 June the template's ninety days would have given.
- Everything from finishing onwards is untouched, exactly as the design intends.
- The gap between booking the yarn and having it in the store is now 89 minus 37, which is 52 — the effective material lead, to the day.
The rest days matter as much as the stretches. The same 127 working days back from 5 November land on 30 April 2026 for a factory resting Saturday and Sunday, and on 6 June 2026 for one resting Friday only. The plan is not a property of the order alone.
Check yourselfAn order's style has no SAM and no colourways, and the factory has no production lines recorded. What does the plan look like?Show the answer
Exactly like the template. Four of the six stretches need SAM, capacity or colourways, and each returns zero when its input is absent. So the effective lead of every milestone equals its template lead. The plan is not wrong, but it is uninformed, and the app has no way to say which of the two you are looking at.
Prompt · Explain why these dates moved
When the plan starts far earlier than the template's name suggests, or when a logged actual has pushed a run of milestones.
I have a garment critical path whose dates are calculated rather than typed. Help me explain them to somebody who did not build the plan. Paste or describe: the template name and its headline lead time, the order quantity, the fastest line's daily capacity, the longest supplier lead time on the bill, whether any material is imported, how many colourways still need a lab dip approved, and the style's total standard minutes. Work out, showing each step: how many production days the quantity needs against the capacity, how much of that the template already allowed, and what is left over. Do the same for material sourcing. Then tell me, in one paragraph a factory owner would accept, why the order has to start when it does.
AI can make mistakes — check anything you act on.