# Config

Part of the [GeoDynamics API](/api/geodynamics/index.md). Host: `https://api.geodynamics.dev`.

## GET /intellitracer/v1/resourcegroups

`https://api.geodynamics.dev/intellitracer/v1/resourcegroups`

Get resource groups

Returns a list of all resource groups.

_Privilege required: `Api: Resource read` or `Api: Resource management`_

### Responses

#### 200: OK

```json
[
  {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Employees",
    "Type": 0,
    "Code": "012345"
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v1/resourcegroup

`https://api.geodynamics.dev/intellitracer/v1/resourcegroup`

Get resource groups by type

Returns a list of all resource groups of a certain resource type (Vehicle, User, TimeClock, ...).

Possible resource types are explained in [Resource Types](#types-resourcetype).

_Privilege required: `Api: Resource read` or `Api: Resource management`_

### Query parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `type` | number | required | `0` |

### Responses

#### 200: OK

```json
[
  {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Employees",
    "Type": 0,
    "Code": "012345"
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## POST /intellitracer/v1/resourcegroup

`https://api.geodynamics.dev/intellitracer/v1/resourcegroup`

Privilege required: `Api: Resource management`

Update resource group

Updates a resource group.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | required |
| `Name` | string | required |
| `Code` (default = null) | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Type` (default = 0) | number |
| `Code` (default = null) | string |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Employees",
  "Type": 0,
  "Code": "012345"
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Employees",
    "Type": 0,
    "Code": "012345"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## PUT /intellitracer/v1/resourcegroup

`https://api.geodynamics.dev/intellitracer/v1/resourcegroup`

Privilege required: `Api: Resource management`

Create resource group

Creates a new resource group.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Name` | string | required |
| `Type` (default = 0) | number | required |
| `Code` (default = null) | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Type` (default = 0) | number |
| `Code` (default = null) | string |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Employees",
  "Type": 0,
  "Code": "012345"
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Employees",
    "Type": 0,
    "Code": "012345"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## DELETE /intellitracer/v1/resourcegroup

`https://api.geodynamics.dev/intellitracer/v1/resourcegroup`

Privilege required: `Api: Resource management`

Delete resource group

Deletes a resource group.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | required |
| `Type` (default = 0) | number | required |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Type` (default = 0) | number |
| `Code` (default = null) | string |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Employees",
  "Type": 0,
  "Code": "012345"
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Employees",
    "Type": 0,
    "Code": "012345"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v1/resourcegroup/{id}/resources

`https://api.geodynamics.dev/intellitracer/v1/resourcegroup/{id}/resources`

Get resources of resource group

Returns a list of all resources of a resource group.

_Privilege required: `Api: Resource read` or `Api: Resource management`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

```json
[
  {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "John Doe",
    "Code": "012345",
    "Type": 0
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## PUT /intellitracer/v1/resourcegroup/{id}/resources

`https://api.geodynamics.dev/intellitracer/v1/resourcegroup/{id}/resources`

Privilege required: `Api: Resource management`

Add resources to resource group

Adds a list of resources of a certain resource type (Vehicle, User, TimeClock, ...) to a resource group.

In order to add all resources to a resource group, set _AddAll_ to `true`. A search string can be used to filter the resources.

In order to add the listed resources to a resource group, set _AddAll_ to `false`.

Possible resource types are explained in [Resource Types](#types-resourcetype).

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Query parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `type` | number | required | `0` |

### Request body

### Responses

#### 200: OK

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Employees",
    "Type": 0,
    "Code": "012345"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## DELETE /intellitracer/v1/resourcegroup/{id}/resources

`https://api.geodynamics.dev/intellitracer/v1/resourcegroup/{id}/resources`

Privilege required: `Api: Resource management`

Remove resources from resource group

Removes a list of resources from a resource group.

In order to remove all resources from a resource group, set _DeleteAll_ to `true`. A search string can be used to filter the resources.

In order to remove the listed resources from a resource group, set _DeleteAll_ to `false`.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Request body

### Responses

#### 200: OK

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Employees",
    "Type": 0,
    "Code": "012345"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v1/vehicle

`https://api.geodynamics.dev/intellitracer/v1/vehicle`

Get vehicles

Returns a list of all vehicles.

_Privilege required: `Api: Resource read` or `Manage vehicles and report`_

### Responses

#### 200: OK

```json
[
  {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Vehicle 1",
    "IvrCode": null,
    "Code": "012345",
    "Category": 0,
    "FuelType": "1",
    "Co2Emission": 80,
    "RowOfSeatsCount": 2,
    "SeatsCount": 5,
    "LicensePlate": "1-ABC-123",
    "VinNumber": "ABCDE01234F567890",
    "HasTrackingData": false,
    "LastReportDate": "2019-03-19T11:45:47+01:00",
    "LastSyncDate": "2019-03-19T11:45:47+01:00",
    "UserNotes": null,
    "Weight": 600,
    "EmissionStandard": "300",
    "MaximumSpeed": 220,
    "NominalConsumption": 5.5,
    "CostCenter": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Workplace 1",
      "Code": "012345",
      "Poi": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work",
        "Code": "012345",
        "PoiType": {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work place",
          "Color": "#00FF2F"
        },
        "IsAssetLocation": false,
        "Street": "Dumolinlaan",
        "HouseNumber": "9",
        "City": "Kortrijk",
        "Submunicipality": "Kortrijk",
        "PostalCode": "8500",
        "Country": 0,
        "Priority": "0",
        "Description": "Work",
        "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
        "LonMin": 3.145219,
        "LonMax": 3.244998,
        "LatMin": 50.81309,
        "LatMax": 50.91806,
        "MarkerLon": 3.145219,
        "MarkerLat": 50.81309,
        "IsLambert72": false,
        "Radius": 0.03,
        "ReverseGeocoding": false,
        "Groups": [
          {
            "Id": "00000000-0000-0000-0000-000000000000",
            "Name": "Work places",
            "Pois": [
              {}
            ],
            "NumberOfPois": 1
          }
        ]
      }
    },
    "Groups": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Employees",
        "Type": 0,
        "Code": "012345"
      }
    ]
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## POST /intellitracer/v1/vehicle

`https://api.geodynamics.dev/intellitracer/v1/vehicle`

Privilege required: `Api: Resource management`

Update vehicle

Updates an existing vehicle.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | required |
| `Name` | string | required |
| `IvrCode` (default = null)  Code field that can be used for IVR based identification and app based filtering. | string | optional |
| `Code` (default = null) | string | optional |
| `Category` (default = 0)  A vehicle category classifies a land vehicle for regulatory purposes. | number | optional |
| `FuelType` (default = 0) | object | optional |
| `Co2Emission` (default = null) | number | optional |
| `RowOfSeatsCount` (default = null)  Number of seat rows | number | optional |
| `SeatsCount` (default = null)  Number of seats | number | optional |
| `LicensePlate` (default = null) | string | optional |
| `VinNumber` (default = null)  Vehicle Identification Number | string | optional |
| `HasTrackingData` (default = false) | boolean | optional |
| `LastReportDate` (default = null)  Datetime of the most recent report. | string | optional |
| `LastSyncDate` (default = null)  Datetime of the most recent server synchronization. | string | optional |
| `UserNotes` (default = null)  User notes | string | optional |
| `Weight` (default = 0)  Weight for viapass. | number | optional |
| `EmissionStandard` (default = 0)  Emission standard for viapass | object | optional |
| `MaximumSpeed` (default = null) | number | optional |
| `NominalConsumption` (default = 0.0)  Normal consumption for Fleet Eco | number | optional |
| `CostCenter` (default = null)  Selected Cost Center | object | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `IvrCode` (default = null)  In case clockings are being created via IVR phone calls, the IVR code of a vehicle can be entered during the phone call to link your clocking to this particular vehicle. | number |
| `Code` (default = null) | string |
| `Category` (default = 0)  The type of vehicle (see the overview of all options below). Only used in IntelliTracer V3. | number |
| `FuelType` (default = 0) | object |
| `Co2Emission` (default = null)  Average C02 emission for this vehicle in grams per kilometer. Only used in IntelliTracer V3. | number |
| `RowOfSeatsCount` (default = null)  Amount of seat rows in the vehicle. Only used in IntelliTracer V3. | number |
| `SeatsCount` (default = null)  Amount of seats in the vehicle. Only used in IntelliTracer V3. | number |
| `LicensePlate` (default = null) | string |
| `VinNumber` (default = null)  Vehicle identification number. | string |
| `HasTrackingData` (default = false) | boolean |
| `LastReportDate` (default = null)  Date and time of the most recent tracking report we have received from this vehicle. | string |
| `LastSyncDate` (default = null)  Date and time of the most recent sync report we have received from this vehicle. | string |
| `UserNotes` (default = null)  Any additional information of your choice can be entered here. | string |
| `Weight` (default = 0)  Weight of this vehicle in kilograms. | number |
| `EmissionStandard` (default = 0)  European emission standard for this vehicle. | object |
| `MaximumSpeed` (default = null) | number |
| `NominalConsumption` (default = 0.0)  Fuel consumption of this vehicle in liters per 100km. | number |
| `CostCenter` (default = null)  In case work in this vehicle should always be linked to a certain costcenter, that costcenter can be entered here. | object |
| `Groups` (default = null) | array |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Vehicle 1",
  "IvrCode": null,
  "Code": "012345",
  "Category": 0,
  "FuelType": "1",
  "Co2Emission": 80,
  "RowOfSeatsCount": 2,
  "SeatsCount": 5,
  "LicensePlate": "1-ABC-123",
  "VinNumber": "ABCDE01234F567890",
  "HasTrackingData": false,
  "LastReportDate": "2019-03-19T11:45:47+01:00",
  "LastSyncDate": "2019-03-19T11:45:47+01:00",
  "UserNotes": null,
  "Weight": 600,
  "EmissionStandard": "300",
  "MaximumSpeed": 220,
  "NominalConsumption": 5.5,
  "CostCenter": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Workplace 1",
    "Code": "012345",
    "Poi": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work",
      "Code": "012345",
      "PoiType": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work place",
        "Color": "#00FF2F"
      },
      "IsAssetLocation": false,
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "Submunicipality": "Kortrijk",
      "PostalCode": "8500",
      "Country": 0,
      "Priority": "0",
      "Description": "Work",
      "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
      "LonMin": 3.145219,
      "LonMax": 3.244998,
      "LatMin": 50.81309,
      "LatMax": 50.91806,
      "MarkerLon": 3.145219,
      "MarkerLat": 50.81309,
      "IsLambert72": false,
      "Radius": 0.03,
      "ReverseGeocoding": false,
      "Groups": [
        {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work places",
          "Pois": [
            {}
          ],
          "NumberOfPois": 1
        }
      ]
    }
  },
  "Groups": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Employees",
      "Type": 0,
      "Code": "012345"
    }
  ]
}
```

#### 400: BadRequest

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## PUT /intellitracer/v1/vehicle

`https://api.geodynamics.dev/intellitracer/v1/vehicle`

Privilege required: `Api: Resource management`

Create vehicle

