Adds timesheets for the specified business. This will not replace any existing timesheets. The timesheets should be grouped by their associated employee IDs, with the key for the timesheet array being the employee ID. For a Standard Employee ID Type, make sure the employee ID is an integer. IMPORTANT NOTICE: If units are specified the start and end time will be changed to midnight
POST http:///api/v2/business/{businessId}/timesheet/bulk
  | Parameter name | Value | Description | Additional | 
|---|---|---|---|
| businessId | string | Required | 
The request body takes a complete UkSubmitTimesheetsRequest resource, containing the following writable properties:
{
    "approved": "boolean",
    "employeeIdType": "string",
    "fromDate": "date-time",
    "locationIdType": "string",
    "replaceExisting": "boolean",
    "returnResponse": "boolean",
    "timesheets": {
        "<key>": "array"
    },
    "toDate": "date-time",
    "workTypeIdType": "string"
}| Name | Type | Description | 
|---|---|---|
| approved | boolean | Boolean | 
| employeeIdType | string | IdType Possible values are: 
 | 
| fromDate | date-time | Nullable | 
| locationIdType | string | IdType Possible values are: 
 | 
| replaceExisting | boolean | Boolean | 
| returnResponse | boolean | Boolean | 
| timesheets | object | IDictionary | 
| timesheets.<key> | map of array | IList | 
| timesheets.<key>.attachment | object | Attachment | 
| timesheets.<key>.attachment.data | byte | Byte[] | 
| timesheets.<key>.attachment.dateCreated | date-time | Nullable | 
| timesheets.<key>.attachment.dateScanned | date-time | Nullable | 
| timesheets.<key>.attachment.friendlyName | string | String | 
| timesheets.<key>.attachment.id | int32 | Nullable | 
| timesheets.<key>.attachment.isDeleted | boolean | Boolean | 
| timesheets.<key>.attachment.isInfected | boolean | Nullable | 
| timesheets.<key>.attachment.url | string | String | 
| timesheets.<key>.attachmentId | int32 | Nullable | 
| timesheets.<key>.breaks[] | array | |
| timesheets.<key>.breaks[].endTime | date-time | Nullable | 
| timesheets.<key>.breaks[].isPaidBreak | boolean | Boolean | 
| timesheets.<key>.breaks[].startTime | date-time | Nullable | 
| timesheets.<key>.comments | string | String | 
| timesheets.<key>.dimensionValueIds[] | array of int32 | |
| timesheets.<key>.employeeId | int32 | Int32 | 
| timesheets.<key>.endTime | date-time | Nullable | 
| timesheets.<key>.externalId | string | String | 
| timesheets.<key>.fullyQualifiedLocationName | string | String | 
| timesheets.<key>.hiddenComments | string | String | 
| timesheets.<key>.id | int32 | Int32 | 
| timesheets.<key>.leaveCategoryId | string | String | 
| timesheets.<key>.locationId | string | String | 
| timesheets.<key>.locationIsDeleted | boolean | Boolean | 
| timesheets.<key>.payCategoryId | string | String | 
| timesheets.<key>.rate | double | Nullable | 
| timesheets.<key>.shiftConditionIds[] | array of string | |
| timesheets.<key>.shiftConditions[] | array | |
| timesheets.<key>.shiftConditions[].id | int32 | Int32 | 
| timesheets.<key>.shiftConditions[].name | string | String | 
| timesheets.<key>.source | string | ExternalService Possible values are: 
 | 
| timesheets.<key>.startTime | date-time | Nullable | 
| timesheets.<key>.status | string | String | 
| timesheets.<key>.submittedByUser | string | String | 
| timesheets.<key>.unitType | string | Nullable Possible values are: 
 | 
| timesheets.<key>.units | double | Nullable | 
| timesheets.<key>.workType | string | String | 
| timesheets.<key>.workTypeId | string | String | 
| toDate | date-time | Nullable | 
| workTypeIdType | string | IdType Possible values are: 
 | 
The following HTTP status codes may be returned, optionally with a response resource.
| Status code | Description | Resource | 
|---|---|---|
| 200 | OK OK | UkSubmitTimesheetsResponse |