Assignments
View shifts, change who is on call, and review and confirm assignments
A schedule is made up of one or more assignments. Each assignment allocates members to the shifts in a period of time. This page explains where to see shifts, how to change who is on call, and how to review an assignment.
Viewing shifts
Your shifts on the Home calendar
Click Home in the top bar to see your own shifts from every schedule you belong to, alongside your availability. Switch to the List view (see views and layers) for a list of your upcoming shifts.
A schedule’s Calendar tab

Click Schedules in the top bar, then click a schedule. Its Calendar tab opens first and shows every member’s shifts.
The header above the tabs shows:
- The schedule’s name. Editors can click the pencil beside it to rename the schedule.
- The on-call card, which says who is on call now and until when. Hover over it to see the shift popup. Between shifts it says “No one on call until time”, and before the first assignment it shows “First assignment on date”. If the schedule’s shifts have run out, it turns red and says “No one since time”. If the schedule is exporting to an on-call product, the footer of the card shows the destination and whether it is up to date.
A calendar icon with sparkles on a day marks the schedule’s next scheduled assignment. Hover over it to see how many shifts it will assign and when. Editors can click the Assign now button in the popup to assign those shifts now.
The shifts of a draft waiting to be confirmed are drawn differently: the calendar key calls them “Draft, awaiting confirmation”. Click the help icon beside Today to see the key for the colours and markers currently on the calendar.
Calendar views and layers
Every calendar has a view and layers button (titled “Calendar view and layers”) in its toolbar. It lets you choose:
- The view: Month, 4 weeks (the default), 1 week or List.
- The layers: the sets of events to show. At least one layer is always on.

| Calendar | Layers (on by default in bold) |
|---|---|
| Home | Shifts, Historical shifts, Availability (your own) |
| Schedule Calendar tab | Assigned shifts, Historical shifts, Planned shifts, Member availability |
| Assignment Calendar tab | Shifts, Availability, and Context shifts where enabled for your schedule |
- Historical shifts are shifts that have already ended.
- Assigned shifts are confirmed shifts that are under way or still to come.
- Planned shifts are shifts that aren’t confirmed yet: either the shifts the next scheduled assignment will fill, drawn with a dashed outline and the date they will be assigned (for example “Assigned on Fri 23 Oct”), or, once that assignment has run, the shifts of its draft waiting to be confirmed. Never both at once.
- Member availability shows the availability every member shares with the schedule.
On-Call Optimizer remembers your view and layers separately for the Home calendar, for schedule calendars and for assignment calendars. For example, if you turn on Member availability on one schedule, it is also on when you open the next schedule.
Availability information only reaches so far into the future. When shifts go past that point, the calendar draws a line on the day availability stops and hatches the later days. Hover over the line to see where each member’s availability stops. Very short shifts are drawn as dots, and runs of them are merged.
Timeline tab

A schedule’s Timeline tab lists every confirmed assignment that changed the schedule, newest first, grouped by month and going back to “Schedule created”. Each entry shows the date it was confirmed, its title (for example “Scheduled assignment”, “Custom assignment”, “Taken shift” or “Swapped shifts”), and the dates and number of shifts it covers. Click Up beside a month heading to go back up to the heading above it.
- The Next assignment card at the top says when the next scheduled assignment runs, how many shifts it will assign and their dates. Editors can click its Assign now button to assign those shifts now. While a scheduled assignment’s draft is waiting below, the card says “Waiting on the draft below”.
- Drafts are listed first, under Not yet confirmed, with a blue Draft badge, or a red Overdue badge once their first shift is less than 3 days away (Failed if the draft couldn’t be generated). While one is waiting, the Timeline tab shows a dot in the same colour.
- Imported assignments show the on-call product’s chip.
- Alt #N marks an assignment confirmed using one of its alternatives.
- Changes made by taking, reassigning or swapping shifts appear as their own entries. Open swap requests are not shown here: see the Swap requests panel.
Click an entry to see its shifts on a calendar beside the list, with when it was confirmed and the period it covers. Click Open full assignment → to open its assignment page.
Shift popup
Hover over or click any shift on a calendar to see its popup. Hovering shows the popup while the pointer is over the shift. Clicking keeps it open until you close it or open another one.

