Courses
The Courses area is where Service administrators create and maintain the course catalogue for the scheduled services they administer: 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 Service administrator account assigned to at least one scheduled service.
- In the left sidebar, open the SYSTEM section.
- Click Courses.
Your scope
| You can | You cannot |
|---|---|
| View, create, edit, and delete courses for services you administer | See or change courses for other services |
| Manage course instances, events, and documents for those courses | View or open courses from services where you are not a service administrator |
| Choose only your scheduled services when creating a course | View or select services outside your assignment in the Service dropdown |
Courses list
The list shows courses for the scheduled services you administer (not the whole 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 of your scheduled services.
How to import
- Select a Service from your scheduled services. 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. You can do this for courses linked to services you administer.
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; only your scheduled services are listed) |
| 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. 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 open a side panel with:
| Field | Description |
|---|---|
| Description | Short label for the file |
| File | Document to upload |
| Show in service application as a template | When checked, the file can be used as a template during course applications |
Allowed file types include PDF, PowerPoint, Word, Excel, CSV, OpenDocument, RTF, and plain text. Maximum size 50 MB per file.
Use the row Actions menu to Edit (description or show-in-application flag), Remove, or download a document.
Creating a course instance
CREATE INSTANCE on the course page opens a full-page form with:
| Field | Description |
|---|---|
| Code | Unique instance code |
| Physical presence required | When checked, customers see a Physical attendance badge; otherwise Online |
| 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 show the course summary and instance fields: code, physical presence, number of participants, price per participant, language, professional, start date, and end date.
Events
| Course type | Events UI |
|---|---|
| Regular | Table of events: #, Title, Start time, End time, Classroom, Actions. Total events is shown above the table. ADD EVENT opens a side panel. |
| Ongoing | Table by Day of week, Start time, End time, Start date, End date, Automatically create events for the next year, Classroom, and Actions (when the instance is in Planning). ADD EVENT opens the ongoing event form. |
ADD EVENT is disabled when the instance status is Finished.
Regular course — create event
ADD EVENT opens a side panel with:
| Field | Description |
|---|---|
| Title | Event title |
| Time zone | e.g. Europe/Stockholm |
| Start time | Start date and time |
| End time | End date and time |
| Repeatable | When checked, configure recurrence (available only after Start time and End time are set) |
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
ADD EVENT opens a side panel pre-filled with the course title and instance code:
| Field | Description |
|---|---|
| Title | Event group title |
| Time zone | e.g. Europe/Stockholm |
| Repeat from | First date the pattern applies |
| Event time | Daily time range (from–to) |
| Repeat every | Weekday (e.g. Friday) |
| Automatically create events for the next year | When checked, events for the following calendar year are created at the beginning of December |
| Repeat until | Last date for the recurring pattern |
Click CREATE to save the event group and generate sessions.
Ongoing course — event group actions
When the instance status is Planning, each event group row has Actions:
| Action | Description |
|---|---|
| Edit | Change the recurring pattern |
| Delete | Remove the event group |
For Published or Finished instances, event group actions are not available from this table.
Regular course — event actions
While the instance is not Finished, each event row has Actions:
| Action | Notes |
|---|---|
| Edit | Update the event (disabled when instance is Finished) |
| Delete | Remove the event (disabled when instance is Finished or the instance has applications) |
The Classroom column shows a link to the assigned classroom or custom URL, or a message when none is assigned.
Instance statuses
| Status | Meaning |
|---|---|
| Planning | Not visible on Available courses; you can still edit the instance and (for ongoing) event groups |
| Published | Visible to customers and applicants; applications can be submitted |
| Finished | Run completed; ADD EVENT and most event edits are disabled |
Related areas
- Account overview — how service administrator access is granted.
- Services — scheduled services you administer (course ownership).
- Applications — course applications submitted for your services.
- Attendance — attendance for course events under your services (tracking must be enabled on the course).
- Calendar — course instance events for services you administer.
- Follow ups — follow-up threads linked to applications on your services.