Skip to content

Update Employees

Operation
wsdlUpdateEmployees
SOAP Action
uri:FlexForce/wsdlUpdateEmployees
Service
FlexForce
Port
FlexForcePort
Style
rpc

Update employee details or create new employees; multiple employees can be included in one request.

Notes

  • If the unit identified by the API key is different from the current home unit for the employee, the employee will be moved to the unit specified by the API key.

Request

Message: wsdlUpdateEmployeesRequest

apiKeystring

This is the unique key that will identify the unit in Quinyx. This will also be used to specify the employee's home unit. If the unit identified by the API key is different from the current home unit for the employee, the employee will be moved to the unit specified by the API key.

employeesArray<UpdateEmployee>

An array of UpdateEmployee records. If badgeNo is not found in Quinyx the employee is created; if it exists it is updated.

itemUpdateEmployee

An employee record to create or update through wsdlUpdateEmployees.

badgeNostringrequired

Mandatory. badgeNo is the unique identifier for this employee. If it is not found in Quinyx the employee is inserted; if it exists the employee is updated.

loginIdstring

A second option to log in to Quinyx WFM, used instead of email. Deprecated for login — can still be used as an SSO identifier.

givenNamestringrequired

First name. Mandatory when creating a new employee.

familyNamestringrequired

Last name. Mandatory when creating a new employee.

restIdint

Identification of the employee unit. Not used on input — the API key identifies the employee's unit.

emailstring

Used as login. Will be rewritten by Quinyx WFM if the provided email is not unique; the output will contain the changed email.

emailFixConflictint

Not a real field on the employee — it's a switch. When set to 1, email conflicts are handled by generating a new email and returning a warning for each affected employee.

Values
0false
1true
phoneNostring
cellPhonestring
dateOfBirthdate
FormatYYYY-MM-DD
employedDatedate
FormatYYYY-MM-DD
industryDatedate
FormatYYYY-MM-DD
earlyAccessDatedate

If set to a date earlier than employedDate, the employee can access the Quinyx mobile app from this date. Used only on creation — ignored on update. Creates an early-access role starting on this date and ending the day before employedDate.

FormatYYYY-MM-DD
address1string
address2string
zipstring
citystring
cardNostring

Used in T&A integrations.

staffCatint

The staff category id. If not provided, the staff category with the lowest role is used as the default.

extStaffCategorystring

The external staff category id.

punchTypeint

Not used.

passwordstring

MD5-hashed password used to log in to Quinyx.

passwordTandAstring

MD5-hashed password used to log in to third-party T&A applications.

activeint

Indicates whether the employee is active and can log in / show up in Quinyx.

Values
0false
1true
passiveint

Indicates whether the employee is passive.

Values
0false
1true
lockStatusint
Values
0Not locked
1Locked
Default0
isLockedMsgstring

Message shown to the user when they try to log in while the account is locked.

leaveDatedate

Must be a valid date but can be empty in the request when active = 1. Only required when active = 0. The employee's last working day. The leave date cannot equal employedDate.

FormatYYYY-MM-DD
socsecNostring

Social Security Number.

countrystring
costCentreint

Main cost centre for the employee.

roleint

Legacy role id — no longer used. Role is now derived from the staff category.

Values
1Staff
2Local Manager
3District Manager
4Manager
5Monitor
6Department Manager
7Assistant Manager
rankint

Rank of the employee. Must not be larger than 100.

sexint
Values
0Male
1Female
2Other
nextOfKindstring

Name of next of kin.

nextPhonestring

Phone number of next of kin.

infostring

Additional information.

copyToMailint
Values
0false
1true
useSMSint

Information will be sent by SMS.

Values
0false
1true
useMailint

Information will be sent by email.

Values
0false
1true
useQmailint

Information will be sent by Qmail.

Values
0false
1true
reportingTostring

-1 or a BadgeNo. Pass -1 to reset the employee's manager. Otherwise the badge number of the employee's manager — must be a user with a higher role than the employee on any group or (in Classic) a staff category at or above section manager.

resetPasswordint

The employee must reset their password at next login.

Values
0false
1true
extCostCentrestring

External identifier of the cost centre. The code is configured under cost centres in tables.

extSectionIdstring

External identifier of the section. Configured under Group management → Section integration keys, or via wsdlUpdateSections. Maps an external code to the internal section id.

newBadgeNostring

New badgeNo to replace the existing one.

DeleteFutureUnattestedPunchesboolean

