Production Scheduling for Coffee Roasting & Packaging

Learn how Schantt production scheduling helps specialty coffee roasteries handle roast-profile changeovers, parallel roaster assignments, batch-to-flow packaging coordination, and degassing holds — reducing thermal recovery idle time and packaging-line changeovers.

Production planners and operations managers at specialty coffee roasteries can use Schantt to schedule roast batches across parallel drum roasters, coordinate the degassing-to-packaging handoff, and reduce changeover idle time on roasting and packaging lines. This guide walks through modelling a real-world roastery, configuring each entity, and running optimized schedules.

This guide follows a fictional composite company built from industry research on coffee roasting and packaging; all names, parameters, and figures are illustrative.

Industry context

Specialty coffee roasteries transform raw green coffee beans into finished packaged products through a sequence of thermal, mechanical, and packaging operations. The defining characteristic of coffee roasting as a production process is the interplay between batch roasting — each batch follows a fixed cycle determined by the roast profile and drum load — and continuous-flow downstream stages where grinding and packaging run at steady throughput rates. The facility operates on a 12-hour weekday schedule (06:00 to 18:00, Monday through Friday), with occasional Saturday morning access for maintenance.

The roasting stage is the heart of the process and the primary scheduling constraint. Each drum roaster has a distinct batch capacity and cycle duration — the smallest handles 30 kg batches on a 14-minute cycle, the medium handles 60 kg on a 16-minute cycle, and the largest handles 120 kg on an 18-minute cycle — and switching between roast profiles incurs a thermal-recovery changeover that varies by direction: moving from a dark roast to a light roast requires more cooldown and reheat time (20 minutes) than the reverse (8 minutes). These asymmetric changeovers compound quickly when three product classes — Light Roast Whole Bean, Medium Roast Ground, and Dark Roast Ground — share the same three machines.

After roasting, all coffee must degas for several hours before further processing. During this hold, carbon dioxide released during roasting dissipates; grinding or packaging before degassing is complete produces off-gassing in the package. The degassing duration is a fixed forward delay that the schedule must respect. Following degassing, ground classes pass through a single burr grinder (a flow stage) at 300 kg/hr, while the whole-bean class skips grinding entirely and routes directly to packaging. The packaging stage has three lines — two retail vertical form-fill-seal lines at 300 kg/hr each and one bulk bagging line at 800 kg/hr — each with its own throughput rate and, for the retail lines, format-dependent changeovers.

Green-coffee staging — loading green beans into Gaylord boxes positioned near each roaster — is a manual prerequisite that the planning team verifies before scheduling a roast batch. The planner confirms that the required raw material is staged before entering each job. This guide scopes blends as green-stage pre-blends only: the constituent beans are combined before roasting and enter the roaster as a single blended charge.

Summit Roast Co. runs approximately 50 people at a 2,000 m² facility, making 3 product classes across 3 production stages, scheduled by a 3-person planning team.

Process overview

flowchart LR
    R["Roasting<br/>(BATCH — 3 drum roasters)"]
    G["Grinding<br/>(FLOW — burr grinder)"]
    P["Packaging<br/>(FLOW — 3 packaging lines)"]

    R -->|"370 min"| G
    R -.->|"375 min<br/>(whole-bean skip)"| P
    G -->|"5 min"| P

The production flow at Summit Roast Co.: green beans staged manually, roasted in one of three parallel batch roasters, after a 6-hour degassing hold either ground continuously or transferred directly to packaging (for whole-bean products), then packed on one of three packaging lines.

Note: Light Roast Whole Bean skips the Grinding stage. Roasted beans for whole-bean products go directly from the roaster to packaging after the degassing hold, using a dedicated bridge transfer time of 375 minutes.

Scheduling challenges and how Schantt handles them

This scenario assumes the planning team receives a weekly demand list — a set of roast batches by product class, each with its quantity — and needs a realistic production schedule for the coming week. If your roastery's schedule is driven by consumer orders rather than a demand list, the same entities apply: enter each order as a separate job with its due date.

Schantt optimizes the schedule by minimizing total production time, scheduling forward from a chosen start date. For this guide, the practical horizon is one week. The schedule respects shift calendars and machine availability, so a job that cannot finish before a shift end resumes at the next shift start.

Schantt offers two scheduling modes. In Auto mode, the system explores both job sequence and machine assignments together to find a low-changeover plan. In Semi-Auto mode, the planner fixes the job sequence — for example, ordering by class to cluster similar profiles — and Schantt assigns machines to minimize gaps while respecting that order.

