Building and publishing the weekly menu

Updated October 31, 2026

The menu is where every kitchen day starts. Customers can only pick from a published menu, and the daily cutoff only reads published menus. This guide explains how to build a day, what blocks publishing, and how Sahen fills plates for customers who do not choose.

A flat pool per day

Open Menus to see the week as a board, one column per day. For each day you add every meal you will cook. You do not sort meals into diets or packages: the day is one flat pool.

Sahen does the sorting for you. Each customer only ever sees meals tagged with their program and of the courses their purchased package includes. A low-carb customer on a lunch-only package sees the low-carb lunches and nothing else, even though the day holds every meal.

Only active meals can be added. A meal becomes active once it has a photo, at least one component, and a meal type. It also needs a program unless its meal type is program-agnostic. See Meals and macros.

Publishing a day

A day starts as a Draft. Customers do not see drafts, and cutoff ignores them. When the day is ready, press Publish, or publish several days at once.

The coverage check

Publishing is blocked until the day is covered. Covered means: for every active program, and every meal type a package sold with that program requires, there is at least one eligible meal on the day. Meal types still owed to customers on open packs count too, even if you have since changed the package.

When something is missing, the builder names the exact gap, for example "no Lunch for Keto". Add an eligible meal and publish again. This rule exists so no customer ever gets a plate from the wrong diet, or nothing at all.

Menu depth is a warning

Coverage is about having at least one choice. Depth is about having enough different choices. If a customer's delivery covers three days and needs three lunches, but only two eligible lunches are on the menu, some customers will get a repeat. Sahen shows this as a warning ("repeats") in the day's coverage summary. It does not block publishing.

The daily menu

Some meals are on offer every day: a house salad, a drink, a standard breakfast. Instead of adding them to each day, put them on the Daily menu (Menus → Daily menu).

Daily meals appear next to each day's own meals on every published day from today onward, and new days get them automatically. They are still filtered by program and course, and they count toward coverage. A day can even be published from daily meals alone.

If you add a daily meal to a specific day, it becomes that day's own meal. Removing it from the day hands it back to the daily menu.

Multi-day drops

Customers do not always receive a delivery every day they eat. A customer might eat Sunday to Tuesday but receive one drop on Sunday. In that case every plate in the drop comes from the delivery date's menu. A Sunday drop that covers Sunday, Monday and Tuesday draws all of its plates from Sunday's published menu.

So when you build a day that starts multi-day drops, think about depth: the more days a drop covers, the more different eligible meals that day needs to avoid repeats.

Default picks

Not every customer picks. When you publish, Sahen sets a default meal for each program and meal type on that day. At cutoff, any course a customer left empty is filled from those defaults. Cutoff prefers different meals across the days of one drop, and repeats only rather than serve nothing.

A customer's own pick always wins, even if it repeats a meal from another day in the same drop.

Editing after publishing

A published day can still change:

  • Adding a meal makes it available to customers right away.
  • Removing a meal that customers already picked keeps their history intact. If removing it leaves a program without an eligible meal, the day goes back to draft until you cover it again, and defaults are repaired in the same step.
  • Unpublishing asks you to confirm and tells you who has already picked. Unpublishing keeps those picks.

Changes stop mattering once cutoff has run for that delivery date: orders are frozen and choosing a different plate is no longer possible. See daily cutoff.

Planning help

An optional assistant can draft a week's menu for you. It only ever produces a draft for you to review; nothing is published automatically.

Checklist before cutoff

  1. Every service day in the coming cutoff window is published.
  2. The coverage summary shows no gaps.
  3. You have looked at the repeat warnings for days that start long drops.

On the menu board, a day that is not yet published turns amber when its cutoff is within 48 hours, so missed days are hard to overlook. More terms are in the glossary.