Skip to content

Coach schedule

The coach schedule is the 21-day program: it decides which Coach conversation plays on each day and time-slot, and carries the push-notification copy that nudges the user to open it.

Unlike most content, the schedule is not split into parent + translations — each row is a single entry, and the language-specific push text lives inside the push field.

Coach schedule list in Directus

Fields (per row)

Field What it means
Day The program day, 121.
Slot morning, afternoon, or night — the time-of-day slot.
Tree The selection logic that picks which conversation plays for this day/slot (it can branch on user state).
Push The notification copy for this day/slot, per languagepush.en and push.de each have a body. German is required; the body must be non-empty.

There should be an entry for every (day, slot) across days 1–21, each with a tree and a non-empty push.en + push.de. (The dummy/test seed enforces full coverage; production should match.)

How it reaches the user

  • At each slot, the Coach evaluates the day/slot's tree to choose the conversation to play.
  • The push body is what the notification dispatcher sends to invite the user in. (Push titles are the fixed brand "Naluma"; you author the body here.)

What blocks a save

  • A missing or empty push.en / push.de body.
  • A tree that selects a conversation slug that doesn't exist.

Where it shows up

Behind the scenes: it drives which conversation the Coach tab shows each day, and the push notifications that bring users back.