Skip to content
Developer

StaffingRequirement

Staff5 EndpointsTimeTracking / StaffingRequirement

This method will get all StaffingRequirement Objects

GET/api/time/staffing_requirement

Query parameters

idinteger
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
namestring
modestring
bufferModestringL53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.
employmentContractGroupstring
employmentOrganizationstring
organizationUnitstringR7: a rule for a whole area (OrganizationUnit) - every group of every organisation in it or below it. Only without group and organisation, with staffing_organization_unit_enabled.
requiredQualificationstringOptional qualification the counted people have to satisfy (equivalences and ranking are honoured by QualificationMatchHelper).
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns a list of StaffingRequirement objectsarray<StaffingRequirement>

Show fields (21)
  • idinteger

    Primary key of the staffing requirement. Internal ID.

  • employment_contract_groupEmploymentContractGroup

    Contract group the requirement applies to.

    Show fields (25)
    • staged_absence_approvalboolean

      null inherits the organization; false explicitly disables staged approval.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the organisation, false switches it off for this group.

    • idinteger

      Primary key of the contract group. Internal ID.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Working days per week.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • request_lead_time_daysinteger

      Days an absence request of this group has to be handed in ahead of its first day. null falls back to the installation wide setting - an existing group therefore behaves exactly as before.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar of this group when it differs from the organisation's (apprentices attending school in another Bundesland). null = the organisation's.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • employment_organizationEmploymentOrganization

    Organization the requirement applies to.

    Show fields (12)
    • staged_absence_approvalboolean

      null inherits the organization policy (contracts); existing installations stay off.

    • idinteger

      Primary key of the employment organization. Internal ID.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar (Bundesland) of this organisation; groups may override it.

    • organization_unitOrganizationUnit4

      L01: the node of the organisation tree this organisation hangs on (Einrichtung, Bereich, Geschäftsstelle ...). Leaders of that node and of the nodes above lead this organisation as well.

    • shift_booking_syncboolean

      L35: published shifts of this organisation's people appear as availabilities in the event/booking area and a shift may be turned into an appointment. null = off.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • include_in_auto_exportboolean

      Whether the organization is included in the automatic export.

    • search_stringstring

      Text that the entity can be searched by.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • organization_unitOrganizationUnit4

    R7: a rule for a whole area (OrganizationUnit) - every group of every organisation in it or below it. Only without group and organisation, with staffing_organization_unit_enabled.

    Show fields (11)
    • pathstring

      The path label for pickers and lists: "Geschäftsstelle / Bereich Sport / Halle Nord".

    • depthinteger
    • idinteger

      Primary key of the organization unit. Internal ID.

    • levelstring

      The tier this node stands for, free text (Geschäftsstelle, Bereich, Einrichtung, ...).

    • parentOrganizationUnit4

      Parent organization of the unit.

    • sort_orderinteger

      Order among siblings.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • modestring

    Mode of the requirement, for example minimum staff or exact staff.

  • weekdays_bitmaskinteger

    ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

  • start_timestring

    Start time of the requirement in HH:MM.

  • end_timestring

    End time of the requirement in HH:MM.

  • min_staff_countinteger

    Minimum number of staff needed.

  • buffer_staff_countinteger

    L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

  • buffer_modestring

    L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

  • required_qualificationEmploymentQualification4

    Optional qualification the counted people have to satisfy (equivalences and ranking are honoured by QualificationMatchHelper).

    Show fields (7)
    • idinteger

      Primary key of the employment qualification. Internal ID.

    • rankinginteger

      Ranking within an equivalence network - a linked qualification with a higher or equal ranking also satisfies requirements for this qualification.

    • equivalent_qualificationsarray<EmploymentQualification4>

      Linked ("equivalent") qualifications. Kept symmetric by the controller: every link A->B is mirrored as B->A, the ranking decides which direction actually covers which.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: the "drawer" this qualification belongs to. Members of one group cover each other's requirements within their ranking, like a direct link would.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • qualification_match_modestring

    L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

  • valid_fromstring (date-time)

    Rule only applies from this date on (null = always).

  • valid_untilstring (date-time)

    Date until which the requirement is valid.

  • applies_on_holidaysboolean

    Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

  • search_stringstring

    Text that the entity can be searched by.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • namestring

    Name of the entity.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/time/staffing_requirement \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "employment_contract_group": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    },
    "employment_organization": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "allow_app_time_tracking": true,
      "shift_booking_sync": true,
      "allow_scanner_time_tracking": true,
      "allow_app_non_work_time_management": true,
      "include_in_auto_export": true,
      "search_string": "string",
      "deleted": true
    },
    "organization_unit": {
      "id": 42,
      "name": "Beispiel",
      "path": "string",
      "depth": 1,
      "level": "string",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "mode": "string",
    "weekdays_bitmask": 1,
    "start_time": "string",
    "end_time": "string",
    "min_staff_count": 1
  }
]

