Service Reminders
How service reminders work in the notification bell, and how to snooze or dismiss them.
When a maintenance schedule's next due date falls within the lead window, OneTake adds a service reminder to your notification bell.
Actions on a reminder
Each service reminder in the notification bell shows three action buttons below the notification row:
| Button | What it does |
|---|---|
| Snooze 1 day | Moves the schedule's next due date forward by 1 day and removes the reminder. |
| Snooze 1 week | Moves the schedule's next due date forward by 7 days and removes the reminder. |
| Dismiss | Removes the reminder without changing the schedule or due date. |
These buttons appear only on service_reminder notifications. Other notification
types show no action buttons.
How snoozing works
Snoozing bumps the schedule's next due date (next_due_at) forward by the
chosen number of days. The base for that calculation depends on whether the item
is overdue:
- Not yet overdue — the bump is measured from the current due date.
- Already overdue — the bump is measured from now, so the new due date lands the chosen number of days in the future rather than staying in the past.
After a successful snooze:
- The reminder is removed from the bell.
- The schedule's due date is updated durably.
- The reminder re-fires when the new due date returns to the lead window.
- A
maintenance.reminder_snoozedevent is recorded in the studio's audit log.
The snooze duration must be exactly 1 or 7 days. Other values are rejected.
How dismissing works
Dismissing removes the reminder from the bell. The underlying maintenance schedule is not changed — the item remains overdue (or due soon) until it is actually serviced. The reminder may re-fire on the next notification poll.
Optimistic UI
Both actions remove the notification row immediately in the bell. If the server call fails, the row reappears on the next poll.
Audit log
A successful snooze writes a maintenance.reminder_snoozed entry to the audit
log with:
- the schedule ID
- the snooze duration in days
- the prior and new
next_due_atvalues
Dismiss does not write an audit log entry.