Indicates whether future time punches are deleted when the employee's home unit changes.

Values
0false
1true
shareAbleint

Indicates whether the employee is shareable by other units. Note: this feature must be enabled by Quinyx Support before the shareable status is visible inside Quinyx — contact Support if you can't see it.

Values
0false
1true
workInUnitsArray<WorkInUnit>

An array of units the employee may work in beyond their home unit.

workInUnitsUpdateOptionint

Required when sending workInUnits.

Values
1Add
2Replace
sharedSchedulingint

Indicates whether fixed schedules are shareable to other units.

Values
0false
1true
allowAttestOfOwnPunchesint

Indicates whether a manager can attest their own punches and absences.

Values
0false
1true
hasBankIdint

Indicates whether the employee has BankID.

Values
0false
1true
legalGuardianNamestring

Full name of the employee's legal guardian (if any).

legalGuardianEmailstring

Email address of the employee's legal guardian (if any).

keepShiftsOnMoveboolean

Controls what happens to existing shifts when an employee moves between units.

  • false: shifts are unassigned and fixed schedules move to the new unit.
  • true: shifts and fixed schedules stay in the old unit, and the employee is automatically shared back to the old unit. It can only be used when the employee is shareable.

Note: "Fixed Schedules" here refers to Classic and is not the same as Base Schedule. shareAble must be set to true in a separate call before keepShiftsOnMove has any effect.

Values
0false
1true
Defaultfalse
myDistrictint

District id for District managers.

additionalFieldsArray<AdditionalFieldData>

Array of AdditionalFieldData — see the type definition.

throwExceptionOnHomeUnitEndDateboolean

Strongly recommended to set to true. When true, you receive an exception if you are updating roles and the role being updated is the only role on the employee's home unit.

replaceNeoGroupboolean

true replaces all current Neo group(s); false adds the group(s) to the employee.

Values
0false
1true
updateNeoGroupboolean

Update an existing role without removing others. Pass the existing groupId and roleId so Quinyx can match the row and update startDate / endDate.

generateNextBadgeNoboolean

When true and badgeNo is empty, Quinyx assigns the next available badge number in the unit/customer.

groupRolesArray<GroupsRoles>

An array of GroupsRoles — see the type definition.

validationErrorsArray<xsd:string>

Returned in the response only. Array of error strings if the update failed; empty array on success.