Creates a new vehicle.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Name` | string | required |
| `IvrCode` (default = null)  Code field that can be used for IVR based identification and app based filtering. | string | optional |
| `Code` (default = null) | string | optional |
| `Category` (default = 0)  A vehicle category classifies a land vehicle for regulatory purposes. | number | optional |
| `FuelType` (default = 0) | object | optional |
| `Co2Emission` (default = null) | number | optional |
| `RowOfSeatsCount` (default = null)  Number of seat rows | number | optional |
| `SeatsCount` (default = null)  Number of seats | number | optional |
| `LicensePlate` (default = null) | string | optional |
| `VinNumber` (default = null)  Vehicle Identification Number | string | optional |
| `HasTrackingData` (default = false) | boolean | optional |
| `LastReportDate` (default = null)  Datetime of the most recent report. | string | optional |
| `LastSyncDate` (default = null)  Datetime of the most recent server synchronization. | string | optional |
| `UserNotes` (default = null)  User notes | string | optional |
| `Weight` (default = 0)  Weight for viapass. | number | optional |
| `EmissionStandard` (default = 0)  Emission standard for viapass | object | optional |
| `MaximumSpeed` (default = null) | number | optional |
| `NominalConsumption` (default = 0.0)  Normal consumption for Fleet Eco | number | optional |
| `CostCenter` (default = null)  Selected Cost Center | object | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `IvrCode` (default = null)  In case clockings are being created via IVR phone calls, the IVR code of a vehicle can be entered during the phone call to link your clocking to this particular vehicle. | number |
| `Code` (default = null) | string |
| `Category` (default = 0)  The type of vehicle (see the overview of all options below). Only used in IntelliTracer V3. | number |
| `FuelType` (default = 0) | object |
| `Co2Emission` (default = null)  Average C02 emission for this vehicle in grams per kilometer. Only used in IntelliTracer V3. | number |
| `RowOfSeatsCount` (default = null)  Amount of seat rows in the vehicle. Only used in IntelliTracer V3. | number |
| `SeatsCount` (default = null)  Amount of seats in the vehicle. Only used in IntelliTracer V3. | number |
| `LicensePlate` (default = null) | string |
| `VinNumber` (default = null)  Vehicle identification number. | string |
| `HasTrackingData` (default = false) | boolean |
| `LastReportDate` (default = null)  Date and time of the most recent tracking report we have received from this vehicle. | string |
| `LastSyncDate` (default = null)  Date and time of the most recent sync report we have received from this vehicle. | string |
| `UserNotes` (default = null)  Any additional information of your choice can be entered here. | string |
| `Weight` (default = 0)  Weight of this vehicle in kilograms. | number |
| `EmissionStandard` (default = 0)  European emission standard for this vehicle. | object |
| `MaximumSpeed` (default = null) | number |
| `NominalConsumption` (default = 0.0)  Fuel consumption of this vehicle in liters per 100km. | number |
| `CostCenter` (default = null)  In case work in this vehicle should always be linked to a certain costcenter, that costcenter can be entered here. | object |
| `Groups` (default = null) | array |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Vehicle 1",
  "IvrCode": null,
  "Code": "012345",
  "Category": 0,
  "FuelType": "1",
  "Co2Emission": 80,
  "RowOfSeatsCount": 2,
  "SeatsCount": 5,
  "LicensePlate": "1-ABC-123",
  "VinNumber": "ABCDE01234F567890",
  "HasTrackingData": false,
  "LastReportDate": "2019-03-19T11:45:47+01:00",
  "LastSyncDate": "2019-03-19T11:45:47+01:00",
  "UserNotes": null,
  "Weight": 600,
  "EmissionStandard": "300",
  "MaximumSpeed": 220,
  "NominalConsumption": 5.5,
  "CostCenter": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Workplace 1",
    "Code": "012345",
    "Poi": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work",
      "Code": "012345",
      "PoiType": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work place",
        "Color": "#00FF2F"
      },
      "IsAssetLocation": false,
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "Submunicipality": "Kortrijk",
      "PostalCode": "8500",
      "Country": 0,
      "Priority": "0",
      "Description": "Work",
      "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
      "LonMin": 3.145219,
      "LonMax": 3.244998,
      "LatMin": 50.81309,
      "LatMax": 50.91806,
      "MarkerLon": 3.145219,
      "MarkerLat": 50.81309,
      "IsLambert72": false,
      "Radius": 0.03,
      "ReverseGeocoding": false,
      "Groups": [
        {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work places",
          "Pois": [
            {}
          ],
          "NumberOfPois": 1
        }
      ]
    }
  },
  "Groups": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Employees",
      "Type": 0,
      "Code": "012345"
    }
  ]
}
```

#### 400: BadRequest

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v1/vehicle/{id}

`https://api.geodynamics.dev/intellitracer/v1/vehicle/{id}`

Get vehicle

Returns a vehicle by id.

_Privilege required: `Api: Resource read` or `Manage vehicles and report`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `IvrCode` (default = null)  In case clockings are being created via IVR phone calls, the IVR code of a vehicle can be entered during the phone call to link your clocking to this particular vehicle. | number |
| `Code` (default = null) | string |
| `Category` (default = 0)  The type of vehicle (see the overview of all options below). Only used in IntelliTracer V3. | number |
| `FuelType` (default = 0) | object |
| `Co2Emission` (default = null)  Average C02 emission for this vehicle in grams per kilometer. Only used in IntelliTracer V3. | number |
| `RowOfSeatsCount` (default = null)  Amount of seat rows in the vehicle. Only used in IntelliTracer V3. | number |
| `SeatsCount` (default = null)  Amount of seats in the vehicle. Only used in IntelliTracer V3. | number |
| `LicensePlate` (default = null) | string |
| `VinNumber` (default = null)  Vehicle identification number. | string |
| `HasTrackingData` (default = false) | boolean |
| `LastReportDate` (default = null)  Date and time of the most recent tracking report we have received from this vehicle. | string |
| `LastSyncDate` (default = null)  Date and time of the most recent sync report we have received from this vehicle. | string |
| `UserNotes` (default = null)  Any additional information of your choice can be entered here. | string |
| `Weight` (default = 0)  Weight of this vehicle in kilograms. | number |
| `EmissionStandard` (default = 0)  European emission standard for this vehicle. | object |
| `MaximumSpeed` (default = null) | number |
| `NominalConsumption` (default = 0.0)  Fuel consumption of this vehicle in liters per 100km. | number |
| `CostCenter` (default = null)  In case work in this vehicle should always be linked to a certain costcenter, that costcenter can be entered here. | object |
| `Groups` (default = null) | array |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Vehicle 1",
  "IvrCode": null,
  "Code": "012345",
  "Category": 0,
  "FuelType": "1",
  "Co2Emission": 80,
  "RowOfSeatsCount": 2,
  "SeatsCount": 5,
  "LicensePlate": "1-ABC-123",
  "VinNumber": "ABCDE01234F567890",
  "HasTrackingData": false,
  "LastReportDate": "2019-03-19T11:45:47+01:00",
  "LastSyncDate": "2019-03-19T11:45:47+01:00",
  "UserNotes": null,
  "Weight": 600,
  "EmissionStandard": "300",
  "MaximumSpeed": 220,
  "NominalConsumption": 5.5,
  "CostCenter": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Workplace 1",
    "Code": "012345",
    "Poi": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work",
      "Code": "012345",
      "PoiType": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work place",
        "Color": "#00FF2F"
      },
      "IsAssetLocation": false,
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "Submunicipality": "Kortrijk",
      "PostalCode": "8500",
      "Country": 0,
      "Priority": "0",
      "Description": "Work",
      "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
      "LonMin": 3.145219,
      "LonMax": 3.244998,
      "LatMin": 50.81309,
      "LatMax": 50.91806,
      "MarkerLon": 3.145219,
      "MarkerLat": 50.81309,
      "IsLambert72": false,
      "Radius": 0.03,
      "ReverseGeocoding": false,
      "Groups": [
        {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work places",
          "Pois": [
            {}
          ],
          "NumberOfPois": 1
        }
      ]
    }
  },
  "Groups": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Employees",
      "Type": 0,
      "Code": "012345"
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/timeclock?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/timeclock?page={page}&search={search}`

Get timeclocks

Returns a paged list of time clocks.

Pagination and searching is explained in [Pagination](#pagination).

_Privilege required: `Api: Resource read` or `Api: Resource management`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | array |
| `PagingFilter` (default = null) | object |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work",
      "Code": "012345",
      "UnitId": 123456,
      "SerialNumber": "012345",
      "ReaderType": "0",
      "TimeClockType": "0",
      "FirmwareVersion": "0",
      "Address": {
        "CountryName": "Belgium",
        "AddressLine": "Dumolinlaan 9, 8500 Kortrijk, BE",
        "PoiList": [
          "00000000-0000-0000-0000-000000000000",
          "00000000-0000-0000-0000-000000000000"
        ],
        "City": "Kortrijk",
        "CityLine": "8500 Kortrijk, BE",
        "CountryCode": 0,
        "HouseNumber": "9",
        "Latitude": 50.812939,
        "Longitude": 3.245304,
        "PostalCode": "8500",
        "ShortAddressLine": "Dumolinlaan 9, Kortrijk, BE",
        "Street": "Dumolinlaan",
        "StreetLine": "Dumolinlaan 9",
        "Submunicipality": "Kortrijk"
      },
      "Latitude": 50.812939,
      "Longitude": 3.245304,
      "CostCenter": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "John Doe",
        "Type": 0
      },
      "LastReadDateLocal": "2019-01-25T08:29:37",
      "LastReadDateUtc": "2019-01-25T07:29:37",
      "LastWriteDateLocal": "2019-01-25T08:29:37",
      "LastWriteDateUtc": "2019-01-25T07:29:37"
    }
  ],
  "PagingFilter": {
    "Page": 1,
    "Search": "ABC",
    "PageCount": 4,
    "TotalCount": 100,
    "Links": {
      "Base": "https://api.geodynamics.dev",
      "First": "/intellitracer/v2/asset?page=1",
      "Prev": "/intellitracer/v2/asset?page=2",
      "Next": "/intellitracer/v2/asset?page=4",
      "Last": "/intellitracer/v2/asset?page=4"
    }
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/timeclock/{id}

`https://api.geodynamics.dev/intellitracer/v2/timeclock/{id}`

Get timeclock

Returns a timeclock by id.

_Privilege required: `Api: Resource read` or `Api: Resource management`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work",
    "Code": "012345",
    "UnitId": 123456,
    "SerialNumber": "012345",
    "ReaderType": "0",
    "TimeClockType": "0",
    "FirmwareVersion": "0",
    "Address": {
      "CountryName": "Belgium",
      "AddressLine": "Dumolinlaan 9, 8500 Kortrijk, BE",
      "PoiList": [
        "00000000-0000-0000-0000-000000000000",
        "00000000-0000-0000-0000-000000000000"
      ],
      "City": "Kortrijk",
      "CityLine": "8500 Kortrijk, BE",
      "CountryCode": 0,
      "HouseNumber": "9",
      "Latitude": 50.812939,
      "Longitude": 3.245304,
      "PostalCode": "8500",
      "ShortAddressLine": "Dumolinlaan 9, Kortrijk, BE",
      "Street": "Dumolinlaan",
      "StreetLine": "Dumolinlaan 9",
      "Submunicipality": "Kortrijk"
    },
    "Latitude": 50.812939,
    "Longitude": 3.245304,
    "CostCenter": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    },
    "LastReadDateLocal": "2019-01-25T08:29:37",
    "LastReadDateUtc": "2019-01-25T07:29:37",
    "LastWriteDateLocal": "2019-01-25T08:29:37",
    "LastWriteDateUtc": "2019-01-25T07:29:37"
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/timevalidation/day/verified

`https://api.geodynamics.dev/intellitracer/v2/timevalidation/day/verified`

Privilege required: `Api: Time validation`

Get verified days

Returns a list of all verified days based on given parameters.

### Query parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `fromDateUtc` | string | required | `2020-01-01` |
| `verifiedSinceUtc` | string | required | `2020-01-01` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | array |

```json
{
  "Data": [
    {
      "DateUtc": "2019-01-25T07:00:00",
      "DateLocal": "2019-01-25T08:00:00",
      "UserIds": [
        "00000000-0000-0000-0000-000000000000",
        "00000000-0000-0000-0000-000000000000"
      ]
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/poi?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/poi?page={page}&search={search}`