The popup shows:
- The start and end of the shift. Hover over the times to see the time zone.
- Each assignee, with their role (PRIMARY or SECONDARY) and the shift actions.
- A warning icon beside an assignee when the shift breaks one of their preferences, for example when they are unavailable or also did the previous shift. Hover over the icon to read the penalties.
- In the footer, the title of the assignment the shift came from and when it was confirmed, for example “Scheduled assignment confirmed on Thu 15 Oct 2026” or “Swapped shifts confirmed on …”. Click it to open that assignment. A red icon here means the shift was assigned without availability information.
It can also show:
- A Swap requested box when someone has asked to swap the shift, listing who is being asked. Click View to see the request.
- Confirmation required and a Review button when the shift belongs to a draft (the badge turns red once the draft is overdue). The footer names the draft, for example “Draft scheduled assignment, 12 shifts”.
- For a planned shift that hasn’t been assigned yet, when its scheduled assignment runs, “Scheduled assignment on date”, and the Assign now button for editors.
Taking, swapping and reassigning shifts
Each assignee in the popup has three action icons:
A disabled icon explains why when you hover over it.
To take or reassign a shift:
- Click the icon. The Take shift or Reassign shift dialog opens.
- Under Choose how much of the shift to take (or reassign), keep the full shift, or choose the first 30 minutes, the first hour, or a custom period.
- To reassign, choose the member under Reassign to. The list shows Schedule members first, then Other organization members.
- Click Take shift or Reassign shift. For a shift that has already started, the buttons read Take on-call and Reassign current on-call, and the change applies straight away.
The dialog closes and a notification confirms the change, for example “You’re now on call for … The schedule will update shortly.” or “Shift reassigned to name.” The calendar updates once the change has been saved.
To swap a shift, see requesting a shift swap.
Assignment pages

Each assignment has its own page. Open it from the footer of a shift popup, from Review on a draft’s shift, or from Open full assignment → on the Timeline tab. The back arrow at the start of the tab row returns to the timeline.
The header shows schedule / title (for example “Scheduled assignment”; see titles), the shifts and period it covers (for example “7 shifts from Sat 31 Oct 2026 10:00 til Sat 07 Nov 2026 09:59”) and badges:
- Confirmed on date for a confirmed assignment, or, for a draft, Draft (or Overdue / Failed, as on the Timeline).
- Source: product for an assignment imported from an on-call product.
- Alternative #N selected when one of the alternatives has been chosen instead of the best assignment.
- Missing availability when some shifts were assigned without availability information. Hover over it to see where each member’s availability stops.
- Older algorithm for assignments made before the schedule had an assignment priority. Their penalties can’t be compared with newer assignments.
The tabs are:
- Calendar: the shifts in the assignment. Use the layers to also show members' Availability and, where enabled, the schedule’s other shifts (Context shifts).
- Evaluation: how good the assignment is. See assignment quality and schedule balance.
- Alternatives: other possible assignments that were considered, compared with the best one.
- Configuration: the template and settings the assignment was made with. For a custom assignment that hasn’t been confirmed yet, you can change them here. See custom assignment. Imported assignments and scheduled assignments’ drafts don’t have this tab.
For a draft, the end of the tab row has the actions:
- Confirm adds the shifts to the schedule. A dialog asks you to review anything unusual first, see confirmation options. If the assignment failed, Confirm is disabled. Hover over it to see why.
- Regenerate (scheduled assignments only) creates the draft again, for example after members have updated their availability.
- Abandon discards the draft.
Assignment quality

