What This Screen Does
This is where you review how many hours your employees have worked over a given period. Think of it like a timesheet summary — the system pulls all recorded shifts, groups them by employee, and breaks down the hours into categories (classes, personal training, and unspecified). You can approve shifts and export the data as a CSV file for payroll processing.
How to Get There
Open the dashboard.
In the left-hand menu, click Salary Settlement.
You are now on the Salary Settlement list screen.
Step-by-Step Guide
1. Set the Date Range
At the top of the screen you will see two date pickers that control which shifts are shown.
Field | Required | What to Enter |
From | Yes | The start date of the period you want to review. Defaults to the first day of the current month. |
To | Yes | The end date of the period you want to review. Defaults to the last day of the current month. |
Pick your dates and the table will automatically reload with shifts that fall within that range.
The selected dates are saved in the page URL, so you can bookmark or share the link and the same date range will load.
2. Review the Employee Table
The main table shows one row per employee. Each row summarises their total worked hours for the selected period.
Column | What It Shows |
Name | The employee’s name and profile photo. |
Class | Total time spent on class-type shifts (e.g. group fitness classes). Shown as hours and minutes. A dash ( |
Personal training | Total time spent on personal-training-type shifts. A dash means zero. |
Unspecified | Total time for shifts that are neither class nor personal training. A dash means zero. |
Total | The combined time across all shift types for that employee. |
You can sort the table by clicking any column header. Click once for ascending, again for descending.
Use the pagination controls at the bottom to navigate through pages if there are many employees. You can also change how many rows are shown per page (default is 25).
Toggle Dense mode at the bottom-right to make rows more compact.
3. Expand an Employee Row to See Shift Details
Click the chevron icon (arrow) on the right side of any employee row.
A sub-table expands showing the individual shifts for that employee, sorted by date.
Sub-table Column | What It Shows |
Class | The shift description and the date/time it started. |
Time | How long the shift lasted (formatted as hours, minutes, seconds). |
Wage Rate | The wage rate name assigned to the shift, or a dash if none. |
Type | The shift type (e.g. Clazz, PersonalTraining, or other). |
Status | A green Approved chip or an orange Not approved chip. If the employee has no wage rate assigned, a red Missing wage rate chip also appears. |
Click the chevron again to collapse the detail view.
4. Filter by Status Tab
Above the table you will see a tab labelled All with a count of employees.
Currently this is the only available filter tab. It shows all employees with shifts in the selected period.
5. Select Employees
Use the checkbox on the left of each row to select individual employees.
Use the checkbox in the table header to select or deselect all employees at once.
When you select one or more employees, an action bar appears above the table.
6. Approve Selected Shifts
Select the employees whose shifts you want to approve.
Click the checkmark icon (Approve) in the action bar that appears.
The system will mark all shifts for the selected employees as approved.
The table will refresh automatically after approval completes.
7. Export Selected Shifts to CSV
Select the employees you want to include in the export.
Click the export icon in the action bar.
A CSV file will be downloaded to your computer.
The file is named using the date range, for example:
shifts_2025-01-01__2025-01-31.csv.
8. Print the Page
Click the three-dot menu (⋮) next to the date pickers.
Click Print.
Your browser’s print dialog will open so you can print or save the page as a PDF.
What Happens Behind the Scenes
When the page loads or you change the date range:
Page loads / date range changes
|
v
URL is updated with fromDate and toDate query parameters
|
v
API call: GET /api/shifts (with date range, sorting, and gym filter)
|
v
Shifts are returned and grouped by employee
|
v
Hours are calculated per category (Class, Personal Training, Unspecified, Total)
|
v
Table displays one summary row per employee
When you approve shifts:
You select employees and click the Approve icon
|
v
For each selected employee:
API call: EmployeesService.updateShifts({ id, body: [{ shiftId, isApproved: true }] })
|
v
All approvals complete
|
v
Selection is cleared
|
v
Shifts are reloaded from the server
|
v
Table refreshes with updated approval statuses
When you export to CSV:
You select employees and click the Export icon
|
v
API call: GET /api/wages (with date range and selected employee IDs, Accept: text/csv)
|
v
Server returns CSV data
|
v
CSV file is saved to your computer automatically
Troubleshooting
“The table is empty — I do not see any employees”
Make sure the date range covers a period where shifts actually exist. By default it shows the current month.
Check that you have the correct gym/location selected in the dashboard header. Shifts are filtered by the active gym.
If employees have not logged any shifts in the selected period, the table will be empty. This is normal.
“The hours look wrong for an employee”
Expand the employee row by clicking the chevron to see the individual shift details.
Check the start and end times of each shift — the totals are calculated from these.
If a shift has incorrect times, it needs to be corrected in the shift/schedule management area, not on this screen.
Remember that hours are grouped into Class, Personal Training, and Unspecified. A shift you expect under “Class” might be categorised differently if its type was set incorrectly.
“I clicked Approve but nothing seems to have changed”
The approval updates the shift records on the server. The table reloads automatically after approval.
If you expand the employee row, each shift should now show a green Approved chip.
If the status still shows “Not approved”, check your internet connection and try again.
Make sure you had the employees selected (checked) before clicking the approve icon.
“The CSV export file is empty or does not download”
You must select at least one employee using the checkboxes before clicking export. The export only includes selected employees.
Check that your browser is not blocking the download — look for a blocked-download notification in your browser bar.
Ensure the date range is valid (the From date should be before the To date).
“I see a red ‘Missing wage rate’ chip next to a shift”
This means the employee does not have a wage rate assigned.
Go to the employee’s profile and make sure a wage rate is configured for them.
Without a wage rate, payroll calculations may be incomplete.
“I cannot find the employee I am looking for”
The list only shows employees who have at least one shift in the selected date range.
Expand the date range or verify that the employee has recorded shifts.
Double-check that you are viewing the correct gym/location — employees belong to specific locations.
“The page is loading very slowly”
If you selected a very large date range (e.g. an entire year), there may be a lot of shift data to load.
Try narrowing the date range to a single month or a shorter period.
Check your internet connection — a slow or unstable connection can cause delays.
“I want to print the table but it does not look right”
Click the three-dot menu (⋮) and select Print to use the built-in print function.
Make sure any expanded employee rows are collapsed before printing for a cleaner layout.
Your browser’s print settings (margins, scale) may need adjustment for the table to fit on the page.
