Creates or updates multiple car travel 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 :

car_travel
NameDescriptionTypeAdditional information
id

Primary Key

globally unique identifier
user_id

Foreign key of User

globally unique identifier

Required

car_id

Foreign key of Car

globally unique identifier

Required

from_db_address_id

the FROM info are filled with the latest travel of this car

globally unique identifier
from_db_table_id

Identifier of the database table that belongs to, when the departure point is linked to another record (e.g. a job).

globally unique identifier
from_id_in_table

Primary key of the linked departure record in the table identified by .

globally unique identifier
from_travel_type_code

Kind of departure point (e.g. home, office, previous job).

string
from_db_address_other

Free-text departure address, used when the departure point isn't one of the standard linked records.

string

Max length: 255

to_db_address_id

The address used on navigation

globally unique identifier
to_db_table_id

TO=> if navigate to a JOBS, to_db_table_id and to_in_table is filled with the jobs info

globally unique identifier
to_in_in_table

Primary key of the linked destination record in the table identified by .

globally unique identifier
to_travel_type_code

Kind of travel. Can be

string

Required

to_db_address_other

Free-text destination address, used when the destination isn't one of the standard linked records.

string

Max length: 255

hour_type_id

Foreign key of the hour type

globally unique identifier

Required

date_from

Local date+time when the travel started

date
date_from_rounded

rounded to the nearest configured interval, used for billing/display.

date

Required

date_to

local date+time when the travel finished

date
date_to_rounded

rounded to the nearest configured interval, used for billing/display.

date

Required

notes

Additional notes field

string

Max length: 4000

km

2019-04-01: Old field not use it anymore (FSA-986) the Mileage of the car after the travel,* Be aware, value should be always bigger than the last one

integer
km_before

Auto filled when a new record is added

integer
km_after

the Mileage of the car after the travel,* Be aware, value should be always bigger than the last one

integer
km_private

A value the user indicates that contains the total number of km for Private use.

integer
km_distance

Distance traveled, in kilometers, computed as minus .

integer
is_time_for_money

Indicates this travel time is billable ("time for money") rather than purely informational.

boolean
is_start_stop

Indicates this entry was recorded via a start/stop timer rather than manually keyed in.

boolean
property_1_checked

Checked state of the hour type's configurable custom property #1 (see ) for this entry.

boolean
property_2_checked

Checked state of the hour type's configurable custom property #2 for this entry.

boolean
property_3_checked

Checked state of the hour type's configurable custom property #3 for this entry.

boolean
property_4_checked

Checked state of the hour type's configurable custom property #4 for this entry.

boolean
property_5_checked

Checked state of the hour type's configurable custom property #5 for this entry.

boolean
start_latitude_decimal

Latitude of the user's location when the travel was started.

decimal number
start_longitude_decimal

Longitude of the user's location when the travel was started.

decimal number
end_latitude_decimal

Latitude of the user's location when the travel ended.

decimal number
end_longitude_decimal

Longitude of the user's location when the travel ended.

decimal number
added_dateutc

Readonly system field: UTC date and time this travel record was added.

date
is_approved

is_approved flag

boolean
is_confirmed

offline field: is_confirmed flag

boolean
modified_dateutc

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

date

Request Formats :

application/json, text/json

