Skip to content
Developer

ShiftType

Staff5 EndpointsTimeTracking / ShiftType

This method will get all ShiftType Objects

GET/api/time/shift_type

Query parameters

idinteger
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
namestring
employmentContractGroupstringGroup this type belongs to (null = available for the whole organization / installation).
employmentOrganizationstring
requiredQualificationstringDefault qualification requirement for shifts of this type.
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 ShiftType objectsarray<ShiftType>

Show fields (17)
  • idinteger

    Primary key of the shift type. Internal ID.

  • employment_contract_groupEmploymentContractGroup

    Group this type belongs to (null = available for the whole organization / installation).

    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 shift type belongs 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

  • short_namestring

    Short code for grids and print ("F", "S", "N").

  • start_timestring

    Default start time as HH:MM.

  • end_timestring

    Default end time as HH:MM - an end time before the start time means the shift ends on the following day (night shift).

  • break_duration_secondsinteger

    Break duration of the shift in seconds.

  • colorstring

    Color of the shift type in the shift plan, as hex code.

  • required_qualificationEmploymentQualification4

    Default qualification requirement for shifts of this type.

    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.

  • default_staff_countinteger

    Default number of staff needed for the shift.

  • sort_orderinteger

    Sort order of the shift type in lists.

  • 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/shift_type \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "short_name": "Beispiel",
    "color": "#3f5efb",
    "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
    },
    "start_time": "string",
    "end_time": "string",
    "break_duration_seconds": 1,
    "required_qualification": {
      "id": 42,
      "name": "Beispiel",
      "ranking": 1,
      "search_string": "string",
      "deleted": true
    }
  }
]

Add a new ShiftType

POST/api/time/shift_type

Request body application/json

  • dataShiftType2
    Show fields (10)
    • short_namestring

      Short code for grids and print ("F", "S", "N").

    • start_timestring

      Default start time as HH:MM.

    • end_timestring

      Default end time as HH:MM - an end time before the start time means the shift ends on the following day (night shift).

    • break_duration_secondsinteger

      Break duration of the shift in seconds.

    • colorstring

      Color of the shift type in the shift plan, as hex code.

    • qualification_match_modestring

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

    • default_staff_countinteger

      Default number of staff needed for the shift.

    • sort_orderinteger

      Sort order of the shift type in lists.

    • deletedboolean

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

    • namestring

      Name of the entity.

Responses

200Add a new ShiftTypeShiftType3

Show fields (17)
  • idinteger

    Primary key of the shift type. Internal ID.

  • employment_contract_groupEmploymentContractGroup

    Group this type belongs to (null = available for the whole organization / installation).

    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 shift type belongs 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

  • short_namestring

    Short code for grids and print ("F", "S", "N").

  • start_timestring

    Default start time as HH:MM.

  • end_timestring

    Default end time as HH:MM - an end time before the start time means the shift ends on the following day (night shift).

  • break_duration_secondsinteger

    Break duration of the shift in seconds.

  • colorstring

    Color of the shift type in the shift plan, as hex code.

  • required_qualificationEmploymentQualification

    Default qualification requirement for shifts of this type.

    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.

  • default_staff_countinteger

    Default number of staff needed for the shift.

  • sort_orderinteger

    Sort order of the shift type in lists.

  • 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/shift_type \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "short_name": "Beispiel",
    "color": "#3f5efb",
    "name": "Beispiel",
    "start_time": "string",
    "end_time": "string",
    "break_duration_seconds": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "short_name": "Beispiel",
  "color": "#3f5efb",
  "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
  },
  "start_time": "string",
  "end_time": "string",
  "break_duration_seconds": 1,
  "required_qualification": {
    "id": 42,
    "name": "Beispiel",
    "ranking": 1,
    "qualification_group": {
      "id": 42,
      "name": "Beispiel",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "search_string": "string",
    "deleted": true
  }
}

This method will get a single ShiftType with the given id

GET/api/time/shift_type/{id}

Path parameters

idrequiredstring

Responses

200Returns a single ShiftTypeShiftType3

Show fields (17)
  • idinteger

    Primary key of the shift type. Internal ID.

  • employment_contract_groupEmploymentContractGroup

    Group this type belongs to (null = available for the whole organization / installation).

    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 shift type belongs 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

  • short_namestring

    Short code for grids and print ("F", "S", "N").

  • start_timestring

    Default start time as HH:MM.

  • end_timestring

    Default end time as HH:MM - an end time before the start time means the shift ends on the following day (night shift).

  • break_duration_secondsinteger

    Break duration of the shift in seconds.

  • colorstring

    Color of the shift type in the shift plan, as hex code.

  • required_qualificationEmploymentQualification

    Default qualification requirement for shifts of this type.

    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.

  • default_staff_countinteger

    Default number of staff needed for the shift.

  • sort_orderinteger

    Sort order of the shift type in lists.

  • 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/shift_type/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "short_name": "Beispiel",
  "color": "#3f5efb",
  "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
  },
  "start_time": "string",
  "end_time": "string",
  "break_duration_seconds": 1,
  "required_qualification": {
    "id": 42,
    "name": "Beispiel",
    "ranking": 1,
    "qualification_group": {
      "id": 42,
      "name": "Beispiel",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "search_string": "string",
    "deleted": true
  }
}

