{
    "attachment": {
        "data": "byte",
        "dateCreated": "date-time",
        "dateScanned": "date-time",
        "friendlyName": "string",
        "id": "int32",
        "isDeleted": "boolean",
        "isInfected": "boolean",
        "url": "string"
    },
    "autoApprovedByRosterShiftId": "int32",
    "breaks": [
        {
            "end": "date-time",
            "formattedEnd": "string",
            "formattedStart": "string",
            "id": "int32",
            "isPaidBreak": "boolean",
            "start": "date-time",
            "submittedEnd": "date-time",
            "submittedStart": "date-time"
        }
    ],
    "breaksDurationInMinutes": "int32",
    "canDelete": "boolean",
    "canEdit": "boolean",
    "classificationId": "int32",
    "classificationName": "string",
    "comments": "string",
    "cost": "double",
    "costByLocation": "double",
    "costingData": {
        "allowances": [
            {
                "classification": {
                    "id": "int32",
                    "name": "string",
                    "rank": "int32"
                },
                "cost": "double",
                "option": "string",
                "payCategory": "string",
                "payCategoryId": "int32",
                "rateMultiplier": "double",
                "type": "string",
                "units": "double"
            }
        ],
        "isConsolidated": "boolean",
        "liabilities": [
            {
                "amount": "double",
                "cost": "double",
                "includeInShiftCost": "boolean",
                "liabilityCategoryId": "int32",
                "liabilityCategoryName": "string",
                "option": "string"
            }
        ],
        "shiftParts": [
            {
                "actualDuration": "string",
                "baseRate": "double",
                "calculatedRate": "double",
                "classification": {
                    "id": "int32",
                    "name": "string",
                    "rank": "int32"
                },
                "cost": "double",
                "displayDuration": "string",
                "effectiveDuration": "string",
                "endTime": "date-time",
                "isAllowanceOrUnitBased": "boolean",
                "isBreak": "boolean",
                "isPaidBreak": "boolean",
                "leaveCategory": {
                    "id": "int32",
                    "name": "string"
                },
                "location": {
                    "id": "int32",
                    "name": "string",
                    "state": "string"
                },
                "payCategory": "string",
                "payCategoryId": "int32",
                "rateMultiplier": "double",
                "startTime": "date-time",
                "workType": {
                    "id": "int32",
                    "linkType": "string",
                    "name": "string"
                }
            }
        ]
    },
    "costingDataByLocation": {
        "allowances": [
            {
                "classification": {
                    "id": "int32",
                    "name": "string",
                    "rank": "int32"
                },
                "cost": "double",
                "option": "string",
                "payCategory": "string",
                "payCategoryId": "int32",
                "rateMultiplier": "double",
                "type": "string",
                "units": "double"
            }
        ],
        "isConsolidated": "boolean",
        "liabilities": [
            {
                "amount": "double",
                "cost": "double",
                "includeInShiftCost": "boolean",
                "liabilityCategoryId": "int32",
                "liabilityCategoryName": "string",
                "option": "string"
            }
        ],
        "shiftParts": [
            {
                "actualDuration": "string",
                "baseRate": "double",
                "calculatedRate": "double",
                "classification": {
                    "id": "int32",
                    "name": "string",
                    "rank": "int32"
                },
                "cost": "double",
                "displayDuration": "string",
                "effectiveDuration": "string",
                "endTime": "date-time",
                "isAllowanceOrUnitBased": "boolean",
                "isBreak": "boolean",
                "isPaidBreak": "boolean",
                "leaveCategory": {
                    "id": "int32",
                    "name": "string"
                },
                "location": {
                    "id": "int32",
                    "name": "string",
                    "state": "string"
                },
                "payCategory": "string",
                "payCategoryId": "int32",
                "rateMultiplier": "double",
                "startTime": "date-time",
                "workType": {
                    "id": "int32",
                    "linkType": "string",
                    "name": "string"
                }
            }
        ]
    },
    "dimensionValueIds": [
        "int32"
    ],
    "discard": "boolean",
    "durationOverride": "string",
    "employeeId": "int32",
    "employeeName": "string",
    "end": "date-time",
    "externalReferenceId": "string",
    "hiddenComments": "string",
    "id": "int32",
    "ignoreRounding": "boolean",
    "isLocked": "boolean",
    "isOverlapping": "boolean",
    "isUnitBasedWorkType": "boolean",
    "leaveCategoryId": "int32",
    "leaveRequestId": "int32",
    "locationId": "int32",
    "locationIsDeleted": "boolean",
    "locationName": "string",
    "overdrawsLeave": "boolean",
    "payCategoryId": "int32",
    "payRunId": "int32",
    "paySlipUrl": "string",
    "rate": "double",
    "readOnly": "boolean",
    "reviewedBy": "string",
    "shiftConditionIds": [
        "int32"
    ],
    "source": "string",
    "start": "date-time",
    "status": "string",
    "statusId": "int32",
    "submittedEnd": "date-time",
    "submittedStart": "date-time",
    "totalDurationInMinutes": "int32",
    "unitType": "string",
    "units": "double",
    "workDurationInMinutes": "int32",
    "workTypeId": "int32",
    "workTypeName": "string"
}| Name | Type | Description | 
|---|---|---|
| attachment | object | Attachment | 
| attachment.data | byte | Byte[] | 
| attachment.dateCreated | date-time | Nullable | 
| attachment.dateScanned | date-time | Nullable | 
| attachment.friendlyName | string | String | 
| attachment.id | int32 | Nullable | 
| attachment.isDeleted | boolean | Boolean | 
| attachment.isInfected | boolean | Nullable | 
| attachment.url | string | String | 
| autoApprovedByRosterShiftId | int32 | Nullable | 
| breaks[] | array | |
| breaks[].end | date-time | Nullable | 
| breaks[].formattedEnd | string | String | 
| breaks[].formattedStart | string | String | 
| breaks[].id | int32 | Int32 | 
| breaks[].isPaidBreak | boolean | Boolean | 
| breaks[].start | date-time | Nullable | 
| breaks[].submittedEnd | date-time | Nullable | 
| breaks[].submittedStart | date-time | Nullable | 
| breaksDurationInMinutes | int32 | Int32 | 
| canDelete | boolean | Boolean | 
| canEdit | boolean | Boolean | 
| classificationId | int32 | Nullable | 
| classificationName | string | String | 
| comments | string | String | 
| cost | double | Nullable | 
| costByLocation | double | Nullable | 
| costingData | object | ShiftCostingData | 
| costingData.allowances[] | array | |
| costingData.allowances[].classification | object | NominalClassification | 
| costingData.allowances[].classification.id | int32 | Int32 | 
| costingData.allowances[].classification.name | string | String | 
| costingData.allowances[].classification.rank | int32 | Int32 | 
| costingData.allowances[].cost | double | Decimal | 
| costingData.allowances[].option | string | ShiftAllowanceOption Possible values are: 
 | 