curl -X POST 'https://api.quinyx.com/FlexForceWebServices.php' \
  -H 'Content-Type: text/xml; charset=utf-8' \
  -H 'SOAPAction: "uri:FlexForce/wsdlUpdateEmployees"' \
  --data @- <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="https://api.quinyx.com/soap/FlexForce">
  <soap:Body>
    <tns:wsdlUpdateEmployees>
    <apiKey xsi:type="xsd:string">string</apiKey>
    <employees xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:UpdateEmployee[1]">
      <item xsi:type="tns:UpdateEmployee">
        <badgeNo xsi:type="xsd:string">string</badgeNo>
        <loginId xsi:type="xsd:string">string</loginId>
        <givenName xsi:type="xsd:string">string</givenName>
        <familyName xsi:type="xsd:string">string</familyName>
        <restId xsi:type="xsd:int">0</restId>
        <email xsi:type="xsd:string">string</email>
        <emailFixConflict xsi:type="xsd:int">0</emailFixConflict>
        <phoneNo xsi:type="xsd:string">string</phoneNo>
        <cellPhone xsi:type="xsd:string">string</cellPhone>
        <dateOfBirth xsi:type="xsd:date">2024-01-01</dateOfBirth>
        <employedDate xsi:type="xsd:date">2024-01-01</employedDate>
        <industryDate xsi:type="xsd:date">2024-01-01</industryDate>
        <earlyAccessDate xsi:type="xsd:date">2024-01-01</earlyAccessDate>
        <address1 xsi:type="xsd:string">string</address1>
        <address2 xsi:type="xsd:string">string</address2>
        <zip xsi:type="xsd:string">string</zip>
        <city xsi:type="xsd:string">string</city>
        <cardNo xsi:type="xsd:string">string</cardNo>
        <staffCat xsi:type="xsd:int">0</staffCat>
        <extStaffCategory xsi:type="xsd:string">string</extStaffCategory>
        <punchType xsi:type="xsd:int">0</punchType>
        <password xsi:type="xsd:string">string</password>
        <passwordTandA xsi:type="xsd:string">string</passwordTandA>
        <active xsi:type="xsd:int">0</active>
        <passive xsi:type="xsd:int">0</passive>
        <lockStatus xsi:type="xsd:int">0</lockStatus>
        <isLockedMsg xsi:type="xsd:string">string</isLockedMsg>
        <leaveDate xsi:type="xsd:date">2024-01-01</leaveDate>
        <socsecNo xsi:type="xsd:string">string</socsecNo>
        <country xsi:type="xsd:string">string</country>
        <costCentre xsi:type="xsd:int">0</costCentre>
        <role xsi:type="xsd:int">0</role>
        <rank xsi:type="xsd:int">0</rank>
        <sex xsi:type="xsd:int">0</sex>
        <nextOfKind xsi:type="xsd:string">string</nextOfKind>
        <nextPhone xsi:type="xsd:string">string</nextPhone>
        <info xsi:type="xsd:string">string</info>
        <copyToMail xsi:type="xsd:int">0</copyToMail>
        <useSMS xsi:type="xsd:int">0</useSMS>
        <useMail xsi:type="xsd:int">0</useMail>
        <useQmail xsi:type="xsd:int">0</useQmail>
        <reportingTo xsi:type="xsd:string">string</reportingTo>
        <resetPassword xsi:type="xsd:int">0</resetPassword>
        <extCostCentre xsi:type="xsd:string">string</extCostCentre>
        <extSectionId xsi:type="xsd:string">string</extSectionId>
        <newBadgeNo xsi:type="xsd:string">string</newBadgeNo>
        <DeleteFutureUnattestedPunches xsi:type="xsd:boolean">true</DeleteFutureUnattestedPunches>
        <shareAble xsi:type="xsd:int">0</shareAble>
        <workInUnits xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:WorkInUnit[1]">
          <item xsi:type="tns:WorkInUnit">
            <restId xsi:type="xsd:int">0</restId>
            <extUnitId xsi:type="xsd:string">string</extUnitId>
            <rollOutShiftEnabled xsi:type="xsd:boolean">true</rollOutShiftEnabled>
          </item>
        </workInUnits>
        <workInUnitsUpdateOption xsi:type="xsd:int">0</workInUnitsUpdateOption>
        <sharedScheduling xsi:type="xsd:int">0</sharedScheduling>
        <allowAttestOfOwnPunches xsi:type="xsd:int">0</allowAttestOfOwnPunches>
        <hasBankId xsi:type="xsd:int">0</hasBankId>
        <legalGuardianName xsi:type="xsd:string">string</legalGuardianName>
        <legalGuardianEmail xsi:type="xsd:string">string</legalGuardianEmail>
        <keepShiftsOnMove xsi:type="xsd:boolean">true</keepShiftsOnMove>
        <myDistrict xsi:type="xsd:int">0</myDistrict>
        <additionalFields xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:AdditionalFieldData[1]">
          <item xsi:type="tns:AdditionalFieldData">
            <key xsi:type="xsd:string">string</key>
            <value xsi:type="xsd:string">string</value>
          </item>
        </additionalFields>
        <throwExceptionOnHomeUnitEndDate xsi:type="xsd:boolean">true</throwExceptionOnHomeUnitEndDate>
        <replaceNeoGroup xsi:type="xsd:boolean">true</replaceNeoGroup>
        <updateNeoGroup xsi:type="xsd:boolean">true</updateNeoGroup>
        <generateNextBadgeNo xsi:type="xsd:boolean">true</generateNextBadgeNo>
        <groupRoles xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:GroupsRoles[1]">
          <item xsi:type="tns:GroupsRoles">
            <groupId xsi:type="xsd:int">0</groupId>
            <groupName xsi:type="xsd:string">string</groupName>
            <extGroupId xsi:type="xsd:string">string</extGroupId>
            <roleId xsi:type="xsd:string">string</roleId>
            <extNeoRoleId xsi:type="xsd:string">string</extNeoRoleId>
            <roleName xsi:type="xsd:string">string</roleName>
            <startDate xsi:type="xsd:date">2024-01-01</startDate>
            <endDate xsi:type="xsd:date">2024-01-01</endDate>
          </item>
        </groupRoles>
        <validationErrors xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
          <item xsi:type="xsd:string">string</item>
        </validationErrors>
      </item>
    </employees>
    </tns:wsdlUpdateEmployees>
  </soap:Body>
</soap:Envelope>
EOF

Response