The quality of an assignment describes how close On-Call Optimizer got to the best possible result, given the schedule’s configuration and the availability of its members.
What “best” means is set by the Priority of the schedule’s template, on the template’s Settings tab. Choose a preset, or Custom to weight each rule yourself. The priority presets and rules are described in the optimization rules reference.
The Evaluation tab of an assignment reports its quality as a Penalty:
- Overall is the total penalty for the assignment. Lower is better, and 0 is neutral. A negative value means members’ preferences were met.
- One value for each rule the schedule uses (for example Shift distribution, Balance or Availability) shows how much that rule contributed. Hover over the help icon on each one for an explanation.
Below these, Contributing costs lists each cost that makes up the penalty, largest first.
Below the penalty, the Member balance section shows how the assignment changes each member’s share of shifts. See schedule balance.
Older assignments
Assignment penalties
When the best assignment can’t meet every goal, penalties describe the compromises On-Call Optimizer had to make. In the shift popup, a warning icon beside an assignee means the shift has a penalty for that member. Hover over it to read the penalties, for example “is unavailable (blocked) for this shift”, “also repeated only 3 shifts before” or “starts a separate on-call cluster”. The icon is red for serious penalties, such as a block or back-to-back shifts, and orange for minor ones. On the calendar, a shift assigned despite a block has a red outline.