| costingData.allowances[].payCategory | string | String | 
| costingData.allowances[].payCategoryId | int32 | Int32 | 
| costingData.allowances[].rateMultiplier | double | Decimal | 
| costingData.allowances[].type | string | ShiftAllowanceType Possible values are: 
 | 
| costingData.allowances[].units | double | Decimal | 
| costingData.isConsolidated | boolean | Boolean | 
| costingData.liabilities[] | array | |
| costingData.liabilities[].amount | double | Decimal | 
| costingData.liabilities[].cost | double | Decimal | 
| costingData.liabilities[].includeInShiftCost | boolean | Boolean | 
| costingData.liabilities[].liabilityCategoryId | int32 | Int32 | 
| costingData.liabilities[].liabilityCategoryName | string | String | 
| costingData.liabilities[].option | string | ShiftAllowanceOption Possible values are: 
 | 
| costingData.shiftParts[] | array | |
| costingData.shiftParts[].actualDuration | string | TimeSpan | 
| costingData.shiftParts[].baseRate | double | Decimal | 
| costingData.shiftParts[].calculatedRate | double | Decimal | 
| costingData.shiftParts[].classification | object | NominalClassification | 
| costingData.shiftParts[].classification.id | int32 | Int32 | 
| costingData.shiftParts[].classification.name | string | String | 
| costingData.shiftParts[].classification.rank | int32 | Int32 | 
| costingData.shiftParts[].cost | double | Decimal | 
| costingData.shiftParts[].displayDuration | string | String | 
| costingData.shiftParts[].effectiveDuration | string | TimeSpan | 
| costingData.shiftParts[].endTime | date-time | DateTime | 
| costingData.shiftParts[].isAllowanceOrUnitBased | boolean | Boolean | 
| costingData.shiftParts[].isBreak | boolean | Boolean | 
| costingData.shiftParts[].isPaidBreak | boolean | Boolean | 
| costingData.shiftParts[].leaveCategory | object | NominalLeaveCategory | 
| costingData.shiftParts[].leaveCategory.id | int32 | Int32 | 
| costingData.shiftParts[].leaveCategory.name | string | String | 
| costingData.shiftParts[].location | object | NominalLocation | 
| costingData.shiftParts[].location.id | int32 | Int32 | 
| costingData.shiftParts[].location.name | string | String | 
| costingData.shiftParts[].location.state | string | String | 
| costingData.shiftParts[].payCategory | string | String | 
| costingData.shiftParts[].payCategoryId | int32 | Int32 | 
| costingData.shiftParts[].rateMultiplier | double | Nullable | 
| costingData.shiftParts[].startTime | date-time | DateTime | 
| costingData.shiftParts[].workType | object | NominalWorkType | 
| costingData.shiftParts[].workType.id | int32 | Int32 | 
| costingData.shiftParts[].workType.linkType | string | WorkTypeLinkTypeRestriction Possible values are: 
 | 
