Skip to main content

Scheduled Shifts Calendar

This is the duty schedule calendar where you can see, create, and manage employee shifts. Think of it as a wall planner that shows who is working and when. Each shift appears as a colored block on the calendar showing the time, description, and as...

Written by Ronny Christensen
Updated over 3 weeks ago

What This Screen Does

This is the duty schedule calendar where you can see, create, and manage employee shifts. Think of it as a wall planner that shows who is working and when. Each shift appears as a colored block on the calendar showing the time, description, and assigned employee. You can drag shifts around to reschedule them, click on a shift to edit it, or select an empty time slot to create a new one.


How to Get There

  1. Open the dashboard.

  2. In the left-hand menu, click Duty Schedule.

  3. You are now on the Scheduled Shifts calendar screen.


Step-by-Step Guide

1. Choose a Calendar View

At the top-left of the calendar you will find a view selector button. Click it to switch between different layouts:

View

What It Shows

Month

A full month grid. Each day shows up to 3 shifts before collapsing into a “+more” link.

Week

A 7-day view with a time axis on the left. Shifts are placed at their exact start and end times.

Day

A single day with a detailed time axis. Best for seeing exactly who is scheduled and when.

Agenda

A flat list of upcoming shifts sorted by date. Useful for a quick overview without the grid layout.

  • On mobile devices the view selector is hidden. The calendar automatically adjusts to fit your screen.

  • Use the left arrow (←) to go to the previous period (previous month, week, or day depending on your view).

  • Use the right arrow (→) to go to the next period.

  • Click the red Today button to jump back to today’s date.

  • The current date range is displayed as a heading between the arrows.

3. Read a Shift Block

Each shift on the calendar shows:

  • Time — the start and end time in HH:mm format (e.g. 08:00 – 16:00).

  • Description — what the shift is about (e.g. “Morning Reception”).

  • Employee name — who is assigned.

  • Employee avatar — a small profile picture in the top-right corner of the block.

  • Color — each shift can have its own tint, making it easy to tell shifts apart at a glance.

4. Create a New Shift

There are two ways to create a shift:

Option A — Click and drag on the calendar: 1. Click on an empty time slot and drag to select a range. 2. A dialog will open with the start and end times pre-filled. 3. Fill in the shift details (see the form fields below). 4. Click Save Changes.

Option B — Use the Scheduling button: 1. Click the Scheduling button in the top-right corner of the page. 2. This takes you to the class templates screen where you can set up recurring schedules.

5. Fill In the Shift Form

When you create or edit a shift, a dialog appears with the following fields:

Field

Required

What to Enter

Description

Yes

A short label for the shift, such as “Morning Shift” or “Evening Reception”. This is what appears on the calendar.

Employee

No

Pick the staff member assigned to this shift from the dropdown. You can clear the selection if no one is assigned yet.

Wage Rate

No

Select the pay rate that applies to this shift. Wage rates are set up separately under Wage Rates settings.

Begins

Yes

The date and time the shift starts. Use the date-time picker (format: dd/MM/yyyy HH:mm, 24-hour clock).

Ends

No

The date and time the shift ends. Must be later than the start time.

Number of Repetitions

No

Only shown when creating a new shift. Enter a number to repeat this shift multiple times (e.g. enter 5 to create the same shift for 5 consecutive occurrences). Must be at least 1 if filled in.

6. Edit an Existing Shift

  • Click on any shift block on the calendar.

  • The shift form dialog opens with all fields pre-filled.

  • Make your changes and click Save Changes.

  • The dialog title will read Edit shift so you know you are editing, not creating.

7. Reschedule a Shift by Dragging

  • Click and hold a shift block on the calendar.

  • Drag it to a new date or time slot.

  • Release the mouse button.

  • The system automatically saves the new time — no dialog needed.

  • You will see a green “Update success!” notification.

8. Resize a Shift

  • In the Week or Day view, hover over the bottom edge of a shift block.

  • A resize handle appears.

  • Drag it up or down to shorten or extend the shift.

  • The new end time is saved automatically.

9. Delete a Shift

  1. Click on the shift to open the edit dialog.

  2. Click the trash bin icon (🗑) at the bottom-left of the dialog.

  3. The shift is deleted immediately.

  4. You will see a green “Delete success!” notification.

  • If a shift is linked to a class, a Go to class button appears in the edit dialog.

  • Click it to navigate to that class’s detail page.

11. Filter Results

  • If color or date filters are active, a filter summary bar appears above the calendar showing how many results match.

  • Click the X on any filter chip to remove that filter.

  • Click the Clear button to remove all filters at once.


What Happens Behind the Scenes

Loading Shifts

