Retrieve Timecard Data for Multiple Employees

This operation returns timecard data for a set of employees or locations.

The data included in the response can be specified via the select property. Search criteria includes the following: FTPTDATA_ALL, FTPTDATA, AVERAGING, SCHEDULED_TOTALS, PROJECTED_TOTALS, PROJECTED_TOTALS_ONLY_CORRECTIONS, PROJECTED_TOTALS_EXCLUDE_CORRECTIONS, ACTUAL_TOTALS, ACTUAL_TOTALS_ONLY_CORRECTIONS, ACTUAL_TOTALS_EXCLUDE_CORRECTIONS, EXCEPTION_TOTAL, EXCEPTION_TOTAL_UNREVIEWED, EXCEPTION_TOTAL_EMPLOYEE_JUSTIFIED, EXCEPTION_TOTAL_MANAGER_JUSTIFIED, EXCEPTION_TOTAL_AUTO_RESOLVED, SHIFT_ACTUAL_TOTAL_SUMMARY, SHIFT_SCHEDULED_TOTAL_SUMMARY, SHIFT_PROJECTED_TOTAL_SUMMARY, DAILY_ACTUAL_TOTAL_SUMMARY, DAILY_SCHEDULED_TOTAL_SUMMARY, DAILY_PROJECTED_TOTAL_SUMMARY, ACCRUAL_SUMMARY, ACCRUAL_TRANSACTIONS, ABSENCE_EXCEPTION, ISR_DAILY, ISR_SUMMARY.

  • FTPTDATA_ALL -- For each employee and pay code, this full time and part time data contains the number of weeks from a specified date range, the total number of hours worked during those weeks, and the average weekly hours worked.

  • FTPTDATA -- For each employee and pay code, this full time and part time data contains the number of weeks from a specified date range, the total number of hours worked during those weeks (including partial weeks), the number of worked weeks (a worked week is defined as having worked hours greater than 0 during that week), and the average weekly hours worked.

  • AVERAGING -- The average totals for a specified timeframe based on pay code and other selected rollup types.

  • SCHEDULED_TOTALS -- The totals from scheduled items.

  • PROJECTED_TOTALS -- The totals from projected items, including totals from historical corrections.

  • PROJECTED_TOTALS_ONLY_CORRECTIONS -- The totals from historical corrections based on a projection.

  • PROJECTED_TOTALS_EXCLUDE_CORRECTIONS -- The totals from a projection that exclude historical corrections.

  • ACTUAL_TOTALS -- The totals from actual worked items. Note: For security reasons, when selecting ACTUAL_TOTALS, your application should call this operation with the parameter partial_success set to true. In addition to providing better error handling, the parameter also correctly validates that the calling user has access to all the returned employee totals.

  • ACTUAL_TOTALS_ONLY_CORRECTIONS -- The totals from historical corrections for actual worked items.

  • ACTUAL_TOTALS_EXCLUDE_CORRECTIONS -- The totals from actual worked items that exclude historical corrections.

  • EXCEPTION_TOTAL -- The total number of exceptions.

  • EXCEPTION_TOTAL_UNREVIEWED -- The total number of unreviewed exceptions.

  • EXCEPTION_TOTAL_EMPLOYEE_JUSTIFIED -- The total number of employee justified exceptions.

  • EXCEPTION_TOTAL_MANAGER_JUSTIFIED -- The total number of manager justified exceptions.

  • EXCEPTION_TOTAL_AUTO_RESOLVED -- The total number of auto-resolved exceptions.

  • SHIFT_ACTUAL_TOTAL_SUMMARY -- The number of hours for actual worked items by shift.

  • SHIFT_SCHEDULED_TOTAL_SUMMARY -- The number of hours for scheduled work items by shift.

  • SHIFT_PROJECTED_TOTAL_SUMMARY -- The number of hours for projected work items by shift.

  • DAILY_ACTUAL_TOTAL_SUMMARY -- The number of hours for actual worked items by day. Note: When retrieving the DAILY_ACTUAL_TOTAL_SUMMARY, all standard pay codes for the period are returned and no filtering occurs.

  • DAILY_SCHEDULED_TOTAL_SUMMARY -- The number of hours for scheduled work items by day.

  • DAILY_PROJECTED_TOTAL_SUMMARY -- The number of hours for projected work items by day.

  • ACCRUAL_SUMMARY -- A daily summary of accruals and various balances for tracking periods.

  • ACCRUAL_TRANSACTIONS -- A list of accrual transactions within a specified timeframe.

  • ABSENCE_EXCEPTION -- A list of exceptions during a specified timeframe that are due to employee absence from scheduled shifts.

  • ISR_DAILY -- A Boolean indicator of whether or not to include summary report.

  • ISR_SUMMARY -- A Boolean indicator of whether or not to include daily report.

