Working hours via MDM

Provide categories, annual working time, and the school year start centrally for all devices of your school.

Overview

You store the presets in your MDM management. On the devices they replace the default values; managed settings are read-only.

How to find it

Check the effect on a managed device:

  1. Open the side menu and choose the gear icon at the bottom left.
  2. Tap Working hours – managed values appear read-only.

Step by step

  1. Define your school's activity categories as a JSON list.
  2. Store them in your MDM management under the `worktime_categories` parameter.
  3. If needed, set the annual working time, the school year start, and the write protection.

MDM configuration

Four parameters are available to school administrators:

  • `worktime_categories`: categories as a JSON list. Replaces the app's default categories.
  • `worktime_categories_read_only`: write protection – teachers can neither create nor change categories.
  • `worktime_annual_target_minutes`: annual working time in minutes (full-time, e.g. 106200 for 1,770 hours). The user's personal part-time factor is applied on top.
  • `worktime_school_year_start`: school year start as "MM-dd" (default "08-01").
<?xml version="1.0"?>
<managedAppConfiguration>
  <version>2</version>
  <bundleId>de.bunt.app.mobile</bundleId>
  <dict>
    <string keyName="worktime_categories">
      <defaultValue>
        <value>[{"id": "teaching", "name": "Teaching", "color": "#4E79A7", "ignoreHolidays": true, "isLessonDefault": true}, {"id": "grading", "name": "Grading", "defaultStrainLevel": 1}]</value>
      </defaultValue>
    </string>
    <boolean keyName="worktime_categories_read_only">
      <defaultValue>
        <value>true</value>
      </defaultValue>
    </boolean>
    <integer keyName="worktime_annual_target_minutes">
      <defaultValue>
        <value>106200</value>
      </defaultValue>
    </integer>
    <string keyName="worktime_school_year_start">
      <defaultValue>
        <value>08-01</value>
      </defaultValue>
    </string>
  </dict>
</managedAppConfiguration>

A category consists of `id` and `name`; optional are `color` (hex value "#RRGGBB"), `ignoreHolidays` (planned events do not count on holidays), `defaultStrainLevel` (0 = Normal, 1 = Medium, 2 = High), and `isLessonDefault` (default category for lesson events).