Get points of interest

Returns a paged list of points of interest.

Pagination and searching is explained in [Pagination](#pagination).

_Privilege required: `Api: Poi's read` or `Api: Poi's edit`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | array |
| `PagingFilter` | object |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "Work",
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "Submunicipality": "Kortrijk",
      "PostalCode": "8500",
      "Country": 0,
      "Priority": "0",
      "Description": "Work",
      "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
      "LonMin": 3.145219,
      "LonMax": 3.244998,
      "LatMin": 50.81309,
      "LatMax": 50.91806,
      "MarkerLon": 3.145219,
      "MarkerLat": 50.81309,
      "IsAssetLocation": false,
      "Type": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work place",
        "Level": 0,
        "Color": "#00FF2F"
      },
      "Groups": [
        {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work places"
        }
      ]
    }
  ],
  "PagingFilter": {
    "Page": 1,
    "Search": "ABC",
    "PageCount": 4,
    "TotalCount": 100,
    "Links": {
      "Base": "https://api.geodynamics.dev",
      "First": "/intellitracer/v2/asset?page=1",
      "Prev": "/intellitracer/v2/asset?page=2",
      "Next": "/intellitracer/v2/asset?page=4",
      "Last": "/intellitracer/v2/asset?page=4"
    }
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/poi/inactive?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/poi/inactive?page={page}&search={search}`

Get inactive points of interest

Returns a paged list of inactive points of interest.

Pagination and searching is explained in [Pagination](#pagination).

_Privilege required: `Api: Poi's read` or `Api: Poi's edit`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | array |
| `PagingFilter` | object |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "Work",
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "Submunicipality": "Kortrijk",
      "PostalCode": "8500",
      "Country": 0,
      "Priority": "0",
      "Description": "Work",
      "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
      "LonMin": 3.145219,
      "LonMax": 3.244998,
      "LatMin": 50.81309,
      "LatMax": 50.91806,
      "MarkerLon": 3.145219,
      "MarkerLat": 50.81309,
      "IsAssetLocation": false,
      "Type": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work place",
        "Level": 0,
        "Color": "#00FF2F"
      },
      "Groups": [
        {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work places"
        }
      ]
    }
  ],
  "PagingFilter": {
    "Page": 1,
    "Search": "ABC",
    "PageCount": 4,
    "TotalCount": 100,
    "Links": {
      "Base": "https://api.geodynamics.dev",
      "First": "/intellitracer/v2/asset?page=1",
      "Prev": "/intellitracer/v2/asset?page=2",
      "Next": "/intellitracer/v2/asset?page=4",
      "Last": "/intellitracer/v2/asset?page=4"
    }
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/poi/{id}

`https://api.geodynamics.dev/intellitracer/v2/poi/{id}`

Get point of interest

Returns a point of interest by id.

_Privilege required: `Api: Poi's read` or `Api: Poi's edit`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Code": "012345",
    "Name": "Work",
    "Street": "Dumolinlaan",
    "HouseNumber": "9",
    "City": "Kortrijk",
    "Submunicipality": "Kortrijk",
    "PostalCode": "8500",
    "Country": 0,
    "Priority": "0",
    "Description": "Work",
    "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
    "LonMin": 3.145219,
    "LonMax": 3.244998,
    "LatMin": 50.81309,
    "LatMax": 50.91806,
    "MarkerLon": 3.145219,
    "MarkerLat": 50.81309,
    "IsAssetLocation": false,
    "Type": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work place",
      "Level": 0,
      "Color": "#00FF2F"
    },
    "Groups": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work places"
      }
    ]
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## POST /intellitracer/v1/poi

`https://api.geodynamics.dev/intellitracer/v1/poi`

Privilege required: `Api: Poi's edit`

Update point of interest (with location change)

Updates a point of interest.

In order to determine location by position (MarkerLon and MarkerLat), set _ReverseGeocoding_ to `true`. Optional fields are IsLambert72.

In order to determine location by address (Street, HouseNumber, PostalCode and City), set _ReverseGeocoding_ to `false`. Optional fields are Submunicipality, PostalCode and Country.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Name` max length = 50 | string | required |
| `Code` default = null  max length = 500 | string | optional |
| `PoiType` (default = null) | object | required |
| `IsAssetLocation` (default = false) | boolean | optional |
| `Street` default = null  max length = 70 | string | optional |
| `HouseNumber` default = null  max length = 10 | string | optional |
| `City` default = null  max length = 70 | string | optional |
| `Submunicipality` default = null  max length = 70 | string | optional |
| `PostalCode` default = null  max length = 10 | string | optional |
| `Country` (default = 0 or Belgium) | number | optional |
| `Priority` (default = -)  Determines which POI will be displayed on top in GeoDynamics (in case of overlapping POIs). | string | required |
| `Description` (default = null) | string | optional |
| `MarkerLon` (default = null)  Longitude coordinate | number | optional |
| `MarkerLat` (default = null)  Latitude coordinate | number | optional |
| `IsLambert72` (default = false)  Different geological projection system often used by Belgian governmental institutes. | boolean | optional |
| `Radius` (default = 0.025)  The radius determines the size of the POI. A radius of 0.1 will resullt in a POI of 200m by 200m (radius of 100m around the marker). | number | optional |
| `ReverseGeocoding` (default = false)  Indicates whether location will be determined by position or address. | boolean | optional |
| `Id` | string | required |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Code` (default = null) | string |
| `PoiType` (default = null) | object |
| `IsAssetLocation` (default = false) | boolean |
| `Street` (default = null) | string |
| `HouseNumber` (default = null) | string |
| `City` (default = null) | string |
| `Submunicipality` (default = null) | string |
| `PostalCode` (default = null) | string |
| `Country` (default = 0) | number |
| `Priority` (default = null)  Determines which POI will be displayed on top in GeoDynamics (in case of overlapping POIs). | string |
| `Description` (default = null) | string |
| `GeographyWkt` (default = null)  The coordinates of all points that define the shape of the POI. | string |
| `LonMin` (default = 0.0)  Lowest longitude coordinate of the shape of the POI. | number |
| `LonMax` (default = 0.0)  Highest longitude coordinate of the shape of the POI. | number |
| `LatMin` (default = 0.0)  Lowest latitude coordinate of the shape of the POI. | number |
| `LatMax` (default = 0.0)  Highest latitude coordinate of the shape of the POI. | number |
| `MarkerLon` (default = null)  Longitude coordinate of the marker. | number |
| `MarkerLat` (default = null)  Latitude coordinate of the marker. | number |
| `IsLambert72` (default = false)  Different geological projection system often used by Belgian governmental institutes. | boolean |
| `Radius` (default = null)  The radius determines the size of the POI. A radius of 0.1 will resullt in a POI of 200m by 200m (radius of 100m around the marker). | number |
| `ReverseGeocoding` (default = false)  Indicates whether location will be determined by position or address. | boolean |
| `Groups` (default = null) | array |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Work",
  "Code": "012345",
  "PoiType": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work place",
    "Color": "#00FF2F"
  },
  "IsAssetLocation": false,
  "Street": "Dumolinlaan",
  "HouseNumber": "9",
  "City": "Kortrijk",
  "Submunicipality": "Kortrijk",
  "PostalCode": "8500",
  "Country": 0,
  "Priority": "0",
  "Description": "Work",
  "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
  "LonMin": 3.145219,
  "LonMax": 3.244998,
  "LatMin": 50.81309,
  "LatMax": 50.91806,
  "MarkerLon": 3.145219,
  "MarkerLat": 50.81309,
  "IsLambert72": false,
  "Radius": 0.03,
  "ReverseGeocoding": false,
  "Groups": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work places",
      "Pois": [
        {}
      ],
      "NumberOfPois": 1
    }
  ]
}
```

#### 400: BadRequest

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## PUT /intellitracer/v1/poi

`https://api.geodynamics.dev/intellitracer/v1/poi`

Privilege required: `Api: Poi's edit`

Create point of interest

Creates a new point of interest.

In order to determine location by position (MarkerLon and MarkerLat), set _ReverseGeocoding_ to `true`. Optional fields are IsLambert72.

In order to determine location by address (Street, HouseNumber, PostalCode and City), set _ReverseGeocoding_ to `false`. Optional fields are Submunicipality, PostalCode and Country.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Name` max length = 50 | string | required |
| `Code` default = null  max length = 500 | string | optional |
| `PoiType` (default = null) | object | required |
| `IsAssetLocation` (default = false) | boolean | optional |
| `Street` default = null  max length = 70 | string | optional |
| `HouseNumber` default = null  max length = 10 | string | optional |
| `City` default = null  max length = 70 | string | optional |
| `Submunicipality` default = null  max length = 70 | string | optional |
| `PostalCode` default = null  max length = 10 | string | optional |
| `Country` (default = 0 or Belgium) | number | optional |
| `Priority` (default = -)  Determines which POI will be displayed on top in GeoDynamics (in case of overlapping POIs). | string | required |
| `Description` (default = null) | string | optional |
| `MarkerLon` (default = null)  Longitude coordinate | number | optional |
| `MarkerLat` (default = null)  Latitude coordinate | number | optional |
| `IsLambert72` (default = false)  Different geological projection system often used by Belgian governmental institutes. | boolean | optional |
| `Radius` (default = 0.025)  The radius determines the size of the POI. A radius of 0.1 will resullt in a POI of 200m by 200m (radius of 100m around the marker). | number | optional |
| `ReverseGeocoding` (default = false)  Indicates whether location will be determined by position or address. | boolean | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Code` (default = null) | string |
| `PoiType` (default = null) | object |
| `IsAssetLocation` (default = false) | boolean |
| `Street` (default = null) | string |
| `HouseNumber` (default = null) | string |
| `City` (default = null) | string |
| `Submunicipality` (default = null) | string |
| `PostalCode` (default = null) | string |
| `Country` (default = 0) | number |
| `Priority` (default = null)  Determines which POI will be displayed on top in GeoDynamics (in case of overlapping POIs). | string |
| `Description` (default = null) | string |
| `GeographyWkt` (default = null)  The coordinates of all points that define the shape of the POI. | string |
| `LonMin` (default = 0.0)  Lowest longitude coordinate of the shape of the POI. | number |
| `LonMax` (default = 0.0)  Highest longitude coordinate of the shape of the POI. | number |
| `LatMin` (default = 0.0)  Lowest latitude coordinate of the shape of the POI. | number |
| `LatMax` (default = 0.0)  Highest latitude coordinate of the shape of the POI. | number |
| `MarkerLon` (default = null)  Longitude coordinate of the marker. | number |
| `MarkerLat` (default = null)  Latitude coordinate of the marker. | number |
| `IsLambert72` (default = false)  Different geological projection system often used by Belgian governmental institutes. | boolean |
| `Radius` (default = null)  The radius determines the size of the POI. A radius of 0.1 will resullt in a POI of 200m by 200m (radius of 100m around the marker). | number |
| `ReverseGeocoding` (default = false)  Indicates whether location will be determined by position or address. | boolean |
| `Groups` (default = null) | array |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Work",
  "Code": "012345",
  "PoiType": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work place",
    "Color": "#00FF2F"
  },
  "IsAssetLocation": false,
  "Street": "Dumolinlaan",
  "HouseNumber": "9",
  "City": "Kortrijk",
  "Submunicipality": "Kortrijk",
  "PostalCode": "8500",
  "Country": 0,
  "Priority": "0",
  "Description": "Work",
  "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
  "LonMin": 3.145219,
  "LonMax": 3.244998,
  "LatMin": 50.81309,
  "LatMax": 50.91806,
  "MarkerLon": 3.145219,
  "MarkerLat": 50.81309,
  "IsLambert72": false,
  "Radius": 0.03,
  "ReverseGeocoding": false,
  "Groups": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work places",
      "Pois": [
        {}
      ],
      "NumberOfPois": 1
    }
  ]
}
```

#### 400: BadRequest

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## DELETE /intellitracer/v1/poi

`https://api.geodynamics.dev/intellitracer/v1/poi`