Update a ShiftType

PUT/api/time/shift_type/{id}

Path parameters

idrequiredstring

Request body application/json

  • dataShiftType2
    Show fields (10)
    • short_namestring

      Short code for grids and print ("F", "S", "N").

    • start_timestring

      Default start time as HH:MM.

    • end_timestring

      Default end time as HH:MM - an end time before the start time means the shift ends on the following day (night shift).

    • break_duration_secondsinteger

      Break duration of the shift in seconds.

    • colorstring

      Color of the shift type in the shift plan, as hex code.

    • qualification_match_modestring

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

    • default_staff_countinteger

      Default number of staff needed for the shift.

    • sort_orderinteger

      Sort order of the shift type in lists.

    • deletedboolean

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

    • namestring

      Name of the entity.

Responses

200Update a ShiftTypeShiftType3

Show fields (17)
  • idinteger

    Primary key of the shift type. Internal ID.

  • employment_contract_groupEmploymentContractGroup

    Group this type belongs to (null = available for the whole organization / installation).

    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 shift type belongs 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

  • short_namestring

    Short code for grids and print ("F", "S", "N").

  • start_timestring

    Default start time as HH:MM.

  • end_timestring

    Default end time as HH:MM - an end time before the start time means the shift ends on the following day (night shift).

  • break_duration_secondsinteger

    Break duration of the shift in seconds.

  • colorstring

    Color of the shift type in the shift plan, as hex code.

  • required_qualificationEmploymentQualification

    Default qualification requirement for shifts of this type.

    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.

  • default_staff_countinteger

    Default number of staff needed for the shift.

  • sort_orderinteger

    Sort order of the shift type in lists.

  • 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/shift_type/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "short_name": "Beispiel",
    "color": "#3f5efb",
    "name": "Beispiel",
    "start_time": "string",
    "end_time": "string",
    "break_duration_seconds": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "short_name": "Beispiel",
  "color": "#3f5efb",
  "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
  },
  "start_time": "string",
  "end_time": "string",
  "break_duration_seconds": 1,
  "required_qualification": {
    "id": 42,
    "name": "Beispiel",
    "ranking": 1,
    "qualification_group": {
      "id": 42,
      "name": "Beispiel",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "search_string": "string",
    "deleted": true
  }
}

Update a ShiftType

PATCH/api/time/shift_type/{id}

Path parameters

idrequiredstring

Request body application/json

  • dataShiftType2
    Show fields (10)
    • short_namestring

      Short code for grids and print ("F", "S", "N").

    • start_timestring

      Default start time as HH:MM.

    • end_timestring

      Default end time as HH:MM - an end time before the start time means the shift ends on the following day (night shift).

    • break_duration_secondsinteger

      Break duration of the shift in seconds.

    • colorstring

      Color of the shift type in the shift plan, as hex code.

    • qualification_match_modestring

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

    • default_staff_countinteger

      Default number of staff needed for the shift.

    • sort_orderinteger

      Sort order of the shift type in lists.

    • deletedboolean

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

    • namestring

      Name of the entity.

Responses

200Update a ShiftTypeShiftType3

Show fields (17)
  • idinteger

    Primary key of the shift type. Internal ID.

  • employment_contract_groupEmploymentContractGroup

    Group this type belongs to (null = available for the whole organization / installation).

    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 shift type belongs 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

  • short_namestring

    Short code for grids and print ("F", "S", "N").

  • start_timestring

    Default start time as HH:MM.

  • end_timestring

    Default end time as HH:MM - an end time before the start time means the shift ends on the following day (night shift).

  • break_duration_secondsinteger

    Break duration of the shift in seconds.

  • colorstring

    Color of the shift type in the shift plan, as hex code.

  • required_qualificationEmploymentQualification

    Default qualification requirement for shifts of this type.

    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.

  • default_staff_countinteger

    Default number of staff needed for the shift.

  • sort_orderinteger

    Sort order of the shift type in lists.

  • 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/shift_type/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "short_name": "Beispiel",
    "color": "#3f5efb",
    "name": "Beispiel",
    "start_time": "string",
    "end_time": "string",
    "break_duration_seconds": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "short_name": "Beispiel",
  "color": "#3f5efb",
  "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
  },
  "start_time": "string",
  "end_time": "string",
  "break_duration_seconds": 1,
  "required_qualification": {
    "id": 42,
    "name": "Beispiel",
    "ranking": 1,
    "qualification_group": {
      "id": 42,
      "name": "Beispiel",
      "sort_order": 1,
      "search_string": "string",
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "search_string": "string",
    "deleted": true
  }
}