Add a new StaffingRequirement

POST/api/time/staffing_requirement

Request body application/json

  • dataStaffingRequirement2
    Show fields (13)
    • modestring

      Mode of the requirement, for example minimum staff or exact staff.

    • weekdays_bitmaskinteger

      ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

    • start_timestring

      Start time of the requirement in HH:MM.

    • end_timestring

      End time of the requirement in HH:MM.

    • min_staff_countinteger

      Minimum number of staff needed.

    • buffer_staff_countinteger

      L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

    • buffer_modestring

      L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

    • qualification_match_modestring

      L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

    • valid_fromstring (date-time)

      Rule only applies from this date on (null = always).

    • valid_untilstring (date-time)

      Date until which the requirement is valid.

    • applies_on_holidaysboolean

      Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

Responses

200Add a new StaffingRequirementStaffingRequirement3

Show fields (21)
  • idinteger

    Primary key of the staffing requirement. Internal ID.

  • employment_contract_groupEmploymentContractGroup

    Contract group the requirement applies to.

    Show fields (25)
    • staged_absence_approvalboolean

      null inherits the organization; false explicitly disables staged approval.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the organisation, false switches it off for this group.

    • idinteger

      Primary key of the contract group. Internal ID.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Working days per week.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • request_lead_time_daysinteger

      Days an absence request of this group has to be handed in ahead of its first day. null falls back to the installation wide setting - an existing group therefore behaves exactly as before.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar of this group when it differs from the organisation's (apprentices attending school in another Bundesland). null = the organisation's.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • employment_organizationEmploymentOrganization2

    Organization the requirement applies to.

    Show fields (12)
    • staged_absence_approvalboolean

      null inherits the organization policy (contracts); existing installations stay off.

    • idinteger

      Primary key of the employment organization. Internal ID.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar (Bundesland) of this organisation; groups may override it.

    • organization_unitOrganizationUnit5

      L01: the node of the organisation tree this organisation hangs on (Einrichtung, Bereich, Geschäftsstelle ...). Leaders of that node and of the nodes above lead this organisation as well.

    • shift_booking_syncboolean

      L35: published shifts of this organisation's people appear as availabilities in the event/booking area and a shift may be turned into an appointment. null = off.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • include_in_auto_exportboolean

      Whether the organization is included in the automatic export.

    • search_stringstring

      Text that the entity can be searched by.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • organization_unitOrganizationUnit5

    R7: a rule for a whole area (OrganizationUnit) - every group of every organisation in it or below it. Only without group and organisation, with staffing_organization_unit_enabled.

    Show fields (13)
    • pathstring

      The path label for pickers and lists: "Geschäftsstelle / Bereich Sport / Halle Nord".

    • depthinteger
    • idinteger

      Primary key of the organization unit. Internal ID.

    • levelstring

      The tier this node stands for, free text (Geschäftsstelle, Bereich, Einrichtung, ...).

    • parentOrganizationUnit5

      Parent organization of the unit.

    • leadershiparray<CRMPerson10>

      Leaders of this node; they lead everything below it.

    • staffing_alarm_recipientsarray<CRMPerson10>

      R7: who is alerted when a staffing rule in this area falls below its minimum; empty = the next area above, in the end staffing_alarm_recipient_persons.

    • sort_orderinteger

      Order among siblings.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • modestring

    Mode of the requirement, for example minimum staff or exact staff.

  • weekdays_bitmaskinteger

    ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

  • start_timestring

    Start time of the requirement in HH:MM.

  • end_timestring

    End time of the requirement in HH:MM.

  • min_staff_countinteger

    Minimum number of staff needed.

  • buffer_staff_countinteger

    L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

  • buffer_modestring

    L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

  • required_qualificationEmploymentQualification

    Optional qualification the counted people have to satisfy (equivalences and ranking are honoured by QualificationMatchHelper).

    Show fields (7)
    • idinteger

      Primary key of the employment qualification. Internal ID.

    • rankinginteger

      Ranking within an equivalence network - a linked qualification with a higher or equal ranking also satisfies requirements for this qualification.

    • equivalent_qualificationsarray<EmploymentQualification>

      Linked ("equivalent") qualifications. Kept symmetric by the controller: every link A->B is mirrored as B->A, the ranking decides which direction actually covers which.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: the "drawer" this qualification belongs to. Members of one group cover each other's requirements within their ranking, like a direct link would.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • qualification_match_modestring

    L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

  • valid_fromstring (date-time)

    Rule only applies from this date on (null = always).

  • valid_untilstring (date-time)

    Date until which the requirement is valid.

  • applies_on_holidaysboolean

    Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

  • search_stringstring

    Text that the entity can be searched by.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • namestring

    Name of the entity.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/time/staffing_requirement \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "name": "Beispiel",
    "mode": "string",
    "weekdays_bitmask": 1,
    "start_time": "string",
    "end_time": "string",
    "min_staff_count": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "employment_contract_group": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "shift_booking_sync": true,
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "year_vacation_days": 1.5,
    "month_vacation_days": 1.5,
    "year_vacation_weeks": 1.5,
    "monday_hours": 1.5
  },
  "employment_organization": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "allow_app_time_tracking": true,
    "school_holiday_region": {
      "id": 42,
      "name": "Beispiel",
      "region_code": "string",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "organization_unit": {
      "id": 42,
      "name": "Beispiel",
      "path": "string",
      "depth": 1,
      "level": "string",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "shift_booking_sync": true,
    "allow_scanner_time_tracking": true,
    "allow_app_non_work_time_management": true,
    "include_in_auto_export": true
  },
  "organization_unit": {
    "id": 42,
    "name": "Beispiel",
    "path": "string",
    "depth": 1,
    "level": "string",
    "sort_order": 1,
    "search_string": "string",
    "deleted": true,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00"
  },
  "mode": "string",
  "weekdays_bitmask": 1,
  "start_time": "string",
  "end_time": "string",
  "min_staff_count": 1
}