Privilege required: `Api: Poi's edit`

Delete point of interest

Deletes a point of interest.

### Request body

### Responses

#### 200: OK

#### 400: BadRequest

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## POST /intellitracer/v2/poi/lite

`https://api.geodynamics.dev/intellitracer/v2/poi/lite`

Privilege required: `Api: Poi's edit`

Update point of interest (without location change)

Updates a point of interest, while retaining its current address and the coordinates of the polygon that defines its location.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | required |
| `Name` | string | required |
| `Code` (default = null) | string | optional |
| `PoiTypeId` | string | required |
| `IsAssetLocation` (default = false) | boolean | optional |
| `Priority` (default = -) | string | required |
| `Description` (default = null) | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Code": "012345",
    "Name": "Work",
    "Street": "Dumolinlaan",
    "HouseNumber": "9",
    "City": "Kortrijk",
    "Submunicipality": "Kortrijk",
    "PostalCode": "8500",
    "Country": 0,
    "Priority": "0",
    "Description": "Work",
    "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
    "LonMin": 3.145219,
    "LonMax": 3.244998,
    "LatMin": 50.81309,
    "LatMax": 50.91806,
    "MarkerLon": 3.145219,
    "MarkerLat": 50.81309,
    "IsAssetLocation": false,
    "Type": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work place",
      "Level": 0,
      "Color": "#00FF2F"
    },
    "Groups": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work places"
      }
    ]
  }
}
```

#### 400: BadRequest

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## POST /intellitracer/v2/poi/activate

`https://api.geodynamics.dev/intellitracer/v2/poi/activate`

Privilege required: `Api: Poi's edit`

Activate point of interest

Re-activates a point of interest.

### Request body

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | array |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "Work",
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "Submunicipality": "Kortrijk",
      "PostalCode": "8500",
      "Country": 0,
      "Priority": "0",
      "Description": "Work",
      "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
      "LonMin": 3.145219,
      "LonMax": 3.244998,
      "LatMin": 50.81309,
      "LatMax": 50.91806,
      "MarkerLon": 3.145219,
      "MarkerLat": 50.81309,
      "IsAssetLocation": false,
      "Type": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work place",
        "Level": 0,
        "Color": "#00FF2F"
      },
      "Groups": [
        {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work places"
        }
      ]
    }
  ]
}
```

#### 400: BadRequest

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## POST /intellitracer/v2/poi/deactivate

`https://api.geodynamics.dev/intellitracer/v2/poi/deactivate`

Privilege required: `Api: Poi's edit`

Deactivate point of interest

Deactivates a point of interest.

### Request body

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | array |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "Work",
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "Submunicipality": "Kortrijk",
      "PostalCode": "8500",
      "Country": 0,
      "Priority": "0",
      "Description": "Work",
      "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
      "LonMin": 3.145219,
      "LonMax": 3.244998,
      "LatMin": 50.81309,
      "LatMax": 50.91806,
      "MarkerLon": 3.145219,
      "MarkerLat": 50.81309,
      "IsAssetLocation": false,
      "Type": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work place",
        "Level": 0,
        "Color": "#00FF2F"
      },
      "Groups": [
        {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work places"
        }
      ]
    }
  ]
}
```

#### 400: BadRequest

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v1/poigroup

`https://api.geodynamics.dev/intellitracer/v1/poigroup`

Get point of interest groups

Returns a list of all point of interest groups.

_Privilege required: `Api: Poi's read` or `Api: Poi's edit`_

### Responses

#### 200: OK

```json
[
  {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work places",
    "Pois": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work",
        "Code": "012345",
        "PoiType": {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work place",
          "Color": "#00FF2F"
        },
        "IsAssetLocation": false,
        "Street": "Dumolinlaan",
        "HouseNumber": "9",
        "City": "Kortrijk",
        "Submunicipality": "Kortrijk",
        "PostalCode": "8500",
        "Country": 0,
        "Priority": "0",
        "Description": "Work",
        "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
        "LonMin": 3.145219,
        "LonMax": 3.244998,
        "LatMin": 50.81309,
        "LatMax": 50.91806,
        "MarkerLon": 3.145219,
        "MarkerLat": 50.81309,
        "IsLambert72": false,
        "Radius": 0.03,
        "ReverseGeocoding": false,
        "Groups": [
          {}
        ]
      }
    ],
    "NumberOfPois": 1
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## POST /intellitracer/v1/poigroup

`https://api.geodynamics.dev/intellitracer/v1/poigroup`

Privilege required: `Api: Poi's edit`

Update point of interest group

Updates a point of interest group.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Name` | string | required |
| `Id` | string | required |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Pois` (default = []) | array |
| `NumberOfPois` (default = 0) | number |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Work places",
  "Pois": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work",
      "Code": "012345",
      "PoiType": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work place",
        "Color": "#00FF2F"
      },
      "IsAssetLocation": false,
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "Submunicipality": "Kortrijk",
      "PostalCode": "8500",
      "Country": 0,
      "Priority": "0",
      "Description": "Work",
      "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
      "LonMin": 3.145219,
      "LonMax": 3.244998,
      "LatMin": 50.81309,
      "LatMax": 50.91806,
      "MarkerLon": 3.145219,
      "MarkerLat": 50.81309,
      "IsLambert72": false,
      "Radius": 0.03,
      "ReverseGeocoding": false,
      "Groups": [
        {}
      ]
    }
  ],
  "NumberOfPois": 1
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work places",
    "Pois": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work",
        "Code": "012345",
        "PoiType": {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work place",
          "Color": "#00FF2F"
        },
        "IsAssetLocation": false,
        "Street": "Dumolinlaan",
        "HouseNumber": "9",
        "City": "Kortrijk",
        "Submunicipality": "Kortrijk",
        "PostalCode": "8500",
        "Country": 0,
        "Priority": "0",
        "Description": "Work",
        "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
        "LonMin": 3.145219,
        "LonMax": 3.244998,
        "LatMin": 50.81309,
        "LatMax": 50.91806,
        "MarkerLon": 3.145219,
        "MarkerLat": 50.81309,
        "IsLambert72": false,
        "Radius": 0.03,
        "ReverseGeocoding": false,
        "Groups": [
          {}
        ]
      }
    ],
    "NumberOfPois": 1
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## PUT /intellitracer/v1/poigroup

`https://api.geodynamics.dev/intellitracer/v1/poigroup`

Privilege required: `Api: Poi's edit`

Create point of interest group

Creates a new point of interest group.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Name` | string | required |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Pois` (default = []) | array |
| `NumberOfPois` (default = 0) | number |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Work places",
  "Pois": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work",
      "Code": "012345",
      "PoiType": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work place",
        "Color": "#00FF2F"
      },
      "IsAssetLocation": false,
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "Submunicipality": "Kortrijk",
      "PostalCode": "8500",
      "Country": 0,
      "Priority": "0",
      "Description": "Work",
      "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
      "LonMin": 3.145219,
      "LonMax": 3.244998,
      "LatMin": 50.81309,
      "LatMax": 50.91806,
      "MarkerLon": 3.145219,
      "MarkerLat": 50.81309,
      "IsLambert72": false,
      "Radius": 0.03,
      "ReverseGeocoding": false,
      "Groups": [
        {}
      ]
    }
  ],
  "NumberOfPois": 1
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work places",
    "Pois": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work",
        "Code": "012345",
        "PoiType": {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work place",
          "Color": "#00FF2F"
        },
        "IsAssetLocation": false,
        "Street": "Dumolinlaan",
        "HouseNumber": "9",
        "City": "Kortrijk",
        "Submunicipality": "Kortrijk",
        "PostalCode": "8500",
        "Country": 0,
        "Priority": "0",
        "Description": "Work",
        "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
        "LonMin": 3.145219,
        "LonMax": 3.244998,
        "LatMin": 50.81309,
        "LatMax": 50.91806,
        "MarkerLon": 3.145219,
        "MarkerLat": 50.81309,
        "IsLambert72": false,
        "Radius": 0.03,
        "ReverseGeocoding": false,
        "Groups": [
          {}
        ]
      }
    ],
    "NumberOfPois": 1
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## DELETE /intellitracer/v1/poigroup

`https://api.geodynamics.dev/intellitracer/v1/poigroup`

Privilege required: `Api: Poi's edit`

Delete point of interest group

Deletes a point of interest group.

### Request body

### Responses

#### 200: OK

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work places",
    "Pois": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work",
        "Code": "012345",
        "PoiType": {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work place",
          "Color": "#00FF2F"
        },
        "IsAssetLocation": false,
        "Street": "Dumolinlaan",
        "HouseNumber": "9",
        "City": "Kortrijk",
        "Submunicipality": "Kortrijk",
        "PostalCode": "8500",
        "Country": 0,
        "Priority": "0",
        "Description": "Work",
        "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
        "LonMin": 3.145219,
        "LonMax": 3.244998,
        "LatMin": 50.81309,
        "LatMax": 50.91806,
        "MarkerLon": 3.145219,
        "MarkerLat": 50.81309,
        "IsLambert72": false,
        "Radius": 0.03,
        "ReverseGeocoding": false,
        "Groups": [
          {}
        ]
      }
    ],
    "NumberOfPois": 1
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v1/poigroup/{id}

`https://api.geodynamics.dev/intellitracer/v1/poigroup/{id}`

Get point of interest group

Returns a point of interest group by id.

_Privilege required: `Api: Poi's read` or `Api: Poi's edit`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Pois` (default = []) | array |
| `NumberOfPois` (default = 0) | number |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Work places",
  "Pois": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Work",
      "Code": "012345",
      "PoiType": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work place",
        "Color": "#00FF2F"
      },
      "IsAssetLocation": false,
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "Submunicipality": "Kortrijk",
      "PostalCode": "8500",
      "Country": 0,
      "Priority": "0",
      "Description": "Work",
      "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
      "LonMin": 3.145219,
      "LonMax": 3.244998,
      "LatMin": 50.81309,
      "LatMax": 50.91806,
      "MarkerLon": 3.145219,
      "MarkerLat": 50.81309,
      "IsLambert72": false,
      "Radius": 0.03,
      "ReverseGeocoding": false,
      "Groups": [
        {}
      ]
    }
  ],
  "NumberOfPois": 1
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v1/poigroup/{id}/pois

`https://api.geodynamics.dev/intellitracer/v1/poigroup/{id}/pois`

Get pois of poi group

Returns a list of all point of interests of a point of interest group.

_Privilege required: `Api: Poi's read` or `Api: Poi's edit`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

```json
[
  {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work"
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## PUT /intellitracer/v1/poigroup/{id}/pois

`https://api.geodynamics.dev/intellitracer/v1/poigroup/{id}/pois`

Privilege required: `Api: Poi's edit`

Add pois to poi group

Adds a list of point of interests to a point of interest group.

In order to add all point of interests to a point of interest group, set _AddAll_ to `true`. A search string can be used to filter the point of interests.

In order to add the listed point of interests to a point of interest group, set _AddAll_ to `false`.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Request body

### Responses

