Save multiple job_non_part_usage records. This endpoint accepts a JSON array of job_non_part_usage objects, validates each record, applies default values, and saves them using the repository. The operation is executed through BatchSaveHelper and processed within a transaction. Each record returns its own ResponseResult indicating success or failure.

Request Information

URI Parameters :

None.

Body Parameters :

job_non_part_usage
NameDescriptionTypeAdditional information
id

Primary Key

globally unique identifier

Required

jobs_id

Foreign key of jobs

globally unique identifier

Required

user_id

Foreign key, user that makes the approval

globally unique identifier
source_db_table_id

Source Table used to generate this non part usage (Car_travel or user_timesheet)

globally unique identifier
source_id_in_table

Source Object Id used to generate this non part usage (car_travel.id or user_timesheet.id)

globally unique identifier
working_date

Date when the object has been generated

date

Required

timesheet_date_from

In the case of a timesheet, the date+time FROM

date
timesheet_date_to

In the case of a timesheet, the date+time TO

date
type_code

Type of Non part (WorkingTime or TravelTime)

string

Max length: 50

line_code

code generated from the hour_type.code

string

Max length: 50

description

description generated from the hour_type.commercial_description

string

Max length: 255

quantity

Quantity converted in decimal (45 minutes is 0.75)

decimal number
price

Unit Price computed via the hour_type (without discount)

decimal number
discount

decimal number
line_memo

Extra memo on the line filled by the User

string

Max length: 4000

job_approval_id

Foreign key to the approval this lines belongs In case the line was already "included" inside a job approval (daily for exemple), then that value is field and row is now readonly

globally unique identifier
hour_type_id

Hour type id

globally unique identifier
is_under_warranty

Checking for warranty

boolean
no_warranty_reason

Reason of no warranty

string
company_vat_id

globally unique identifier
vat_value

decimal number
vat_rate

decimal number
invoice_id

globally unique identifier
invoice_details_id

globally unique identifier
modified_dateutc

Readonly system field managed by database, filled with GetUtcDate when adding,updating

date

Request Formats :

application/json, text/json

Sample:
{
  "id": "70cc84b4-2314-480b-a1fc-a217ac3440b3",
  "jobs_id": "f15605a4-bf08-483b-bf43-863806c1ede4",
  "user_id": "c78b669b-7fe4-4895-883e-152663f4f14d",
  "source_db_table_id": "ad97af4f-7b96-414e-96cc-8d5c8b8efd51",
  "source_id_in_table": "f337ac57-a47c-4f69-a241-0141fd563c06",
  "working_date": "2026-06-16T21:15:48.930754+00:00",
  "timesheet_date_from": "2026-06-16T21:15:48.930754+00:00",
  "timesheet_date_to": "2026-06-16T21:15:48.930754+00:00",
  "type_code": "sample string 9",
  "line_code": "sample string 10",
  "description": "sample string 11",
  "quantity": 12.0,
  "price": 13.0,
  "discount": 14.0,
  "line_memo": "sample string 15",
  "job_approval_id": "f034f284-466e-465b-8882-a9f6c7999a7d",
  "hour_type_id": "63da060f-f8c1-4489-aca8-4cf5f236744e",
  "is_under_warranty": true,
  "no_warranty_reason": "sample string 19",
  "company_vat_id": "15cb46df-ee3d-4c6f-96f8-724ac7bf30ec",
  "vat_value": 21.0,
  "vat_rate": 22.0,
  "invoice_id": "7b0c1ce3-6acb-4185-a9bf-346d4fdea9c2",
  "invoice_details_id": "bd078196-2e3d-49c4-8e0c-65e91e5d498c",
  "modified_dateutc": "2026-06-16T21:15:48.9440576+00:00"
}

application/xml, text/xml

Sample:
<job_non_part_usage xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <company_vat_id>15cb46df-ee3d-4c6f-96f8-724ac7bf30ec</company_vat_id>
  <description>sample string 11</description>
  <discount>14</discount>
  <hour_type_id>63da060f-f8c1-4489-aca8-4cf5f236744e</hour_type_id>
  <id>70cc84b4-2314-480b-a1fc-a217ac3440b3</id>
  <invoice_details_id>bd078196-2e3d-49c4-8e0c-65e91e5d498c</invoice_details_id>
  <invoice_id>7b0c1ce3-6acb-4185-a9bf-346d4fdea9c2</invoice_id>
  <is_under_warranty>true</is_under_warranty>
  <job_approval_id>f034f284-466e-465b-8882-a9f6c7999a7d</job_approval_id>
  <jobs_id>f15605a4-bf08-483b-bf43-863806c1ede4</jobs_id>
  <line_code>sample string 10</line_code>
  <line_memo>sample string 15</line_memo>
  <modified_dateutc>2026-06-16T21:15:48.944Z</modified_dateutc>
  <no_warranty_reason>sample string 19</no_warranty_reason>
  <price>13</price>
  <quantity>12</quantity>
  <source_db_table_id>ad97af4f-7b96-414e-96cc-8d5c8b8efd51</source_db_table_id>
  <source_id_in_table>f337ac57-a47c-4f69-a241-0141fd563c06</source_id_in_table>
  <timesheet_date_from>2026-06-16T21:15:48.930Z</timesheet_date_from>
  <timesheet_date_to>2026-06-16T21:15:48.930Z</timesheet_date_to>
  <type_code>sample string 9</type_code>
  <user_id>c78b669b-7fe4-4895-883e-152663f4f14d</user_id>
  <vat_rate>22</vat_rate>
  <vat_value>21</vat_value>
  <working_date>2026-06-16T21:15:48.930Z</working_date>
