-
Notifications
You must be signed in to change notification settings - Fork 2
Chore Swaps
Chore swaps let a child ask to take over today's turn of a rotation chore from a sibling. The request is pending until a parent approves it, at which point the chore is reassigned to the requester for the day.
Swaps only apply to rotation chores — those using alternating, random, or balanced assignment modes, where exactly one child holds today's turn.
A request is rejected outright if:
- The chore is in
everyoneorunassignedmode (there is no single turn to take over) - The chore is already assigned to the requesting child today
Note:
first_comechores are not swappable — they are an open race, so there is no fixed turn to hand over.
A child requests a swap with the taskmate.request_swap service, or from the chore row in the Admin Panel (Request swap button).
service: taskmate.request_swap
data:
chore_id: b3f9a12c
requester_id: a8c8376a| Field | Required | Description |
|---|---|---|
chore_id |
Yes | The rotation chore to take over |
requester_id |
Yes | The child who wants today's turn |
The service is linked-child gated — a child user can only request on their own behalf. The request is stored with a pending status, recording the requester, the child who currently holds the turn (from_child_id), and a timestamp.
Pending swap requests appear to parents in the Admin Panel (with a count badge). For each, the parent can approve or reject:
| Action | What happens |
|---|---|
| Approve | Today's turn is reassigned to the requester — the chore's current assignee becomes the requesting child for the day. The request is marked approved. |
| Reject | The pending request is removed. The rotation is unchanged. |
On approval, TaskMate fires a taskmate_swap_approved event carrying chore_id, requester_id, and from_child_id.
A swap changes only today's assignment of the chore. It does not alter the underlying rotation order or anchor — the next scheduled day follows the normal rotation algorithm as if the swap had not happened.
- Chores — chore configuration
- Chore Scheduling — rotation assignment modes that swaps act on
- Approvals-Card — parent approval workflow
-
Services — full
request_swapreference