Production Scheduling
How RunMark scheduling works
RunMark's scheduler is constraint-aware. Unlike a simple calendar, it only offers lines that are actually capable of running the selected order's SKU. It calculates estimated run time automatically using your speed matrix — you don't need to do the math yourself.
Every scheduling decision is explicit: you choose the line and the start time, RunMark shows you the end time, and you confirm before anything is saved.
The schedule modal — step by step
Step 1: Select the order. Open the modal from the Orders page (click Schedule) or from the Schedule page (click an empty time slot).
Step 2: Select a line. Only lines capable of the order's SKU appear. Each line shows the estimated run time and flags any existing conflicts in that time slot.
Step 3: Set a start time. The end time is auto-calculated from start time + estimated run time. If the end time is after the order's due date, a warning appears.
Step 4: Confirm. Review the summary — line, SKU, quantity, start/end time — and confirm. The block is saved to the Gantt.
Creating or editing an order already nets its quantity against what's on hand in Inventory, so the schedule modal only ever asks you to schedule the remainder still left to produce — the modal shows the split ("X stock units from stock, Y stock units to produce") right above the line/time fields.
Splitting an order across lines
When a single line can't finish an order alone, schedule the remainder on a different line. RunMark shows the full picture — total scheduled against total ordered — in one place, so a partially-scheduled order is never a mystery.
The Gantt chart
The Gantt chart on the Schedule page shows your full operation at a glance:
- Rows = production lines
- Columns = time (week view)
- Bars = scheduled blocks, color-coded by SKU
- Empty slots = available capacity
Click any bar to see block details and update its status. Navigate between weeks using the arrow controls.
Drag-and-drop and resize
You can move or resize a scheduled block directly on the Gantt, without opening a modal:
- Drag a bar to a new time or a different line.
- Drag either edge of a bar to change its duration.
RunMark validates every move live, before you drop it — checking for changeover conflicts and line-capability rules the same way the scheduler itself does. An invalid move snaps back and tells you exactly why (for example, a changeover rule between two SKUs on that line). A valid move applies immediately. If the block belongs to a split order, its sibling blocks on the same order shift with it automatically to stay in sync — a block on someone else's order is never moved without being dragged directly.
Filtering the schedule
Use the filter bar above the Gantt to narrow what's shown by Line, SKU, or Status — each is a multi-select set of chips, combining with AND across the three groups and OR within a group. Filtering only changes what's displayed (the board, the SKU legend, and the Excel export); it never affects conflict checking, which always considers every block whether or not it's currently visible. Your filter selections are remembered per organization.
Exporting the schedule
Export the current (filtered) view of the schedule to a spreadsheet directly from the Schedule page.
Conflict detection
RunMark detects when a new block would overlap with an existing block on the same line.
RunMark warns about conflicts but allows you to override them. Always review the Gantt before confirming a conflicting schedule. Two blocks on the same line at the same time is a real-world problem — RunMark surfaces it, but you make the decision.
Marking blocks in progress and complete
Click a Gantt bar to open the block detail panel. Use the status buttons to mark the block In Progress (when the run starts) or Complete (when it finishes). These status changes feed into the Reports page and make the block eligible for label generation. You can do the same thing, faster, from the Mobile Floor View on the production floor.
Handling an overrun or a line-down stretch
When a run is taking longer than planned, or a line goes down for a stretch, RunMark can push everything queued after it in one action instead of you rescheduling each block by hand:
- From the Mobile Floor View, an overrunning block shows a "behind schedule" badge with a Push remaining runs action, and each line has a Report line down action for a planned or unplanned outage.
- From the Schedule page, the same push is available from a block's detail panel.
Either way, RunMark previews exactly what will shift — and flags anything it can't push clear of a conflict for you to handle manually — before you apply it.
Auto-scheduling the week ahead
With auto-scheduling enabled in Settings, RunMark can draft next week's production plan on its own. Depending on your policy, it either emails the draft for review before anything is committed, or applies it directly if you've turned approval off. Reviewing a draft shows the rationale and any risk flags (late-delivery risk, a bottleneck line, an overloaded day) behind each proposed block, and lets you:
- Lock a block in place before re-optimizing the rest.
- Simulate a change without committing it.
- Re-plan around a disruption before applying the draft.
A scheduler policy also controls a freeze window (dates the auto-scheduler won't touch) and how long a block stays editable before it auto-locks. An owner or admin configures these under Settings → Scheduler Policies.
Lot numbers
Every production run gets a stable, human-readable lot number (built from date, line, and run) as soon as it's scheduled. The same lot number appears on the run's traceability labels and its bill of lading, so one run is traceable everywhere by the same identifier.
Scheduling tips
- Schedule your longest runs first to anchor the week and make gaps visible.
- Group same-SKU runs on the same line on consecutive days to minimize changeovers.
- Use the Production Assistant to ask about available capacity: "What's Line 1's schedule this week?"