#### 200: OK

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work places",
    "Pois": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work",
        "Code": "012345",
        "PoiType": {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work place",
          "Color": "#00FF2F"
        },
        "IsAssetLocation": false,
        "Street": "Dumolinlaan",
        "HouseNumber": "9",
        "City": "Kortrijk",
        "Submunicipality": "Kortrijk",
        "PostalCode": "8500",
        "Country": 0,
        "Priority": "0",
        "Description": "Work",
        "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
        "LonMin": 3.145219,
        "LonMax": 3.244998,
        "LatMin": 50.81309,
        "LatMax": 50.91806,
        "MarkerLon": 3.145219,
        "MarkerLat": 50.81309,
        "IsLambert72": false,
        "Radius": 0.03,
        "ReverseGeocoding": false,
        "Groups": [
          {}
        ]
      }
    ],
    "NumberOfPois": 1
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## DELETE /intellitracer/v1/poigroup/{id}/pois

`https://api.geodynamics.dev/intellitracer/v1/poigroup/{id}/pois`

Privilege required: `Api: Poi's edit`

Remove pois from poi group

Removes a list of point of interests from a point of interest group.

In order to remove all point of interests from a point of interest group, set _DeleteAll_ to `true`. A search string can be used to filter the point of interests.

In order to remove the listed point of interests from a point of interest group, set _DeleteAll_ to `false`.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Request body

### Responses

#### 200: OK

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work places",
    "Pois": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Work",
        "Code": "012345",
        "PoiType": {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Work place",
          "Color": "#00FF2F"
        },
        "IsAssetLocation": false,
        "Street": "Dumolinlaan",
        "HouseNumber": "9",
        "City": "Kortrijk",
        "Submunicipality": "Kortrijk",
        "PostalCode": "8500",
        "Country": 0,
        "Priority": "0",
        "Description": "Work",
        "GeographyWkt": "POLYGON ((3.145219 50.81309, 3.244998 50.81309, 3.244998 50.91806, 3.145219 50.91806, 3.145219 50.81309))",
        "LonMin": 3.145219,
        "LonMax": 3.244998,
        "LatMin": 50.81309,
        "LatMax": 50.91806,
        "MarkerLon": 3.145219,
        "MarkerLat": 50.81309,
        "IsLambert72": false,
        "Radius": 0.03,
        "ReverseGeocoding": false,
        "Groups": [
          {}
        ]
      }
    ],
    "NumberOfPois": 1
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v1/poitype

`https://api.geodynamics.dev/intellitracer/v1/poitype`

Get point of interest types

Returns a list of all point of interest types.

_Privilege required: `Api: Poi's read` or `Api: Poi's edit`_

### Responses

#### 200: OK

```json
[
  {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work place",
    "Color": "#00FF2F"
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## POST /intellitracer/v1/poitype

`https://api.geodynamics.dev/intellitracer/v1/poitype`

Privilege required: `Api: Poi's edit`

Update point of interest type

Updates a point of interest type.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Name` | string | required |
| `Color` (default = null)  Color to be used for POIs of this type in GeoDynamics. | string | optional |
| `Id` | string | required |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Color` (default = null)  Color to be used for POIs of this type in GeoDynamics. | string |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Work place",
  "Color": "#00FF2F"
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work place",
    "Color": "#00FF2F"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## PUT /intellitracer/v1/poitype

`https://api.geodynamics.dev/intellitracer/v1/poitype`

Privilege required: `Api: Poi's edit`

Create point of interest type

Creates a new point of interest type.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Name` | string | required |
| `Color` (default = null)  Color to be used for POIs of this type in GeoDynamics. | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Color` (default = null)  Color to be used for POIs of this type in GeoDynamics. | string |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Work place",
  "Color": "#00FF2F"
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work place",
    "Color": "#00FF2F"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## DELETE /intellitracer/v1/poitype

`https://api.geodynamics.dev/intellitracer/v1/poitype`

Privilege required: `Api: Poi's edit`

Delete point of interest type

Deletes a point of interest type.

### Request body

### Responses

#### 200: OK

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Work place",
    "Color": "#00FF2F"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v1/poitype/{id}

`https://api.geodynamics.dev/intellitracer/v1/poitype/{id}`

Get point of interest type

Returns a point of interest type by id.

_Privilege required: `Api: Poi's read` or `Api: Poi's edit`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Color` (default = null)  Color to be used for POIs of this type in GeoDynamics. | string |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Work place",
  "Color": "#00FF2F"
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/rfidtag?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/rfidtag?page={page}&search={search}`

Privilege required: `Api: RFID tags`

Get RFID tags

Returns a paged list of RFID tags.

Pagination and searching is explained in [Pagination](#pagination).

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | array |
| `PagingFilter` | object |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "InternalNumber": "00AA11BB",
      "ExternalNumber": "12345678",
      "Type": 0,
      "BeaconRateSeconds": "15.0",
      "SiteCode": "1234",
      "PassiveTagNumber": "123456789",
      "MacAddress": "AABBCCDDEEFF",
      "User": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "John Doe",
        "Type": 0
      }
    }
  ],
  "PagingFilter": {
    "Page": 1,
    "Search": "ABC",
    "PageCount": 4,
    "TotalCount": 100,
    "Links": {
      "Base": "https://api.geodynamics.dev",
      "First": "/intellitracer/v2/asset?page=1",
      "Prev": "/intellitracer/v2/asset?page=2",
      "Next": "/intellitracer/v2/asset?page=4",
      "Last": "/intellitracer/v2/asset?page=4"
    }
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/rfidtag/{id}

`https://api.geodynamics.dev/intellitracer/v2/rfidtag/{id}`

Privilege required: `Api: RFID tags`

Get RFID tag

Returns an RFID tag by id.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF",
    "User": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    }
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## DELETE /intellitracer/v2/rfidtag/{id}

`https://api.geodynamics.dev/intellitracer/v2/rfidtag/{id}`

Privilege required: `Api: RFID tags`

Delete RFID tag

Deletes an RFID tag.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF",
    "User": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    }
  }
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## POST /intellitracer/v2/rfidtag

`https://api.geodynamics.dev/intellitracer/v2/rfidtag`

Privilege required: `Api: RFID tags`

Update RFID tag

Updates an RFID tag.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | required |
| `InternalNumber` | string | required |
| `ExternalNumber` (default = null) | string | optional |
| `Type` | number | required |
| `BeaconRateSeconds` (default = null) | string | optional |
| `SiteCode` (default = null)  This field is required for types 'Active Tag Ingecom', 'Active RFID Tag Wavetrend', 'Active/Passive Wavetrend', 'BLE', 'BLE IET10' and 'BLE ELA'. | string | optional |
| `PassiveTagNumber` (default = null)  This field is required for type 'Active/Passive Wavetrend'. | string | optional |
| `MacAddress` (default = null)  This field is required for type 'BLE IET10' and 'BLE ELA'. | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF",
    "User": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    }
  }
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## PUT /intellitracer/v2/rfidtag

`https://api.geodynamics.dev/intellitracer/v2/rfidtag`

Privilege required: `Api: RFID tags`

Create RFID tag

Creates a new RFID tag.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | optional |
| `InternalNumber` | string | required |
| `ExternalNumber` (default = null) | string | optional |
| `Type` | number | required |
| `BeaconRateSeconds` (default = null) | string | optional |
| `SiteCode` (default = null)  This field is required for types 'Active Tag Ingecom', 'Active RFID Tag Wavetrend', 'Active/Passive Wavetrend', 'BLE', 'BLE IET10' and 'BLE ELA'. | string | optional |
| `PassiveTagNumber` (default = null)  This field is required for type 'Active/Passive Wavetrend'. | string | optional |
| `MacAddress` (default = null)  This field is required for type 'BLE IET10' and 'BLE ELA'. | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF",
    "User": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    }
  }
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v2/user/{userId}/rfidtag

`https://api.geodynamics.dev/intellitracer/v2/user/{userId}/rfidtag`

Privilege required: `Api: RFID tags`

Get RFID tags by user

Returns a list of all RFID tags linked to a user.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `userId` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | array |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "InternalNumber": "00AA11BB",
      "ExternalNumber": "12345678",
      "Type": 0,
      "BeaconRateSeconds": "15.0",
      "SiteCode": "1234",
      "PassiveTagNumber": "123456789",
      "MacAddress": "AABBCCDDEEFF",
      "User": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "John Doe",
        "Type": 0
      }
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

## PUT /intellitracer/v2/user/{userId}/rfidtag

`https://api.geodynamics.dev/intellitracer/v2/user/{userId}/rfidtag`

Privilege required: `Api: RFID tags`

Link RFID tag to user

Links an RFID tag to a user by id or internal number.

When **OverrideExistingUser** is false, you can only link RFID tags that exist and are not yet linked to any other users. If the tag is already linked to another user, no action will be taken.

When **OverrideExistingUser** is true, RFID tags need to exist but can already be linked to another user. In that case we will remove the tag from the previous user and link it to the new one instead.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `userId` | string | required | `00000000-0000-0000-0000-000000000000` |

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `BadgeId` | string | optional |
| `InternalNumber` | string | optional |
| `OverrideExistingUser` | boolean | required |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF",
    "User": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    }
  }
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## DELETE /intellitracer/v2/user/{userId}/rfidtag

`https://api.geodynamics.dev/intellitracer/v2/user/{userId}/rfidtag`

Privilege required: `Api: RFID tags`

Unlink RFID tag from user

Unlinks an RFID tag from a user by id or internal number.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `userId` | string | required | `00000000-0000-0000-0000-000000000000` |

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `BadgeId` | string | optional |
| `InternalNumber` | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF",
    "User": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    }
  }
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "InternalNumber": "00AA11BB",
    "ExternalNumber": "12345678",
    "Type": 0,
    "BeaconRateSeconds": "15.0",
    "SiteCode": "1234",
    "PassiveTagNumber": "123456789",
    "MacAddress": "AABBCCDDEEFF"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v2/mobilerfidscanner?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/mobilerfidscanner?page={page}&search={search}`

Privilege required: `Api: Mobile RFID scanner`

Get mobile RFID scanners

Gets all mobile RFID scanners.

Pagination and searching is explained in [Pagination](#pagination).

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

```json
[
  {
    "Data": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "UnitId": "0000000000",
        "User": {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "John Doe",
          "Code": "012345"
        },
        "CostCenter": {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": "Workplace 1",
          "Code": "012345"
        }
      }
    ],
    "PagingFilter": {
      "Page": 1,
      "Search": "ABC",
      "PageCount": 4,
      "TotalCount": 100,
      "Links": {
        "Base": "https://api.geodynamics.dev",
        "First": "/intellitracer/v2/asset?page=1",
        "Prev": "/intellitracer/v2/asset?page=2",
        "Next": "/intellitracer/v2/asset?page=4",
        "Last": "/intellitracer/v2/asset?page=4"
      }
    }
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v1/mobilerfidscanner/{id}

`https://api.geodynamics.dev/intellitracer/v1/mobilerfidscanner/{id}`

Privilege required: `Api: Mobile RFID scanner`

Get mobile RFID scanner by Id

Gets a mobile RFID scanners by Id.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `UnitId` | string |
| `User` | object |
| `CostCenter` | object |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "UnitId": "0000000000",
  "User": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "John Doe",
    "Code": "012345"
  },
  "CostCenter": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Workplace 1",
    "Code": "012345"
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## POST /intellitracer/v1/mobilerfidscanner

`https://api.geodynamics.dev/intellitracer/v1/mobilerfidscanner`

Privilege required: `Api: Mobile RFID scanner`

Update mobile RFID scanner

Updates a mobile RFID scanner.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | required |
| `CurrentUserId` | string | optional |
| `CostCenterId` | string | optional |

### Responses

#### 200: OK

