Browser Timesheets
URL | Verbs | Function | Available |
---|---|---|---|
HRTSTimesheet/<employee> | GET | Query a list of Browser Timesheets for a given employee | 2020.1 |
HRTSTimesheet/<employee> | POST | Add a Browser Timesheet for a given employee | 2020.1 |
HRTSTimesheet/<employee>/<weekending> | GET | Query a Browser Timesheet for a given employee | 2020.1 |
HRTSTimesheet/<employee>/<weekending> | POST | Update an existing Browser Timesheet for a given employee | 2020.1 |
HRTSTimesheet/<employee>/<weekending> | DELETE | Delete a Browser Timesheet for a given employee | 2020.1 |
Supported POST actions
Query String | Definition | Sample |
---|---|---|
submit | Submit the non submitted timesheet lines on a timesheet | action=submit |
Security Linked Menu
Menu Item | Located |
---|---|
Timesheet Entry | Data Entry / Job Cost |
While not a natural fit, this is the only close screen to use until the API can support some browser type security.
Sample XML Response
<?xml version="1.0" encoding="UTF-8"?>
<HRTSTimesheet> <OidString>22422.9</OidString> <Edition>2</Edition> <EntryTimestamp>2019-10-22T18:01:33</EntryTimestamp> <EntryUser>SUPER</EntryUser> <FullyProcessedInPayroll>false</FullyProcessedInPayroll> <ModifiedTimestamp>2019-10-22T18:04:53</ModifiedTimestamp> <ModifiedUser>SUPER</ModifiedUser> <WeekEndingDate>2019-11-22</WeekEndingDate> <Employee>COOKC</Employee> <LineItems collection='true' count='2'> <HRTSTimesheetLine> <OidString>22429.8</OidString> <Edition>1</Edition> <BreakTime>0</BreakTime> <Date>2019-11-20</Date> <FinishTime>00:00:00</FinishTime> <Hours>4.00</Hours> <HoursToComplete>0</HoursToComplete> <IsGhost>false</IsGhost> <IsNoCharge>true</IsNoCharge> <IsUpdatingHoursToComplete>false</IsUpdatingHoursToComplete> <IsUpdatingPercentageCompleted>false</IsUpdatingPercentageCompleted> <IsUpdatingServiceRequestStatus>false</IsUpdatingServiceRequestStatus> <ModifiedTimeStamp>2019-10-22T18:01:33</ModifiedTimeStamp> <ModifiedUser>SUPER</ModifiedUser> <ActivityCode>LABSER</ActivityCode> <Company>01</Company> <WorkCentre>SERV</WorkCentre> <Job>5000</Job> <HRAwardClass>C001</HRAwardClass> <HRTransTypePay>201</HRTransTypePay> <TimesheetLineStatus>Unsubmitted</TimesheetLineStatus> <Narration>Some notes on the line I entered</Narration> <PercentageCompleted>0</PercentageCompleted> <StartTime>00:00:00</StartTime> <Submitted>false</Submitted> </HRTSTimesheetLine> <HRTSTimesheetLine> <OidString>22429.9</OidString> <Edition>1</Edition> <BreakTime>0</BreakTime> <Date>2019-11-20</Date> <FinishTime>00:00:00</FinishTime> <Hours>4.00</Hours> <HoursToComplete>0</HoursToComplete> <IsGhost>false</IsGhost> <IsNoCharge>false</IsNoCharge> <IsUpdatingHoursToComplete>false</IsUpdatingHoursToComplete> <IsUpdatingPercentageCompleted>false</IsUpdatingPercentageCompleted> <IsUpdatingServiceRequestStatus>false</IsUpdatingServiceRequestStatus> <ModifiedTimeStamp>2019-10-22T18:04:53</ModifiedTimeStamp> <ModifiedUser>SUPER</ModifiedUser> <ActivityCode>LABSER</ActivityCode> <Company>01</Company> <WorkCentre>SERV</WorkCentre> <Job>5000</Job> <TimesheetLineStatus>Unsubmitted</TimesheetLineStatus> <Narration>And some more notes</Narration> <PercentageCompleted>0</PercentageCompleted> <StartTime>00:00:00</StartTime> <Submitted>false</Submitted> </HRTSTimesheetLine> </LineItems> </HRTSTimesheet>
Deleting Timesheet Lines
Since we allow an incremental addition to a timesheet, we cannot assume that when a Timesheet is POSTed to the API, any lines missing from what is posted indicates they should be deleted. In order to try and address this, we have implemented a means to identify any line items in the POST payload that you want to delete.
This is initially implemented in this endpoint, but may serve as the basis to be rolled through the rest of the API.
To delete a line item(s) on a Timesheet, the HRTSTimesheetLine should include a boolean property called "IsForDeletion" along with the "OidString" to identify the existing line, so taking the above example and assuming I wanted to perform an update to the same Timesheet and delete the second line, I could POST a payload like the sample below.
Sample XML Response
<?xml version="1.0" encoding="UTF-8"?>
<HRTSTimesheet> <WeekEndingDate>2019-11-22</WeekEndingDate> <Employee>COOKC</Employee> <LineItems collection='true'> <HRTSTimesheetLine> <OidString>22429.9</OidString> <IsForDeletion>true</IsForDeletion> </HRTSTimesheetLine> </LineItems> </HRTSTimesheet>