Skip to content

Update Time Punches

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

Import or update one or more pairs of time punches (in and out) from external systems. For single punch in/out events, use wsdlPunch instead.


Request

Message: wsdlUpdateTimePunchesRequest

apiKeystring

API key of the unit.

punchDataArray<UpdateTimePunch>

Array of UpdateTimePunch records to insert / update / delete.

itemUpdateTimePunch

A single time-punch record to insert, update, or delete via wsdlUpdateTimePunches.

idintrequired

Id of the timepunch to edit, leave 0 when inserting new.

persIdintrequired

Set to 0 if badgeNo or cardNo is used.

badgeNostringrequired

Set to 0 if persId or cardNo is used.

cardNostringrequired

Set to 0 if persId or badgeNo is used.

punchDatestringrequired
FormatYYYY-MM-DD
punchInstringrequired
FormatHH:MM:SS
Example10:15:00
punchOutstringrequired
FormatHH:MM:SS
Example18:05:00
commentstringrequired

Free-form comment from the employee.

costCentreCodeintrequired

Internal cost-centre id.

auth1intrequired

Time attested by employee

Values
0no
1yes
bossAuthintrequired

Time attested by manager

Values
0no
1yes
mgrCommentstringrequired

Free-form manager comment.

shiftReferenceintrequired

Shift id to connect punch to, 0 to select best choice automatically.

projectCodeintrequired

Internal project id.

salaryTypeintrequired

Salary type id.

salaryTypeExtCodestringrequired

External salary-type code.

externalInfo1stringrequired

External information field 1.

externalInfo2stringrequired

External information field 2.

externalInfo3stringrequired

External information field 3.

payOverTimeintrequired
Values
1Paid
2Saved in lieu
decisionIdintrequired

Decision id.

decisionNostringrequired

Decision number. Requires customerNo.

customerNostringrequired

Customer number, used together with decisionNo.

teamIdintrequired

Team id.

teamExtCodestringrequired

External team code.

updateActionintrequired
Values
0Insert
1Insert or update
2Delete
applyRoundingboolean

set to true to enable punch in/out rounding based on agreement settings

Defaultfalse
agreementIdint

Internal agreement id. If not set or set to 0, the system picks the agreement relevant to the time punch.

payUTint
Values
0Saved in lieu
1Paid
validationErrorsArray<xsd:string>required

Returned in the response only. Array of error strings on failure; empty on success.

curl -X POST 'https://api.quinyx.com/FlexForceWebServices.php' \
  -H 'Content-Type: text/xml; charset=utf-8' \
  -H 'SOAPAction: "uri:FlexForce/wsdlUpdateTimePunches"' \
  --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:wsdlUpdateTimePunches>
    <apiKey xsi:type="xsd:string">string</apiKey>
    <punchData xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:UpdateTimePunch[1]">
      <item xsi:type="tns:UpdateTimePunch">
        <id xsi:type="xsd:int">0</id>
        <persId xsi:type="xsd:int">0</persId>
        <badgeNo xsi:type="xsd:string">string</badgeNo>
        <cardNo xsi:type="xsd:string">string</cardNo>
        <punchDate xsi:type="xsd:string">string</punchDate>
        <punchIn xsi:type="xsd:string">10:15:00</punchIn>
        <punchOut xsi:type="xsd:string">18:05:00</punchOut>
        <comment xsi:type="xsd:string">string</comment>
        <costCentreCode xsi:type="xsd:int">0</costCentreCode>
        <auth1 xsi:type="xsd:int">0</auth1>
        <bossAuth xsi:type="xsd:int">0</bossAuth>
        <mgrComment xsi:type="xsd:string">string</mgrComment>
        <shiftReference xsi:type="xsd:int">0</shiftReference>
        <projectCode xsi:type="xsd:int">0</projectCode>
        <salaryType xsi:type="xsd:int">0</salaryType>
        <salaryTypeExtCode xsi:type="xsd:string">string</salaryTypeExtCode>
        <externalInfo1 xsi:type="xsd:string">string</externalInfo1>
        <externalInfo2 xsi:type="xsd:string">string</externalInfo2>
        <externalInfo3 xsi:type="xsd:string">string</externalInfo3>
        <payOverTime xsi:type="xsd:int">0</payOverTime>
        <decisionId xsi:type="xsd:int">0</decisionId>
        <decisionNo xsi:type="xsd:string">string</decisionNo>
        <customerNo xsi:type="xsd:string">string</customerNo>
        <teamId xsi:type="xsd:int">0</teamId>
        <teamExtCode xsi:type="xsd:string">string</teamExtCode>
        <updateAction xsi:type="xsd:int">0</updateAction>
        <applyRounding xsi:type="xsd:boolean">true</applyRounding>
        <agreementId xsi:type="xsd:int">0</agreementId>
        <payUT xsi:type="xsd:int">0</payUT>
        <validationErrors xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
          <item xsi:type="xsd:string">string</item>
        </validationErrors>
      </item>
    </punchData>
    </tns:wsdlUpdateTimePunches>
  </soap:Body>