Message: wsdlUpdateEmployeesResponse

returnArray<UpdateEmployee>

Array of UpdateEmployee records

itemUpdateEmployee

An employee record to create or update through wsdlUpdateEmployees.

badgeNostringrequired

Mandatory. badgeNo is the unique identifier for this employee. If it is not found in Quinyx the employee is inserted; if it exists the employee is updated.

loginIdstring

A second option to log in to Quinyx WFM, used instead of email. Deprecated for login — can still be used as an SSO identifier.

givenNamestringrequired

First name. Mandatory when creating a new employee.

familyNamestringrequired

Last name. Mandatory when creating a new employee.

restIdint

Identification of the employee unit. Not used on input — the API key identifies the employee's unit.

emailstring

Used as login. Will be rewritten by Quinyx WFM if the provided email is not unique; the output will contain the changed email.

emailFixConflictint

Not a real field on the employee — it's a switch. When set to 1, email conflicts are handled by generating a new email and returning a warning for each affected employee.

Values
0false
1true
phoneNostring
cellPhonestring
dateOfBirthdate
FormatYYYY-MM-DD
employedDatedate
FormatYYYY-MM-DD
industryDatedate
FormatYYYY-MM-DD
earlyAccessDatedate

If set to a date earlier than employedDate, the employee can access the Quinyx mobile app from this date. Used only on creation — ignored on update. Creates an early-access role starting on this date and ending the day before employedDate.

FormatYYYY-MM-DD
address1string
address2string
zipstring
citystring
cardNostring

Used in T&A integrations.

staffCatint

The staff category id. If not provided, the staff category with the lowest role is used as the default.

extStaffCategorystring

The external staff category id.

punchTypeint

Not used.

passwordstring

MD5-hashed password used to log in to Quinyx.

passwordTandAstring

MD5-hashed password used to log in to third-party T&A applications.

activeint

Indicates whether the employee is active and can log in / show up in Quinyx.

Values
0false
1true
passiveint

Indicates whether the employee is passive.

Values
0false
1true
lockStatusint
Values
0Not locked
1Locked
Default0
isLockedMsgstring

Message shown to the user when they try to log in while the account is locked.

leaveDatedate

Must be a valid date but can be empty in the request when active = 1. Only required when active = 0. The employee's last working day. The leave date cannot equal employedDate.

FormatYYYY-MM-DD
socsecNostring

Social Security Number.

countrystring
costCentreint

Main cost centre for the employee.

roleint

Legacy role id — no longer used. Role is now derived from the staff category.

Values
1Staff
2Local Manager
3District Manager
4Manager
5Monitor
6Department Manager
7Assistant Manager
rankint

Rank of the employee. Must not be larger than 100.

sexint
Values
0Male
1Female
2Other
nextOfKindstring

Name of next of kin.

nextPhonestring

Phone number of next of kin.

infostring

Additional information.

copyToMailint
Values
0false
1true
useSMSint

Information will be sent by SMS.

Values
0false
1true
useMailint

Information will be sent by email.

Values
0false
1true
useQmailint

Information will be sent by Qmail.

Values
0false
1true
reportingTostring

-1 or a BadgeNo. Pass -1 to reset the employee's manager. Otherwise the badge number of the employee's manager — must be a user with a higher role than the employee on any group or (in Classic) a staff category at or above section manager.

resetPasswordint

The employee must reset their password at next login.

Values
0false
1true
extCostCentrestring

External identifier of the cost centre. The code is configured under cost centres in tables.

extSectionIdstring

External identifier of the section. Configured under Group management → Section integration keys, or via wsdlUpdateSections. Maps an external code to the internal section id.

newBadgeNostring

New badgeNo to replace the existing one.

DeleteFutureUnattestedPunchesboolean

Indicates whether future time punches are deleted when the employee's home unit changes.

Values
0false
1true
shareAbleint

Indicates whether the employee is shareable by other units. Note: this feature must be enabled by Quinyx Support before the shareable status is visible inside Quinyx — contact Support if you can't see it.

Values
0false
1true
workInUnitsArray<WorkInUnit>

An array of units the employee may work in beyond their home unit.

workInUnitsUpdateOptionint

Required when sending workInUnits.

Values
1Add
2Replace
sharedSchedulingint

Indicates whether fixed schedules are shareable to other units.

Values
0false
1true
allowAttestOfOwnPunchesint

Indicates whether a manager can attest their own punches and absences.

Values
0false
1true
hasBankIdint

