Labor Reports
GET /locations/:locationId/reports/labor
https://restaurantapi-qa.spoton.com/posexport/v1/locations/:locationId/reports/labor?businessDateKey={{businessDateKey}}
curl --location -g --request GET 'https://restaurantapi-qa.spoton.com/posexport/v1/locations//reports/labor?businessDateKey={{businessDateKey}}' \
--header 'x-api-key;'
Retrieves labor data from SpotOn's Reporting Warehouse for the supplied location and business date (expressed as "YYYYMMDD"). Since this endpoint retrieves data from the warehouse rather the the POS, all historical labor data is available for the location. This also means that there will be lag in terms of data updates for the current business day since the data must flow from the POS to the warehouse via a "non-realtime" ETL process.
Response Payload Structure
The response body for a "200 OK" response will contain a JSON array of time clock entry objects that include overtime data. Each object in the array will be structured as follows:
Field Name | Field Type | Field Description | Org Level Attribute* |
---|---|---|---|
locationId | string | The unique ID for the location. | |
businessDateKey | string | The "YYYYMMDD" representation of the business date that the labor data was retrieved for. | |
employeeId | string | The unique ID of the employee that the time clock entry is for. | Yes |
employeeFullName | string | The first and last name of the employee. | |
jobPositionId | string | The unique ID of the job position that the employee clocked in under. | Yes |
jobPositionName | string | The name of the job position that the employee clocked in under. | Yes |
timeClockEntryId | string | The unique ID of the underlying time clock entry. | |
inAt | string | The RFC 3339 formatted date/time that the shift began. | |
outAt | string | The RFC 3339 formatted date/time that the shift ended. This value will be null if the shift is currently in progress. Important Note: If this value is null, the time sensitive data for this time clock entry will usually be up to date as of the "lastUpdateDate", minus 10 seconds or so, due to the lag that occurs between the time that the ETL retrieves the data from the POS, and the time that the ETL updates the reporting warehouse. | |
regularSecondsWorked | int64 | An integer representing the number of "regular time" seconds worked. | |
regularPayRateAmount | DOLLARAMOUNT | The hourly regular pay rate in effect for this time clock entry. | |
regularPayAmount | DOLLARAMOUNT | The "regular time" pay total. | |
overtimeSecondsWorked | int64 | An integer representing the number of overtime seconds worked. | |
overtimePayRateAmount | DOLLARAMOUNT | The hourly overtime pay rate in effect for this time clock entry. | |
overtimePayAmount | DOLLARAMOUNT | The overtime pay total. | |
totalPayAmount | DOLLARAMOUNT | Total pay including regular and overtime pay. | |
declaredCashTipsAmount | DOLLARAMOUNT | The declared amount of cash tips collected by the employee during the shift that this time clock entry represents. | |
declaredCashTipsToOthersAmount | DOLLARAMOUNT | The declared amount of cash tips collected by the employee, but given to others for the shift that this time clock entry represents. | |
unpaidBreakSeconds | int64 | An integer representing break time in seconds. Note that this value is truncated to the minute. | |
lastUpdatedAt | string | The RFC 3339 formatted date/time that the time clock entry data was last updated in the reporting warehouse database. |
DOLLARAMOUNT
An amount in US dollars expressed as a decimal number string. For example, $1.10 will be represented as "1.10".
*Note that the values of fields marked as "Org Level Attribute" are shared amongst all locations that reside in the same POS organization.
Example Response
[
{
"locationId": "Location7372",
"businessDateKey": "20210316",
"employeeId": "3xuxgwdl1nhspglemwmqx1lerq",
"employeeFullName": "Mackenzie Caputo",
"jobPositionId": "5fc958db98f9f200087179c6",
"jobPositionName": "Cashier",
"timeClockEntryId": "0dmrdpup1fhmzl153zkp51b3gy",
"inAt": "2021-03-16T15:01:34Z",
"outAt": "2021-03-16T20:30:12Z",
"regularSecondsWorked": 18168,
"regularPayRateAmount": "13.50",
"regularPayAmount": "68.13",
"overtimeSecondsWorked": 0,
"overtimePayRateAmount": "20.25",
"overtimePayAmount": "0.00",
"totalPayAmount": "68.13",
"declaredCashTipsAmount": "0.00",
"declaredCashTipsToOthersAmount": "0.00",
"unpaidBreakSeconds": 1560,
"lastUpdatedAt": "2021-03-16T20:32:24Z"
}
]
Headers | |
---|---|
x-api-key | Your API Key |
Params | |
---|---|
businessDateKey | {{businessDateKey}} The "YYYYMMDD" representation of the business date to retrieve labor data for. |
Path Variables | |
---|---|
locationId | The unique ID for the location |
GET/locations/:locationId/reports/labor-time-frame
https://restaurantapi-qa.spoton.com/posexport/v1/locations/:locationId/reports/labor?startDateKey={{startDateKey}}&endDateKey={{endDateKey}}
curl --location -g --request GET 'https://restaurantapi-qa.spoton.com/posexport/v1/locations//reports/labor?startDateKey={{startDateKey}}&endDateKey={{endDateKey}}' \
--header 'x-api-key;'
Retrieves labor data from SpotOn's Reporting Warehouse for the supplied location and business date (expressed as "YYYYMMDD"). Since this endpoint retrieves data from the warehouse rather the the POS, all historical labor data is available for the location. This also means that there will be lag in terms of data updates for the current business day since the data must flow from the POS to the warehouse via a "non-realtime" ETL process.
Response Payload Structure
The response body for a "200 OK" response will contain a JSON array of time clock entry objects that include overtime data.
Headers | |
---|---|
x-api-key | Your API Key |
Params | |
---|---|
startDateKey | {{startDateKey}} The "YYYYMMDD" representation of the start date to retrieve labor data for. |
endDateKey | {{endDateKey}} The "YYYYMMDD" representation of the end date to retrieve labor data for. |
Path Variables | |
---|---|
locationId | The unique ID for the location |
Updated over 2 years ago