</soap:Envelope>
EOF

Response

Message: wsdlUpdateTimePunchesResponse

returnArray<UpdateTimePunch>

Array of UpdateTimePunch records reflecting the saved state, with per-row validationErrors when applicable.

itemUpdateTimePunch

A single time-punch record to insert, update, or delete via wsdlUpdateTimePunches.

idintrequired

Id of the timepunch to edit, leave 0 when inserting new.

persIdintrequired

Set to 0 if badgeNo or cardNo is used.

badgeNostringrequired

Set to 0 if persId or cardNo is used.

cardNostringrequired

Set to 0 if persId or badgeNo is used.

punchDatestringrequired
FormatYYYY-MM-DD
punchInstringrequired
FormatHH:MM:SS
Example10:15:00
punchOutstringrequired
FormatHH:MM:SS
Example18:05:00
commentstringrequired

Free-form comment from the employee.

costCentreCodeintrequired

Internal cost-centre id.

auth1intrequired

Time attested by employee

Values
0no
1yes
bossAuthintrequired

Time attested by manager

Values
0no
1yes
mgrCommentstringrequired

Free-form manager comment.

shiftReferenceintrequired

Shift id to connect punch to, 0 to select best choice automatically.

projectCodeintrequired

Internal project id.

salaryTypeintrequired

Salary type id.

salaryTypeExtCodestringrequired

External salary-type code.

externalInfo1stringrequired

External information field 1.

externalInfo2stringrequired

External information field 2.

externalInfo3stringrequired

External information field 3.

payOverTimeintrequired
Values
1Paid
2Saved in lieu
decisionIdintrequired

Decision id.

decisionNostringrequired

Decision number. Requires customerNo.

customerNostringrequired

Customer number, used together with decisionNo.

teamIdintrequired

Team id.

teamExtCodestringrequired

External team code.

updateActionintrequired
Values
0Insert
1Insert or update
2Delete
applyRoundingboolean

set to true to enable punch in/out rounding based on agreement settings

Defaultfalse
agreementIdint

Internal agreement id. If not set or set to 0, the system picks the agreement relevant to the time punch.

payUTint
Values
0Saved in lieu
1Paid
validationErrorsArray<xsd:string>required

Returned in the response only. Array of error strings on failure; empty 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:wsdlUpdateTimePunchesResponse>
    <return xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:UpdateTimePunch[1]">
      <item xsi:type="tns:UpdateTimePunch">
        <id xsi:type="xsd:int">0</id>
        <persId xsi:type="xsd:int">0</persId>
        <badgeNo xsi:type="xsd:string">string</badgeNo>
        <cardNo xsi:type="xsd:string">string</cardNo>
        <punchDate xsi:type="xsd:string">string</punchDate>
        <punchIn xsi:type="xsd:string">10:15:00</punchIn>
        <punchOut xsi:type="xsd:string">18:05:00</punchOut>
        <comment xsi:type="xsd:string">string</comment>
        <costCentreCode xsi:type="xsd:int">0</costCentreCode>
        <auth1 xsi:type="xsd:int">0</auth1>
        <bossAuth xsi:type="xsd:int">0</bossAuth>
        <mgrComment xsi:type="xsd:string">string</mgrComment>
        <shiftReference xsi:type="xsd:int">0</shiftReference>
        <projectCode xsi:type="xsd:int">0</projectCode>
        <salaryType xsi:type="xsd:int">0</salaryType>
        <salaryTypeExtCode xsi:type="xsd:string">string</salaryTypeExtCode>
        <externalInfo1 xsi:type="xsd:string">string</externalInfo1>
        <externalInfo2 xsi:type="xsd:string">string</externalInfo2>
        <externalInfo3 xsi:type="xsd:string">string</externalInfo3>
        <payOverTime xsi:type="xsd:int">0</payOverTime>
        <decisionId xsi:type="xsd:int">0</decisionId>
        <decisionNo xsi:type="xsd:string">string</decisionNo>
        <customerNo xsi:type="xsd:string">string</customerNo>
        <teamId xsi:type="xsd:int">0</teamId>
        <teamExtCode xsi:type="xsd:string">string</teamExtCode>
        <updateAction xsi:type="xsd:int">0</updateAction>
        <applyRounding xsi:type="xsd:boolean">true</applyRounding>
        <agreementId xsi:type="xsd:int">0</agreementId>
        <payUT xsi:type="xsd:int">0</payUT>
        <validationErrors xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
          <item xsi:type="xsd:string">string</item>
        </validationErrors>
      </item>
    </return>
    </tns:wsdlUpdateTimePunchesResponse>
  </soap:Body>
</soap:Envelope>