</job_non_part_usage>

Response Information

Resource Description :

IHttpActionResult containing the batch save results for each processed record.

job_non_part_usage
NameDescriptionTypeAdditional information
id

Primary Key

globally unique identifier

Required

jobs_id

Foreign key of jobs

globally unique identifier

Required

user_id

Foreign key, user that makes the approval

globally unique identifier
source_db_table_id

Source Table used to generate this non part usage (Car_travel or user_timesheet)

globally unique identifier
source_id_in_table

Source Object Id used to generate this non part usage (car_travel.id or user_timesheet.id)

globally unique identifier
working_date

Date when the object has been generated

date

Required

timesheet_date_from

In the case of a timesheet, the date+time FROM

date
timesheet_date_to

In the case of a timesheet, the date+time TO

date
type_code

Type of Non part (WorkingTime or TravelTime)

string

Max length: 50

line_code

code generated from the hour_type.code

string

Max length: 50

description

description generated from the hour_type.commercial_description

string

Max length: 255

quantity

Quantity converted in decimal (45 minutes is 0.75)

decimal number
price

Unit Price computed via the hour_type (without discount)

decimal number
discount

decimal number
line_memo

Extra memo on the line filled by the User

string

Max length: 4000

job_approval_id

Foreign key to the approval this lines belongs In case the line was already "included" inside a job approval (daily for exemple), then that value is field and row is now readonly

globally unique identifier
hour_type_id

Hour type id

globally unique identifier
is_under_warranty

Checking for warranty

boolean
no_warranty_reason

Reason of no warranty

string
company_vat_id

globally unique identifier
vat_value

decimal number
vat_rate

decimal number
invoice_id

globally unique identifier
invoice_details_id

globally unique identifier
modified_dateutc

Readonly system field managed by database, filled with GetUtcDate when adding,updating

date

Response Formats

application/json, text/json

Sample:
{
  "id": "7f2a1939-c370-428d-8a6f-2dcfda0f753c",
  "jobs_id": "51d6bbdf-1b70-4be0-86b4-05d854be6bf1",
  "user_id": "ae835b30-740f-4291-91ca-e17af830f1b3",
  "source_db_table_id": "5657ae42-8932-44d7-9002-369f2d2bbb5a",
  "source_id_in_table": "5b98a761-381e-4da5-b897-a405b0ed6037",
  "working_date": "2026-06-16T21:15:48.9909973+00:00",
  "timesheet_date_from": "2026-06-16T21:15:48.9909973+00:00",
  "timesheet_date_to": "2026-06-16T21:15:48.9909973+00:00",
  "type_code": "sample string 9",
  "line_code": "sample string 10",
  "description": "sample string 11",
  "quantity": 12.0,
  "price": 13.0,
  "discount": 14.0,
  "line_memo": "sample string 15",
  "job_approval_id": "b2e7ddc9-9e1b-48c9-b8b9-bc626e8f2f54",
  "hour_type_id": "faa586b6-7378-4834-bfb4-8eaa1def4df9",
  "is_under_warranty": true,
  "no_warranty_reason": "sample string 19",
  "company_vat_id": "d449a00f-fc5c-404c-a824-280464c22ef5",
  "vat_value": 21.0,
  "vat_rate": 22.0,
  "invoice_id": "693bf244-3f50-4378-8bc6-105901e197f5",
  "invoice_details_id": "772d0ce7-d601-437f-aa2e-4ff5173772a7",
  "modified_dateutc": "2026-06-16T21:15:48.9909973+00:00"
}

application/xml, text/xml

Sample:
<job_non_part_usage xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <company_vat_id>d449a00f-fc5c-404c-a824-280464c22ef5</company_vat_id>
  <description>sample string 11</description>
  <discount>14</discount>
  <hour_type_id>faa586b6-7378-4834-bfb4-8eaa1def4df9</hour_type_id>
  <id>7f2a1939-c370-428d-8a6f-2dcfda0f753c</id>
  <invoice_details_id>772d0ce7-d601-437f-aa2e-4ff5173772a7</invoice_details_id>
  <invoice_id>693bf244-3f50-4378-8bc6-105901e197f5</invoice_id>
  <is_under_warranty>true</is_under_warranty>
  <job_approval_id>b2e7ddc9-9e1b-48c9-b8b9-bc626e8f2f54</job_approval_id>
  <jobs_id>51d6bbdf-1b70-4be0-86b4-05d854be6bf1</jobs_id>
  <line_code>sample string 10</line_code>
  <line_memo>sample string 15</line_memo>
  <modified_dateutc>2026-06-16T21:15:48.990Z</modified_dateutc>
  <no_warranty_reason>sample string 19</no_warranty_reason>
  <price>13</price>
  <quantity>12</quantity>
  <source_db_table_id>5657ae42-8932-44d7-9002-369f2d2bbb5a</source_db_table_id>
  <source_id_in_table>5b98a761-381e-4da5-b897-a405b0ed6037</source_id_in_table>
  <timesheet_date_from>2026-06-16T21:15:48.990Z</timesheet_date_from>
  <timesheet_date_to>2026-06-16T21:15:48.990Z</timesheet_date_to>
  <type_code>sample string 9</type_code>
  <user_id>ae835b30-740f-4291-91ca-e17af830f1b3</user_id>
  <vat_rate>22</vat_rate>
  <vat_value>21</vat_value>
  <working_date>2026-06-16T21:15:48.990Z</working_date>
</job_non_part_usage>