For the types of penalties, see assignment optimization.
Scheduled assignment settings
The settings that control scheduled assignments belong to each configuration template. To change them, go to Schedules → schedule → Configuration tab → template → Settings tab, and click Edit. See template settings for each setting.
- Horizon: how far ahead shifts are kept assigned, in days. A scheduled assignment runs when the horizon left by the last assigned shift falls to this value.
- Window: how many days of shifts each scheduled assignment covers.
- Priority: which goals matter most when assigning shifts. See assignment quality.
- Distribution and Hour limits: only shown where shift distribution is enabled for your schedule.
The first shift of a new schedule is set when you create the schedule. See first assignment for new schedules.
Confirmation
Scheduled assignments are confirmed automatically: as soon as a scheduled assignment has run, its shifts are added to the schedule, members are notified and destinations are synchronized. There is no setting to change. Shifts past the limit of members’ availability information are left for a later scheduled assignment (see shifts assigned without availability). To see what the next scheduled assignment would assign before it runs, generate a custom assignment and abandon it afterwards.
Horizon and window sizing considerations
A window of about 30 days, and at least 20, suits most schedules. The horizon can be as short as your team is comfortable with: it only changes how much notice members get. See horizon and window sizing for more advice.
Scheduled, draft and confirmed assignments
An assignment is a list of shifts for a schedule. Each one goes through up to three stages:
- Scheduled: the schedule will run it on a date, to keep its shifts assigned ahead.
- Draft: it has run (or someone created it) and its shifts are waiting to be confirmed.
- Confirmed: its shifts are part of the schedule.
Scheduled assignment
A scheduled assignment is the assignment a schedule will run on a date to keep its horizon assigned. The schedule always knows its next one: its shifts are the Planned shifts on the schedule calendar, the sparkles marker shows the day it runs (“Scheduled assignment” in the marker’s popup), the Next assignment card on the Timeline tab gives its date, and the template’s Settings tab says “Next scheduled assignment on date, …”. See the schedule lifecycle for when scheduled assignments run.
When it runs, it produces a draft titled “Scheduled assignment”, which is confirmed automatically straight away. It only covers shifts after the end of the schedule’s assigned shifts, so in practice it extends the schedule.
Assign now
To assign the planned shifts without waiting for the scheduled assignment’s date, click the Assign now button in the sparkles marker’s popup, in a planned shift’s popup, or on the Next assignment card. Only schedule editors can use it. It creates a custom assignment of the same shifts and opens its page. Review it, then click Confirm to add the shifts to the schedule, or Abandon to discard it. Once it is confirmed, the next scheduled assignment moves on to the shifts after it.
Draft
A draft is an assignment that has been generated but not confirmed: a scheduled assignment that has run, or a custom assignment someone created.
- On the Timeline tab it is listed first, under Not yet confirmed, with a blue Draft badge, or a red Overdue badge once its first shift is less than 3 days away (Failed if it couldn’t be generated).
- On the schedule calendar its shifts are Planned shifts, and their popup shows Confirmation required with a Review button.
- Its page has the same badge, and the actions Confirm, Regenerate (scheduled assignments only) and Abandon.
A draft is confirmed in one of two ways:
- Automatically: a scheduled assignment’s draft is confirmed as soon as it has been generated, so you rarely see one. It only stays as a draft if it can’t be confirmed, for example when it Failed. Until someone regenerates or abandons it, no further scheduled assignments run (see lifecycle).
- By an editor: a custom assignment waits until someone reviews it and clicks Confirm.
Confirmed assignment
When a draft is confirmed, its shifts become part of the schedule, and the assignment stays as a confirmed entry on the Timeline tab: a permanent record of when and how the schedule changed. Its page has the Confirmed on date badge. If its shifts are later swapped or reassigned, the entry still shows the shifts as it confirmed them.
The schedule’s shifts
The schedule’s own record of who is on call at each point in time is what its Calendar tab shows. It only changes when an assignment is confirmed. The schedule’s Reports tab shows its live balance.
Assignment titles
An assignment’s title says how it came about. The same title is used on its page, its Timeline entry and in shift popups, and a draft already has the title it will keep once confirmed.
| Title | How it comes about |
|---|---|
| Scheduled assignment | A scheduled assignment ran. |
| Custom assignment | Someone created or customized an assignment. See below. |
| Reassignment | Someone reassigned one shift from its popup. |
| Taken shift | A swap request completed by someone taking the shift. |
| Swapped shifts | A swap request completed by exchanging shifts. |
| Imported assignment | Shifts imported from an on-call product. The Timeline also shows the product’s chip. See below. |
Custom assignment
A custom assignment is one you create yourself, for example to reassign a period after the team changes. Only schedule editors can create one.
- On the schedule page, click New assignment at the end of the tab row.
- If the schedule has more than one template, choose the Configuration template to use.
- The dialog suggests extending the schedule by the template’s window. To choose a different period, change From and For (days).
- Click Generate.
On-Call Optimizer creates a draft titled “Custom assignment” and opens its page. To change it before you confirm it, open its Configuration tab:
- Click Customize (or Edit customizations) to change the shifts, priority or member targets for this assignment only.
- Click Change template to generate it again from a different template. Any customizations are lost. This is only available when the schedule has more than one template.
To change the period it covers, click the pencil beside the period under the title.

When you are happy with it, click Confirm.
The New assignment button’s menu also has Import from CSV, which creates a custom assignment from a file, and Export to CSV.
Imported assignment
An imported assignment holds shifts that were assigned in an on-call product the schedule exports to. When a schedule is copied from an on-call product or gets a new destination, On-Call Optimizer imports the history of past shifts from it, up to the schedule’s first shift, so the assignment algorithm can balance shifts across all members. A bidirectional destination also imports changes made there to exported shifts.
Assignment confirmation
Confirming a draft adds its shifts to the schedule:
- For the period the draft covers, its shifts replace the schedule’s shifts role by role. A role the draft leaves empty is untouched: a draft that only assigns the primary assignee keeps the existing secondary assignees.
- Shifts after the end of the draft are kept, unless you choose to truncate the schedule horizon.
- Shifts that have already ended are left as they were, unless you accept reassigning them.
Everything happens in one step, so either all of it happens or none of it does. The schedule is checked before the confirmation is saved, and the draft becomes a confirmed assignment. Members are then notified of their new shifts and each destination is synchronized.
When there is something to decide, such as reassigning completed shifts, the Confirm assignment dialog asks first. See confirmation options.