Meal Planner

This article may contain affiliate links.This article may contain affiliate links.

On this page

The Meal Planner database stores full meal plans. (Here’s how to find it in your template)

Meal plans can reference multiple Recipes, creating a go-to plan for cooking an entire meal.

Below you’ll find a reference guide for all properties in the Meal Planner database. Properties are in alphabetical order.

Type: Date

The date on which you plan to make this meal.

If you’d like to re-use a meal plan on the Calendar, simply move the date!

Type: Checkbox

Check this meal plan as a Favorite to make it show up in Favorite Meal views.

Type: Status

The meal of the day (e.g. time of day) for this planned meal.

NameDescription
Group: To-do
Group: In progress
BreakfastN/A
LunchN/A
DinnerN/A
SnackN/A
OtherN/A
Group: Complete

Type: Title

The name of the meal plan.

Type: Relation

The Recipes that are part of this meal plan.

This Relation property points to the Recipes database.

Type: Formula

The estimated time it will take to make this full meal.

By default, this value matches the highest total time from all of the Recipes attached to this meal plan.

You can input a time into Time Override to override that default time.

lets(
		totalTimeRaw,
		if(
			!empty(prop("Time Override")),
			prop("Time Override"),
			prop("Recipes").map(current.prop("Total Time")).max()
		),
		hours,
		floor(totalTimeRaw / 60),
		minutes,
		totalTimeRaw % 60,
		hourPlurality,
		if(
			hours == 1,
			"",
			"s"
		),
		minutePlurality,
		if(
			minutes == 1,
			"",
			"s"
		),
		time,
		ifs(
			totalTimeRaw > 60,
			hours + " hr" + hourPlurality + ", " + minutes + " minute" + minutePlurality,
			totalTimeRaw == 60,
			hours + " hr",
			minutes + " min" + minutePlurality
		),
		badgeColor,
		ifs(
			totalTimeRaw >= 90, "red",
			totalTimeRaw >= 45, "yellow",
			"green"
		),
		time.style(
			"c",
			"b",
			badgeColor,
			badgeColor + "_background"
		)
	)
Code language: JavaScript (javascript)

Type: Formula

This property returns the same value as the Time Est. property, but as a numeric value instead of a string. Used for sorting meals in Quick/By Time views.

if(
	!empty(prop("Time Override")),
	prop("Time Override"),
	prop("Recipes").map(current.prop("Total Time")).max()
)
Code language: JavaScript (javascript)

Type: Number

Add a number (in minutes) here to override the default value in the Time Est. property.

About the Author

My name is Thomas Frank, and I'm a Notion-certified writer, YouTuber, and template creator. I've been using Notion since 2018 to organize my personal life and to run my business and YouTube channel. In addition to this formula reference, I've created a free Notion course for beginners and several productivity-focused Notion templates. If you'd like to connect, follow me on Twitter.

Don't include private or personal information. Privacy