Sample:
{
  "id": "9088c690-5006-4890-8aa4-af8bc1b2fcf4",
  "user_id": "1d99e847-1cec-4e9e-960f-9f347b69325b",
  "car_id": "c100f951-d9a6-4d82-89ea-5baa33e5d0de",
  "from_db_address_id": "e7fea35f-ecc7-4f46-a75f-7686a5f163fc",
  "from_db_table_id": "35e74ad9-baeb-4530-8174-c677f730a48a",
  "from_id_in_table": "3af0bb92-835e-43cb-9a83-640271783353",
  "from_travel_type_code": "sample string 7",
  "from_db_address_other": "sample string 8",
  "to_db_address_id": "fa6874da-80ec-4e48-a60d-8ed0037a923e",
  "to_db_table_id": "327105cb-6e61-41dd-87b8-f01ed831ef79",
  "to_in_in_table": "d1aa0576-67d7-49ff-9091-c28d058778ed",
  "to_travel_type_code": "sample string 12",
  "to_db_address_other": "sample string 13",
  "hour_type_id": "882a474a-0534-4fbb-8b5a-c9a2ba7f1b2c",
  "date_from": "2026-09-16T11:04:42.030895+00:00",
  "date_from_rounded": "2026-09-16T11:04:42.030895+00:00",
  "date_to": "2026-09-16T11:04:42.030895+00:00",
  "date_to_rounded": "2026-09-16T11:04:42.030895+00:00",
  "notes": "sample string 19",
  "km": 20,
  "km_before": 21,
  "km_after": 22,
  "km_private": 23,
  "km_distance": 24,
  "is_time_for_money": true,
  "is_start_stop": true,
  "property_1_checked": true,
  "property_2_checked": true,
  "property_3_checked": true,
  "property_4_checked": true,
  "property_5_checked": true,
  "start_latitude_decimal": 32.0,
  "start_longitude_decimal": 33.0,
  "end_latitude_decimal": 34.0,
  "end_longitude_decimal": 35.0,
  "added_dateutc": "2026-09-16T11:04:42.030895+00:00",
  "is_approved": true,
  "is_confirmed": true,
  "modified_dateutc": "2026-09-16T11:04:42.030895+00:00"
}

application/xml, text/xml

Sample:
<car_travel xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <added_dateutc>2026-09-16T11:04:42.030Z</added_dateutc>
  <car_id>c100f951-d9a6-4d82-89ea-5baa33e5d0de</car_id>
  <date_from>2026-09-16T11:04:42.030Z</date_from>
  <date_from_rounded>2026-09-16T11:04:42.030Z</date_from_rounded>
  <date_to>2026-09-16T11:04:42.030Z</date_to>
  <date_to_rounded>2026-09-16T11:04:42.030Z</date_to_rounded>
  <end_latitude_decimal>34</end_latitude_decimal>
  <end_longitude_decimal>35</end_longitude_decimal>
  <from_db_address_id>e7fea35f-ecc7-4f46-a75f-7686a5f163fc</from_db_address_id>
  <from_db_address_other>sample string 8</from_db_address_other>
  <from_db_table_id>35e74ad9-baeb-4530-8174-c677f730a48a</from_db_table_id>
  <from_id_in_table>3af0bb92-835e-43cb-9a83-640271783353</from_id_in_table>
  <from_travel_type_code>sample string 7</from_travel_type_code>
  <hour_type_id>882a474a-0534-4fbb-8b5a-c9a2ba7f1b2c</hour_type_id>
  <id>9088c690-5006-4890-8aa4-af8bc1b2fcf4</id>
  <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>
  <km>20</km>
  <km_after>22</km_after>
  <km_before>21</km_before>
  <km_distance>24</km_distance>
  <km_private>23</km_private>
  <modified_dateutc>2026-09-16T11:04:42.030Z</modified_dateutc>
  <notes>sample string 19</notes>
  <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>
  <start_latitude_decimal>32</start_latitude_decimal>
  <start_longitude_decimal>33</start_longitude_decimal>
  <to_db_address_id>fa6874da-80ec-4e48-a60d-8ed0037a923e</to_db_address_id>
  <to_db_address_other>sample string 13</to_db_address_other>
  <to_db_table_id>327105cb-6e61-41dd-87b8-f01ed831ef79</to_db_table_id>
  <to_in_in_table>d1aa0576-67d7-49ff-9091-c28d058778ed</to_in_in_table>
  <to_travel_type_code>sample string 12</to_travel_type_code>
  <user_id>1d99e847-1cec-4e9e-960f-9f347b69325b</user_id>
</car_travel>