What Schantt handles well

  • Multi-machine stages (parallel roasters and packaging lines) — 3 drum roasters and 3 packaging lines modelled as parallel resources within their stages, with the system assigning each job to the most suitable machine.
  • Mixed batch-and-flow pipelines (roasting to packaging handoff) — batch roasting feeds flow-stage grinding and packaging; the schedule shows wait-material pauses when downstream flow capacity exceeds upstream supply.
  • Sequence-dependent changeovers (roast-profile thermal recovery and packaging-format changes) — directional per-pair changeovers on each machine, so the system can sequence jobs to reduce thermal recovery idle time on roasters and format-switching time on packaging lines.
  • Per-class routing with stage skipping (whole-bean products skip grinding) — each product class follows its own routing through the stages it requires; skipped stages produce no operations and no Gantt rows.
  • Transfer times (degassing hold, cooling, material handoffs) — forward delays between stages for degassing, cooling-tray dump, and conveyor transfer, rendered as gaps on the Gantt chart.
  • Shift-aware availability with calendar exceptions and downtimes — working shifts, planned maintenance, and holiday closures affect scheduling and render as visual overlays.

How Schantt handles each challenge

1. Asymmetric roast-profile changeovers.

  • Each roast profile requires a different drum temperature. Switching from a dark roast to a light roast, for example, needs more cooldown and reheat time — 20 minutes on each of the three drum roasters — than switching from light to dark, which takes only 8 minutes. A planner who ignores these directional differences and uses a single average changeover value will consistently misestimate thermal-recovery gaps. The error accumulates across a week of multiple daily batches, delaying the entire downstream grinding and packaging sequence.
  • Schantt models changeovers as a directional per-machine matrix. On each drum roaster, the planner enters the changeover time for every from-profile/to-profile pair among the three product classes. When the system builds the schedule, it reads the applicable changeover time from the matrix for each consecutive pair on a machine and folds it into the operation timing. In Auto mode, the system can reorder jobs to cluster similar profiles and reduce total time spent on thermal recovery across all three roasters.

2. Parallel roaster allocation across different batch capacities.

  • The roastery's three drum roasters have different batch capacities — 30 kg, 60 kg, and 120 kg — and different cycle durations to match. A 100 kg Medium Roast Ground order, for instance, can run on the medium roaster (2 batches of 60 kg, the second at partial load) or the large roaster (1 batch), and the choice affects how soon the downstream grinding and packaging stages receive material. Manually assigning each batch to the right drum while weighing capacity, cycle duration, and changeover sequence is time-consuming and often produces uneven roaster workload across the week.
  • Schantt models each drum roaster with its own batch size and cycle duration per product class. In Auto and Semi-Auto modes, the system explores machine assignments across the three roasters, choosing the combination that minimizes total production time. The planner sees which roaster each batch lands on in the operation tooltip and can group the Gantt chart by machine to view each roaster's workload side by side, making it easy to spot overloads or idle periods at a glance.

3. The 6-hour degassing hold between roasting and downstream stages.

  • Freshly roasted coffee must degas for approximately 6 hours before grinding or packaging. During this hold, the batch occupies no machine, but the schedule must respect the delay: downstream stages cannot begin until the degassing period plus any conveyor transfer time has elapsed. With multiple batches completing at different times across three roasters and three product classes, tracking which batches are ready and which are still off-gassing adds significant mental overhead to the daily scheduling process.
  • Schantt models the degassing hold as a fixed transfer time between the Roasting stage and each downstream stage. The planner sets the Roast→Grind transfer to 370 minutes (6 hours plus 10 minutes conveyor time) and the Roast→Pack bridge transfer to 375 minutes (6 hours plus 15 minutes for the whole-bean routing). The schedule applies these delays as wall-clock elapsed time between a batch's completion on the roaster and the start of its next operation. On the Gantt chart, the degassing hold appears as a scheduled gap, and the planner sees exactly when each batch becomes available for grinding or packaging without tracking it manually.

4. Packaging-line changeovers across formats and product classes.

  • The two retail packaging lines, VF-1 and VF-2, share the same 300 kg/hr throughput but incur format changeovers when switching between product classes. Switching between ground classes (Medium Roast Ground to Dark Roast Ground, or the reverse) takes 20 minutes, while Light Roast Whole Bean requires only 5 minutes to switch to or from a ground class. The bulk bagging line, BL-1, runs at 800 kg/hr and handles all three classes with no changeover at all. With two retail lines, three product classes, and different changeover durations for each direction, the number of possible packaging assignments grows rapidly. A poor assignment forces frequent line switches and eats into productive packaging time.
  • Schantt models changeover matrices on each packaging line separately. The planner enters the directional times for VF-1 and VF-2 — the retail lines that carry changeover penalties — while the bulk line's matrix is left empty at zero. The system considers these times when sequencing jobs across the two retail lines, clustering compatible classes on the same line to reduce changeover frequency. In Auto mode, both the line assignment and the job sequence are optimized together, producing a packaging plan that minimizes time lost to format switches.

