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

WSDL

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

user

assignedApprover

user

availableApprovers

user

candidate

Candidate

comments

string

contract

contract

contractId

long

costCenter

string

costCenterLovName

string

costCenterTranslated

string

creationDate

dateTime

creationUser

user

endDate

dateTime

expenses

Amount, creation date, description, id, updateddate

exported

boolean

id

long

jobTitle

string

parent

timeSheet

purchaseOrder

string

reasonOfAdjustment

string

remainingBudget

double

startDate

dateTime

status

string

submitDate

dateTime

submitter

user

totalCostUnit

double

totalUnit

double

type

String – Normal, DateAdjCorrection, RateAdjCorrection, DataAdjCorrection,

TimeAdjCorrection,

DateAdjReversal,

RateAdjReversal,

DataAdjReversal,

TimeAdjReversal

units

timeSheetUnitDto

updateDate

dateTime

updateUser

user

 

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

email

string

firstname

string

id

long

lastname

string

tags

Collection of tags

 

User

Field

Data Type

Cellphone

String

Email

String

Firstname

String

Id

Long

Lastname

String

login

String

type

string