| costingData.shiftParts[].workType.name | string | String | 
| costingDataByLocation | object | ShiftCostingData | 
| costingDataByLocation.allowances[] | array | |
| costingDataByLocation.allowances[].classification | object | NominalClassification | 
| costingDataByLocation.allowances[].classification.id | int32 | Int32 | 
| costingDataByLocation.allowances[].classification.name | string | String | 
| costingDataByLocation.allowances[].classification.rank | int32 | Int32 | 
| costingDataByLocation.allowances[].cost | double | Decimal | 
| costingDataByLocation.allowances[].option | string | ShiftAllowanceOption Possible values are: 
 | 
| costingDataByLocation.allowances[].payCategory | string | String | 
| costingDataByLocation.allowances[].payCategoryId | int32 | Int32 | 
| costingDataByLocation.allowances[].rateMultiplier | double | Decimal | 
| costingDataByLocation.allowances[].type | string | ShiftAllowanceType Possible values are: 
 | 
| costingDataByLocation.allowances[].units | double | Decimal | 
| costingDataByLocation.isConsolidated | boolean | Boolean | 
| costingDataByLocation.liabilities[] | array | |
| costingDataByLocation.liabilities[].amount | double | Decimal | 
| costingDataByLocation.liabilities[].cost | double | Decimal | 
| costingDataByLocation.liabilities[].includeInShiftCost | boolean | Boolean | 
| costingDataByLocation.liabilities[].liabilityCategoryId | int32 | Int32 | 
| costingDataByLocation.liabilities[].liabilityCategoryName | string | String | 
| costingDataByLocation.liabilities[].option | string | ShiftAllowanceOption Possible values are: 
 | 