Indicates whether the employee has BankID.

Values
0false
1true
legalGuardianNamestring

Full name of the employee's legal guardian (if any).

legalGuardianEmailstring

Email address of the employee's legal guardian (if any).

keepShiftsOnMoveboolean

Controls what happens to existing shifts when an employee moves between units.

  • false: shifts are unassigned and fixed schedules move to the new unit.
  • true: shifts and fixed schedules stay in the old unit, and the employee is automatically shared back to the old unit. It can only be used when the employee is shareable.

Note: "Fixed Schedules" here refers to Classic and is not the same as Base Schedule. shareAble must be set to true in a separate call before keepShiftsOnMove has any effect.

Values
0false
1true
Defaultfalse
myDistrictint

District id for District managers.

additionalFieldsArray<AdditionalFieldData>

Array of AdditionalFieldData — see the type definition.

throwExceptionOnHomeUnitEndDateboolean

Strongly recommended to set to true. When true, you receive an exception if you are updating roles and the role being updated is the only role on the employee's home unit.

replaceNeoGroupboolean

true replaces all current Neo group(s); false adds the group(s) to the employee.

Values
0false
1true
updateNeoGroupboolean

Update an existing role without removing others. Pass the existing groupId and roleId so Quinyx can match the row and update startDate / endDate.

generateNextBadgeNoboolean

When true and badgeNo is empty, Quinyx assigns the next available badge number in the unit/customer.

groupRolesArray<GroupsRoles>

An array of GroupsRoles — see the type definition.

validationErrorsArray<xsd:string>