Response Information

Resource Description :

IHttpActionResult containing batch save results.

car_travel
NameDescriptionTypeAdditional information
id

Primary Key

globally unique identifier
user_id

Foreign key of User

globally unique identifier

Required

car_id

Foreign key of Car

globally unique identifier

Required

from_db_address_id

the FROM info are filled with the latest travel of this car

globally unique identifier
from_db_table_id

Identifier of the database table that belongs to, when the departure point is linked to another record (e.g. a job).

globally unique identifier
from_id_in_table

Primary key of the linked departure record in the table identified by .

globally unique identifier
from_travel_type_code

Kind of departure point (e.g. home, office, previous job).

string
from_db_address_other

Free-text departure address, used when the departure point isn't one of the standard linked records.

string

Max length: 255

to_db_address_id

The address used on navigation

globally unique identifier
to_db_table_id

TO=> if navigate to a JOBS, to_db_table_id and to_in_table is filled with the jobs info

globally unique identifier
to_in_in_table

Primary key of the linked destination record in the table identified by .

globally unique identifier
to_travel_type_code

Kind of travel. Can be

string

Required

to_db_address_other

Free-text destination address, used when the destination isn't one of the standard linked records.

string

Max length: 255

hour_type_id

Foreign key of the hour type

globally unique identifier

Required

date_from

Local date+time when the travel started

date
date_from_rounded

rounded to the nearest configured interval, used for billing/display.

date

Required

date_to

local date+time when the travel finished

date
date_to_rounded

rounded to the nearest configured interval, used for billing/display.

date

Required

notes

Additional notes field

string

Max length: 4000

km

2019-04-01: Old field not use it anymore (FSA-986) the Mileage of the car after the travel,* Be aware, value should be always bigger than the last one

integer
km_before

Auto filled when a new record is added

integer
km_after

the Mileage of the car after the travel,* Be aware, value should be always bigger than the last one

integer
km_private

A value the user indicates that contains the total number of km for Private use.

integer
km_distance

Distance traveled, in kilometers, computed as minus .

integer
is_time_for_money

Indicates this travel time is billable ("time for money") rather than purely informational.

boolean
is_start_stop

Indicates this entry was recorded via a start/stop timer rather than manually keyed in.

boolean
property_1_checked

Checked state of the hour type's configurable custom property #1 (see ) for this entry.

boolean
property_2_checked

Checked state of the hour type's configurable custom property #2 for this entry.

boolean
property_3_checked

Checked state of the hour type's configurable custom property #3 for this entry.

boolean
property_4_checked

Checked state of the hour type's configurable custom property #4 for this entry.

boolean
property_5_checked

Checked state of the hour type's configurable custom property #5 for this entry.

boolean
start_latitude_decimal

Latitude of the user's location when the travel was started.

decimal number
start_longitude_decimal

Longitude of the user's location when the travel was started.

decimal number
end_latitude_decimal

Latitude of the user's location when the travel ended.

decimal number
end_longitude_decimal

Longitude of the user's location when the travel ended.

decimal number
added_dateutc

Readonly system field: UTC date and time this travel record was added.

date
is_approved

is_approved flag

boolean
is_confirmed

offline field: is_confirmed flag

boolean
modified_dateutc

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

date

Response Formats

application/json, text/json

