The API is published separately at the moment, as another interface for linking into the Timecard server, although there is some progress on integrating the two products together in a future release.
Below is a summary of the important functions that make up the Timecard API (a full java doc style specification can be found here). Each function is called, passing in at least one parameter, a UserIDBean. This bean contains the user name and password of a previously registered Timecard User, with administrative rights. This ensures only authorised users are able to access the interface.
Returns |
Method |
Parameters |
Description |
HourBreakdownBean |
getUserHoursSummary |
UserIDBean, UserPrimaryKey, start, end |
Gets the hourly breakdown for a single user. |
Array of HourBreakdownBean |
getHourSummaries |
UserIDBean, start, end |
Hourly breakdowns for all users in the given time period. |
Array of DetailedHourBreakdownBean |
getDetailedUserHourSummary |
UserIDBean, UserPrimaryKey, start, end, showUserTZFlag |
Gets the hourly breakdown, adhering to the IDI specification, for a single user. |
Array of DetailedHourBreakdownBean |
getDetailedHourSummaries |
UserIDBean, start, end, showUserTZFlag |
Hourly breakdowns, adhering to the IDI specification, for all users in the given time period. |
Array of DetailedHourBreakdownBeanWithRateCode |
getDetailedUserHourSummaryWithRateCode |
UserIDBean, UserPrimaryKey, start, end, showUserTZFlag |
Gets the hourly breakdown, adhering to the IDI specification, for a single user. Provided results include a customer specified rate code for the associated task/device combination. This method does not return an additional row if worker time covers two days(eg night shift). The getDetailedUserHourSummary method returns two rows for this scenario for easy daily overtime calculation. |
Array of DetailedHourBreakdownBeanWithRateCode |
getDetailedHourSummariesWithRateCode |
UserIDBean, start, end, showUserTZFlag |
Hourly breakdowns, adhering to the IDI specification, for all users in the given time period. Provided results include a customer specified rate code for the associated task/device combination. This method does not return an additional row if worker time covers two days(eg night shift). The getDetailedHourSummaries method returns two rows for this scenario for easy daily overtime calculation. |
Array of Strings |
getUserTypes |
UserIDBean |
Returns array of UserType Names. |
Array of OverTimeRuleBean |
getOvertimeRulesBean |
UserIDBean |
Returns array of OverTimeRuleBean. |
Returns |
Method |
Parameters |
Description |
sendMessageToUserResult |
sendMessageToUser |
UserIDBean, userPrimaryKey, messageString |
Sends a string message to the specified user. |
wakeFieldDeviceResult |
wakeFieldDevice |
UserIDBean, userPrimaryKey |
Sends a message to the phone, which forces the application to start and connect to the server. |
createNewTeamResult |
createNewTeam |
UserIDBean, teamName, teamLeaderUserPrimaryKey |
Creates a new team with the specified user as the team leader. |
deleteTeamResult |
deleteTeam |
UserIDBean, teamName |
Deletes the specified team. Members of this team should be reallocated to existing teams. |
addUserToTeamResult |
addUserToTeam |
UserIDBean, teamName, userPrimaryKey |
Adds the specified user to the specified team. Note that each user can only belong to one team. |
removeUserFromTeamResult |
removeUserFromTeam |
UserIDBean, teamName, userPrimaryKey |
Removes the user from the team specified. |
sendMessageToTeamResult |
sendMessageToTeam |
UserIDBean, teamName, messageString |
Sends a string message to all users in the specified team. |
wakeTeamFieldDevicesResult |
wakeTeamFieldDevices |
UserIDBean, teamName |
Sends a message to all phone devices, which forces the application to start and connect to the server. |
AddTasksToTeamResult |
addTasksToTeam |
UserIDBean, teamName, tasks |
Add a list of tasks to the given team. |
DeleteTasksFromTeamResult |
deleteTasksFromTeam |
UserIDBean, teamName, tasks |
Remove a list of tasks from the given team. |
AddSubTasksToTaskResult |
addSubTasksToTaskAndTeam |
UserIDBean, teamName, taskName, subTasks |
Add a list of subTasks to the given team's task. |
DeleteSubTasksFromTaskResult |
deleteSubTasksFromTask |
UserIDBean, teamName, taskName, subTasks |
Delete a list of subTasks from the given team's task. |
DeleteTasksFromAllTeamsResponse |
deleteTasksFromAllTeams |
UserIDBean, tasks |
Delete a list of tasks from all teams. |
Array of strings |
getTaskList |
UserIDBean |
Gets the tasks/customers list from the server. |
addNewTaskResult |
addNewTask |
UserIDBean, taskName |
Adds a new task/customer to the server list. |
addTaskWithAddressResult |
addTaskWithAddress |
UserIDBean, DetailedTaskWithAddress |
Adds a new task/customer to the server list with the address information supplied. |
removeTaskResult |
removeTask |
UserIDBean, taskName |
Remove task/customer from the server. |
addSubtaskToTask |
addSubtaskToTask |
UserIDBean, taskName, subTaskName |
Add a new subtask to an existing task in the server list. |
addSubtasksToTask |
addSubtasksToTask |
UserIDBean, taskName, subTaskNames |
Add new list of subtasks to an existing task in the server list. |
deleteSubtask |
deleteSubtask |
UserIDBean, taskName, subTaskName |
Remove subtask with the provided name from the task with the name provided from the server list. |
getSubtaskList |
getSubtaskList |
UserIDBean, taskName |
Get a list of subtasks for the task with the provided name from the server list. |
setFieldWorkerUnionCode |
setFieldWorkerUnionCode |
UserIDBean, userPK, unionCode |
Associte the specified unionCode for the provided userPK. The unionCode specified needs to be defined in the Manage Unions Page in the Timecard Website. |
addRateCode |
addRateCode |
UserIDBean, userPK, taskName, rateCode |
Associate the specified rateCode for the provided userPK/taskName combination |
deleteRateCode |
deleteRateCode |
UserIDBean, userPK, taskName |
Remove the rateCode specified for the provided userPK/taskName combination |
Name |
Type |
Size |
Required |
Description |
userType |
String |
50 |
N/A |
Describes the type of user. |
userName |
String |
25 |
N/A |
The name of the user who generated the event. |
deviceID |
String |
30 |
N/A |
Device ID of the user who generated the event (unique identifier for the device). |
userName |
String |
25 |
N/A |
The name of the user who generated the event. |
normalHours |
Int |
0-24 |
N/A |
The hours component of a normal working day. |
normalMinutes |
Int |
0-59 |
N/A |
The minutes component of a normal working day. |
normalSeconds |
Int |
0-59 |
N/A |
The seconds component of a normal working day. |
overTimeHours |
Int |
0-24 |
N/A |
The hours component of overtime in excess of a normal working day. |
overTimeMinutes |
Int |
0-59 |
N/A |
The minutes component of overtime in excess of a normal working day. |
overTimeSeconds |
Int |
0-59 |
N/A |
The seconds component of overtime in excess of a normal working day. |
extraHours |
Int |
0-24 |
N/A |
The hours component of extra time in excess of overtime and the normal working day. |
extraMinutes |
Int |
0-59 |
N/A |
The minutes component of overtime in excess of overtime and the normal working day. |
extraSeconds |
Int |
0-59 |
N/A |
The seconds component of overtime in excess of overtime and the normal working day. |
Name |
Type |
Size |
Required |
Description |
userPrimaryKey |
String |
9 |
N/A |
User Primary Key in Timecard. |
userType |
String |
50 |
N/A |
Describes the type of user. |
userName |
String |
25 |
N/A |
The name of the user who generated the event. |
deviceID |
String |
30 |
N/A |
Device ID of the user who generated the event (unique identifier for the device). |
dateStart |
Date |
N/A |
N/A |
The date/time of the start event. |
dateEnd |
Date |
N/A |
N/A |
The date/time of the end event. |
timezone |
String |
25 |
N/A |
The timezone of the user who generated the event. |
startEvent |
String |
25 |
N/A |
The start event type. |
endEvent |
String |
25 |
N/A |
The end event type. |
teamName |
String |
50 |
No |
The team name that the user belongs to. |
taskName |
String |
50 |
No |
The task that the event belongs to. |
subtaskName |
String |
50 |
No |
The subtask that the event belongs to. |
normalHours |
Int |
0-24 |
N/A |
The hours component of a normal working day. |
normalMinutes |
Int |
0-59 |
N/A |
The minutes component of a normal working day. |
normalSeconds |
Int |
0-59 |
N/A |
The seconds component of a normal working day. |
overTimeHours |
Int |
0-24 |
N/A |
The hours component of overtime in excess of a normal working day. |
overTimeMinutes |
Int |
0-59 |
N/A |
The minutes component of overtime in excess of a normal working day. |
overTimeSeconds |
Int |
0-59 |
N/A |
The seconds component of overtime in excess of a normal working day. |
extraHours |
Int |
0-24 |
N/A |
The hours component of extra time in excess of overtime and the normal working day. |
extraMinutes |
Int |
0-59 |
N/A |
The minutes component of overtime in excess of overtime and the normal working day. |
extraSeconds |
Int |
0-59 |
N/A |
The seconds component of overtime in excess of overtime and the normal working day. |
customFields |
Array of CustomField |
N/A |
N/A |
The custom fields that are belong to this task. |
Name |
Type |
Size |
Required |
Description |
userPrimaryKey |
String |
9 |
N/A |
User Primary Key in Timecard. |
userType |
String |
50 |
N/A |
Describes the type of user. |
userName |
String |
25 |
N/A |
The name of the user who generated the event. |
deviceID |
String |
30 |
N/A |
Device ID of the user who generated the event (unique identifier for the device). |
dateStart |
Date |
N/A |
N/A |
The date/time of the start event. |
dateEnd |
Date |
N/A |
N/A |
The date/time of the end event. |
timezone |
String |
25 |
N/A |
The timezone of the user who generated the event. |
startEvent |
String |
25 |
N/A |
The start event type. |
endEvent |
String |
25 |
N/A |
The end event type. |
teamName |
String |
50 |
No |
The team name that the user belongs to. |
taskName |
String |
50 |
No |
The task that the event belongs to. |
subtaskName |
String |
50 |
No |
The subtask that the event belongs to. |
normalHours |
Int |
0-24 |
N/A |
The hours component of a normal working day. |
normalMinutes |
Int |
0-59 |
N/A |
The minutes component of a normal working day. |
normalSeconds |
Int |
0-59 |
N/A |
The seconds component of a normal working day. |
overTimeHours |
Int |
0-24 |
N/A |
The hours component of overtime in excess of a normal working day. |
overTimeMinutes |
Int |
0-59 |
N/A |
The minutes component of overtime in excess of a normal working day. |
overTimeSeconds |
Int |
0-59 |
N/A |
The seconds component of overtime in excess of a normal working day. |
extraHours |
Int |
0-24 |
N/A |
The hours component of extra time in excess of overtime and the normal working day. |
extraMinutes |
Int |
0-59 |
N/A |
The minutes component of overtime in excess of overtime and the normal working day. |
extraSeconds |
Int |
0-59 |
N/A |
The seconds component of overtime in excess of overtime and the normal working day. |
rateCode |
String |
50 |
N/A |
Customer specified Rate Code setup for the provided device & task combination. |
customFields |
Array of CustomField |
N/A |
N/A |
The custom fields that are belong to this task. |
Name |
Type |
Size |
Required |
Description |
name |
String |
25 |
N/A |
The name of the organisation. |
description |
String |
50 |
N/A |
The description of the organisation. |
accountNumber |
String |
25 |
N/A |
The account number of the organisation. |
contactName |
String |
30 |
N/A |
The name of the contact person for the organisation. |
contactWorkPhone |
String |
30 |
N/A |
The contact person's work number. |
contactMobilePhone |
String |
30 |
N/A |
The contact person's mobile number. |
contactEmailAddress |
String |
30 |
N/A |
The contact person's email address. |
address1 |
String |
200 |
N/A |
Address line 1 for the organisation (street address) |
address2 |
String |
30 |
N/A |
Address line 2 for the organisation (suburb/town) |
address3 |
String |
30 |
N/A |
Address line 3 for the organisation (city) |
address4 |
String |
30 |
N/A |
Address line 4 for the organisation (state/region) |
locale |
String |
10 |
N/A |
Locale of the organisation (made up of language, country and variant codes - see java doc for more info) |