Schedule Assignment
Assign a service schedule to a team member so they own that task's reminders.
On the Studio plan, studio owners and admins can assign any active service schedule to a specific team member. The assigned member owns that task's service reminders.
Who can assign
| Role | Can assign | Sees assignee |
|---|---|---|
| Owner | Yes — editable select | Yes |
| Admin | Yes — editable select | Yes |
| Member | No | Read-only (sees name only when a schedule is assigned) |
The assignee control does not appear at all on the Pro plan.
How to assign
The assignee control appears on each active schedule row in the gear item's service tab.
Each schedule row shows an Assigned to field with a select. Choose a team member from the list, or choose Unassigned to clear the assignment.
- The list contains all current members of the studio.
- Selecting a member saves the assignment immediately.
- Selecting Unassigned clears the assignment immediately.
Clearing an assignment
Set the select back to Unassigned to clear the assignment. Clearing does not require the previous assignee to still be a studio member.
Audit log
Every assignment change — including clearing — is recorded in the studio's
audit log as a maintenance.schedule_updated event. The
entry includes the schedule ID and the before and after values of the assignee.
When a team member is removed
When a team member is removed from the studio, any service schedules assigned to them are automatically reassigned to the studio owner. The owner receives an in-app notification showing how many tasks were reassigned and from whom.
If the removed member had no assigned schedules, no reassignment or notification occurs.
The reassignment happens on a best-effort basis: if it fails, the member removal still succeeds.
Service history
Each gear item's service tab includes a Service history section. It lists every logged service entry in a table with five columns:
| Column | What it shows |
|---|---|
| Service date | When the service was performed. |
| Performed by | The team member's display name, or the vendor name followed by "(external vendor)" when performed by an outside party. |
| Notes | Any notes captured at log time. Shows a dash when none were recorded. |
| Photos | A link labeled "N photo" or "N photos" that opens a photo lightbox. Shows a dash when no photos were attached. |
| Cost | The cost recorded at log time. Shows a dash when none was recorded. |
Selecting the photo link opens a lightbox showing all photos attached to that log entry. Selecting any photo link always opens the lightbox at the first photo.
When no service has been logged yet, the table is replaced by the message "No service has been logged yet."
The table scrolls horizontally on narrow viewports so columns are never squashed.
Log service from the Service history section
The Service history section includes an Add service button. This button's availability depends on how many active schedules the item has:
| Active schedules | Button state | Tooltip / hint |
|---|---|---|
| Exactly 1 | Enabled | None |
| 0 | Disabled | "Add a schedule first to log service against it." |
| 2 or more | Disabled | "Pick a schedule below and use its 'Add service' button." |
When enabled, selecting Add service logs service against the item's single active schedule. When disabled, the button carries a hint explaining what to do instead.
Individual schedule rows each have their own Add service button, usable regardless of how many schedules the item has.
Logging service — Serviced by default
When you open the log-service dialog, the Serviced by field defaults to you. You can change it to any studio member or to External vendor before saving.
For some built-in service templates, the dialog pre-selects External vendor instead. This happens when the template's task is typically carried out by an outside specialist. The current example is the Tuning template — piano tuning is done by an external tuner, so the dialog opens with External vendor already selected and a Vendor name field visible.
The pre-selection is a soft default. You can change it to a team member before saving.
When the schedule uses a custom template, or a built-in template that does not declare an external-vendor default, the dialog defaults to you (the current user), then the first studio member, then External vendor if no members are found.