Save multiple user_timesheet records in a single batch request. This API is used by the Synchronization module to send multiple records in one request instead of sending each record individually, which: 1. Reduces the number of HTTP requests. 2. Improves performance and efficiency. The batch processing logic (deserialize, validation, transaction handling, saving, and logging) is handled by BatchSaveHelper. Each record will return its own ResponseResult indicating success or failure.
Request Information
URI Parameters :
None.
Body Parameters :
user_timesheet| Name | Description | Type | Additional information |
|---|---|---|---|
| id |
Primary Key |
globally unique identifier | |
| user_id | globally unique identifier | ||
| hour_type_id |
Foreign key of the hour type |
globally unique identifier |
Required |
| date_from |
Date+Time timesheet FROM |
date |
Required |
| date_from_rounded |
Date+Time timesheet FROM |
date |
Required |
| date_to |
Date+Time timesheet TO |
date |
Required |
| date_to_rounded |
Date+Time timesheet TO |
date |
Required |
| remark |
Additional remark field |
string |
Max length: 4000 |
| is_approved |
Inform if this user_timesheet belongs to a week approved (readonly) |
boolean | |
| is_start_stop | boolean | ||
| is_time_for_money | boolean | ||
| db_table_id |
Foreign key to the table timesheet is linked. Can be a jobs,project,company or empty |
globally unique identifier | |
| id_in_table |
Foreign key of the object linked. Can be a jobs.id, project.id , company.id or empty |
globally unique identifier | |
| property_1_checked | boolean | ||
| property_2_checked | boolean | ||
| property_3_checked | boolean | ||
| property_4_checked | boolean | ||
| property_5_checked | boolean | ||
| start_latitude_decimal | decimal number | ||
| start_longitude_decimal | decimal number | ||
| end_latitude_decimal | decimal number | ||
| end_longitude_decimal | decimal number | ||
| modified_dateutc |
Readonly system field managed by database, filled with GetUtcDate when adding,updating |
date | |
| is_confirmed |
offline field: is_confirmed flag |
boolean |
Request Formats :
application/json, text/json
{
"id": "47cea1ea-526f-4513-b3f4-bc98d2953701",
"user_id": "d8ced7ec-e221-483f-9aea-40cfb8361124",
"hour_type_id": "30833d43-bf18-4e0c-bf32-c57792bedd45",
"date_from": "2026-06-16T21:15:43.19725+00:00",
"date_from_rounded": "2026-06-16T21:15:43.19725+00:00",
"date_to": "2026-06-16T21:15:43.19725+00:00",
"date_to_rounded": "2026-06-16T21:15:43.19725+00:00",
"remark": "sample string 8",
"is_approved": true,
"is_start_stop": true,
"is_time_for_money": true,
"db_table_id": "5465df77-ca76-481a-b85b-022a2c48729c",
"id_in_table": "8c06b2a1-4932-4f13-b59f-75cf52b97d53",
"property_1_checked": true,
"property_2_checked": true,
"property_3_checked": true,
"property_4_checked": true,
"property_5_checked": true,
"start_latitude_decimal": 19.0,
"start_longitude_decimal": 20.0,
"end_latitude_decimal": 21.0,
"end_longitude_decimal": 22.0,
"modified_dateutc": "2026-06-16T21:15:43.19725+00:00",
"is_confirmed": true
}
application/xml, text/xml
<user_timesheet xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <date_from>2026-06-16T21:15:43.197Z</date_from> <date_from_rounded>2026-06-16T21:15:43.197Z</date_from_rounded> <date_to>2026-06-16T21:15:43.197Z</date_to> <date_to_rounded>2026-06-16T21:15:43.197Z</date_to_rounded> <db_table_id>5465df77-ca76-481a-b85b-022a2c48729c</db_table_id> <end_latitude_decimal>21</end_latitude_decimal> <end_longitude_decimal>22</end_longitude_decimal> <hour_type_id>30833d43-bf18-4e0c-bf32-c57792bedd45</hour_type_id> <id>47cea1ea-526f-4513-b3f4-bc98d2953701</id> <id_in_table>8c06b2a1-4932-4f13-b59f-75cf52b97d53</id_in_table> <is_approved>true</is_approved> <is_confirmed>true</is_confirmed> <is_start_stop>true</is_start_stop> <is_time_for_money>true</is_time_for_money> <modified_dateutc>2026-06-16T21:15:43.197Z</modified_dateutc> <property_1_checked>true</property_1_checked> <property_2_checked>true</property_2_checked> <property_3_checked>true</property_3_checked> <property_4_checked>true</property_4_checked> <property_5_checked>true</property_5_checked> <remark>sample string 8</remark> <start_latitude_decimal>19</start_latitude_decimal> <start_longitude_decimal>20</start_longitude_decimal> <user_id>d8ced7ec-e221-483f-9aea-40cfb8361124</user_id> </user_timesheet>
Response Information
Resource Description :
IHttpActionResult containing batch save results.
user_timesheet| Name | Description | Type | Additional information |
|---|---|---|---|
| id |
Primary Key |
globally unique identifier | |
| user_id | globally unique identifier | ||
| hour_type_id |
Foreign key of the hour type |
globally unique identifier |
Required |
| date_from |
Date+Time timesheet FROM |
date |
Required |
| date_from_rounded |
Date+Time timesheet FROM |
date |
Required |
| date_to |
Date+Time timesheet TO |
date |
Required |
| date_to_rounded |
Date+Time timesheet TO |
date |
Required |
| remark |
Additional remark field |
string |
Max length: 4000 |
| is_approved |
Inform if this user_timesheet belongs to a week approved (readonly) |
boolean | |
| is_start_stop | boolean | ||
| is_time_for_money | boolean | ||
| db_table_id |
Foreign key to the table timesheet is linked. Can be a jobs,project,company or empty |
globally unique identifier | |
| id_in_table |
Foreign key of the object linked. Can be a jobs.id, project.id , company.id or empty |
globally unique identifier | |
| property_1_checked | boolean | ||
| property_2_checked | boolean | ||
| property_3_checked | boolean | ||
| property_4_checked | boolean | ||
| property_5_checked | boolean | ||
| start_latitude_decimal | decimal number | ||
| start_longitude_decimal | decimal number | ||
| end_latitude_decimal | decimal number | ||
| end_longitude_decimal | decimal number | ||
| modified_dateutc |
Readonly system field managed by database, filled with GetUtcDate when adding,updating |
date | |
| is_confirmed |
offline field: is_confirmed flag |
boolean |
Response Formats
application/json, text/json
{
"id": "00296ad8-3766-4bec-afb8-3d852141be62",
"user_id": "4af80509-e1cb-4cc1-acc1-310619f03ed6",
"hour_type_id": "40359fd1-e80b-4566-8325-88d4c08dc61f",
"date_from": "2026-06-16T21:15:43.2576823+00:00",
"date_from_rounded": "2026-06-16T21:15:43.2576823+00:00",
"date_to": "2026-06-16T21:15:43.2576823+00:00",
"date_to_rounded": "2026-06-16T21:15:43.2576823+00:00",
"remark": "sample string 8",
"is_approved": true,
"is_start_stop": true,
"is_time_for_money": true,
"db_table_id": "a398ebd1-11f1-4d5f-ad8e-2a321956fbcf",
"id_in_table": "f222d3e1-e328-4feb-8909-fb41966d2539",
"property_1_checked": true,
"property_2_checked": true,
"property_3_checked": true,
"property_4_checked": true,
"property_5_checked": true,
"start_latitude_decimal": 19.0,
"start_longitude_decimal": 20.0,
"end_latitude_decimal": 21.0,
"end_longitude_decimal": 22.0,
"modified_dateutc": "2026-06-16T21:15:43.2576823+00:00",
"is_confirmed": true
}
application/xml, text/xml
<user_timesheet xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <date_from>2026-06-16T21:15:43.257Z</date_from> <date_from_rounded>2026-06-16T21:15:43.257Z</date_from_rounded> <date_to>2026-06-16T21:15:43.257Z</date_to> <date_to_rounded>2026-06-16T21:15:43.257Z</date_to_rounded> <db_table_id>a398ebd1-11f1-4d5f-ad8e-2a321956fbcf</db_table_id> <end_latitude_decimal>21</end_latitude_decimal> <end_longitude_decimal>22</end_longitude_decimal> <hour_type_id>40359fd1-e80b-4566-8325-88d4c08dc61f</hour_type_id> <id>00296ad8-3766-4bec-afb8-3d852141be62</id> <id_in_table>f222d3e1-e328-4feb-8909-fb41966d2539</id_in_table> <is_approved>true</is_approved> <is_confirmed>true</is_confirmed> <is_start_stop>true</is_start_stop> <is_time_for_money>true</is_time_for_money> <modified_dateutc>2026-06-16T21:15:43.257Z</modified_dateutc> <property_1_checked>true</property_1_checked> <property_2_checked>true</property_2_checked> <property_3_checked>true</property_3_checked> <property_4_checked>true</property_4_checked> <property_5_checked>true</property_5_checked> <remark>sample string 8</remark> <start_latitude_decimal>19</start_latitude_decimal> <start_longitude_decimal>20</start_longitude_decimal> <user_id>4af80509-e1cb-4cc1-acc1-310619f03ed6</user_id> </user_timesheet>