Timesheets and Contracts
![]()
Lumesse's Timesheets & Contracts API provides methods for retrieving and updating TalentLink timesheet and retrieving contractor data. The API consists of two web services (Queue and Timesheet), both of which exist in SOAP and REST form.
Queues
A queue represents a collection of TalentLink elements including contracts and timesheets. Criteria is defined for each queue (e.g. timesheet.status=”Submitted”), so that whenever an element is changed to match the criteria, the element is added to the queue. Optionally the queue can be configured to send a message to a specified URL whenever a new element has been added to it.
The Queue web service has separate methods for the retrieval and removal of each element type. E.g. methods exist for getTimesheetFromQueue, getContractFromQueue, removeTimesheetFromQueue and removeContractFromQueue.
Only one element can be retrieved or removed from the queue at a time. For example a call to getTimesheetFromQueue will return the timesheet that was added to the queue earliest. A call to removeTimesheetFromQueue will remove the timesheet that was added to the queue earliest. This ensures that the client application consuming the web service only removes an element from the queue once it confirms that the element has been processed successfully.
Retrieve Contracts or Timesheets from TLK
The techniques used to retrieve either contracts or timesheets from the Queue web service are the same. The difference is the type of data that is returned.
In both cases, a queue must be created that contains a criteria of which elements should be added to the queue. For example, in the case of timesheets, the criteria may be “status=approved”. Once the queue has been created, any elements that change to match the criteria, will be added to the queue.

Queue Web Service Methods
All of the queue web service methods accept a single parameter of a queue name. The credentials used to connect to the web service must be authorised in TalentLink to access the queue.
getTimsheetFromQueue
Takes a parameter of a queue name.
Returns a position with attached timesheet and contract.
removeTimesheetFromQueue
Takes a parameter of a queue name.
Returns an empty response if successful.
getContractFromQueue
Takes a parameter of a queue name.
Returns a contract.
removeContractFromQueue
Takes a parameter of a queue name.
Returns an empty response if successful.
Data Types
Timesheet
|
Field |
Data Type |
|
actionAvailability |
canApprove, canReject, canSave, canSubmit |
|
active |
boolean |
|
applicationId |
long |
|
approvedDate |
dateTime |
|
approver |
|
|
assignedApprover |
|
|
availableApprovers |
|
|
candidate |
|
|
comments |
string |
|
contract |
|
|
contractId |
long |
|
costCenter |
string |
|
costCenterLovName |
string |
|
costCenterTranslated |
string |
|
creationDate |
dateTime |
|
creationUser |
|
|
endDate |
dateTime |
|
expenses |
Amount, creation date, description, id, updateddate |
|
exported |
boolean |
|
id |
long |
|
jobTitle |
string |
|
parent |
|
|
purchaseOrder |
string |
|
reasonOfAdjustment |
string |
|
remainingBudget |
double |
|
startDate |
dateTime |
|
status |
string |
|
submitDate |
dateTime |
|
submitter |
|
|
totalCostUnit |
double |
|
totalUnit |
double |
|
type |
String – Normal, DateAdjCorrection, RateAdjCorrection, DataAdjCorrection, TimeAdjCorrection, DateAdjReversal, RateAdjReversal, DataAdjReversal, TimeAdjReversal |
|
units |
timeSheetUnitDto |
|
updateDate |
dateTime |
|
updateUser |
Contract
|
Field |
Data Type |
|
accepted |
boolean |
|
acceptedDate |
dateTime |
|
alternativeApprovers |
Collection of approvers |
|
applicationId |
Long |
|
approval |
dateTime |
|
approved |
boolean |
|
approverUser |
User |
|
bonusCondition |
string |
|
candidate |
candidate |
|
comments |
string |
|
communicationLang |
string |
|
contractComment |
string |
|
contractSentOn |
dateTime |
|
contractSignedOn |
dateTime |
|
contractor |
contractor |
|
contractorContract |
contractorContract |
|
contractorRates |
Collection of rates |
|
creation |
dateTime |
|
creationUser |
user |
|
current |
boolean |
|
dueDate |
dateTime |
|
expenseReimbursed |
boolean |
|
exportReason |
string |
|
extension |
int |
|
freeFormFields |
Collection of free form fields |
|
id |
long |
|
length |
float |
|
lengthUnit |
string |
|
lovs |
Collection of list of values. Configurable by client. |
|
offerSentOn |
dateTime |
|
permanentContract |
permanentContract |
|
plannedEndDate |
dateTime |
|
plannedStartDate |
dateTime |
|
probationaryPeriod |
string |
|
reason |
string |
|
reassignTasks |
boolean |
|
reminderDate |
dateTime |
|
revision |
boolean |
|
schedule |
Amount, Period & Unit. E.g. 20 hours per week. |
|
status |
string |
|
submitted |
dateTime |
|
taskNotification |
boolean |
|
taskOverdue |
long |
|
timeZoneInfo |
string |
|
type |
string |
|
typeOfUser |
string |
|
updat |
dateTime |
|
updateUser |
user |
|
vendorDetails |
string |
|
vendorName |
string |
|
version |
int |
Rate
|
Field |
Data Type |
|
chargeRate |
Decimal |
|
id |
string |
|
overall |
Decimal |
|
payRate |
Decimal |
|
paySupplier |
Collection of tags |
|
rateType |
LOV |
|
rateUnit |
Name & Type |
|
supplierCharge |
Decimal |
|
supplierRate |
Decimal |
Contractor
|
Field |
Data Type |
|
Address1 |
string |
|
address2 |
string |
|
address3 |
string |
|
address4 |
string |
|
bankAccountName |
string |
|
bankAccountNumber |
string |
|
bankCityName |
string |
|
bankContactName |
string |
|
bankContactPhone |
string |
|
bankName |
string |
|
bankShortCode |
string |
|
city |
string |
|
contactName |
string |
|
country |
string |
|
groupName |
string |
|
iban |
string |
|
id |
int |
|
legalId |
string |
|
name |
string |
|
paymentTerms |
string |
|
phone |
string |
|
swiftCode |
string |
|
taxId |
string |
|
zipCode |
string |
ContractorContract
|
Field |
Data Type |
|
additionalInfo |
string |
|
benchmarkRate |
decimal |
|
contractorType |
contractorType |
|
flexibilityMaxDate |
dateTime |
|
flexibilityMinDate |
dateTime |
|
gainShareRate |
decimal |
|
standardCurrency |
currency |
|
standardPeriod |
compensationPeriod |
|
totalClientRate |
decimal |
|
totalCost |
decimal |
|
totalCostCurrency |
currency |
Candidate
|
Field |
Data Type |
|
|
string |
|
firstname |
string |
|
id |
long |
|
lastname |
string |
|
tags |
Collection of tags |
User
|
Field |
Data Type |
|
Cellphone |
String |
|
|
String |
|
Firstname |
String |
|
Id |
Long |
|
Lastname |
String |
|
login |
String |
|
type |
string |