Auto-apply schedule
A template alone is already a big improvement over typing the same checklist every morning — one tap and it’s there. But the tap still has to happen, and somebody has to remember. The auto-apply schedule takes that last step away. The head chef pins a schedule on a template once — Monday through Friday for the breakfast prep — and the breakfast list is immediately laid onto every weekday for the next two months, then keeps extending itself one day at a time forever. The morning crew arrives to find their work already queued, and the chef can flip ahead to next week or next month and see the same prep already planned.
This page is for two readers. If you’re the owner, “Why this page exists” explains why almost every kitchen ends up using this — it’s the difference between a tool the chef has to remember and a tool that remembers for them. If you’re the head chef setting up the venue’s recurring rhythm, jump to “How to use it”.
Why this page exists
A template removes the typing from morning prep. A schedule removes the tap. The schedule is the layer that lets a venue settle into a rhythm without anyone having to maintain it: Monday through Friday at four, the breakfast list appears; Saturday at four, the brunch list; every evening at ten, tomorrow’s pre-stage. After the head chef wires up three or four of these once, the day’s checklist effectively builds itself for years.
Most kitchens reach a point where the prep is so regular it doesn’t need a person to author it every day — the chef knows what they want, the template already captures it, the only remaining cost is remembering to apply it the night before. A schedule pays that cost down to zero. The schedule is what turns a template from a useful saved list into a piece of infrastructure.
The other reason this lives here is planning. Because the schedule fills the days ahead the instant it’s saved, the chef can flip forward in the work-in-progress calendar and see exactly what every coming Monday, Saturday, or weekday looks like — and adjust a single future day without touching the rest. The list isn’t a surprise that appears the morning of; it’s a plan laid out weeks ahead.
The rule
A schedule says which days of the week a template should land on, and onto which day’s list (the day itself, or the day after). The moment you save it, the template is filled onto every matching day for the next eight weeks; a background job then extends that window one day at a time, so it’s always roughly eight weeks deep. Filling is exact — a day already filled by this schedule is never doubled, and a future day the chef deletes by hand stays deleted. The schedule is paused, never deleted by accident; turning it off removes the upcoming auto-filled days but keeps the configuration, ready to switch back on. The schedule is the layer that asks nothing of the chef once it’s set.
What a schedule controls
Each template has one optional schedule. The schedule carries four decisions.
Which days. A set of weekdays from Sunday through Saturday. Monday through Friday for a weekday breakfast; just Sunday for a brunch; every day for a continuous prep; just Friday for the night-before of a heavy Saturday. Days are picked with chips, with shortcut buttons for the common bundles — Weekdays, Weekends, Every day, Clear.
What time. A clock time in the venue’s local time, expressed as HH:MM on a 24-hour clock and shown alongside in 12-hour format. 04:00 for the early-morning prep, 22:00 for the night-before pre-stage. The time is a label on the prep — it shows on the schedule’s badge so the crew knows when the work is meant to start — and it pairs with next day to decide which calendar date a day’s prep belongs to. The days are filled in as soon as you save, not held back until the clock reaches this time.
Which day’s list. Two choices — 📅 Same day (the prep lands on the chosen weekday itself, used for morning prep) or ⏭️ Next day (the prep lands on the day after the chosen weekday, used for evening pre-stage). Same-day matches “the breakfast template sits on Monday’s list, ready for the Monday crew”; next-day matches “the Friday-night pre-stage sits on Saturday’s list, ready for the Saturday crew”.
The auto-apply switch. A toggle that controls whether the schedule fills days at all. Off removes the upcoming auto-filled days (anything the crew has already started or finished is left alone) but keeps the configuration — useful for a venue closing for two weeks of renovation, or a season-only template that should stop running between menus.
A template without a schedule never auto-applies; it stays a manual one-tap list. A template with a schedule whose auto-apply is off is the same — the schedule is remembered but not active.
How to use it
Schedules are wired up inside the templates dialog. Each template has one 🕐 Schedule button on its row.
Opening the schedule dialog. On the work-in-progress page, tap 📑 Templates in the task-list header, find the template you want to schedule, tap 🕐 Schedule on its row. The schedule dialog opens — a guided screen with a plain-language preview banner at the top, four quick-start presets, and three steps below.
The preview banner. The banner reads in plain language what the schedule will do, updating live as the form changes: “On every weekday (Monday through Friday) at 6:00 AM, the Apertura mattina tasks will be added to that day’s task list automatically. Next time: this Monday → Monday’s list.” If the schedule isn’t viable yet (no days picked, invalid time), the banner reads as a placeholder until the form is valid.
The quick-start presets. Four common patterns the chef can pick in one tap — Every weekday morning (Monday through Friday at six, same-day), Every morning (all seven days at seven, same-day), Tonight for tomorrow (every day at ten in the evening, next-day), Sunday only (just Sunday at eight in the morning, same-day). A preset fills in the form below; the chef can adjust any value before saving.
Step 1 — Which days. Day chips for Sunday through Saturday, plus shortcut buttons for Weekdays, Weekends, Every day, Clear. Tap chips to toggle them on and off.
Step 2 — What time. A clock-time picker. The 24-hour value is what’s stored; the 12-hour translation is shown alongside so the chef can read it either way.
Step 3 — Which day’s list. Two large cards — 📅 Same day and ⏭️ Next day. Pick one.
The auto-apply toggle. Above the save row, the Auto-apply switch controls whether the schedule fires at all. Leave it on for a live schedule; flip it off to pause without losing the configuration.
Saving. Tap Save. The template’s row in the templates list now shows a small badge — 🕐 Mon-Fri · 6:00 AM → today — confirming the schedule is wired up and active. Immediately, every matching day for the next eight weeks is filled with the template’s tasks — flip forward in the work-in-progress calendar and you’ll see them already there. From then on the chef doesn’t think about it again; the window keeps extending on its own.
Editing a schedule. Open the schedule dialog, change the days, time, or target, and save. The upcoming auto-filled days are re-laid from scratch to match the new pattern — any future day the crew hasn’t started yet is cleared and re-filled, while days already started or finished are left untouched.
Turning a schedule off. Open the schedule dialog on the template, tap the auto-apply toggle off, save. The badge disappears from the templates list and the upcoming auto-filled days are cleared (started/finished work stays); the schedule is paused. Tap the toggle back on to re-fill the weeks ahead.
Removing a schedule entirely. The schedule dialog has a Turn off button in the footer (visible only when a schedule already exists). Tap it to remove the schedule row outright. The template stays, and the upcoming auto-filled days are cleared (again, started/finished work stays) — only the recurring fill is removed.
The language picker. The schedule dialog has a small language selector in its header — English, Italiano, ไทย, မြန်မာ — so a cook who doesn’t read the venue’s default language can read the instructions in their own. The picker only affects this dialog and only for the lifetime of opening it, no setting is written.
What happens behind the scenes
Each schedule is one row in the schedules table, linked by identifier to a template. The row carries the days of the week (as a set of integers, Sunday through Saturday), the time of day (a label, as a string in 24-hour HH:MM format), the target choice (same day or next day), the auto-apply flag, and a small piece of bookkeeping: a watermark — the furthest day the schedule has already filled ahead to.
The model is a rolling forward-fill, not a same-day trigger. When the chef saves a schedule, the system immediately walks forward from today through a horizon of eight weeks; for every day in that window whose weekday is in the schedule’s day list, it lays the template onto that day’s list (or the following day’s, if the target is next day). Each task it creates is stamped with the schedule’s identifier, so the schedule can recognise its own work later. The watermark is then set to the end of the horizon.
A background job runs every five minutes and, for each active schedule, extends the window: it fills any matching days between the watermark and a fresh eight-weeks-from-today horizon, then moves the watermark forward. In steady state that’s a single new far-out day each real day — cheap — so the window stays roughly eight weeks deep forever without the chef doing anything.
Two rules keep the fill exact. First, before laying a day, the job checks whether this schedule has already filled that day — if so it skips, so re-runs never double up. Second, the walk never steps back before today or before the watermark, so a future day the chef deletes by hand is never silently re-created. Editing a schedule resets the watermark and first clears the schedule’s own not-yet-started future days, then re-fills from scratch — so changing “Monday through Friday” to “weekends” cleanly swaps which days carry the prep, without stranding the old ones or duplicating the new ones. Anything the crew has already started, finished, or skipped is never touched by a clear.
Daylight saving transitions are handled correctly because the date arithmetic only ever works on naive year-month-day strings, never on wall-clock minutes that would shift across a transition. The “today” anchor uses a library that respects the venue’s time zone, so a Bangkok venue and a Bologna venue each fill against their own local calendar.
Pausing a schedule (the auto-apply toggle off) clears its upcoming not-yet-started days and flips the active flag so the background job skips it; the configuration is preserved, ready to re-fill when the chef toggles it back on. Removing a schedule outright clears those upcoming days too, then deletes the row.
Worked example — wiring up the morning and the evening
Sara runs your venue. The kitchen has been using two templates for three weeks — Apertura mattina for the weekday morning (five preps: bolognese base, pizza dough, brioche, stock, mise-en-place) and Pre-mise serale for the night-before pre-stage of the next day’s heavy meats (defrost guanciale, defrost lamb, set up overnight stocks). She’s been applying both by hand: the morning template at five o’clock when she walks in, the evening one at ten before she goes home. Three weeks in she’s tired of remembering.
A Thursday afternoon. Sara opens the work-in-progress page, taps 📑 Templates, finds Apertura mattina, taps 🕐 Schedule. The dialog opens. She taps the Every weekday morning preset — Monday through Friday, 6:00 AM, same-day. She bumps the time from six to four (the bread crew starts at five and the brioche needs an hour to ferment), checks the Auto-apply toggle is on, taps Save. The template row now reads 🕐 Mon-Fri · 4:00 AM → today. The instant she saves, every weekday from tomorrow through early August is filled with the five breakfast preps. Sara flips forward in the calendar to the following Tuesday, the one after, all the way into next month — every weekday already carries the list. Saturdays and Sundays are untouched.
She does the same on Pre-mise serale: 🕐 Schedule, picks Tonight for tomorrow preset (every day, 10:00 PM, next-day), confirms the time and target, saves. Because the target is next day, every date for the next eight weeks now carries the three pre-stage tasks — each one staged the evening before. The badge shows 🕐 Daily · 10:00 PM → tomorrow.
The following Friday. Sara doesn’t lift a finger. The breakfast list is already on Friday — it was filled in the moment she saved last Thursday. The bread crew walks in at five to find five tasks already there. The same is true of every weekday for weeks ahead, and the five-minute background job has been quietly extending the runway by a day each day, so the window never runs dry.
A one-off change for a Saturday event. A wedding lands on a Saturday; Sara wants extra prep just that day. She doesn’t touch the schedule — she opens that one Saturday in the calendar and adds the extra tasks by hand. The schedule’s weekday fills are untouched, and her one-off Saturday additions stay exactly where she put them. If she’d instead decided she no longer wanted breakfast prep on Wednesdays, she could delete the tasks on a specific future Wednesday and they’d stay deleted — the schedule never re-creates a day the chef cleared.
The Monday after Easter. The osteria is closed for Easter Monday, but that’s a one-day exception, not a change to the weekly rhythm — so Sara just opens Easter Monday in the calendar and clears its tasks; they stay cleared. (If she wanted to pause the whole schedule for a two-week renovation instead, she’d flip the Auto-apply toggle off — that clears all the upcoming not-yet-started days at once, and flipping it back on re-fills the weeks ahead.)
One schedule per template, the days ahead fill themselves, the chef doesn’t think about it again.
Related features
- Prep — overview — the entry point to the workflow this schedule sits at the top of
- Checklist templates — the thing being scheduled; a schedule with no template is impossible
- Daily tasks — where the materialised tasks land on every filled day
- Work in progress board — the page where the crew sees the result of the auto-fill, and where the chef flips ahead to see the weeks already planned
- Prep kitchens — the kitchens the spawned tasks pick up from the template’s defaults