Returned in the response only. Array of error strings if the update failed; empty array on success.

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="https://api.quinyx.com/soap/FlexForce">
  <soap:Body>
    <tns:wsdlUpdateEmployeesResponse>
    <return xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:UpdateEmployee[1]">
      <item xsi:type="tns:UpdateEmployee">
        <badgeNo xsi:type="xsd:string">string</badgeNo>
        <loginId xsi:type="xsd:string">string</loginId>
        <givenName xsi:type="xsd:string">string</givenName>
        <familyName xsi:type="xsd:string">string</familyName>
        <restId xsi:type="xsd:int">0</restId>
        <email xsi:type="xsd:string">string</email>
        <emailFixConflict xsi:type="xsd:int">0</emailFixConflict>
        <phoneNo xsi:type="xsd:string">string</phoneNo>
        <cellPhone xsi:type="xsd:string">string</cellPhone>
        <dateOfBirth xsi:type="xsd:date">2024-01-01</dateOfBirth>
        <employedDate xsi:type="xsd:date">2024-01-01</employedDate>
        <industryDate xsi:type="xsd:date">2024-01-01</industryDate>
        <earlyAccessDate xsi:type="xsd:date">2024-01-01</earlyAccessDate>
        <address1 xsi:type="xsd:string">string</address1>
        <address2 xsi:type="xsd:string">string</address2>
        <zip xsi:type="xsd:string">string</zip>
        <city xsi:type="xsd:string">string</city>
        <cardNo xsi:type="xsd:string">string</cardNo>
        <staffCat xsi:type="xsd:int">0</staffCat>
        <extStaffCategory xsi:type="xsd:string">string</extStaffCategory>
        <punchType xsi:type="xsd:int">0</punchType>
        <password xsi:type="xsd:string">string</password>
        <passwordTandA xsi:type="xsd:string">string</passwordTandA>
        <active xsi:type="xsd:int">0</active>
        <passive xsi:type="xsd:int">0</passive>
        <lockStatus xsi:type="xsd:int">0</lockStatus>
        <isLockedMsg xsi:type="xsd:string">string</isLockedMsg>
        <leaveDate xsi:type="xsd:date">2024-01-01</leaveDate>
        <socsecNo xsi:type="xsd:string">string</socsecNo>
        <country xsi:type="xsd:string">string</country>
        <costCentre xsi:type="xsd:int">0</costCentre>
        <role xsi:type="xsd:int">0</role>
        <rank xsi:type="xsd:int">0</rank>
        <sex xsi:type="xsd:int">0</sex>
        <nextOfKind xsi:type="xsd:string">string</nextOfKind>
        <nextPhone xsi:type="xsd:string">string</nextPhone>
        <info xsi:type="xsd:string">string</info>
        <copyToMail xsi:type="xsd:int">0</copyToMail>
        <useSMS xsi:type="xsd:int">0</useSMS>
        <useMail xsi:type="xsd:int">0</useMail>
        <useQmail xsi:type="xsd:int">0</useQmail>
        <reportingTo xsi:type="xsd:string">string</reportingTo>
        <resetPassword xsi:type="xsd:int">0</resetPassword>
        <extCostCentre xsi:type="xsd:string">string</extCostCentre>
        <extSectionId xsi:type="xsd:string">string</extSectionId>
        <newBadgeNo xsi:type="xsd:string">string</newBadgeNo>
        <DeleteFutureUnattestedPunches xsi:type="xsd:boolean">true</DeleteFutureUnattestedPunches>
        <shareAble xsi:type="xsd:int">0</shareAble>
        <workInUnits xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:WorkInUnit[1]">
          <item xsi:type="tns:WorkInUnit">
            <restId xsi:type="xsd:int">0</restId>
            <extUnitId xsi:type="xsd:string">string</extUnitId>
            <rollOutShiftEnabled xsi:type="xsd:boolean">true</rollOutShiftEnabled>
          </item>
        </workInUnits>
        <workInUnitsUpdateOption xsi:type="xsd:int">0</workInUnitsUpdateOption>
        <sharedScheduling xsi:type="xsd:int">0</sharedScheduling>
        <allowAttestOfOwnPunches xsi:type="xsd:int">0</allowAttestOfOwnPunches>
        <hasBankId xsi:type="xsd:int">0</hasBankId>
        <legalGuardianName xsi:type="xsd:string">string</legalGuardianName>
        <legalGuardianEmail xsi:type="xsd:string">string</legalGuardianEmail>
        <keepShiftsOnMove xsi:type="xsd:boolean">true</keepShiftsOnMove>
        <myDistrict xsi:type="xsd:int">0</myDistrict>
        <additionalFields xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:AdditionalFieldData[1]">
          <item xsi:type="tns:AdditionalFieldData">
            <key xsi:type="xsd:string">string</key>
            <value xsi:type="xsd:string">string</value>
          </item>
        </additionalFields>
        <throwExceptionOnHomeUnitEndDate xsi:type="xsd:boolean">true</throwExceptionOnHomeUnitEndDate>
        <replaceNeoGroup xsi:type="xsd:boolean">true</replaceNeoGroup>
        <updateNeoGroup xsi:type="xsd:boolean">true</updateNeoGroup>
        <generateNextBadgeNo xsi:type="xsd:boolean">true</generateNextBadgeNo>
        <groupRoles xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:GroupsRoles[1]">
          <item xsi:type="tns:GroupsRoles">
            <groupId xsi:type="xsd:int">0</groupId>
            <groupName xsi:type="xsd:string">string</groupName>
            <extGroupId xsi:type="xsd:string">string</extGroupId>
            <roleId xsi:type="xsd:string">string</roleId>
            <extNeoRoleId xsi:type="xsd:string">string</extNeoRoleId>
            <roleName xsi:type="xsd:string">string</roleName>
            <startDate xsi:type="xsd:date">2024-01-01</startDate>
            <endDate xsi:type="xsd:date">2024-01-01</endDate>
          </item>
        </groupRoles>
        <validationErrors xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
          <item xsi:type="xsd:string">string</item>
        </validationErrors>
      </item>
    </return>
    </tns:wsdlUpdateEmployeesResponse>
  </soap:Body>
</soap:Envelope>

Change log

Date Description
2017-01-23 Added additionalFields and hasBankId fields. Added emailFixConflict flag.
2018-02-12 Added sharedScheduling field.
2018-10-31 Added isLocked and isLockedMsg fields
2018-11-14 Renamed isLocked as lockStatus
2019-01-07 Added workInUnits and workInUnitsUpdateOption
2019-03-05 Added myDistrict and rank
2019-03-26 Added extStaffCategory
2019-05-21 groupRoles
2019-11-06 Added IndustryDate
2020-01-15 Added extGroupId
2020-03-06 Added newBadgeNo
2020-07-29 Added updateNeoGroup
2020-09-09 Added support for extNeoRoleId in groupRoles
2020-09-15 Added minOccurs=0 to not required fields
2021-04-01 -1 value to reportingTo
2021-06-16 Added flag throwExceptionOnHomeUnitEndDate
2022-01-20 Added flag UpdateEmployee->resetSection
2023-09-14 Added field UpdateEmployee->earlyAccessDate
2024-02-13 Modified early access date logic