What to model in Schantt

The following table lists the first-class entities a planner creates to represent the roastery in Schantt.

Entity Count Notes
Stage 3 Roasting (BATCH, position 1), Grinding (FLOW, position 2), Packaging (FLOW, position 3)
Machine 7 SR‑1, MR‑1, LR‑1 (roasting); BG‑1 (grinding); VF‑1, VF‑2, BL‑1 (packaging)
Product Class 3 Light Roast Whole Bean, Medium Roast Ground, Dark Roast Ground
Product 3 Highland Reserve, Valley Supremo, Espresso Blend
Calendar 2 Standard Production, Reduced (Saturday Maintenance)

Sub-configuration objects — per-class routings, changeover matrices, transfer times, calendar exceptions, and machine downtimes — are configured on the detail pages of their parent entities.

Step-by-step setup

1. Create the stages in order. Create Roasting (batch type, position 1), Grinding (flow type, position 2), and Packaging (flow type, position 3). On the Roasting stage detail page, set the transfer times to downstream stages:

  • Roast→Grind transfer: 370 minutes (6-hour degassing hold plus conveyor)
  • Roast→Pack bridge transfer: 375 minutes (6-hour degassing hold plus manual transfer for whole-bean skip routing)

On the Grinding stage detail page, set the Grind→Pack transfer to 5 minutes (pneumatic conveyor).

2. Add the machines to each stage. Add three drum roasters to the Roasting stage, one burr grinder to the Grinding stage, and three packaging lines to the Packaging stage. Assign each machine the Standard Production calendar initially; the reduced Saturday calendar can be set individually for machines that need Saturday maintenance access.

3. Create the product classes and define their routings. Create three product classes:

  • Light Roast Whole Bean — routing: Roasting (sort order 0) → Packaging (sort order 1). Enable partial transfer on the Roast→Pack leg with a quantity of 15 kg, so the packaging line can begin while the final portion of the roast batch is still completing.
  • Medium Roast Ground — routing: Roasting (sort order 0) → Grinding (sort order 1) → Packaging (sort order 2). Enable partial transfer on the Roast→Grind leg (15 kg) so grinding can start on the first portion after degassing.
  • Dark Roast Ground — routing: same three stages as Medium Roast Ground with the same partial-transfer settings.

4. Add one representative product per class. Create Highland Reserve (Light Roast Whole Bean), Valley Supremo (Medium Roast Ground), and Espresso Blend (Dark Roast Ground).

5. Set machine capacity parameters and changeovers. On each machine's detail page, configure the parameters for each product class the machine processes:

  • Drum roasters (SR‑1, MR‑1, LR‑1) — batch capacity:
  • SR‑1: 30 kg batch, 14-minute cycle (all classes)
  • MR‑1: 60 kg batch, 16-minute cycle (all classes)
  • LR‑1: 120 kg batch, 18-minute cycle (all classes)

  • Burr grinder (BG‑1) — throughput: 300 kg/hr (Medium Roast Ground and Dark Roast Ground). No changeover time between ground classes (grinder purge is instantaneous).

  • Packaging lines — throughput:

  • VF‑1 and VF‑2: 300 kg/hr each (all classes)
  • BL‑1: 800 kg/hr (all classes)

  • Changeovers — on each drum roaster, enter the directional per-pair times for all six from/to combinations among the three product classes (e.g., dark→light 20 min, light→dark 8 min). On VF‑1 and VF‑2, enter the directional times for all retail-format changes (Light→Medium 5 min, Light→Dark 20 min, Medium→Light 5 min, Medium→Dark 20 min, Dark→Light 20 min, Dark→Medium 20 min). Leave BL‑1 changeovers empty — bulk bagging requires no format changeover.

6. Configure calendars, exceptions, and downtimes. The Standard Production calendar covers Monday through Friday, 06:00 to 18:00. Create a Reduced (Saturday Maintenance) calendar with an additional Saturday 06:00 to 12:00 shift for weekend maintenance access.