This method will get a single StaffingRequirement with the given id

GET/api/time/staffing_requirement/{id}

Path parameters

idrequiredstring

Responses

200Returns a single StaffingRequirementStaffingRequirement3

Show fields (21)
  • idinteger

    Primary key of the staffing requirement. Internal ID.

  • employment_contract_groupEmploymentContractGroup

    Contract group the requirement applies to.

    Show fields (25)
    • staged_absence_approvalboolean

      null inherits the organization; false explicitly disables staged approval.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the organisation, false switches it off for this group.

    • idinteger

      Primary key of the contract group. Internal ID.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Working days per week.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • request_lead_time_daysinteger

      Days an absence request of this group has to be handed in ahead of its first day. null falls back to the installation wide setting - an existing group therefore behaves exactly as before.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar of this group when it differs from the organisation's (apprentices attending school in another Bundesland). null = the organisation's.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • employment_organizationEmploymentOrganization2

    Organization the requirement applies to.

    Show fields (12)
    • staged_absence_approvalboolean

      null inherits the organization policy (contracts); existing installations stay off.

    • idinteger

      Primary key of the employment organization. Internal ID.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar (Bundesland) of this organisation; groups may override it.

    • organization_unitOrganizationUnit5

      L01: the node of the organisation tree this organisation hangs on (Einrichtung, Bereich, Geschäftsstelle ...). Leaders of that node and of the nodes above lead this organisation as well.

    • shift_booking_syncboolean

      L35: published shifts of this organisation's people appear as availabilities in the event/booking area and a shift may be turned into an appointment. null = off.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • include_in_auto_exportboolean

      Whether the organization is included in the automatic export.

    • search_stringstring

      Text that the entity can be searched by.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • organization_unitOrganizationUnit5

    R7: a rule for a whole area (OrganizationUnit) - every group of every organisation in it or below it. Only without group and organisation, with staffing_organization_unit_enabled.

    Show fields (13)
    • pathstring

      The path label for pickers and lists: "Geschäftsstelle / Bereich Sport / Halle Nord".

    • depthinteger
    • idinteger

      Primary key of the organization unit. Internal ID.

    • levelstring

      The tier this node stands for, free text (Geschäftsstelle, Bereich, Einrichtung, ...).

    • parentOrganizationUnit5

      Parent organization of the unit.

    • leadershiparray<CRMPerson10>

      Leaders of this node; they lead everything below it.

    • staffing_alarm_recipientsarray<CRMPerson10>

      R7: who is alerted when a staffing rule in this area falls below its minimum; empty = the next area above, in the end staffing_alarm_recipient_persons.

    • sort_orderinteger

      Order among siblings.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • modestring

    Mode of the requirement, for example minimum staff or exact staff.

  • weekdays_bitmaskinteger

    ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

  • start_timestring

    Start time of the requirement in HH:MM.

  • end_timestring

    End time of the requirement in HH:MM.

  • min_staff_countinteger

    Minimum number of staff needed.

  • buffer_staff_countinteger

    L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

  • buffer_modestring

    L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

  • required_qualificationEmploymentQualification

    Optional qualification the counted people have to satisfy (equivalences and ranking are honoured by QualificationMatchHelper).

    Show fields (7)
    • idinteger

      Primary key of the employment qualification. Internal ID.

    • rankinginteger

      Ranking within an equivalence network - a linked qualification with a higher or equal ranking also satisfies requirements for this qualification.

    • equivalent_qualificationsarray<EmploymentQualification>

      Linked ("equivalent") qualifications. Kept symmetric by the controller: every link A->B is mirrored as B->A, the ranking decides which direction actually covers which.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: the "drawer" this qualification belongs to. Members of one group cover each other's requirements within their ranking, like a direct link would.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • qualification_match_modestring

    L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

  • valid_fromstring (date-time)

    Rule only applies from this date on (null = always).

  • valid_untilstring (date-time)

    Date until which the requirement is valid.

  • applies_on_holidaysboolean

    Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

  • search_stringstring

    Text that the entity can be searched by.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • namestring

    Name of the entity.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/time/staffing_requirement/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "employment_contract_group": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "shift_booking_sync": true,
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "year_vacation_days": 1.5,
    "month_vacation_days": 1.5,
    "year_vacation_weeks": 1.5,
    "monday_hours": 1.5
  },
  "employment_organization": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "allow_app_time_tracking": true,
    "school_holiday_region": {
      "id": 42,
      "name": "Beispiel",
      "region_code": "string",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "organization_unit": {
      "id": 42,
      "name": "Beispiel",
      "path": "string",
      "depth": 1,
      "level": "string",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "shift_booking_sync": true,
    "allow_scanner_time_tracking": true,
    "allow_app_non_work_time_management": true,
    "include_in_auto_export": true
  },
  "organization_unit": {
    "id": 42,
    "name": "Beispiel",
    "path": "string",
    "depth": 1,
    "level": "string",
    "sort_order": 1,
    "search_string": "string",
    "deleted": true,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00"
  },
  "mode": "string",
  "weekdays_bitmask": 1,
  "start_time": "string",
  "end_time": "string",
  "min_staff_count": 1
}