| costingDataByLocation.shiftParts[] | array | |
| costingDataByLocation.shiftParts[].actualDuration | string | TimeSpan | 
| costingDataByLocation.shiftParts[].baseRate | double | Decimal | 
| costingDataByLocation.shiftParts[].calculatedRate | double | Decimal | 
| costingDataByLocation.shiftParts[].classification | object | NominalClassification | 
| costingDataByLocation.shiftParts[].classification.id | int32 | Int32 | 
| costingDataByLocation.shiftParts[].classification.name | string | String | 
| costingDataByLocation.shiftParts[].classification.rank | int32 | Int32 | 
| costingDataByLocation.shiftParts[].cost | double | Decimal | 
| costingDataByLocation.shiftParts[].displayDuration | string | String | 
| costingDataByLocation.shiftParts[].effectiveDuration | string | TimeSpan | 
| costingDataByLocation.shiftParts[].endTime | date-time | DateTime | 
| costingDataByLocation.shiftParts[].isAllowanceOrUnitBased | boolean | Boolean | 
| costingDataByLocation.shiftParts[].isBreak | boolean | Boolean | 
| costingDataByLocation.shiftParts[].isPaidBreak | boolean | Boolean | 
| costingDataByLocation.shiftParts[].leaveCategory | object | NominalLeaveCategory | 
| costingDataByLocation.shiftParts[].leaveCategory.id | int32 | Int32 | 
| costingDataByLocation.shiftParts[].leaveCategory.name | string | String | 
| costingDataByLocation.shiftParts[].location | object | NominalLocation | 
| costingDataByLocation.shiftParts[].location.id | int32 | Int32 | 
| costingDataByLocation.shiftParts[].location.name | string | String | 
| costingDataByLocation.shiftParts[].location.state | string | String | 
| costingDataByLocation.shiftParts[].payCategory | string | String | 
| costingDataByLocation.shiftParts[].payCategoryId | int32 | Int32 | 
| costingDataByLocation.shiftParts[].rateMultiplier | double | Nullable | 
| costingDataByLocation.shiftParts[].startTime | date-time | DateTime | 
| costingDataByLocation.shiftParts[].workType | object | NominalWorkType | 
| costingDataByLocation.shiftParts[].workType.id | int32 | Int32 | 
| costingDataByLocation.shiftParts[].workType.linkType | string | WorkTypeLinkTypeRestriction Possible values are: 
 | 
| costingDataByLocation.shiftParts[].workType.name | string | String | 
| dimensionValueIds[] | array of int32 | |
| discard | boolean | Boolean | 
| durationOverride | string | Nullable | 
| employeeId | int32 | Int32 | 
| employeeName | string | String | 
| end | date-time | Nullable | 
| externalReferenceId | string | String | 
| hiddenComments | string | String | 
| id | int32 | Int32 | 
| ignoreRounding | boolean | Boolean | 
| isLocked | boolean | Boolean | 
| isOverlapping | boolean | Boolean | 
| isUnitBasedWorkType | boolean | Boolean | 
| leaveCategoryId | int32 | Nullable | 
| leaveRequestId | int32 | Nullable | 
| locationId | int32 | Nullable | 
| locationIsDeleted | boolean | Boolean | 
| locationName | string | String | 
| overdrawsLeave | boolean | Boolean | 
| payCategoryId | int32 | Nullable | 
| payRunId | int32 | Nullable | 
| paySlipUrl | string | String | 
| rate | double | Nullable | 
| readOnly | boolean | Boolean | 
| reviewedBy | string | String | 
| shiftConditionIds[] | array of int32 | |
| source | string | ExternalService Possible values are: 
 | 
| start | date-time | Nullable | 
| status | string | TimesheetLineStatusType Possible values are: 
 | 
| statusId | int32 | Int32 | 
| submittedEnd | date-time | Nullable | 
| submittedStart | date-time | Nullable | 
| totalDurationInMinutes | int32 | Int32 | 
| unitType | string | String | 
| units | double | Nullable | 
| workDurationInMinutes | int32 | Int32 | 
| workTypeId | int32 | Nullable | 
| workTypeName | string | String |