Service limit

A service limit constrains the number of employees multiplied by the number of days that can be processed in a single request.

  • The Number of Employees multiplied by the Number of Days cannot exceed 280,000.

Refer to the Limits topic for more information.

Multiple Positions feature

If the Multiple Positions feature switch is enabled, the attribute count of the response is computed based on exceptions and assignments and the position property appears in the response body. If the feature switch is disabled, the attribute count of the response is computed based on exceptions. The position property only supports the following select parameters in the request payload:

  • EXCEPTION_TOTAL

  • EXCEPTION_TOTAL_UNREVIEWED

  • EXCEPTION_TOTAL_EMPLOYEE_JUSTIFIED

  • EXCEPTION_TOTAL_MANAGER_JUSTIFIED

  • EXCEPTION_TOTAL_AUTO_RESOLVED

Notes

  • The ability to return wages in the response is controlled by the WAGES Access Control Point.

Request example

The following request payload demonstrates a valid call when the Multiple Assignments feature is enabled:

{
    "select": [
        "EXCEPTION_TOTAL",
        "EXCEPTION_TOTAL_UNREVIEWED",
        "EXCEPTION_TOTAL_EMPLOYEE_JUSTIFIED",
        "EXCEPTION_TOTAL_MANAGER_JUSTIFIED",
        "EXCEPTION_TOTAL_AUTO_RESOLVED"
    ],
    "where": {
        "employeeSet": {
            "dateRange": {
                "startDate":"2022-06-28",
                "endDate":"2022-07-28"
            },
            "employees": {
                "ids": [],
                "qualifiers": [],
                "refs": [
                    {
                        "id": 243
                    },
                    {
                        "id": 244
                    }
                ]
            }
        },
        "includeApprovingManagers": false
    },
    "rollupContext": {
        "byEmployee": true,
        "byPaycode": true,
        "byDate": true,
        "byDateRange": false,
        "byOrg": false,
        "byLaborCategory": false
    }
}

Response example

The following response body demonstrates a success response when the Multiple Assignments feature is enabled:

[
  {
    "employeeId": {
      "id": 244,
      "qualifier": "20336",
      "name": "20336"
    },
    "exceptioncounts": [
      {
        "uniqueId": "244:19:-244",
        "employee": {
          "id": 244,
          "qualifier": "20336",
          "name": "20336"
        },
        "exceptionType": {
          "id": 19,
          "name": "SHORT_TOTAL_BREAK",
          "description": "SHORT_TOTAL_BREAK_DSC",
          "displayName": "Short Total Break",
          "category": "BREAK_EXCEPTIONS"
        },
        "count": 1,
        "position": {
          "id": -244,
          "qualifier": "Assignment",
          "name": "Assignment"
        }
      },
      {
        "uniqueId": "244:16:-244",
        "employee": {
          "id": 244,
          "qualifier": "20336",
          "name": "20336"
        },
        "exceptionType": {
          "id": 16,
          "name": "MISSED_OUT_PUNCH",
          "description": "MISSED_OUT_PUNCH_DSC",
          "displayName": "Missed Out Punch",
          "category": "OUT_PUNCH_EXCEPTIONS"
        },
        "count": 1,
        "position": {
          "id": -244,
          "qualifier": "Assignment",
          "name": "Assignment"
        }
      },
      {
        "uniqueId": "244:10:-244",
        "employee": {
          "id": 244,
          "qualifier": "20336",
          "name": "20336"
        },
        "exceptionType": {
          "id": 10,
          "name": "UNEXCUSED_ABSENCE",
          "description": "UNEXCUSED_ABSENCE_DSC",
          "displayName": "Unexcused Absence",
          "category": "ABSENCE_EXCEPTIONS"
        },
        "count": 1,
        "position": {
          "id": -244,
          "qualifier": "Assignment",
          "name": "Assignment"
        }
      }
    ],
    "exceptioncountsUnreviewed": [
      {
        "uniqueId": "244:19:-244",
        "employee": {
          "id": 244,
          "qualifier": "20336",
          "name": "20336"
        },
        "exceptionType": {
          "id": 19,
          "name": "SHORT_TOTAL_BREAK",
          "description": "SHORT_TOTAL_BREAK_DSC",
          "displayName": "Short Total Break",
          "category": "BREAK_EXCEPTIONS"
        },
        "count": 1,
        "position": {
          "id": -244,
          "qualifier": "Assignment",
          "name": "Assignment"
        }
      },
      {
        "uniqueId": "244:16:-244",
        "employee": {
          "id": 244,
          "qualifier": "20336",
          "name": "20336"
        },
        "exceptionType": {
          "id": 16,
          "name": "MISSED_OUT_PUNCH",
          "description": "MISSED_OUT_PUNCH_DSC",
          "displayName": "Missed Out Punch",
          "category": "OUT_PUNCH_EXCEPTIONS"
        },
        "count": 1,
        "position": {
          "id": -244,
          "qualifier": "Assignment",
          "name": "Assignment"
        }
      },
      {
        "uniqueId": "244:10:-244",
        "employee": {
          "id": 244,
          "qualifier": "20336",
          "name": "20336"
        },
        "exceptionType": {
          "id": 10,
          "name": "UNEXCUSED_ABSENCE",
          "description": "UNEXCUSED_ABSENCE_DSC",
          "displayName": "Unexcused Absence",
          "category": "ABSENCE_EXCEPTIONS"
        },
        "count": 1,
        "position": {
          "id": -244,
          "qualifier": "Assignment",
          "name": "Assignment"
        }
      }
    ]
  },
  {
    "employeeId": {
      "id": 243,
      "qualifier": "20335",
      "name": "20335"
    },
    "exceptioncounts": [
      {
        "uniqueId": "243:10:126",
        "employee": {
          "id": 243,
          "qualifier": "20335",
          "name": "20335"
        },
        "exceptionType": {
          "id": 10,
          "name": "UNEXCUSED_ABSENCE",
          "description": "UNEXCUSED_ABSENCE_DSC",
          "displayName": "Unexcused Absence",
          "category": "ABSENCE_EXCEPTIONS"
        },
        "count": 1,
        "position": {
          "id": 126,
          "qualifier": "Assignment1",
          "name": "Assignment1"
        }
      },
      {
        "uniqueId": "243:10:-243",
        "employee": {
          "id": 243,
          "qualifier": "20335",
          "name": "20335"
        },
        "exceptionType": {
          "id": 10,
          "name": "UNEXCUSED_ABSENCE",
          "description": "UNEXCUSED_ABSENCE_DSC",
          "displayName": "Unexcused Absence",
          "category": "ABSENCE_EXCEPTIONS"
        },
        "count": 1,
        "position": {
          "id": -243,
          "qualifier": "Assignment",
          "name": "Assignment"
        }
      }
    ],
    "exceptioncountsUnreviewed": [
      {
        "uniqueId": "243:10:126",
        "employee": {
          "id": 243,
          "qualifier": "20335",
          "name": "20335"
        },
        "exceptionType": {
          "id": 10,
          "name": "UNEXCUSED_ABSENCE",
          "description": "UNEXCUSED_ABSENCE_DSC",
          "displayName": "Unexcused Absence",
          "category": "ABSENCE_EXCEPTIONS"
        },
        "count": 1,
        "position": {
          "id": 126,
          "qualifier": "Assignment1",
          "name": "Assignment1"
        }
      },
      {
        "uniqueId": "243:10:-243",
        "employee": {
          "id": 243,
          "qualifier": "20335",
          "name": "20335"
        },
        "exceptionType": {
          "id": 10,
          "name": "UNEXCUSED_ABSENCE",
          "description": "UNEXCUSED_ABSENCE_DSC",
          "displayName": "Unexcused Absence",
          "category": "ABSENCE_EXCEPTIONS"
        },
        "count": 1,
        "position": {
          "id": -243,
          "qualifier": "Assignment",
          "name": "Assignment"
        }
      }
    ]
  }
]

Language
Authorization
Bearer
JWT
URL