You open the Shifts page (or navigate to a new date range)
        |
        v
API call: GET /api/shifts ({ fromDate, toDate, pageSize, pageNumber })
        |
        v
Server returns a list of shifts for that date range
        |
        v
Shifts are mapped into calendar events and displayed on the calendar

Creating a Shift

You fill in the form and click "Save Changes"
        |
        v
Form validates all fields (Yup schema)
        |
        v
API call: ShiftsService.create({ body: formData })
        |
        v
Shift record is created on the server
        |
        v
Success notification: "Create success!"
        |
        v
Dialog closes, calendar reloads shifts for the current date range

Editing a Shift

You update the form and click "Save Changes"
        |
        v
Form validates all fields (Yup schema)
        |
        v
API call: ShiftsService.update({ id, body: formData })
        |
        v
Shift record is updated on the server
        |
        v
Success notification: "Update success!"
        |
        v
Dialog closes, calendar reloads shifts for the current date range

Dragging a Shift to a New Time

You drag a shift block and drop it on a new time slot
        |
        v
API call: ShiftsService.update({ id, body: { ...existingShift, begins: newStart, ends: newEnd } })
        |
        v
Shift record is updated on the server
        |
        v
Success notification: "Update success!"
        |
        v
Calendar reloads shifts for the current date range

Deleting a Shift

You click the trash bin icon in the edit dialog
        |
        v
API call: ShiftsService.remove({ id })
        |
        v
Shift record is deleted from the server
        |
        v
Success notification: "Delete success!"
        |
        v
Dialog closes, calendar reloads shifts for the current date range


Troubleshooting

“I do not see any shifts on the calendar”

  • Make sure you are looking at the correct date range. Click the Today button to jump to the current date.

  • Check that you have the right gym/location selected in the top navigation. Shifts are filtered by the currently selected gym.

  • Shifts may simply not exist for the date range you are viewing. Try navigating to a different week or month.

“I filled in the form but the Save button does not work”

  • The Description field is required. Make sure it is not empty.

  • The Begins date is required. Make sure you have selected a start date and time.

  • If you entered an Ends time, it must be later than the Begins time. Check that the end is not before or equal to the start.

  • Look for red error text below the fields — it will tell you exactly what needs to be fixed.

“I dragged a shift but it snapped back to its original position”

  • The drag-and-drop triggers an API call to update the shift. If the call fails (for example, due to a network error), the shift will not move.

  • Check your internet connection and try again.

  • If the error persists, open the shift by clicking on it and update the times manually in the form.

“I cannot see the Employee or Wage Rate options in the dropdowns”

  • The employee list and wage rates are loaded when the dialog opens. If the dropdowns are empty, try closing the dialog and opening it again.

  • Make sure you have employees set up in the system (under the Employees section) and that they are marked as active.

  • Make sure you have wage rates configured (under Wage Rates settings).

  • If the problem continues, refresh the page. The data may not have loaded due to a network issue.

“The calendar is showing a loading bar that never finishes”

  • A thin progress bar appears at the top of the calendar while shifts are being fetched. If it stays indefinitely, the API call may have stalled.

  • Refresh the page to retry.

  • Check your internet connection.

  • If the issue persists, contact your system administrator — the shifts API may be experiencing issues.

“I deleted a shift by accident”

  • Shift deletion is immediate and cannot be undone from this screen.

  • You will need to recreate the shift manually by clicking on the appropriate time slot and filling in the details again.

  • If the shift was part of a recurring schedule, check with your administrator about restoring it.

“The times on the calendar look wrong or are in the wrong time zone”

  • The calendar uses the time zone of your currently selected gym. If you switch gyms, the displayed times adjust accordingly.

  • Make sure the correct gym is selected in the global gym selector at the top of the dashboard.

  • If the gym’s time zone is misconfigured, update it in the Gym settings.

“I want to create a recurring shift but do not see the repetitions field”

  • The Number of Repetitions field only appears when creating a new shift. It is not shown when editing an existing shift.

  • To create a recurring shift, open a new shift dialog (click on an empty time slot) and enter the desired number of repetitions.

“I clicked the Scheduling button but it did not create a shift”

  • The Scheduling button navigates you to the Class Templates screen, which is used for setting up recurring schedules and templates — it does not directly create a single shift.

  • To create a single shift, click on an empty time slot on the calendar instead.

“The shift colors all look the same”

  • Shift colors (tints) are assigned per shift, often based on the employee or shift type. If no color has been set, shifts default to a neutral tone.

  • To change a shift’s color, the tint needs to be configured at the employee or shift level in the system. This is not editable directly from the calendar form.

Did this answer your question?