This guide shows production planners and scheduling managers at ice cream and frozen dessert plants how Schantt models multi-stage, multi-line production — from blend and pasteurisation through ageing, continuous freezing, hardening, and packaging — and how to configure it for a realistic multi-SKU facility. Whether your plant runs premium dairy, sorbet, or non-dairy products, the scheduling challenge is the same: sequence production across shared equipment while respecting stage-specific constraints, changeover durations, and seasonal capacity shifts.
This guide follows a fictional composite company built from industry research on ice cream and frozen desserts; all names, parameters, and figures are illustrative.
Industry context
Ice cream and frozen dessert manufacturing is a multi-stage batch-and-flow process with strong seasonal demand and product-class divergence. The primary stages are blend and pasteurisation (batch), ageing (batch hold), continuous freezing (flow), hardening (batch tunnel), and packaging (flow). Each stage has distinct machine types and capacities, and the product mix — premium dairy, sorbet, and non-dairy — triggers different changeover durations and routing paths that the schedule must reconcile.
The production sequence is strictly forward and linear: each stage feeds the next with no rework loops. Between stages, transfer times govern the handoff. The ageing stage imposes a minimum holding period of several hours before the mix can move to freezing, and the hardening tunnels have finite tray-position capacity that limits throughput regardless of upstream output. Changeovers between product classes on shared freezers and packaging lines require cleaning cycles that range from 30 to 120 minutes, depending on the from-to product class pair — a deep clean between dairy and non-dairy products takes the longest.
The process alternates between batch and flow production types. Blend and pasteurisation operates in discrete batches fed into ageing tanks for a timed hold. From the tanks, the mix flows continuously through the freezers and packaging lines, then back to discrete loads in the hardening tunnels. This alternating rhythm makes capacity planning sensitive to both batch sizing and flow rates, and a mismatch at any transfer point propagates through the remaining stages. Seasonal demand amplifies these dynamics significantly — summer volumes can reach two to three times the winter baseline, pushing every stage closer to its physical limit.
North Coast Creamery runs approximately 95 people at a 4,500 m² facility, making 3 product classes across 5 production stages, scheduled by a 2-person planning team.
Process overview
flowchart LR
BP["Blend & Pasteurise"] --> A["Ageing"] --> CF["Continuous Freezing"] --> H["Hardening"] --> P["Packaging"]
BP -.->|"Sorbet skips Ageing"| CF
Five production stages across the ice cream process. Sorbet bypasses the ageing stage with a direct bridge from blend and pasteurisation to continuous freezing.
Routing note: Premium dairy ice cream runs all five stages. Sorbet / water ice skips the Ageing stage — its water-based mix does not require fat crystallisation. Non-dairy frozen dessert enters the process at the Ageing stage with a pre-blended base, bypassing the dairy blend and pasteurisation equipment.
Scheduling challenges and how Schantt handles them
The scenario assumes demand is driven by customer orders with a pronounced summer peak; if your scheduling is driven by a pull or make-to-stock model, the same modeling approach applies with your demand inputs. Schantt's scheduler minimises total production time — the sum of processing, changeover, and transfer time — scheduling forward from a start date. This guide assumes a weekly planning horizon, typical for ice cream plants with seasonal demand shifts. Schantt operates in two modes: Auto mode generates a complete schedule automatically, and Semi-Auto mode lets the planner make sequencing decisions while Schantt validates them against constraints.
What Schantt handles well
- Sequential multi-stage production — Ice cream follows a fixed forward sequence (blend → pasteurise → age → freeze → harden → pack). Schantt models ordered stages with transfer times between them.
- Multi-machine stages with parallel resources — Multiple freezers, ageing tanks, and filling lines run in parallel. Schantt assigns each job to the best available machine and reroutes around congestion.
- Mixed batch-and-flow pipelines — Ageing tanks (batch) feed continuous freezers (flow) which feed packaging lines (flow) and hardening tunnels (batch). Schantt models both production types in the same route, pausing flow stages when supply runs dry.
- Multi-product routing with stage skipping — Sorbet skips the ageing stage; non-dairy skips blend and pasteurisation. Schantt gives each product class its own routing, so each runs only the stages it needs on shared equipment.
- Sequence-dependent changeovers — CIP cleaning durations vary by the from-to product class pair (30 minutes for same-base flavour, up to 120 minutes for allergen switches). Schantt models directional changeover times per machine and class pair.
- Partial transfer from batch ageing to continuous freezing — A 6,000 L ageing tank feeds the freezer at a continuous rate once the first portion has aged for the minimum dwell. Schantt's partial-transfer setting captures this batch-to-flow handoff directly.
How Schantt handles each challenge
1. Flavour changeover and CIP sequencing.
- Every product change on a shared freezer or packaging line triggers a cleaning cycle. Duration ranges from 30 minutes for a same-base dairy switch to 120 minutes for a dairy-to-non-dairy allergen deep clean, with intermediate bands of 60 minutes (different-base dairy) and 90 minutes (dairy-to-sorbet). On a peak summer day with six product changes across five shared machines, total CIP downtime can exceed 8 hours — roughly 15 % of the 16-hour operating day. The planner must sequence production to avoid unnecessary deep-clean swaps between unrelated product classes, but in a manual spreadsheet the optimal grouping is hard to see across multiple machines simultaneously.
- Schantt models directional changeover durations per machine and product-class pair. The scheduler groups same-class runs into campaigns and sequences the product mix so that lengthy deep-clean transitions are minimised. Time penalties for each from-to pair are visible in the schedule, and the planner can override a sequence choice in Semi-Auto mode while Schantt recalculates the downstream impact. The changeover duration is a planner-entered value on each machine's detail page. Schantt schedules the cleaning duration for each machine independently; the planner staggers cleaning windows across shared-circuit lines.
2. Continuous freezer throughput bottleneck.
- Three continuous freezers with a combined nominal output of approximately 4,500 L/hr set a hard ceiling on production regardless of upstream batch capacity. The effective rate per freezer varies by product class because overrun differs — premium dairy at 70 % overrun yields more finished volume per litre of mix input than sorbet at 35 %, while non-dairy at 90 % overrun produces the most. Freezer defrost cycles add further recurring downtime at intervals the operator sets.
- Schantt models each freezer's effective throughput per product class as the output rate per hour at the product's running overrun. The scheduler treats the freezers as the pacing resource: it prevents overcommitment, respects each machine's throughput limit, and sequences jobs so that downstream packaging lines are not left waiting or overwhelmed. Defrost cycles can be added as recurring machine downtimes at a planner-set interval, keeping the schedule realistic without tying the model to a specific equipment specification.
3. Hardening tunnel throughput capacity.
- Two spiral hardening tunnels together hold approximately 3,600 tray positions with a 20-minute dwell, processing roughly 108 trays per hour each — a figure derived from position count and dwell time as a worked example. When packaging output exceeds tunnel capacity, products stall on the hall floor, compromising the cold chain.
- Schantt models hardening throughput as a capacity-equivalent flow rate per product class. The schedule respects this rate as a stage constraint — the scheduler will not release more product from packaging than the tunnel can receive — without tracking individual tray-position occupancy.
4. Ageing tank and continuous freezer coordination.
- Six ageing tanks of 6,000 L each buffer the batch pasteurisers from the continuous freezers. The minimum 4-hour dwell means a tank loaded at 08:00 is not available for freezing before 12:00. Misassignment — which flavour is in which tank, which freezer draws from which tank — can idle a freezer for 30 minutes or more while waiting for aged mix.
- Schantt models the minimum ageing dwell as a transfer time between the ageing and freezing stages. It supports partial transfer: the freezer can begin drawing as soon as the first portion of the batch has completed its minimum dwell, without waiting for the entire tank to finish ageing. The schedule coordinates tank assignment and freezer draw start times to keep the freezers fed. Lab release is a manual step outside the schedule.
5. Seasonal demand and calendar switching.
- Summer demand runs approximately 2–3 times the winter baseline. The planning team adds a Saturday shift from June through August, gaining one extra production day per week, but peak weeks still require tight sequencing and minimal changeover waste to meet orders.
- Schantt supports multiple calendar profiles with scheduled switching. The plant's standard Monday-Friday calendar and summer Monday-Saturday calendar are modelled separately, and the planner assigns each to its applicable months. The scheduler respects the active calendar's working days and hours when generating the schedule, and switching between calendars does not require rebuilding the model.
What to model in Schantt
Configure five top-level entity types in Schantt to match your facility. The counts below reflect the composite company and serve as a starting point for your own plant.
| Entity | Count | Notes |
|---|---|---|
| Stage | 5 | Blend & Pasteurise (batch), Ageing (batch), Continuous Freezing (flow), Hardening (batch), Packaging (flow) |
| Machine | 17 | 2 HTST pasteurisers, 6 ageing tanks, 3 continuous freezers, 2 hardening tunnels, 4 packaging lines |
| Product Class | 3 | Premium dairy ice cream, Sorbet / water ice, Non-dairy frozen dessert |
| Product | 3 | One representative per product class: Vanilla Premium, Raspberry Sorbet, Coconut-Base Vanilla |
| Calendar | 2 | Standard (Monday–Friday, Sep–May) and Summer (Monday–Saturday, Jun–Aug) |
Step-by-step setup
The configuration follows a dependency order: stages must exist before their machines, product classes before their products, and machines with their capacities and changeovers after the product classes that those settings reference.
1. Create the stages in order. Add the five stages in their production sequence — Blend & Pasteurise, Ageing, Continuous Freezing, Hardening, Packaging — and set each stage's production type: batch for Blend & Pasteurise, Ageing, and Hardening; flow for Continuous Freezing and Packaging. Then configure the transfer times between successive stages on each stage's detail page:
- Blend & Pasteurise → Ageing: 15 minutes (pump transfer)
- Ageing → Continuous Freezing: 240 minutes (minimum dwell; partial transfer enabled)
- Continuous Freezing → Hardening: 10 minutes (conveyor transfer)
- Hardening → Packaging: 10 minutes (conveyor transfer)
- Blend & Pasteurise → Continuous Freezing (sorbet bridge): 15 minutes
2. Add the machines to each stage. Create all 17 machines, assigning each to its stage. Each machine's name in Schantt should match your floor label for easy identification:
- Blend & Pasteurise: HTST-1, HTST-2
- Ageing: Ageing Tank-1 through Ageing Tank-6
- Continuous Freezing: Freezer-1, Freezer-2, Freezer-3
- Hardening: Hardening Tunnel-1, Hardening Tunnel-2
- Packaging: Pack Line-1 (Tub), Pack Line-2 (Cone), Pack Line-3 (Stick), Pack Line-4 (Bulk)
3. Create the product classes and define their routings. Add three product classes — Premium Dairy Ice Cream, Sorbet / Water Ice, and Non-Dairy Frozen Dessert — then set each class's routing so it runs only the stages it needs. Enable partial transfer on the ageing-to-freezing leg for premium dairy and non-dairy: the freezer can start drawing from the ageing tank after the minimum dwell, without waiting for the full batch. Sorbet uses a bridge routing that skips the Ageing stage entirely.
4. Add one representative product per class. Create a single product for each class — Vanilla Premium (dairy), Raspberry Sorbet (sorbet), Coconut-Base Vanilla (non-dairy). Each product inherits its class's routing automatically.
5. Set each machine's capacity parameters and changeover times. On each machine's detail page, configure the batch or flow parameters for every product class the machine runs. For batch stages (Blend & Pasteurise, Ageing, Hardening), set the cycle duration and batch size — for example, each HTST pasteuriser processes a 6,000 L batch in 58 minutes, and each ageing tank holds 6,000 L for a 270-minute cycle. For flow stages (Continuous Freezing, Packaging), set the throughput per product class — for example, each freezer runs at 1,500 L/hr for premium dairy. Then add the directional changeover durations for each machine that handles multiple product classes:
- Freezers: 30 min (same-class), 90 min (dairy↔sorbet), 120 min (dairy↔non-dairy)
- Packaging lines: 30 min (same-class), 120 min (dairy↔non-dairy)
6. Configure calendars, exceptions, and downtimes. Create two calendar profiles: a Standard calendar (Monday–Friday, 06:00–22:00, September to May) set as default, and a Summer calendar (Monday–Saturday, same hours, June to August). Add calendar exceptions for non-working days — New Year's Day, International Workers' Day, and the year-end shutdown (24–31 December). Optionally, add planned machine downtimes such as a factory-wide maintenance week in early July and a Freezer-1 overhaul in September.
For step-by-step instructions on configuring each of these in Schantt, see the Schantt documentation.
Common mistakes
1. Using a single blanket changeover duration instead of per-class directional times. A single average changeover time hides the difference between a 30-minute same-class rinse and a 120-minute allergen deep clean. The scheduler cannot avoid unnecessary deep-clean transitions if all switches look equally time-consuming. The resulting schedule may intersperse dairy and non-dairy runs, adding hours of avoidable cleaning time each week. Fix: Enter directional changeover times for each from-to product class pair on the machine detail page, matching the cleaning protocol your team follows on the floor. Use the bands that apply to your plant — typically same-class, cross-class, and allergen-grade durations.
2. Defining one product class for all products with identical routing. If you model premium dairy and sorbet under the same class, the scheduler routes sorbet through the ageing stage unnecessarily — wasting tank capacity and adding a multi-hour dwell to a product that does not need fat crystallisation. Conversely, non-dairy products routed through blend and pasteurisation occupy dairy equipment that could be used for other batches. Fix: Create a separate product class for each routing variant — one for each distinct path through the stages — even if they share downstream equipment. Class-level routing is the mechanism that keeps each product on its correct process path.
3. Entering a machine count that does not match the actual floor layout. If the plant has six ageing tanks but you model only four, schedules overcommit the remaining tanks, and the plan becomes unachievable. Missing a packaging line is equally problematic — the scheduler cannot assign work to a machine that does not exist in the model. Fix: Count every machine that participates in the production flow — pasteurisers, tanks, freezers, tunnels, and packaging lines — and create each one in Schantt. If a machine is dedicated to a single format or product class, model it anyway; the scheduler will only assign compatible work to it.
4. Skipping the hardening tunnel capacity parameters. Without tunnel throughput values, the scheduler treats hardening as an infinite-capacity stage and may pack an unrealistically high product volume into the schedule. Products that cannot enter the tunnel stall on the packaging hall floor, breaking the cold chain and risking quality defects that are invisible to the schedule. Fix: Enter each tunnel's batch cycle duration and batch size, derived from its tray-position count and dwell time as a worked example for your plant. For the composite company, each tunnel's batch cycle is 20 minutes with a batch size of 540 units — this respects the physical limit without requiring individual tray-position tracking.
5. Forgetting to add calendar exceptions and machine downtimes. A planner who configures only working days may see the scheduler assign production on a statutory holiday or during a known maintenance shutdown. The resulting schedule assigns work to unavailable time, and the error surfaces only when the shift team arrives to an empty factory floor. Fix: Add calendar exceptions for all planned non-working days — statutory holidays, plant closure periods — and recurring downtimes for scheduled maintenance events before generating the first schedule. Include factory-wide shutdowns such as the annual maintenance week and machine-specific events such as equipment overhauls.
What a good schedule looks like
Before-and-after scenarios illustrate the practical difference that a constraint-aware schedule makes, using the composite company's figures as reference.
Before (manual spreadsheet scheduling): The planner sequences orders by customer priority, then manually checks each stage's availability. Changeovers are grouped by instinct rather than data, and conflicts surface only when the shift supervisor calls.
- CIP downtime eats over 8 hours on peak summer days because deep-clean transitions are scattered across the week — the planner cannot easily see which grouping minimises total cleaning time across five machines simultaneously
- Freezers sit idle for 30+ minutes at a time when the designated ageing tank is not yet through its minimum dwell, because tank assignment and freezer draw schedules are coordinated by paper notes
- Hardening tunnel overflow forces product to wait on the packaging hall floor, breaking the cold chain on hot days, because the spreadsheet treats tunnel capacity as unlimited
- The weekly plan takes one of the two planners the better part of a full day to assemble and is often obsolete by Wednesday when a customer order changes or a machine issue arises
After (Schantt Semi-Auto mode): The planner enters the week's orders, runs the scheduler in Auto mode, and reviews the proposed sequence. One or two sequence adjustments are made — moving a sorbet campaign earlier to consolidate a dairy run, or switching a non-dairy batch to a different freezer to reduce a deep-clean transition — and the schedule is finalised in minutes.
- Same-class runs are grouped into campaigns, cutting deep-clean (120-minute) transitions to one per week instead of three or four, reclaiming several hours of productive time weekly
- Freezer idle time from tank miscoordination drops to near zero because the scheduler matches ageing tank assignments to freezer draw schedules, respecting the 4-hour minimum dwell while starting draws as soon as the first portion is ready
- Hardening tunnel capacity is treated as a stage constraint, so packaging output is automatically paced to match tunnel throughput — product no longer accumulates on the hall floor
- The weekly schedule is generated in minutes, and what-if scenarios — adding a Saturday shift, reassigning a product class to a different freezer, inserting a rush order — take seconds to re-evaluate without rebuilding the entire plan
Ready to schedule your own facility?
Try Schantt free — no credit card required. Go from spreadsheet to optimized Gantt chart in 60 minutes.
Try Schantt Free