Courses
The Courses area is where System administrators create and maintain the course catalogue: course definitions, documents, course instances, and session schedules. Customers and applicants browse published instances from Available courses; you prepare everything here before it goes live.
What are courses?
A course is a scheduled educational offering tied to one scheduled service and one subject. Customers buy seats on course instances (a specific run of the course with its own code, dates, language, professional, and price).
| Course type | Description |
|---|---|
| Regular course | Fixed sessions with defined start and end dates. Each instance has individual calendar events. |
| Ongoing course | Recurring weekly (or similar) sessions without a fixed instance end date in the same way. Instances use event groups (day of week + time range) instead of a flat list of dated events. |
Accessing Courses
- Sign in with a System administrator account.
- In the left sidebar, open the SYSTEM section.
- Click Courses.
Courses list
The list shows all courses in the platform.
Table columns
| Column | Description |
|---|---|
| Code | Unique course code (sortable) |
| Title | Course name (sortable) |
| Service | Linked scheduled service (sortable) |
| Course type | Regular course or Ongoing course |
| Duration | For ongoing courses: total hours; otherwise — |
| Date created | When the course was created (sortable; default sort: newest first) |
| Terms & conditions | Empty if none are active; Service if service-level terms are active for this course; Course if course-level terms are active |
| Actions | Row menu |
Pagination shows Showing X–Y of Z results (20 courses per page by default).
Row actions
| Action | Description |
|---|---|
| Manage | Open the course detail page (instances and documents summary) |
| Edit | Update course fields in a side panel |
| Documents | Open the dedicated documents page for this course |
| Terms and conditions | Open the course-level terms and conditions page (see below) |
| Delete | Remove the course (disabled if any instance has applications) |
Use IMPORT COURSE INSTANCES (before ADD COURSE, top right of the table) to open the CSV import page, or ADD COURSE to create a new course.
Import course instances
Use this page to create many regular course instances at once from a CSV file for one scheduled service.
How to import
- Select a Service (active scheduled services only). The CSV upload field stays disabled until a service is selected.
- Optionally download the example CSV file to see the required columns and a sample row.
- Upload your CSV. The platform validates the whole file immediately.
- If validation succeeds, Import becomes active. Click it to create the instances.
- A success message appears, and a summary lists the created instance codes grouped by course.
If validation fails, errors are shown by row. Fix the file and upload again. Nothing is created until Import succeeds.
CSV columns
| Column | Description |
|---|---|
| course_code | Must match the code of an existing regular course for the service you selected. Ongoing courses are not allowed. |
| instance_code | New code for this instance. Use only uppercase letters and digits (for example INST01). Length must be between 2 and 15 characters. Must be unique for that course. |
| physical_presence | Optional. Use true, false, 1, 0, yes, or no. If empty, it is treated as false (not required). |
| start_date | Required. Format: day-month-year, for example 01-09-2026. |
| end_date | Required. Same format as start date, and must be after the start date. |
| number_of_participants | Required. Whole number of seats, at least 1 (for example 10). |
| price_per_participant | Required. Price per seat (for example 500 or 500.00). At most two digits after the decimal point. |
| language | Required. Name of an active language in the platform, for example English or Swedish (same spelling as in the system). |
| professional_email | Required. Email address of an active professional user. |
Imported instances are created in Planning status, the same as when you create an instance manually.
Course terms and conditions
Open Terms and conditions from a course’s row actions to manage versioned terms that belong to that course only. These are separate from service-level terms.
Page structure
If no versions exist, the page shows that no terms and conditions have been created for this course, together with a Create button.
When at least one version exists:
- An Activate terms and conditions checkbox appears at the top (unchecked by default). Checking it activates course-level terms for this course; unchecking deactivates them. Creating a version does not activate terms automatically.
- Activating course-level terms automatically turns off Activate service level terms and conditions for this course if it was on. While course-level terms are active, you cannot turn service-level terms back on for this course from create/edit.
- The latest created version is treated as the current content version for the course.
| Column | What it shows |
|---|---|
| TITLE | Title of the terms version. |
| DATE CREATED | When the version was created. |
| VERSION | Incremental version number (starts at 1 for each course). |
| ACTIONS | Three-dot menu with Edit and Delete. |
Create
- Click Create.
- Fill in Title and Terms and conditions (rich text; required). You may include more than one language in the same text if needed.
- Use the buttons at the bottom:
- Cancel – closes without saving.
- Save – saves the version, shows a success message, and keeps the dialog open.
- Save & Close – saves the version, shows a success message, and closes the dialog. On validation errors the dialog stays open.
Each new record gets the next version number for that course (1, then 2, and so on).
Edit
Choose Edit from a version’s actions menu to change its title or body. The same Cancel / Save / Save & Close behaviour applies.
Delete
Choose Delete to open a confirmation dialog. Type DELETE (or RADERA when the UI language is Swedish) to confirm, then click DELETE. If you delete the last remaining version, Activate terms and conditions is turned off automatically for the course.
Locked versions
If a version is linked to at least one submitted application for this course, Edit and Delete are disabled. Hovering the disabled options shows a tooltip explaining that the version cannot be changed because it is related to a submitted application. The server also blocks edit and delete for locked versions.
Creating a course
ADD COURSE opens a side panel in two steps.
Step 1 — Course type
Choose Regular course or Ongoing course. This choice cannot be changed after creation.
Step 2 — Course details
| Field | Description |
|---|---|
| Title | Display name of the course |
| Code | Unique alphanumeric course code |
| Description | Full description shown to customers on the course page |
| Cover image | Optional image for catalogue cards |
| Service | Scheduled service this course belongs to (searchable dropdown) |
| Subject | Subject under the selected service |
| Duration (hours) | Ongoing courses only — total hours shown in the catalogue |
| Require uploading files in applications | When checked, scheduled course applications must include uploads |
| Activate service level terms and conditions | Appears only when the selected parent service has Activate terms and conditions turned on and this course does not already have course-level terms activated. When checked and saved, the service’s terms become active for this course. Changing the service to one without active terms hides this option and clears it. You cannot enable this option while course-level terms are active. |
| Attendance tracking enabled | When checked, attendance can be recorded for this course. Automatically enabled and locked on when Certificates enabled is checked. |
| Certificates enabled | When checked, certificates can be awarded for attendees on this course. Requires Attendance tracking enabled. |
| Attended sessions required | Shown indented under Certificates enabled for regular courses only when certificates are enabled (see below) |
Click CREATE to save.
Certificates and attended sessions
These options work together for regular courses only.
| Setting | Behaviour |
|---|---|
| Certificates enabled | Turns on certificate awarding for the course. Attendance tracking enabled is switched on automatically and cannot be turned off while certificates remain enabled. |
| Attended sessions required | Appears below Certificates enabled when that checkbox is checked. Required percentage (0–100) of sessions an attendee must attend to be eligible for a certificate. |
Editing a course
From the courses list, open the row Actions menu and choose Edit. The same fields as in step 2 above are available in a side panel (course type cannot be changed). Certificates enabled and Attended sessions required behave the same as when creating a course, except that Attended sessions required is disabled once at least one certificate has been generated for any instance of the course. If certificates are disabled after certificates have been generated, the attended-sessions percentage is kept in the background so it is shown again (still read-only) when certificates are re-enabled. Click UPDATE to save.
When you enable Certificates enabled on an ongoing course that already has completed attendees who need certificates or already have them, a confirmation dialog appears. It tells you how many new certificates will be created and asks whether you want to generate them. If some completed attendees already have certificates (for example after certificates were previously enabled and then turned off), the dialog also states how many attendees already have a certificate and how many new certificates will be created. The count of attendees who already have a certificate includes anonymized attendees, matching the certificates list. Only non-anonymized completed attendees without a certificate are counted toward new certificates.
| Your choice | Result |
|---|---|
| Generate certificates | New certificates are created only for completed attendees who do not already have one, and only when their attendance is fully marked in every session. Each newly entitled attendee is notified by email and system notification. If any completed attendee without a certificate still has Not marked attendance in any session, or if an assigned professional is missing a profile signature, the update is blocked and an error message is shown. |
| Enable without generating | Certificates are enabled for the course, but no certificates are created for attendees who were already completed. Future completions can still receive certificates when marked Completed on the attendees report. |
| Close (cancel the dialog) | Returns to the edit form without saving. |
If the ongoing course has no completed attendees who need a new certificate and no existing certificates on completed attendees, enabling Certificates enabled saves immediately with no dialog.
Course detail page
Open a course with Manage from the list or by clicking its title. The page has three areas.
Details (left)
Read-only summary: thumbnail, title, description, code, service, subject, course type, duration (ongoing), file requirement, Activate service level terms and conditions (shown when the parent service has active terms or the course service-level flag is on), course-level terms activation when course terms are active, attendance tracking flag, certificates enabled flag, attended sessions required percentage (regular courses with certificates enabled), and date created.
Documents (right)
Lists files attached at course level on this page (name, size, uploaded at, download). Use the row action Documents on the courses list for full document management (add, edit, remove, Show in application).
Instances (bottom)
Table of all instances for this course.
| Column | Description |
|---|---|
| # | Row index |
| Code | Instance code |
| Number of attendees | Count of attendees linked to the instance |
| Status | PLANNING (blue), PUBLISHED (green), or FINISHED (red) |
| Language | Instance language |
| Professional | Assigned professional |
| Start date / End date | Instance period |
| Actions | Manage, Edit, Delete |
CREATE INSTANCE opens a full-page form (see below). CANCEL returns to the courses list.
Instance row actions
| Action | Notes |
|---|---|
| Manage | Instance detail: events, course/instance cards |
| Edit | Side panel to change instance fields |
| Delete | Disabled if the instance has applications |
Course documents page
From the courses list, choose Documents on a row.
| Column | Description |
|---|---|
| Description | Short label for the file |
| Name | File name |
| Show in application | Whether the file is offered as a template during application |
| Uploaded at | Timestamp |
| Actions | Edit, remove, download |
Use ADD DOCUMENT to upload (description, file, optional Show in service application as a template). Allowed types include PDF, Office documents, and plain text; maximum size 50 MB per file.
Creating a course instance
CREATE INSTANCE on the course page opens a form with:
| Field | Description |
|---|---|
| Code | Unique instance code |
| Physical presence required | Online vs in-person badge for customers |
| Start date | Required |
| End date | Required for regular courses; optional for ongoing |
| Number of participants | Capacity (seats) |
| Price per participant | Price in SEK |
| Language | Instance language |
| Professional | Delivering professional |
| Status | Planning, Published, or Finished |
Submit with CREATE, then use Manage on the instance to add events.
Editing a course instance
From the course detail page, open the instance row Actions menu and choose Edit. A side panel lets you update code, status, physical presence, start and end dates, number of participants, price, language, and professional. Click UPDATE to save.
Managing a course instance
The instance page title is {Course title}: {Instance code}.
Course details and instance details
Two blocks mirror the course summary and instance fields (code, physical presence, participants, price, language, professional, dates).
Events
| Course type | Events UI |
|---|---|
| Regular | Table of events: title, start time, end time, classroom link. ADD EVENT opens a side panel. |
| Ongoing | Table by day of week, start/end time, start/end date, Automatically create events for the next year, classroom. ADD EVENT uses repeat-from, event time, repeat every (weekday), repeat until, and the auto-create checkbox. |
ADD EVENT is disabled when the instance status is Finished.
Regular course — create event
ADD EVENT opens a side panel with Title, Time zone, Start time, and End time (both must be set before recurrence options appear). Times must fall within the instance start and end dates.
Check Repeatable to create a series of events instead of a single session.
Repeat period
| Value | Behaviour |
|---|---|
| Day | One event every day between the start time and the end of the series |
| Week | Events on selected weekdays (see below) |
| Month | Events on a monthly pattern (see below) |
| Year | One event per year on the same calendar date as the start time |
Weekly repeat
When Repeat period is Week, select one or more weekdays (Monday through Sunday). At least one weekday is required.
Monthly repeat
When Repeat period is Month, choose how the day of each month is determined. The options use the Start time you picked—the labels update automatically when you change the start date.
| Option | Description | Example |
|---|---|---|
| Monthly on day N | Same calendar date every month (day number from the start time) | Start on 15 March → events on the 15th of each month |
| Monthly on the nth weekday | Same ordinal weekday every month (e.g. first Monday, third Tuesday) | Start on the first Monday in March → Monthly on the first Monday each month |
| Monthly on the last weekday | The last occurrence of that weekday in each month | Only shown when the start date is already the last such weekday in its month (e.g. last Friday); then repeats on the last Friday of every month |
If the start date is not the last occurrence of its weekday in the month, the last weekday option is hidden.
End of the series
| Option | Description |
|---|---|
| On date | Generate events until the selected end date (cannot be after the instance end date) |
| After occurrences | Generate a fixed number of events; the maximum allowed count is calculated from the repeat rules and instance end date |
Click CREATE to generate the events. The same monthly choices are available when editing a recurring event, subject to the same restrictions as delete.
Ongoing course — create event
Defaults to a repeating weekly pattern: Repeat from, Event time (time range), Repeat every (weekday), Repeat until, and Automatically create events for the next year (events for the following calendar year are created at the beginning of December).
For planning ongoing instances, row actions on event groups allow Edit and Delete. For published or finished instances, event group actions are limited.
Regular course — event actions
While the instance is not Finished, each event can be Edited or Deleted (delete disabled if the instance has applications).
Classroom column shows a link to the assigned classroom or custom URL, or a message when none is assigned.
Related areas
- Services — scheduled services that own courses.
- Applications (customer area) — scheduled and ongoing course applications submitted by customers.
- Calendar — course instance events appear for administrators and assigned professionals.