Add two calendar exceptions for factory-wide non-working days: New Year's Day (January 1) and International Workers' Day (May 1). Add one machine downtime for the year-end shutdown: factory-wide, from December 24 at 18:00 through January 2 at 06:00.

For step-by-step instructions on configuring each of these in Schantt, see the Schantt documentation.

Common mistakes

1. Using a single blanket changeover time for all roast-profile switches. A single changeover value ignores the thermal asymmetry of roaster transitions — dark→light takes 20 minutes while light→dark takes 8 minutes. The schedule will underestimate recovery idle time for some transitions and overestimate it for others.
Fix: Enter the full directional per-pair matrix on each drum roaster, with six entries covering every from/to combination among the three product classes.

2. Creating one product class that includes both whole-bean and ground products. Stage-skipping works at the product-class level. If whole-bean and ground products share a class, every product in that class will either go through the grinder (unnecessary for whole-bean) or skip it (impossible for ground).
Fix: Create separate product classes for whole-bean and ground products, each with its own routing.

3. Forgetting to set the degassing transfer time between roasting and downstream stages. Without a transfer time, the schedule treats the roast-to-grind or roast-to-pack handoff as instantaneous, scheduling downstream operations to begin immediately after roasting completes — a physical impossibility.
Fix: Set the Roast→Grind transfer time to 370 minutes and the Roast→Pack bridge transfer time to 375 minutes on the Roasting stage detail page.

4. Entering batch durations for all stages without configuring throughput on flow stages. The Grinding stage and Packaging stage are typed as flow stages; they need a throughput rate (kg/hr), not a batch cycle. Without throughput, the system cannot calculate how long a given quantity takes on those stages.
Fix: Set BG‑1 throughput to 300 kg/hr, VF‑1 and VF‑2 to 300 kg/hr, and BL‑1 to 800 kg/hr on each machine's detail page.

5. Not configuring calendar exceptions and downtimes before running the schedule. Without holiday and shutdown entries, the schedule may assign work on non‑working days, producing start times that require manual adjustment.
Fix: Add New Year's Day, International Workers' Day, and the year-end shutdown window as calendar exceptions and machine downtimes before generating the schedule.

What a good schedule looks like

A well-configured Schantt schedule transforms a manual or spreadsheet-driven plan from a rough sequence of orders into a machine-level, timed production plan that respects all operational constraints — roaster capacities, directional changeovers, degassing holds, routing skips, shift boundaries, and planned downtime.

Before (manual scheduling with basic spreadsheet):

  • Roasters frequently sit idle between batches because the planner used a single blanket changeover value. A dark→light transition was budgeted the same as light→dark, causing unexpected downtime when the actual 20-minute thermal recovery exceeded the estimate.
  • Packaging lines undergo frequent format changes as the planner switches between whole-bean and ground products without a clear strategy, losing throughput to unnecessary changeovers on VF‑1 and VF‑2.
  • Whole-bean jobs are queued at the grinder even though they should skip that stage entirely — the manual plan applies the same routing to all products, so every job appears at every stage regardless of class.
  • Degassing holds are estimated roughly — sometimes a planner assumes all batches are ready when the last one finishes roasting, leading packaging to wait for material that is still off-gassing, or conversely, material arrives before packaging is ready.
  • Shift boundaries, holidays, and the year-end shutdown are tracked separately in a different spreadsheet, and the production schedule is never reconciled against them until a conflict arises.

After (Schantt Auto mode):

  • Roaster sequencing clusters similar profiles together, reducing the total time spent on thermal recovery between batches. Directional per-pair changeovers are applied precisely, so each transition's real duration — whether 5, 8, 10, 12, 15, or 20 minutes — is reflected in the schedule.
  • Packaging lines are assigned product runs by class, with compatible formats grouped on the same line. Changeover frequency on VF‑1 and VF‑2 drops significantly, while BL‑1 handles bulk runs continuously without any format switches.
  • Whole-bean products skip the Grinding stage entirely, freeing the burr grinder to run ground products without interruption. The Grinding stage row on the Gantt chart shows only Medium Roast Ground and Dark Roast Ground operations.
  • Degassing holds appear as scheduled gaps between the roasting completion and the start of the next operation on each batch. Each batch's availability time is calculated precisely from its roast-completion timestamp plus the configured transfer time, so grinding and packaging receive material exactly when it is ready.
  • Calendar-aware timing respects shift boundaries, holidays (New Year's Day, International Workers' Day), and the year-end shutdown automatically. The schedule uses only working hours, so an operation that cannot finish by 18:00 resumes at 06:00 the next working day without manual adjustment.

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