Timesheet/Staff.php
Staff timesheet service file
- Author
- Dave Cutler
- Copyright
- 2011 SOS Staffing Inc.
- Package
- Service
- Subpackage
- Timesheet
\Service_Timesheet_Staff
Staff timesheet
- Parent(s)
- \Service_Timesheet
- Api
- Author
- Dave Cutler
- Copyright
- 2011 SOS Staffing Inc.
Method List
Constants
Methods
calculateTotals
Calculates timesheet totals per day and as a whole
- Link: https://webservices.sosstaffing.com/timesheet/calculateTotals
-
Parameters:
- entries
- List of entries being calculated
- state
- Assignment state
- weekly_pay
- (Optional) The weekly pay total
- assignment_mileage
- (Optional) The per-mile reimbursement amount
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <state>[ST]</state> <weekly_pay>[#.##]</weekly_pay> <assignment_mileage>[#.##]</assignment_mileage> <entries> <entry> <date>[YYYY-MM-DD]</date> <type>[type]</type> <time_in>[HH:MM]</time_in> <time_out>[HH:MM]</time_out> <explanation>[explanation]</explanation> <unit_number>[#]</unit_number> <treatment_number>[#]</treatment_number> <expense>[#.##]</expense> </entry> <entry> <...> </entry> </entries> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <params> <state>[ST]</state> <weekly_pay>[#.##]</weekly_pay> <assignment_mileage>[#.##]</assignment_mileage> <entries> <entry> <date>[YYYY-MM-DD]</date> <type>[type]</type> <time_in>[HH:MM]</time_in> <time_out>[HH:MM]</time_out> <explanation>[explanation]</explanation> <unit_number>[#]</unit_number> <treatment_number>[#]</treatment_number> <expense>[#.##]</expense> </entry> <entry> <...> </entry> </entries> </params> </responseHeader> <response> <totals> <expense_total>[#.##]</expense_total> <taxable_meals>[#.##]</taxable_meals> <regular_time>[#.##]</regular_time> <over_time>[#.##]</over_time> <double_time>[#.##]</double_time> <days> <day> <date>[YYYY-MM-DD]</date> <expense_total>[#.##]</expense_total> <total_time>[#.##]</total_time> <regular_time>[#.##]</regular_time> <over_time>[#.##]</over_time> <double_time>[#.##]</double_time> <hours>[#]</hours> <minutes>[#]</minutes> </day> <day> <...> </day> </days> </totals> </response> </result>
deactivateTimesheets
Marks a set of timesheets as inactive
- Link: https://webservices.sosstaffing.com/timesheet_staff/deactivateTimesheets?token=[token]
-
Parameters:
- token
- A JOSSO session ID
- timesheet_ids
- Timesheet IDs to mark as inactive
- explanation
- An explanation of why the timesheets should be inactive
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <timesheet_ids> <timesheet_id>[#####]</timesheet_id> <timesheet_id><...></timesheet_id> </timesheet_ids> <explanation>[explanation]</explanation> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <token>[token]</token> <params> <timesheet_ids> <timesheet_id>[#####]</timesheet_id> <timesheet_id><...></timesheet_id> </timesheet_ids> <explanation>[explanation]</explanation> </params> </responseHeader> <response> <message>The selected timesheets were deactivated</message> </response> </result>
exportTimesheets
Exports timesheet data to SOAR
- Link: https://webservices.sosstaffing.com/timesheet_staff/exportTimesheets?token=[token]
-
Parameters:
- token
- A JOSSO session ID
- timesheet_ids
- Timesheet ID(s) to export
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <timesheet_ids> <timesheet_id>[#####]</timesheet_id> <timesheet_id><...></timesheet_id> </timesheet_ids> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <token>[token]</token> <params> <timesheet_ids> <timesheet_id>[#####]</timesheet_id> <timesheet_id><...></timesheet_id> </timesheet_ids> </params> </responseHeader> <response> <message>The selected timesheets were exported</message> <export_data> <failed> <timesheet> <timesheet_id>[#####]</timesheet_id> <reason>[reason]</reason> </timesheet> <timesheet> <...> </timesheet> </failed> <exported> <timesheet_id>[#####]</timesheet_id> <timesheet_id><...></timesheet_id> </exported> </export_data> </response> </result>
getAllConstants
Returns all constants for the current service
- Link: https://webservices.sosstaffing.com/timesheet/getAllConstants
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> </responseHeader> <response> <constants> <constant> <name>[name]</name> <value>[value]</value> </constant> <constant> <...> </constant> </constants> </response> </result>
getBranchesByCustomer
Retrieves a list of branches for a given set of customers that have existing timesheets
- Link: https://webservices.sosstaffing.com/timesheet_staff/getBranchesByCustomer?token=[token]
-
Parameters:
- token
- A JOSSO session ID
- customers
- 5-digit customer numbers to find branches for
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <customers> <customer>[#####]</customer> <customer><...></customer> </customers> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <token>[token]</token> <params> <customers> <customer>[#####]</customer> <customer><...></customer> </customers> </params> </responseHeader> <response> <branches> <branch>[###]</branch> <branch><...></branch> </branches> </response> </result>
getConstant
Returns a specific constant for the current service by name
- Link: https://webservices.sosstaffing.com/timesheet/getConstant
-
Parameters:
- name
- The name of the constant to return (case-sensitive)
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <name>[name]</name> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <params> <name>[name]</name> </params> </responseHeader> <response> <value>[value]</value> </response> </result>
getCustomerFields
Returns a list of timesheet entry types allowed by customer
- Link: https://webservices.sosstaffing.com/timesheet/getCustomerFields
-
Parameters:
- customer_number
- The customer number from the timesheet assignment
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <customer_number>[customer_number]</customer_number> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <params> <customer_number>[customer_number]</customer_number> </params> </responseHeader> <response> <fields> <field> <name>[name]</name> <type>[time|expense]</type> <field> <field> <...> </field> </fields> </response> </result>
getFilterOptions
Returns lists of options to filter for timesheets
- Link: https://webservices.sosstaffing.com/timesheet_staff/getFilterOptions?token=[token]
-
Parameters:
- token
- A JOSSO session ID
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <token>[token]</token> </responseHeader> <response> <weeks> <week>[YYYY-MM-DD]</week> <week><...></week> </weeks> <branches> <branch>[###]</branch> <branch><...></branch> </branches> <customers> <customer> <cust5>[#####]</cust5> <name>[name]</name> </customer> <customer> <...> </customer> </customers> </response> </result>
getLastApprovalTime
Returns the last time a particular supervisor approved any timesheets
- Link: https://webservices.sosstaffing.com/timesheet_staff/getLastApprovalTime?token=[token]
-
Parameters:
- token
- A JOSSO session ID
- approver_id
- Person ID of supervisor to check
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <approver_id>[####]</approver_id> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <params> <approver_id>[####]</approver_id> </params> </responseHeader> <response> <timetamp>[YYYY-MM-DD HH:ii:ss]</timetamp> </response> </result>
getLocation
Returns location information from a customer number
- Link: https://webservices.sosstaffing.com/timesheet/getLocation
-
Parameters:
- customer_number
- The customer number from the timesheet assignment
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <customer_number>[customer_number]</customer_number> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <params> <customer_number>[customer_number]</customer_number> </params> </responseHeader> <response> <location> <customer_number>[customer_number]</customer_number> <branch>[###]</branch> <department>[department]</department> <sub_department>[sub_department]</sub_department> <cust5>[#####]</cust5> <name>[name]</name> <week_ending>[week_ending]</week_ending> </location> <is_extended>[0|1]</is_extended> </response> </result>
getTimesheet
Loads associate's timesheet information
Will load an associate's own timesheet by an ID or assignment/week ending date. This method will only return timesheets that belong to the current user.
- Link: https://webservices.sosstaffing.com/timesheet_associate/getTimesheet?token=[token]
-
Parameters:
- token
- A JOSSO session ID
- timesheet_id
- ID of timesheet to load (Supercedes assignment_id and week_ending)
- assignment_id
- Assignment ID on timesheet to load (Requires week_ending)
- week_ending
- Week ending on timesheet to load (Requires assignment_id)
- return
- Amount of information to return. Can be id, full, details, entries
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <timesheet_id>[timesheet_id]</timesheet_id> <assignment_id>[##]</assignment_id> <week_ending>[YYYY-MM-DD]</week_ending> <return>[id|full|entries|details]</return> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>##</requestTimeMs> <token>[token]</token> <params> <timesheet_id>[timesheet_id]</timesheet_id> <return>[return]</return> </params> </responseHeader> <response> <timesheet> <!-- Always returned, only node returned for "id" --> <timesheet_id>[timesheet_id]</timesheet_id> <!-- Returned for "full" or "details" --> <week_ending>[YYYY-MM-DD]</week_ending> <soslogin_id>[soslogin_id]</soslogin_id> <employee_id>[employee_id]</employee_id> <branch_id>[branch_id]</branch_id> <timecard_lrn>[timecard_lrn]</timecard_lrn> <assignment_id>[assignment_id]</assignment_id> <assignment_title>[assignment_title]</assignment_title> <assignment_address>[assignment_address]</assignment_address> <assignment_state>[ST]</assignment_state> <assignment_mileage>[#.##]</assignment_mileage> <taxable_meals>[#.##]</taxable_meals> <expense_total>[#.##]</expense_total> <regular_time>[#.##]</regular_time> <over_time>[#.##]</over_time> <double_time>[#.##]</double_time> <employee_signed_date>[YYYY-MM-DD]</employee_signed_date> <approval_date>[YYYY-MM-DD]</approval_date> <approval_name>[approval_name]</approval_name> <flags>[##]</flags> <supervisor_email>[supervisor_email]</supervisor_email> <supervisor_name>[supervisor_name]</supervisor_name> <customer_number>[customer_number]</customer_number> <comment_id>[##]</comment_id> <comment>[comment]</comment> <timesheet_values_id>[timesheet_values_id]</timesheet_values_id> <parent_timesheet_values_id>[parent_timesheet_values_id]</parent_timesheet_values_id> <created_date>[YYYY-MM-DD HH:ii:ss]</created_date> <status>[status]</status> <full_name>[full_name]</full_name> <first_name>[first_name]</first_name> <last_name>[last_name]</last_name> <area>[area]</area> <area_number>[area_number]</area_number> <apply_cash_advance>[apply_cash_advance]</apply_cash_advance> <pay>[pay]</pay> <cost_center>[###]</cost_center> <cost_center_number>[cost_center_number]</cost_center_number> <rec_pay_for_min_hours>[rec_pay_for_min_hours]</rec_pay_for_min_hours> <weekly_pay>[weekly_pay]</weekly_pay> <location> <customer_number>[customer_number]</customer_number> <branch>[###]</branch> <department>[department]</department> <sub_department>[###]</sub_department> <cust5>[#####]</cust5> <name>[name]</name> <week_ending>[week_ending]</week_ending> </location> <is_extended>[0|1]</is_extended> <!-- Returned for "full" or "entries" --> <days> <day> <date>[YYYY-MM-DD]</date> <expense_total>[#.##]</expense_total> <total_time>[#.##]</total_time> <regular_time>[#.##]</regular_time> <over_time>[#.##]</over_time> <double_time>[#.##]</double_time> <hours>[##]</hours> <minutes>[##]</minutes> <entries> <entry> <timesheet_entry_id>[timesheet_entry_id]</timesheet_entry_id> <parent_timesheet_entry_id>[parent_timesheet_entry_id]</parent_timesheet_entry_id> <timesheet_id>[timesheet_id]</timesheet_id> <created>[YYYY-MM-DD HH:ii:ss]</created> <modified>[YYYY-MM-DD HH:ii:ss]</modified> <date>[YYYY-MM-DD]</date> <status>[#]</status> <type>[type]</type> <time_in>[##:##]</time_in> <time_out>[##:##]</time_out> <total_time>[#.##]</total_time> <explanation>[explanation]</explanation> <unit_number>[unit_number]</unit_number> <treatment_number>[treatment_number]</treatment_number> <expense>[#.##]</expense> </entry> <entry> <...> </entry> </entries> </day> <day> <...> </day> </days> </timesheet> </response> </result>
listTimesheets
Lists all timesheets filtered by Staff options
- Link: https://webservices.sosstaffing.com/timesheet_staff/listTimesheets?token=[token]
-
Parameters:
- token
- A JOSSO session ID
- weeks
- Week ending(s) to filter against, use 'all' for no filtering
- branches
- Branches to filter against, use 'all' for no filtering
- customers
- Customers to filter against, use 'all' for no filtering
- statuses
- Timesheet statuses to filter against
- per_page
- (Optional) Number of timesheets to display per page
- page_number
- (Optional) Page number to load timesheets from
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <weeks> <week>[YYYY-MM-DD|all]</week> <week><...></week> </weeks> <branches> <branch>[###|all]</branch> <branch><...></branch> </branches> <customers> <customer>[#####|all]</customer> <customer><...></customer> </customers> <statuses> <status>[incomplete|submitted|accepted|rejected|exported|inactive]</status> <status><...></status> </statuses> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <token>[token]</token> <params> <weeks> <week>[YYYY-MM-DD|all]</week> <week><...></week> </weeks> <branches> <branch>[###|all]</branch> <branch><...></branch> </branches> <customers> <customer>[#####|all]</customer> <customer><...></customer> </customers> <statuses> <status>[incomplete|submitted|accepted|rejected|exported|inactive]</status> <status><...></status> </statuses> </params> </responseHeader> <response> <timesheets> <timesheet> <timesheet_id>[#####]</timesheet_id> <full_name>[full_name]</full_name> <week_ending>[YYYY-MM-DD]</week_ending> <employee_id>[employee_id]</employee_id> <branch_id>[###]</branch_id> <assignment_id>[#####]</assignment_id> <assignment_title>[assignment_title]</assignment_title> <expense_total>[#.##]</expense_total> <taxable_meals>[#.##]</taxable_meals> <customer_number>[customer_number]</customer_number> <regular_time>[#.##]</regular_time> <over_time>[#.##]</over_time> <double_time>[#.##]</double_time> <flags>[##]</flags> <customer_name>[customer_name]</customer_name> <status>[status]</status> </timesheet> <timesheet> <...> </timesheet> </timesheets> <total>73</total> <page>1</page> </response> </result>
printTimesheets
Returns a PDF representation of the selected timesheets
- Link: https://webservices.sosstaffing.com/timesheet_staff/printTimesheets?token=[token]
-
Parameters:
- token
- A JOSSO session ID
- timesheet_ids
- Timesheet IDs to print
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <timesheet_ids> <timesheet_id>[#####]</timesheet_id> <timesheet_id><...></timesheet_id> </timesheet_ids> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <token>[token]</token> <params> <timesheet_ids> <timesheet_id>[#####]</timesheet_id> <timesheet_id><...></timesheet_id> </timesheet_ids> </params> </responseHeader> <response> <timesheet_file> <mime>[mime]</mime> <bytes>[#####]</bytes> <data>[base64_encoded_binary]</data> </timesheet_file> </response> </result>
removeTrainingSheets
Removes all training timesheets from a trainer's account
- Link: https://webservices.sosstaffing.com/timesheet_staff/removeTrainingSheets?token=[token]
-
Parameters:
- token
- A JOSSO session ID
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <token>[token]</token> </responseHeader> <response> <message> Training timesheets were successfully removed </message> </response> </result>
validateEntry
Validates a new entry, optionally checks against an existing list of entries
- Link: https://webservices.sosstaffing.com/timesheet/validateEntry
-
Parameters:
- new_entry
- The entry information to validate
- timesheet_id
- (Optional) The timesheet ID to validate against
- days
- (Optional) The list of days/entries to validate against
-
Request:
<?xml version="1.0" encoding="UTF-8"?> <request> <new_entry> <timesheet_entry_id>[####]</timesheet_entry_id> <date>[YYYY-MM-DD]</date> <removed>[0|1]</removed> <type>[type]</type> <time_in>[HH:MM]</time_in> <time_out>[HH:MM]</time_out> <explanation>[explanation]</explanation> <unit_number>[#]</unit_number> <treatment_number>[#]</treatment_number> <expense>[#.##]</expense> </new_entry> <timesheet_id>[timesheet_id]</timesheet_id> <days> <day> <date>[YYYY-MM-DD]</date> <expense_total>[#.##]</expense_total> <total_time>[#.##]</total_time> <regular_time>[#.##]</regular_time> <over_time>[#.##]</over_time> <double_time>[#.##]</double_time> <hours>[#]</hours> <minutes>[#]</minutes> </day> <day> <...> </day> </days> </request>
-
Response:
<?xml version="1.0" encoding="UTF-8"?> <result> <responseHeader> <status>ok</status> <requestTimeMs>[##]</requestTimeMs> <params> <new_entry> <timesheet_entry_id>[####]</timesheet_entry_id> <date>[YYYY-MM-DD]</date> <removed>[0|1]</removed> <type>[type]</type> <time_in>[HH:MM]</time_in> <time_out>[HH:MM]</time_out> <explanation>[explanation]</explanation> <unit_number>[#]</unit_number> <treatment_number>[#]</treatment_number> <expense>[#.##]</expense> </new_entry> <timesheet_id>[timesheet_id]</timesheet_id> <days> <day> <date>[YYYY-MM-DD]</date> <expense_total>[#.##]</expense_total> <total_time>[#.##]</total_time> <regular_time>[#.##]</regular_time> <over_time>[#.##]</over_time> <double_time>[#.##]</double_time> <hours>[#]</hours> <minutes>[#]</minutes> </day> <day> <...> </day> </days> </params> </responseHeader> <response> <message>Timesheet entry is valid</message> </response> </result>