Sample:
{
  "id": "1295c4e7-9cb7-4567-8ed3-f128de7d5f0a",
  "user_id": "c649fae9-2d40-4419-a798-090260401f21",
  "car_id": "501e6bac-0ac6-428a-be4c-988457f11166",
  "from_db_address_id": "6fcd9c5f-a975-4154-a809-c2025c211798",
  "from_db_table_id": "dbf5e853-f91e-4a0e-b942-bb265a595c6e",
  "from_id_in_table": "4024c149-215e-49d8-8191-c49a46b06ce1",
  "from_travel_type_code": "sample string 7",
  "from_db_address_other": "sample string 8",
  "to_db_address_id": "5d65ca31-5046-4b37-8ac6-4349bded3d3a",
  "to_db_table_id": "ea9bd57c-ded3-453d-91b5-b5d0ea1c64de",
  "to_in_in_table": "f7017dac-07ab-41dd-bc07-98dc96e583b0",
  "to_travel_type_code": "sample string 12",
  "to_db_address_other": "sample string 13",
  "hour_type_id": "584e9f90-d9a2-4218-af7e-e5847d7e0915",
  "date_from": "2026-09-16T11:04:42.030895+00:00",
  "date_from_rounded": "2026-09-16T11:04:42.030895+00:00",
  "date_to": "2026-09-16T11:04:42.030895+00:00",
  "date_to_rounded": "2026-09-16T11:04:42.030895+00:00",
  "notes": "sample string 19",
  "km": 20,
  "km_before": 21,
  "km_after": 22,
  "km_private": 23,
  "km_distance": 24,
  "is_time_for_money": true,
  "is_start_stop": true,
  "property_1_checked": true,
  "property_2_checked": true,
  "property_3_checked": true,
  "property_4_checked": true,
  "property_5_checked": true,
  "start_latitude_decimal": 32.0,
  "start_longitude_decimal": 33.0,
  "end_latitude_decimal": 34.0,
  "end_longitude_decimal": 35.0,
  "added_dateutc": "2026-09-16T11:04:42.030895+00:00",
  "is_approved": true,
  "is_confirmed": true,
  "modified_dateutc": "2026-09-16T11:04:42.030895+00:00"
}

application/xml, text/xml

Sample:
<car_travel xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <added_dateutc>2026-09-16T11:04:42.030Z</added_dateutc>
  <car_id>501e6bac-0ac6-428a-be4c-988457f11166</car_id>
  <date_from>2026-09-16T11:04:42.030Z</date_from>
  <date_from_rounded>2026-09-16T11:04:42.030Z</date_from_rounded>
  <date_to>2026-09-16T11:04:42.030Z</date_to>
  <date_to_rounded>2026-09-16T11:04:42.030Z</date_to_rounded>
  <end_latitude_decimal>34</end_latitude_decimal>
  <end_longitude_decimal>35</end_longitude_decimal>
  <from_db_address_id>6fcd9c5f-a975-4154-a809-c2025c211798</from_db_address_id>
  <from_db_address_other>sample string 8</from_db_address_other>
  <from_db_table_id>dbf5e853-f91e-4a0e-b942-bb265a595c6e</from_db_table_id>
  <from_id_in_table>4024c149-215e-49d8-8191-c49a46b06ce1</from_id_in_table>
  <from_travel_type_code>sample string 7</from_travel_type_code>
  <hour_type_id>584e9f90-d9a2-4218-af7e-e5847d7e0915</hour_type_id>
  <id>1295c4e7-9cb7-4567-8ed3-f128de7d5f0a</id>
  <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>
  <km>20</km>
  <km_after>22</km_after>
  <km_before>21</km_before>
  <km_distance>24</km_distance>
  <km_private>23</km_private>
  <modified_dateutc>2026-09-16T11:04:42.030Z</modified_dateutc>
  <notes>sample string 19</notes>
  <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>
  <start_latitude_decimal>32</start_latitude_decimal>
  <start_longitude_decimal>33</start_longitude_decimal>
  <to_db_address_id>5d65ca31-5046-4b37-8ac6-4349bded3d3a</to_db_address_id>
  <to_db_address_other>sample string 13</to_db_address_other>
  <to_db_table_id>ea9bd57c-ded3-453d-91b5-b5d0ea1c64de</to_db_table_id>
  <to_in_in_table>f7017dac-07ab-41dd-bc07-98dc96e583b0</to_in_in_table>
  <to_travel_type_code>sample string 12</to_travel_type_code>
  <user_id>c649fae9-2d40-4419-a798-090260401f21</user_id>
</car_travel>