A nutrition template is a reusable diet plan that a coach builds once in the Dashboard and copies to many members. Each copy becomes the member's own nutrition plan, which the coach can then change for that member.
A template holds daily calorie and macro targets, phases, sample meals, an optional habit program, and dietary fit rules. Macros are protein, carbohydrates (carbs), and fat. The member follows the plan in the mobile app, logs meals and water, and sends a weekly check-in.
The system scores each day against the targets and sends reminders by push and in-app notification. The coach sees the scores, the meal logs, and the check-ins in the Dashboard.
The pages are in the Dashboard menu group "Nutrition", under "Nutrition templates". The pages show only for users with the coaching module.
Structure
A template has five parts: details, daily targets, phases, a habit link, and dietary fit. Phases hold their own goals and sample meals. A phase is a range of plan days, for example day 1 to day 28.
Part | What it holds | Rules |
Details | Name, description, goal (category), difficulty, duration in weeks, hero image, short name (slug) | Name and goal are required. The slug uses lowercase letters, numbers, and dashes only. |
Daily targets | Calories, protein, carbs, and fat per day | All are optional. A phase goal replaces them during that phase. |
Goals by day | Calories, protein, carbs, fat, fiber, sodium, sugar, and water for selected days of the week | Each day can have one goal only. "Every day" covers all seven days. |
Phases | Name, start day, end day, goals, sample meals | Day 1 is the first plan day. An empty end day means that the phase does not end. Two phases cannot share a day. |
Sample meals | Meal slot, days of the week, one recipe or one food, servings, note | Each meal needs at least one day and one recipe or food. Servings must be more than 0. Empty servings mean 1. |
Habits | One linked habit program | The habits start only if the member has an open coaching engagement. |
Dietary fit | Required dietary styles and incompatible allergens | These only show a warning when a coach applies the template. |
The meal slots are Breakfast, Lunch, Dinner, Snack, PreWorkout, and PostWorkout. The goal categories are fat loss, muscle gain, maintenance, performance, health, vegan, vegetarian, and other.
A template has a status: Draft, Published, or Archived. Only a Published template can go to a member. Each publish adds 1 to the version number, which starts at 1.
An edit to a template that is already Published does not change the version.
Create a template
You need one of these roles: owner, box manager, floor manager, or personal trainer.
The form has five cards, and you fill them from top to bottom.
In the menu, open "Nutrition" > "Nutrition templates".
Click "Create template".
In "Details", type the "Name" and select the "Goal".
Optionally, add a "Description", a "Difficulty", a "Duration (weeks)", and a "Hero image" in 16:9 format.
In "Daily targets", type the calories, protein, carbs, and fat for one day.
If you do not know the numbers, click "Suggest macros" to open the macro calculator.
If some days need other targets, click "Add goal" under "Goals by day" and select the "Days".
In "Phases", click "Add phase" for each stage of the plan.
For each phase, type the "Phase name", the "Start day", and, if needed, the "End day".
In each phase, click "Add meal" to add a sample meal.
For each meal, select the "Meal source", the recipe or food, the "Days", and the "Meal" slot.
Optionally, in "Habits", click "Link a habit program" or "Create habit program".
Optionally, in "Dietary fit", select the "Required dietary styles" and the "Incompatible allergens".
Click "Create" to save a draft, or click "Create and Publish".
If the form shows "Fix before saving", correct the listed errors. Typical errors are two phases on the same day, a meal with no days, or servings of 0.
If you saved a draft, open the template and click "Publish" when it is ready. You cannot change a Published template back to Draft, you can only archive it.
If the template has no phases, the daily targets apply to the whole plan. You must add a phase before you can add sample meals.
When you apply the template, then the "Duration (weeks)" sets the end date of the member's plan. A daily job then marks the plan as Completed after that date.
Other template actions
Action | Available when | Result |
Clone | Always | A new Draft copy named "… copy". The original does not change. |
Publish | Draft | The template can be applied. The version goes up by 1. |
Archive | Published | The template is removed from the library for new members. Existing plans do not change. There is no unarchive. |
Delete | Draft that nobody installed | The template is removed. |
The edit page also shows "Members on this template" and a "Version history". A member row with "Needs sync" uses an older template version.
Assign a template
A template reaches a member in four ways, and all four make the same copy. The coach applies it from the template list, the new plan page, or the coaching engagement. A journey stage can also apply it on a scheduled date.
All four routes end in the same apply step, so the member always gets an editable copy and never a live link to the template.
Way | Where | Members per action | Start date |
Template list | "Nutrition templates" > "Apply" on the template card | 1 to 100 | The coach selects it |
New plan page | Member profile, "Nutrition" tab > "New plan", then "From a template" | 1 | The coach selects it |
Coaching engagement | Engagement hub, "Nutrition" tab > "Apply nutrition template" | 1 | The coach selects it |
Journey template | A journey stage with a nutrition template as its target | 1 per engagement | The stage activation date |
Apply from the template list
Open "Nutrition templates".
On the template card, click "Apply".
In "Members", select one or more members, up to 100.
Select the "Start date".
If the dialog shows "Possible dietary conflict", read the conflict.
Click "Apply anyway" to continue, or remove the member.
If you select two or more members, the dialog shows "Bulk apply results". A row can fail with "Template is not published", "Member belongs to a different chain", or "Member not found".
Apply from the new plan page
The member profile shows the "Nutrition" tab only if three things are true. The gym has the coaching feature, the gym has the Coach package, and the member has an active personal training membership.
Open the member profile and select the "Nutrition" tab.
Click "New plan".
Select "From a template".
Select the template and the start date.
Click "Create from template".
Apply from a coaching engagement
Open the coaching engagement and select the "Nutrition" tab.
Click "Apply nutrition template".
Select a published template and the start date.
Apply through a journey template
A journey template is a sequence of coaching stages that start one after the other. A stage can target a nutrition template. When the coach applies the journey to an engagement, each nutrition stage starts on its scheduled activation date.
What happens when you apply
The system makes a full copy of the template for the member. The copy is a new nutrition plan with the status Active.
The phases, goals, sample meals, and documents are copied.
The start date is the date that you selected.
If the template has a duration, the end date is the start date plus the duration, minus one day.
The plan keeps the template version, so the Dashboard can show when a newer version exists.
The default check-in interval is 7 days.
The member gets the push notification "New nutrition plan assigned".
If a habit program is linked and the member has an open coaching engagement, the habits start too.
The system does not stop a second Active plan. Before you apply, make sure that the member has no other Active plan. The app shows only the Active plan with the latest start date.
Later changes to the template do not change the member's plan. To bring them in, open the plan and click "Sync from template". You can select "Additive", "Structural (preserve edits)", or "Force overwrite".
Member view
The member sees the plan only in the mobile app. The Members web app has no nutrition pages.
When the member has an Active plan, the Home screen shows a nutrition card.
A tap on the card opens the nutrition screen, which has three tabs.
Tab | What the member sees |
Today | Rings for "Calories", "Protein", "Carbs", and "Fat" against the targets of the day. The meals of the day by slot, with the sample meals as "Your plan for {slot}". Water with "+250 ml", "+500 ml", and "+750 ml" buttons. The "Add meal" and "Upload progress photo" buttons. |
Plan | "Start date", "End date", "Target weight", "Water goal", "Notes", "Documents", and the progress through the phases. |
Coach feedback | The comments and reactions of the coach on meals, check-ins, photos, and the plan. |
The targets of the day come from the current phase and the day of the week. If no phase goal covers the day, the plan-wide daily targets apply.
If the member has no Active plan, the app shows "No active plan" and "Talk to your coach to get a plan started." A Paused or Completed plan does not show.
Fill out the plan
The member fills out the plan in two ways: meal logs, water logs. The plan has no "mark as eaten" button for sample meals. The member logs a meal, and a sample meal can fill in the meal for them.
Log a meal
On the "Today" tab, tap "Add meal", or tap a sample meal under "Your plan for {slot}".
Select "Recipe", "Food", or "Custom".
For a recipe, type the servings. For a food, type the grams.
For a custom meal, type the calories, protein, carbs, and fat. All four are required.
Under "When did you eat this?", select the meal slot and time.
Optionally, tap "Add photo" and add "Notes".
Tap "Log meal".
A photo must be JPEG, PNG, or WebP and 10 MB or less. The member can edit or delete a meal for 24 hours. After that, the app shows "This meal is older than 24 hours and can no longer be edited."
The plan must be Active to log meals. The backend refuses meals on a Paused plan with "Plan must be active to log meals.".
Log water
On the "Today" tab, the member taps "+250 ml", "+500 ml", or "+750 ml". Each tap adds one water log.
Reminders and adherence
Six scheduled jobs remind the member and the coach, and a daily score measures adherence. Adherence is how close the member stays to the plan targets. All reminders go by push and in-app notification. The system sends no email or SMS for nutrition.
Runs (UTC) | Who gets it | Message or result |
Daily 17:00 | Member with no log today | "Time to log your day" / "Don't forget to log your meals before bed." |
Daily 06:00 | The coach who created the plan | "{member} hasn't logged in 48h". Only for plans that started more than 2 days ago. |
Sunday 18:00 | Member | A Pending check-in and "Time for your weekly check-in" |
Daily 07:00 | Member and coach | A notice when the plan ends within 3 days |
Daily 01:00 | Member | The plan becomes Completed after its end date, with a plan-ended notice |
Daily 00:30 | Nobody | Closes the score for yesterday and fills in the last 14 days |
Other notices come from events. The coach gets a notice when the member submits a check-in. The member gets a notice when the coach reviews a check-in, adjusts the plan, or leaves feedback.
Each member chooses the notices to receive in their notification preferences.
Timing limit
The daily reminder acts only on gyms where the local time is 19:00 when the job runs. The nightly close acts only where the local time is 02:00. With the current schedules, both match only gyms at UTC+2, for example Denmark in summer. In winter, gyms at UTC+1 get no daily reminder. This comes from the code and is not confirmed in production.
Daily score
The system gives each day of an Active plan a score from 0 to 100. The score uses three parts:
Calories, weight 0.5
Protein, carbs, and fat, weight 0.3
Habits, weight 0.2
If a part has no goal, the system shares its weight among the other parts. Each macro score is 100 when the logged value is within the tolerance of the goal.
The default tolerance is 10% for calories and 15% for the other macros. Outside the tolerance, the score goes down in proportion to the gap.
What the coach sees
Member profile, "Nutrition" tab: "Meal logs", "Today — macros", "Adherence — last 30 days", and "Daily score".
Engagement hub: "7-day adherence".
"Check-ins": the queue of submitted check-ins to review.
Template list: the average 7-day adherence of all plans from the template.
The analytics service marks a member as at risk when the average score is below 60.