```json
[
  {
    "Id": "00000000-0000-0000-0000-000000000000",
    "UnitId": "0000000000",
    "User": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "John Doe",
      "Code": "012345"
    },
    "CostCenter": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Workplace 1",
      "Code": "012345"
    }
  }
]
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name_Nl": null,
    "Name_Fr": null,
    "Name_En": null,
    "Name_Pl": null,
    "Type": 0,
    "FilterText": null,
    "Prefix": null,
    "JobNumber": "1575-7577-4",
    "Regex": null,
    "InputFilter": 0,
    "InputType": 0,
    "ClockingType": 0,
    "Children": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name_Nl": null,
        "Name_Fr": null,
        "Name_En": null,
        "Name_Pl": null,
        "Type": 0,
        "FilterText": null,
        "Prefix": null,
        "JobNumber": "1575-7577-4",
        "Regex": null,
        "InputFilter": 0,
        "InputType": 0,
        "ClockingType": 0,
        "Children": [
          {}
        ],
        "PoiGroupId": "00000000-0000-0000-0000-000000000000",
        "CostCenterGroupId": "00000000-0000-0000-0000-000000000000",
        "ExternalCode": null,
        "ExternalType": 0
      }
    ],
    "PoiGroupId": "00000000-0000-0000-0000-000000000000",
    "CostCenterGroupId": "00000000-0000-0000-0000-000000000000",
    "ExternalCode": null,
    "ExternalType": 0
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v2/smartphone?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/smartphone?page={page}&search={search}`

Privilege required: `Api: Smartphone clocking device`

Get smartphones

Returns a paged list of smartphone clocking devices.

Pagination and searching is explained in [Pagination](#pagination).

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

```json
[
  {
    "Data": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Samsung S8",
        "UId": "000000000",
        "Active": true,
        "Type": 0,
        "Orientation": 0,
        "FilterMenusByUserFilter": false,
        "UserIdentification": 0,
        "UserIdentificationConfig": {
          "ByBadge": false,
          "ByUserCode": false,
          "ByCiawCode": false,
          "FixedUser": {
            "Id": "00000000-0000-0000-0000-000000000000",
            "Code": "012345",
            "Name": "John Doe",
            "Type": 0
          },
          "CiawWorkplace": {
            "Id": "00000000-0000-0000-0000-000000000000",
            "DUC": "",
            "Code": "012345",
            "Name": "GeoDynamics"
          }
        },
        "ResourceDetection": 0,
        "ResourceDetectionConfig": {
          "FixedVehicle": {
            "Id": "00000000-0000-0000-0000-000000000000",
            "Code": "012345",
            "Name": "John Doe",
            "Type": 0
          },
          "Vehicles": [
            {
              "Id": "00000000-0000-0000-0000-000000000000",
              "Code": "012345",
              "Name": "John Doe",
              "Type": 0
            }
          ]
        },
        "Positioning": 0,
        "PositioningConfig": {
          "FixedPoi": {
            "Id": "00000000-0000-0000-0000-000000000000",
            "Name": "Home",
            "Code": "012345"
          }
        },
        "Team": 0,
        "TeamConfig": {
          "GroupUsersByVehicle": false
        },
        "TimeRegistration": 0,
        "TimeRegistrationConfig": {
          "Menu": {
            "Id": "00000000-0000-0000-0000-000000000000",
            "Name": ""
          }
        },
        "CostCenter": {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Code": "012345",
          "Name": "John Doe",
          "Type": 0
        }
      }
    ],
    "PagingFilter": {
      "Page": 1,
      "Search": "ABC",
      "PageCount": 4,
      "TotalCount": 100,
      "Links": {
        "Base": "https://api.geodynamics.dev",
        "First": "/intellitracer/v2/asset?page=1",
        "Prev": "/intellitracer/v2/asset?page=2",
        "Next": "/intellitracer/v2/asset?page=4",
        "Last": "/intellitracer/v2/asset?page=4"
      }
    }
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/smartphone/{id}

`https://api.geodynamics.dev/intellitracer/v2/smartphone/{id}`

Privilege required: `Api: Smartphone clocking device`

Get smartphone

Returns a smartphone clocking device by id.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `UId` | string |
| `Active` (default = true) | boolean |
| `Type` (default = 0) | number |
| `Orientation` (default = 0) | number |
| `FilterMenusByUserFilter` (default = false) | boolean |
| `UserIdentification` (default = 0) | number |
| `UserIdentificationConfig` (default = null) | object |
| `ResourceDetection` (default = 0) | number |
| `ResourceDetectionConfig` (default = null) | object |
| `Positioning` (default = 0) | number |
| `PositioningConfig` (default = null) | object |
| `Team` (default = 0) | number |
| `TeamConfig` (default = null) | object |
| `TimeRegistration` (default = 0) | number |
| `TimeRegistrationConfig` (default = null) | object |
| `CostCenter` | object |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Samsung S8",
  "UId": "000000000",
  "Active": true,
  "Type": 0,
  "Orientation": 0,
  "FilterMenusByUserFilter": false,
  "UserIdentification": 0,
  "UserIdentificationConfig": {
    "ByBadge": false,
    "ByUserCode": false,
    "ByCiawCode": false,
    "FixedUser": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    },
    "CiawWorkplace": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "DUC": "",
      "Code": "012345",
      "Name": "GeoDynamics"
    }
  },
  "ResourceDetection": 0,
  "ResourceDetectionConfig": {
    "FixedVehicle": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    },
    "Vehicles": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "John Doe",
        "Type": 0
      }
    ]
  },
  "Positioning": 0,
  "PositioningConfig": {
    "FixedPoi": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Home",
      "Code": "012345"
    }
  },
  "Team": 0,
  "TeamConfig": {
    "GroupUsersByVehicle": false
  },
  "TimeRegistration": 0,
  "TimeRegistrationConfig": {
    "Menu": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": ""
    }
  },
  "CostCenter": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Code": "012345",
    "Name": "John Doe",
    "Type": 0
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## DELETE /intellitracer/v2/smartphone/{id}

`https://api.geodynamics.dev/intellitracer/v2/smartphone/{id}`

Privilege required: `Api: Smartphone clocking device`

Delete smartphone

Deletes a smartphone clocking device.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `UId` | string |
| `Active` (default = true) | boolean |
| `Type` (default = 0) | number |
| `Orientation` (default = 0) | number |
| `FilterMenusByUserFilter` (default = false) | boolean |
| `UserIdentification` (default = 0) | number |
| `UserIdentificationConfig` (default = null) | object |
| `ResourceDetection` (default = 0) | number |
| `ResourceDetectionConfig` (default = null) | object |
| `Positioning` (default = 0) | number |
| `PositioningConfig` (default = null) | object |
| `Team` (default = 0) | number |
| `TeamConfig` (default = null) | object |
| `TimeRegistration` (default = 0) | number |
| `TimeRegistrationConfig` (default = null) | object |
| `CostCenter` | object |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Samsung S8",
  "UId": "000000000",
  "Active": true,
  "Type": 0,
  "Orientation": 0,
  "FilterMenusByUserFilter": false,
  "UserIdentification": 0,
  "UserIdentificationConfig": {
    "ByBadge": false,
    "ByUserCode": false,
    "ByCiawCode": false,
    "FixedUser": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    },
    "CiawWorkplace": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "DUC": "",
      "Code": "012345",
      "Name": "GeoDynamics"
    }
  },
  "ResourceDetection": 0,
  "ResourceDetectionConfig": {
    "FixedVehicle": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    },
    "Vehicles": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "John Doe",
        "Type": 0
      }
    ]
  },
  "Positioning": 0,
  "PositioningConfig": {
    "FixedPoi": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Home",
      "Code": "012345"
    }
  },
  "Team": 0,
  "TeamConfig": {
    "GroupUsersByVehicle": false
  },
  "TimeRegistration": 0,
  "TimeRegistrationConfig": {
    "Menu": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": ""
    }
  },
  "CostCenter": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Code": "012345",
    "Name": "John Doe",
    "Type": 0
  }
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Samsung S8",
    "UId": "000000000",
    "Active": true,
    "Type": 0,
    "Orientation": 0,
    "FilterMenusByUserFilter": false,
    "UserIdentification": 0,
    "UserIdentificationConfig": {
      "ByBadge": false,
      "ByUserCode": false,
      "ByCiawCode": false,
      "FixedUserId": "00000000-0000-0000-0000-000000000000",
      "CiawWorkplaceId": "00000000-0000-0000-0000-000000000000"
    },
    "ResourceDetection": 0,
    "ResourceDetectionConfig": {
      "FixedVehicleId": "00000000-0000-0000-0000-000000000000",
      "VehicleIds": [
        "00000000-0000-0000-0000-000000000000",
        "00000000-0000-0000-0000-000000000000"
      ]
    },
    "Positioning": 0,
    "PositioningConfig": {
      "FixedPoiId": "00000000-0000-0000-0000-000000000000"
    },
    "Team": 0,
    "TeamConfig": {
      "GroupUsersByVehicle": false
    },
    "TimeRegistration": 0,
    "TimeRegistrationConfig": {
      "MenuId": "00000000-0000-0000-0000-000000000000"
    },
    "CostCenterId": "00000000-0000-0000-0000-000000000000"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## POST /intellitracer/v2/smartphone

`https://api.geodynamics.dev/intellitracer/v2/smartphone`

Privilege required: `Api: Smartphone clocking device`

Update smartphone

Updates a smartphone clocking device.

Settings that are not provided will be set to the default settings, which can be configured in GeoDynamics (Config > Devices > Smartphone clocking devices > Smartphone clocking default settings).

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | required |
| `Name` | string | required |
| `UId` | string | required |
| `Active` (default = true) | boolean | optional |
| `Type` (default = 0) | number | optional |
| `Orientation` (default = 0) | number | optional |
| `FilterMenusByUserFilter` (default = false) | boolean | optional |
| `UserIdentification` (default = 0) | number | optional |
| `UserIdentificationConfig` (default = null) | object | optional |
| `ResourceDetection` (default = 0) | number | optional |
| `ResourceDetectionConfig` (default = null) | object | optional |
| `Positioning` (default = 0) | number | optional |
| `PositioningConfig` (default = null) | object | optional |
| `Team` (default = 0) | number | optional |
| `TeamConfig` (default = null) | object | optional |
| `TimeRegistration` (default = 0) | number | optional |
| `TimeRegistrationConfig` (default = null) | object | optional |
| `CostCenterId` | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `UId` | string |
| `Active` (default = true) | boolean |
| `Type` (default = 0) | number |
| `Orientation` (default = 0) | number |
| `FilterMenusByUserFilter` (default = false) | boolean |
| `UserIdentification` (default = 0) | number |
| `UserIdentificationConfig` (default = null) | object |
| `ResourceDetection` (default = 0) | number |
| `ResourceDetectionConfig` (default = null) | object |
| `Positioning` (default = 0) | number |
| `PositioningConfig` (default = null) | object |
| `Team` (default = 0) | number |
| `TeamConfig` (default = null) | object |
| `TimeRegistration` (default = 0) | number |
| `TimeRegistrationConfig` (default = null) | object |
| `CostCenter` | object |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Samsung S8",
  "UId": "000000000",
  "Active": true,
  "Type": 0,
  "Orientation": 0,
  "FilterMenusByUserFilter": false,
  "UserIdentification": 0,
  "UserIdentificationConfig": {
    "ByBadge": false,
    "ByUserCode": false,
    "ByCiawCode": false,
    "FixedUser": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    },
    "CiawWorkplace": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "DUC": "",
      "Code": "012345",
      "Name": "GeoDynamics"
    }
  },
  "ResourceDetection": 0,
  "ResourceDetectionConfig": {
    "FixedVehicle": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    },
    "Vehicles": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "John Doe",
        "Type": 0
      }
    ]
  },
  "Positioning": 0,
  "PositioningConfig": {
    "FixedPoi": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Home",
      "Code": "012345"
    }
  },
  "Team": 0,
  "TeamConfig": {
    "GroupUsersByVehicle": false
  },
  "TimeRegistration": 0,
  "TimeRegistrationConfig": {
    "Menu": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": ""
    }
  },
  "CostCenter": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Code": "012345",
    "Name": "John Doe",
    "Type": 0
  }
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Samsung S8",
    "UId": "000000000",
    "Active": true,
    "Type": 0,
    "Orientation": 0,
    "FilterMenusByUserFilter": false,
    "UserIdentification": 0,
    "UserIdentificationConfig": {
      "ByBadge": false,
      "ByUserCode": false,
      "ByCiawCode": false,
      "FixedUserId": "00000000-0000-0000-0000-000000000000",
      "CiawWorkplaceId": "00000000-0000-0000-0000-000000000000"
    },
    "ResourceDetection": 0,
    "ResourceDetectionConfig": {
      "FixedVehicleId": "00000000-0000-0000-0000-000000000000",
      "VehicleIds": [
        "00000000-0000-0000-0000-000000000000",
        "00000000-0000-0000-0000-000000000000"
      ]
    },
    "Positioning": 0,
    "PositioningConfig": {
      "FixedPoiId": "00000000-0000-0000-0000-000000000000"
    },
    "Team": 0,
    "TeamConfig": {
      "GroupUsersByVehicle": false
    },
    "TimeRegistration": 0,
    "TimeRegistrationConfig": {
      "MenuId": "00000000-0000-0000-0000-000000000000"
    },
    "CostCenterId": "00000000-0000-0000-0000-000000000000"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## PUT /intellitracer/v2/smartphone