Update a StaffingRequirement

PUT/api/time/staffing_requirement/{id}

Path parameters

idrequiredstring

Request body application/json

  • dataStaffingRequirement2
    Show fields (13)
    • modestring

      Mode of the requirement, for example minimum staff or exact staff.

    • weekdays_bitmaskinteger

      ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

    • start_timestring

      Start time of the requirement in HH:MM.

    • end_timestring

      End time of the requirement in HH:MM.

    • min_staff_countinteger

      Minimum number of staff needed.

    • buffer_staff_countinteger

      L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

    • buffer_modestring

      L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

    • qualification_match_modestring

      L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

    • valid_fromstring (date-time)

      Rule only applies from this date on (null = always).

    • valid_untilstring (date-time)

      Date until which the requirement is valid.

    • applies_on_holidaysboolean

      Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

Responses

200Update a StaffingRequirementStaffingRequirement3

Show fields (21)
  • idinteger

    Primary key of the staffing requirement. Internal ID.

  • employment_contract_groupEmploymentContractGroup

    Contract group the requirement applies to.

    Show fields (25)
    • staged_absence_approvalboolean

      null inherits the organization; false explicitly disables staged approval.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the organisation, false switches it off for this group.

    • idinteger

      Primary key of the contract group. Internal ID.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Working days per week.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • request_lead_time_daysinteger

      Days an absence request of this group has to be handed in ahead of its first day. null falls back to the installation wide setting - an existing group therefore behaves exactly as before.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar of this group when it differs from the organisation's (apprentices attending school in another Bundesland). null = the organisation's.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • employment_organizationEmploymentOrganization2

    Organization the requirement applies to.

    Show fields (12)
    • staged_absence_approvalboolean

      null inherits the organization policy (contracts); existing installations stay off.

    • idinteger

      Primary key of the employment organization. Internal ID.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar (Bundesland) of this organisation; groups may override it.

    • organization_unitOrganizationUnit5

      L01: the node of the organisation tree this organisation hangs on (Einrichtung, Bereich, Geschäftsstelle ...). Leaders of that node and of the nodes above lead this organisation as well.

    • shift_booking_syncboolean

      L35: published shifts of this organisation's people appear as availabilities in the event/booking area and a shift may be turned into an appointment. null = off.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • include_in_auto_exportboolean

      Whether the organization is included in the automatic export.

    • search_stringstring

      Text that the entity can be searched by.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • organization_unitOrganizationUnit5

    R7: a rule for a whole area (OrganizationUnit) - every group of every organisation in it or below it. Only without group and organisation, with staffing_organization_unit_enabled.

    Show fields (13)
    • pathstring

      The path label for pickers and lists: "Geschäftsstelle / Bereich Sport / Halle Nord".

    • depthinteger
    • idinteger

      Primary key of the organization unit. Internal ID.

    • levelstring

      The tier this node stands for, free text (Geschäftsstelle, Bereich, Einrichtung, ...).

    • parentOrganizationUnit5

      Parent organization of the unit.

    • leadershiparray<CRMPerson10>

      Leaders of this node; they lead everything below it.

    • staffing_alarm_recipientsarray<CRMPerson10>

      R7: who is alerted when a staffing rule in this area falls below its minimum; empty = the next area above, in the end staffing_alarm_recipient_persons.

    • sort_orderinteger

      Order among siblings.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • modestring

    Mode of the requirement, for example minimum staff or exact staff.

  • weekdays_bitmaskinteger

    ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

  • start_timestring

    Start time of the requirement in HH:MM.

  • end_timestring

    End time of the requirement in HH:MM.

  • min_staff_countinteger

    Minimum number of staff needed.

  • buffer_staff_countinteger

    L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

  • buffer_modestring

    L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

  • required_qualificationEmploymentQualification

    Optional qualification the counted people have to satisfy (equivalences and ranking are honoured by QualificationMatchHelper).

    Show fields (7)
    • idinteger

      Primary key of the employment qualification. Internal ID.

    • rankinginteger

      Ranking within an equivalence network - a linked qualification with a higher or equal ranking also satisfies requirements for this qualification.

    • equivalent_qualificationsarray<EmploymentQualification>

      Linked ("equivalent") qualifications. Kept symmetric by the controller: every link A->B is mirrored as B->A, the ranking decides which direction actually covers which.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: the "drawer" this qualification belongs to. Members of one group cover each other's requirements within their ranking, like a direct link would.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • qualification_match_modestring

    L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

  • valid_fromstring (date-time)

    Rule only applies from this date on (null = always).

  • valid_untilstring (date-time)

    Date until which the requirement is valid.

  • applies_on_holidaysboolean

    Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

  • search_stringstring

    Text that the entity can be searched by.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • namestring

    Name of the entity.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/time/staffing_requirement/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "name": "Beispiel",
    "mode": "string",
    "weekdays_bitmask": 1,
    "start_time": "string",
    "end_time": "string",
    "min_staff_count": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "employment_contract_group": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "shift_booking_sync": true,
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "year_vacation_days": 1.5,
    "month_vacation_days": 1.5,
    "year_vacation_weeks": 1.5,
    "monday_hours": 1.5
  },
  "employment_organization": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "allow_app_time_tracking": true,
    "school_holiday_region": {
      "id": 42,
      "name": "Beispiel",
      "region_code": "string",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "organization_unit": {
      "id": 42,
      "name": "Beispiel",
      "path": "string",
      "depth": 1,
      "level": "string",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "shift_booking_sync": true,
    "allow_scanner_time_tracking": true,
    "allow_app_non_work_time_management": true,
    "include_in_auto_export": true
  },
  "organization_unit": {
    "id": 42,
    "name": "Beispiel",
    "path": "string",
    "depth": 1,
    "level": "string",
    "sort_order": 1,
    "search_string": "string",
    "deleted": true,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00"
  },
  "mode": "string",
  "weekdays_bitmask": 1,
  "start_time": "string",
  "end_time": "string",
  "min_staff_count": 1
}

