Skip to content

Chores at Set Times

(v7.3.0) A chore can come up at up to five set times a day: wash hands at breakfast, lunch and dinner, or an inhaler at 8am and 8pm. Each time is ticked off on its own, only while it's open, and earns its own points.


Setting It Up

In the chore editor, under When, How often in a day has three choices:

Choice What it does
Once One tick a day (the usual chore)
Up to N times Up to the daily limit, at any time of day
At set times Each time is its own tick

Pick At set times, then start from a preset or add your own times with + Add a time:

  • 🍽️ Breakfast · lunch · dinner
  • 🪥 Morning & evening
  • 💊 8am · 2pm · 8pm
  • 🐶 Pet: breakfast & tea

Each time has:

Field Meaning
Name Shown to the child, e.g. Lunch. Up to 30 characters
From / Until When the time is open (HH:MM)
Points What this time pays, 0–1000

The strip under the times shows the whole day, so you can see the gaps between them. All-times bonus adds extra points once a day, when every time is done (0 = none).

The rules:

  • At most 5 times.
  • A time must close after it opens, on the same day. Times can't overlap or cross midnight.
  • A chore with set times can't also be a timed, open-ended, quantity or teamwork chore.

The editor checks all of this as you type, and the services and WebSocket API refuse anything that breaks a rule before saving.


How It Works

  • One tick per time per day. A child can tick a time while it's open, plus the chore's claim allowance (grace minutes after it closes). Before it opens it shows opens 12:00; after, missed.
  • Parents can tick any time that isn't done yet, open or not.
  • Approvals, undo and reject work per time. Everywhere a completion is named (approvals, notifications, the activity feed, the mandatory review) it reads Wash hands (Lunch).
  • For the day as a whole the chore counts once, and only once every time is done. That's what moves the streak, the weekly target and the per-week figures on the weekly card. Re-ticking a time that was rejected earns the streak back.
  • Mandatory chores owe a miss for each time that closes without being done.
  • Editing the times mid-day keeps today's ticks. A time keeps its identity if its name (or, failing that, its start) matches, so you can move Lunch from 12:00 to 12:30 without losing a tick already made.

On the Cards

The child card and kiosk show a chore with set times one of two ways:

Layout Looks like
One row per time Wash hands · Breakfast, Wash hands · Lunch, … each with its own tick
One row, a pill per time One Wash hands row with a pill for each time: done, now, later, missed

Choose the family's layout in Settings → Chores with set times. Each child and kiosk card can override it with the set_times_layout option:

Value Meaning
family Use the family setting (default)
rows One row per time
pills One row, a pill per time

The panel's Today chore board shows each time separately, and the Chores list marks these chores Set times: 3.


Services

taskmate.complete_chore takes an optional time_id: the set time to tick off. Leave it out and the time that's open now is ticked.

taskmate.add_chore takes:

Field Meaning
times A list of up to 5 times, each name, start, end (HH:MM) and points
times_bonus The all-times bonus, 0–1000
action: taskmate.add_chore
data:
  name: Wash hands
  points: 0
  times:
    - { name: Breakfast, start: "07:00", end: "09:00", points: 2 }
    - { name: Lunch, start: "12:00", end: "13:30", points: 2 }
    - { name: Dinner, start: "17:00", end: "19:00", points: 2 }
  times_bonus: 5

A bad set of times refuses the whole call, so no half-made chore is left behind. To change the times later, edit the chore in the panel.