`https://api.geodynamics.dev/intellitracer/v2/smartphone`

Privilege required: `Api: Smartphone clocking device`

Create smartphone

Creates a new smartphone clocking device.

Settings that are not provided will be set to the default settings, which can be configured in GeoDynamics (Config > Devices > Smartphone clocking devices > Smartphone clocking default settings).

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | optional |
| `Name` | string | required |
| `UId` | string | required |
| `Active` (default = true) | boolean | optional |
| `Type` (default = 0) | number | optional |
| `Orientation` (default = 0) | number | optional |
| `FilterMenusByUserFilter` (default = false) | boolean | optional |
| `UserIdentification` (default = 0) | number | optional |
| `UserIdentificationConfig` (default = null) | object | optional |
| `ResourceDetection` (default = 0) | number | optional |
| `ResourceDetectionConfig` (default = null) | object | optional |
| `Positioning` (default = 0) | number | optional |
| `PositioningConfig` (default = null) | object | optional |
| `Team` (default = 0) | number | optional |
| `TeamConfig` (default = null) | object | optional |
| `TimeRegistration` (default = 0) | number | optional |
| `TimeRegistrationConfig` (default = null) | object | optional |
| `CostCenterId` | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `UId` | string |
| `Active` (default = true) | boolean |
| `Type` (default = 0) | number |
| `Orientation` (default = 0) | number |
| `FilterMenusByUserFilter` (default = false) | boolean |
| `UserIdentification` (default = 0) | number |
| `UserIdentificationConfig` (default = null) | object |
| `ResourceDetection` (default = 0) | number |
| `ResourceDetectionConfig` (default = null) | object |
| `Positioning` (default = 0) | number |
| `PositioningConfig` (default = null) | object |
| `Team` (default = 0) | number |
| `TeamConfig` (default = null) | object |
| `TimeRegistration` (default = 0) | number |
| `TimeRegistrationConfig` (default = null) | object |
| `CostCenter` | object |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "Samsung S8",
  "UId": "000000000",
  "Active": true,
  "Type": 0,
  "Orientation": 0,
  "FilterMenusByUserFilter": false,
  "UserIdentification": 0,
  "UserIdentificationConfig": {
    "ByBadge": false,
    "ByUserCode": false,
    "ByCiawCode": false,
    "FixedUser": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    },
    "CiawWorkplace": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "DUC": "",
      "Code": "012345",
      "Name": "GeoDynamics"
    }
  },
  "ResourceDetection": 0,
  "ResourceDetectionConfig": {
    "FixedVehicle": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": 0
    },
    "Vehicles": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "John Doe",
        "Type": 0
      }
    ]
  },
  "Positioning": 0,
  "PositioningConfig": {
    "FixedPoi": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Home",
      "Code": "012345"
    }
  },
  "Team": 0,
  "TeamConfig": {
    "GroupUsersByVehicle": false
  },
  "TimeRegistration": 0,
  "TimeRegistrationConfig": {
    "Menu": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": ""
    }
  },
  "CostCenter": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Code": "012345",
    "Name": "John Doe",
    "Type": 0
  }
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Samsung S8",
    "UId": "000000000",
    "Active": true,
    "Type": 0,
    "Orientation": 0,
    "FilterMenusByUserFilter": false,
    "UserIdentification": 0,
    "UserIdentificationConfig": {
      "ByBadge": false,
      "ByUserCode": false,
      "ByCiawCode": false,
      "FixedUserId": "00000000-0000-0000-0000-000000000000",
      "CiawWorkplaceId": "00000000-0000-0000-0000-000000000000"
    },
    "ResourceDetection": 0,
    "ResourceDetectionConfig": {
      "FixedVehicleId": "00000000-0000-0000-0000-000000000000",
      "VehicleIds": [
        "00000000-0000-0000-0000-000000000000",
        "00000000-0000-0000-0000-000000000000"
      ]
    },
    "Positioning": 0,
    "PositioningConfig": {
      "FixedPoiId": "00000000-0000-0000-0000-000000000000"
    },
    "Team": 0,
    "TeamConfig": {
      "GroupUsersByVehicle": false
    },
    "TimeRegistration": 0,
    "TimeRegistrationConfig": {
      "MenuId": "00000000-0000-0000-0000-000000000000"
    },
    "CostCenterId": "00000000-0000-0000-0000-000000000000"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v2/user?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/user?page={page}&search={search}`

Get users

Returns a paged list of users.

Pagination and searching is explained in [Pagination](#pagination).

_Privilege required: `Api: Resource read` or `Api: Resource management`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | array |
| `PagingFilter` (default = null) | object |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "John Doe",
      "Code": "012345",
      "EmployerCode": "012345",
      "Email": "john.doe@doe.com",
      "Gsm": "+32477665544",
      "FreeField1": null,
      "FreeField2": null,
      "FreeField3": null,
      "FreeField4": null,
      "FreeField5": null,
      "FreeField6": null,
      "Notes": null,
      "Street": "Dumolinlaan",
      "HouseNumber": "9",
      "City": "Kortrijk",
      "PostalCode": "8500",
      "Submunicipality": "Kortrijk",
      "Country": 0,
      "Longitude": 3.245304,
      "Latitude": 50.812939,
      "DefaultDayProgram": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": ""
      },
      "MobilityRule": 0,
      "OvertimeConfig": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "",
        "FirstHourCode": "001",
        "ExtraHoursCode": "002",
        "SaturdayHoursCode": "SA01",
        "SaturdayOvertimeCode": "SA02",
        "SundayHoursCode": "SU01",
        "SundayOvertimeCode": "SU02",
        "HoursType": "01:00:00"
      },
      "Groups": [
        {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Code": "012345",
          "Name": "",
          "Type": 0
        }
      ],
      "FilterIvrCode": "0123456789"
    }
  ],
  "PagingFilter": {
    "Page": 1,
    "Search": "ABC",
    "PageCount": 4,
    "TotalCount": 100,
    "Links": {
      "Base": "https://api.geodynamics.dev",
      "First": "/intellitracer/v2/asset?page=1",
      "Prev": "/intellitracer/v2/asset?page=2",
      "Next": "/intellitracer/v2/asset?page=4",
      "Last": "/intellitracer/v2/asset?page=4"
    }
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/user/{id}

`https://api.geodynamics.dev/intellitracer/v2/user/{id}`

Get user

Returns a user by id.

_Privilege required: `Api: Resource read` or `Api: Resource management`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "John Doe",
    "Code": "012345",
    "EmployerCode": "012345",
    "Email": "john.doe@doe.com",
    "Gsm": "+32477665544",
    "FreeField1": null,
    "FreeField2": null,
    "FreeField3": null,
    "FreeField4": null,
    "FreeField5": null,
    "FreeField6": null,
    "Notes": null,
    "Street": "Dumolinlaan",
    "HouseNumber": "9",
    "City": "Kortrijk",
    "PostalCode": "8500",
    "Submunicipality": "Kortrijk",
    "Country": 0,
    "Longitude": 3.245304,
    "Latitude": 50.812939,
    "DefaultDayProgram": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": ""
    },
    "MobilityRule": 0,
    "OvertimeConfig": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "",
      "FirstHourCode": "001",
      "ExtraHoursCode": "002",
      "SaturdayHoursCode": "SA01",
      "SaturdayOvertimeCode": "SA02",
      "SundayHoursCode": "SU01",
      "SundayOvertimeCode": "SU02",
      "HoursType": "01:00:00"
    },
    "Groups": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "",
        "Type": 0
      }
    ],
    "FilterIvrCode": "0123456789"
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## POST /intellitracer/v3/user

`https://api.geodynamics.dev/intellitracer/v3/user`

Privilege required: `Api: Resource management`

Update user

Updates a user.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | required |
| `Name` | string | required |
| `Code` (default = null) | string | optional |
| `EmployerCode` (default = null) | string | optional |
| `Email` (default = null) | string | optional |
| `Gsm` (default = null) | string | optional |
| `FreeField1` (default = null) | string | optional |
| `FreeField2` (default = null) | string | optional |
| `FreeField3` (default = null) | string | optional |
| `FreeField4` (default = null) | string | optional |
| `FreeField5` (default = null) | string | optional |
| `FreeField6` (default = null) | string | optional |
| `Notes` (default = null) | string | optional |
| `Street` (default = null) | string | optional |
| `HouseNumber` (default = null) | string | optional |
| `City` (default = null) | string | optional |
| `PostalCode` (default = null) | string | optional |
| `Submunicipality` (default = null) | string | optional |
| `Country` (default = 0) | number | optional |
| `Longitude` (default = null)  Geographic coordinate that specifies the east–west position of a point on the Earth's surface. | number | optional |
| `Latitude` (default = null)  Geographic coordinate that specifies the north–south position of a point on the Earth's surface. | number | optional |
| `MobilityRule` (default = 0) | number | optional |
| `FilterIvrCode` (default = null) | string | optional |
| `DefaultDayProgramId` (default = null) | string | optional |
| `OvertimeConfigId` (default = null) | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "John Doe",
    "Code": "012345",
    "EmployerCode": "012345",
    "Email": "john.doe@doe.com",
    "Gsm": "+32477665544",
    "FreeField1": null,
    "FreeField2": null,
    "FreeField3": null,
    "FreeField4": null,
    "FreeField5": null,
    "FreeField6": null,
    "Notes": null,
    "Street": "Dumolinlaan",
    "HouseNumber": "9",
    "City": "Kortrijk",
    "PostalCode": "8500",
    "Submunicipality": "Kortrijk",
    "Country": 0,
    "Longitude": 3.245304,
    "Latitude": 50.812939,
    "MobilityRule": 0,
    "FilterIvrCode": "0123456789",
    "DefaultDayProgram": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": ""
    },
    "OvertimeConfig": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "",
      "FirstHourCode": "001",
      "ExtraHoursCode": "002",
      "SaturdayHoursCode": "SA01",
      "SaturdayOvertimeCode": "SA02",
      "SundayHoursCode": "SU01",
      "SundayOvertimeCode": "SU02",
      "HoursType": "01:00:00"
    },
    "Groups": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "",
        "Type": 0
      }
    ]
  }
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "John Doe",
    "Code": "012345",
    "EmployerCode": "012345",
    "Email": "john.doe@doe.com",
    "Gsm": "+32477665544",
    "FreeField1": null,
    "FreeField2": null,
    "FreeField3": null,
    "FreeField4": null,
    "FreeField5": null,
    "FreeField6": null,
    "Notes": null,
    "Street": "Dumolinlaan",
    "HouseNumber": "9",
    "City": "Kortrijk",
    "PostalCode": "8500",
    "Submunicipality": "Kortrijk",
    "Country": 0,
    "Longitude": 3.245304,
    "Latitude": 50.812939,
    "MobilityRule": 0,
    "FilterIvrCode": "0123456789"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## PUT /intellitracer/v3/user