Update a StaffingRequirement

PATCH/api/time/staffing_requirement/{id}

Path parameters

idrequiredstring

Request body application/json

  • dataStaffingRequirement2
    Show fields (13)
    • modestring

      Mode of the requirement, for example minimum staff or exact staff.

    • weekdays_bitmaskinteger

      ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

    • start_timestring

      Start time of the requirement in HH:MM.

    • end_timestring

      End time of the requirement in HH:MM.

    • min_staff_countinteger

      Minimum number of staff needed.

    • buffer_staff_countinteger

      L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

    • buffer_modestring

      L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

    • qualification_match_modestring

      L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

    • valid_fromstring (date-time)

      Rule only applies from this date on (null = always).

    • valid_untilstring (date-time)

      Date until which the requirement is valid.

    • applies_on_holidaysboolean

      Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

Responses

200Update a StaffingRequirementStaffingRequirement3

Show fields (21)
  • idinteger

    Primary key of the staffing requirement. Internal ID.

  • employment_contract_groupEmploymentContractGroup

    Contract group the requirement applies to.

    Show fields (25)
    • staged_absence_approvalboolean

      null inherits the organization; false explicitly disables staged approval.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the organisation, false switches it off for this group.

    • idinteger

      Primary key of the contract group. Internal ID.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Working days per week.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • request_lead_time_daysinteger

      Days an absence request of this group has to be handed in ahead of its first day. null falls back to the installation wide setting - an existing group therefore behaves exactly as before.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar of this group when it differs from the organisation's (apprentices attending school in another Bundesland). null = the organisation's.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • employment_organizationEmploymentOrganization2

    Organization the requirement applies to.

    Show fields (12)
    • staged_absence_approvalboolean

      null inherits the organization policy (contracts); existing installations stay off.

    • idinteger

      Primary key of the employment organization. Internal ID.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar (Bundesland) of this organisation; groups may override it.

    • organization_unitOrganizationUnit5

      L01: the node of the organisation tree this organisation hangs on (Einrichtung, Bereich, Geschäftsstelle ...). Leaders of that node and of the nodes above lead this organisation as well.

    • shift_booking_syncboolean

      L35: published shifts of this organisation's people appear as availabilities in the event/booking area and a shift may be turned into an appointment. null = off.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • include_in_auto_exportboolean

      Whether the organization is included in the automatic export.

    • search_stringstring

      Text that the entity can be searched by.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • organization_unitOrganizationUnit5

    R7: a rule for a whole area (OrganizationUnit) - every group of every organisation in it or below it. Only without group and organisation, with staffing_organization_unit_enabled.

    Show fields (13)
    • pathstring

      The path label for pickers and lists: "Geschäftsstelle / Bereich Sport / Halle Nord".

    • depthinteger
    • idinteger

      Primary key of the organization unit. Internal ID.

    • levelstring

      The tier this node stands for, free text (Geschäftsstelle, Bereich, Einrichtung, ...).

    • parentOrganizationUnit5

      Parent organization of the unit.

    • leadershiparray<CRMPerson10>

      Leaders of this node; they lead everything below it.

    • staffing_alarm_recipientsarray<CRMPerson10>

      R7: who is alerted when a staffing rule in this area falls below its minimum; empty = the next area above, in the end staffing_alarm_recipient_persons.

    • sort_orderinteger

      Order among siblings.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • modestring

    Mode of the requirement, for example minimum staff or exact staff.

  • weekdays_bitmaskinteger

    ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

  • start_timestring

    Start time of the requirement in HH:MM.

  • end_timestring

    End time of the requirement in HH:MM.

  • min_staff_countinteger

    Minimum number of staff needed.

  • buffer_staff_countinteger

    L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

  • buffer_modestring

    L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

  • required_qualificationEmploymentQualification

    Optional qualification the counted people have to satisfy (equivalences and ranking are honoured by QualificationMatchHelper).

    Show fields (7)
    • idinteger

      Primary key of the employment qualification. Internal ID.

    • rankinginteger

      Ranking within an equivalence network - a linked qualification with a higher or equal ranking also satisfies requirements for this qualification.

    • equivalent_qualificationsarray<EmploymentQualification>

      Linked ("equivalent") qualifications. Kept symmetric by the controller: every link A->B is mirrored as B->A, the ranking decides which direction actually covers which.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: the "drawer" this qualification belongs to. Members of one group cover each other's requirements within their ranking, like a direct link would.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • qualification_match_modestring

    L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

  • valid_fromstring (date-time)

    Rule only applies from this date on (null = always).

  • valid_untilstring (date-time)

    Date until which the requirement is valid.

  • applies_on_holidaysboolean

    Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

  • search_stringstring

    Text that the entity can be searched by.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • namestring

    Name of the entity.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/time/staffing_requirement/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "name": "Beispiel",
    "mode": "string",
    "weekdays_bitmask": 1,
    "start_time": "string",
    "end_time": "string",
    "min_staff_count": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "employment_contract_group": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "shift_booking_sync": true,
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "year_vacation_days": 1.5,
    "month_vacation_days": 1.5,
    "year_vacation_weeks": 1.5,
    "monday_hours": 1.5
  },
  "employment_organization": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "allow_app_time_tracking": true,
    "school_holiday_region": {
      "id": 42,
      "name": "Beispiel",
      "region_code": "string",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "organization_unit": {
      "id": 42,
      "name": "Beispiel",
      "path": "string",
      "depth": 1,
      "level": "string",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "shift_booking_sync": true,
    "allow_scanner_time_tracking": true,
    "allow_app_non_work_time_management": true,
    "include_in_auto_export": true
  },
  "organization_unit": {
    "id": 42,
    "name": "Beispiel",
    "path": "string",
    "depth": 1,
    "level": "string",
    "sort_order": 1,
    "search_string": "string",
    "deleted": true,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00"
  },
  "mode": "string",
  "weekdays_bitmask": 1,
  "start_time": "string",
  "end_time": "string",
  "min_staff_count": 1
}