`https://api.geodynamics.dev/intellitracer/v3/user`

Privilege required: `Api: Resource management`

Create user

Creates a new user.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` | string | optional |
| `Name` | string | required |
| `Code` (default = null) | string | optional |
| `EmployerCode` (default = null) | string | optional |
| `Email` (default = null) | string | optional |
| `Gsm` (default = null) | string | optional |
| `FreeField1` (default = null) | string | optional |
| `FreeField2` (default = null) | string | optional |
| `FreeField3` (default = null) | string | optional |
| `FreeField4` (default = null) | string | optional |
| `FreeField5` (default = null) | string | optional |
| `FreeField6` (default = null) | string | optional |
| `Notes` (default = null) | string | optional |
| `Street` (default = null) | string | optional |
| `HouseNumber` (default = null) | string | optional |
| `City` (default = null) | string | optional |
| `PostalCode` (default = null) | string | optional |
| `Submunicipality` (default = null) | string | optional |
| `Country` (default = 0) | number | optional |
| `Longitude` (default = null)  Geographic coordinate that specifies the east–west position of a point on the Earth's surface. | number | optional |
| `Latitude` (default = null)  Geographic coordinate that specifies the north–south position of a point on the Earth's surface. | number | optional |
| `MobilityRule` (default = 0) | number | optional |
| `FilterIvrCode` (default = null) | string | optional |
| `DefaultDayProgramId` (default = null) | string | optional |
| `OvertimeConfigId` (default = null) | string | optional |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "John Doe",
    "Code": "012345",
    "EmployerCode": "012345",
    "Email": "john.doe@doe.com",
    "Gsm": "+32477665544",
    "FreeField1": null,
    "FreeField2": null,
    "FreeField3": null,
    "FreeField4": null,
    "FreeField5": null,
    "FreeField6": null,
    "Notes": null,
    "Street": "Dumolinlaan",
    "HouseNumber": "9",
    "City": "Kortrijk",
    "PostalCode": "8500",
    "Submunicipality": "Kortrijk",
    "Country": 0,
    "Longitude": 3.245304,
    "Latitude": 50.812939,
    "MobilityRule": 0,
    "FilterIvrCode": "0123456789",
    "DefaultDayProgram": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": ""
    },
    "OvertimeConfig": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "",
      "FirstHourCode": "001",
      "ExtraHoursCode": "002",
      "SaturdayHoursCode": "SA01",
      "SaturdayOvertimeCode": "SA02",
      "SundayHoursCode": "SU01",
      "SundayOvertimeCode": "SU02",
      "HoursType": "01:00:00"
    },
    "Groups": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "",
        "Type": 0
      }
    ]
  }
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "John Doe",
    "Code": "012345",
    "EmployerCode": "012345",
    "Email": "john.doe@doe.com",
    "Gsm": "+32477665544",
    "FreeField1": null,
    "FreeField2": null,
    "FreeField3": null,
    "FreeField4": null,
    "FreeField5": null,
    "FreeField6": null,
    "Notes": null,
    "Street": "Dumolinlaan",
    "HouseNumber": "9",
    "City": "Kortrijk",
    "PostalCode": "8500",
    "Submunicipality": "Kortrijk",
    "Country": 0,
    "Longitude": 3.245304,
    "Latitude": 50.812939,
    "MobilityRule": 0,
    "FilterIvrCode": "0123456789"
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## DELETE /intellitracer/v1/user

`https://api.geodynamics.dev/intellitracer/v1/user`

Privilege required: `Api: Resource management`

Delete user

Deletes a user.

### Request body

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Id` | string |
| `Name` | string |
| `Code` (default = null) | string |
| `EmployerCode` (default = null) | string |
| `Email` (default = null) | string |
| `Gsm` (default = null) | string |
| `FreeField1` (default = null) | string |
| `FreeField2` (default = null) | string |
| `FreeField3` (default = null) | string |
| `FreeField4` (default = null) | string |
| `FreeField5` (default = null) | string |
| `FreeField6` (default = null) | string |
| `Notes` (default = null) | string |
| `Street` (default = null) | string |
| `HouseNumber` (default = null) | string |
| `City` (default = null) | string |
| `PostalCode` (default = null) | string |
| `Submunicipality` (default = null) | string |
| `Country` (default = 0) | number |
| `Longitude` (default = null)  Geographic coordinate that specifies the east–west position of a point on the Earth's surface. | number |
| `Latitude` (default = null)  Geographic coordinate that specifies the north–south position of a point on the Earth's surface. | number |
| `DefaultDayProgram` (default = null) | object |
| `Groups` (default = null) | array |
| `_typeDescriptor` | string |

```json
{
  "Id": "00000000-0000-0000-0000-000000000000",
  "Name": "John Doe",
  "Code": "012345",
  "EmployerCode": "012345",
  "Email": "john.doe@doe.com",
  "Gsm": "+32477665544",
  "FreeField1": null,
  "FreeField2": null,
  "FreeField3": null,
  "FreeField4": null,
  "FreeField5": null,
  "FreeField6": null,
  "Notes": null,
  "Street": "Dumolinlaan",
  "HouseNumber": "9",
  "City": "Kortrijk",
  "PostalCode": "8500",
  "Submunicipality": "Kortrijk",
  "Country": 0,
  "Longitude": 3.245304,
  "Latitude": 50.812939,
  "DefaultDayProgram": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "Default"
  },
  "Groups": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Employees",
      "Type": 0,
      "Code": "012345"
    }
  ]
}
```

#### 400: BadRequest

| Field | Type |
| --- | --- |
| `Entity` | object |
| `ValidationResult` | array |

```json
{
  "Entity": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "John Doe",
    "Code": "012345",
    "EmployerCode": "012345",
    "Email": "john.doe@doe.com",
    "Gsm": "+32477665544",
    "FreeField1": null,
    "FreeField2": null,
    "FreeField3": null,
    "FreeField4": null,
    "FreeField5": null,
    "FreeField6": null,
    "Notes": null,
    "Street": "Dumolinlaan",
    "HouseNumber": "9",
    "City": "Kortrijk",
    "PostalCode": "8500",
    "Submunicipality": "Kortrijk",
    "Country": 0,
    "Longitude": 3.245304,
    "Latitude": 50.812939,
    "DefaultDayProgram": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Default"
    },
    "Groups": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Employees",
        "Type": 0,
        "Code": "012345"
      }
    ]
  },
  "ValidationResult": [
    {
      "Message": "",
      "SourceMemberNames": []
    }
  ]
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v3/user/{id}/permitted-groups?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v3/user/{id}/permitted-groups?page={page}&search={search}`

Get user permitted resource groups

Returns a list of all permitted resource groups of a user.

_Privilege required: `Api: Resource read` or `Api: Resource management`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | array |
| `PagingFilter` (default = null) | object |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Code": "012345",
      "Name": "John Doe",
      "Type": ""
    }
  ],
  "PagingFilter": {
    "Page": 1,
    "Search": "ABC",
    "PageCount": 4,
    "TotalCount": 100,
    "Links": {
      "Base": "https://api.geodynamics.dev",
      "First": "/intellitracer/v2/asset?page=1",
      "Prev": "/intellitracer/v2/asset?page=2",
      "Next": "/intellitracer/v2/asset?page=4",
      "Last": "/intellitracer/v2/asset?page=4"
    }
  }
}
```

#### 400: Bad Request

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## PUT /intellitracer/v3/user/{id}/permitted-groups

`https://api.geodynamics.dev/intellitracer/v3/user/{id}/permitted-groups`

Privilege required: `Api: Resource management`

Add permitted resource groups to user

Adds a list of permitted resource groups to a user.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `GroupIds` | array | required |
| `Type` | string | required |

### Responses

#### 200: OK

#### 400: Bad Request

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## DELETE /intellitracer/v3/user/{id}/permitted-groups

`https://api.geodynamics.dev/intellitracer/v3/user/{id}/permitted-groups`

Privilege required: `Api: Resource management`

Remove permitted resource groups from user

Removes a list of permitted resource groups from a user.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Request body

### Responses

#### 200: OK

#### 400: Bad Request

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v3/user/{id}/dayprograms?fromDate={fromDate}&toDate={toDate}

`https://api.geodynamics.dev/intellitracer/v3/user/{id}/dayprograms?fromDate={fromDate}&toDate={toDate}`

Get user day programs

Returns a list of all day programs of a user within a date range.

_Privilege required: `Api: Resource read` or `Api: Resource management`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |
| `fromDate` | string | required | `2019-01-25` |
| `toDate` | string | required | `2019-01-27` |

### Responses

#### 200: OK

```json
[
  {
    "User": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "John Doe"
    },
    "DayProgram": {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "Default"
    },
    "DateLocal": "2019-01-25",
    "IsDefault": false
  }
]
```

#### 400: Bad Request

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## POST /intellitracer/v3/user/{id}/dayprograms

`https://api.geodynamics.dev/intellitracer/v3/user/{id}/dayprograms`

Privilege required: `Api: Resource management`

Update user day programs

Updates the day programs of a user within a date range.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `DayProgramId` | string | required |
| `FromDate` | string | required |
| `ToDate` | string | required |

### Responses

#### 200: OK

#### 400: Bad Request

#### 401: Unauthorized

#### 403: Forbidden

#### 417: ExpectationFailed

## GET /intellitracer/v2/overtimeconfig?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/overtimeconfig?page={page}&search={search}`

Get overtime configurations

Returns a paged list of overtime configurations.

_Privilege required: `Api: Timesheet read` or `Api: Timesheet management`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` | array |
| `PagingFilter` (default = null) | object |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": "",
      "FirstHourCode": "001",
      "ExtraHoursCode": "002",
      "SaturdayHoursCode": "SA01",
      "SaturdayOvertimeCode": "SA02",
      "SundayHoursCode": "SU01",
      "SundayOvertimeCode": "SU02",
      "HoursType": "01:00:00"
    }
  ],
  "PagingFilter": {
    "Page": 1,
    "Search": "ABC",
    "PageCount": 4,
    "TotalCount": 100,
    "Links": {
      "Base": "https://api.geodynamics.dev",
      "First": "/intellitracer/v2/asset?page=1",
      "Prev": "/intellitracer/v2/asset?page=2",
      "Next": "/intellitracer/v2/asset?page=4",
      "Last": "/intellitracer/v2/asset?page=4"
    }
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/overtimeconfig/{id}

`https://api.geodynamics.dev/intellitracer/v2/overtimeconfig/{id}`

Get overtime configuration

Returns an overtime configuration by id.

_Privilege required: `Api: Timesheet read` or `Api: Timesheet management`_

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `id` | string | required | `00000000-0000-0000-0000-000000000000` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | object |

```json
{
  "Data": {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Name": "",
    "FirstHourCode": "001",
    "ExtraHoursCode": "002",
    "SaturdayHoursCode": "SA01",
    "SaturdayOvertimeCode": "SA02",
    "SundayHoursCode": "SU01",
    "SundayOvertimeCode": "SU02",
    "HoursType": "01:00:00"
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden
