# Smartphone

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

## GET /intellitracer/v1/mobileclocking/optionlist

`https://api.geodynamics.dev/intellitracer/v1/mobileclocking/optionlist`

Privilege required: `Api: Smartphone clocking device`

Get option lists

Returns a list of all option lists.

### Responses

#### 200: OK

```json
[
  {
    "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
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## POST /intellitracer/v1/mobileclocking/optionlist

`https://api.geodynamics.dev/intellitracer/v1/mobileclocking/optionlist`

Privilege required: `Api: Smartphone clocking device`

Update option list

Updates an option list and creates a new menu structure.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Id` (default = null)  Only for folders. | string | required |
| `Name_Nl` (default = null) | string | optional |
| `Name_Fr` (default = null) | string | optional |
| `Name_En` (default = null) | string | optional |
| `Name_Pl` (default = null) | string | optional |
| `Type` (default = 0)  Type of the mobile clocking node (folder or jobnumber). | number | optional |
| `FilterText` (default = null)  Filters the visible mobile clocking nodes based on what's in the "Filter/IVR code" field in the config of the logged in user. Only nodes in which that field matches the FilterText will be visible for that user. | string | optional |
| `Prefix` (default = null)  This prefix will automatically be added in front of the jobnumber entered by the user. | string | optional |
| `JobNumber` (default = null)  Job number used for postcalculation or activity based timeregistration | string | optional |
| `Regex` (default = null)  A jobnumber entered by the user will only be accepted if it matches this regex. | string | optional |
| `InputFilter` (default = 0)  What kind of input is allowed (free input, only numbers, or hexadecimal). | number | optional |
| `InputType` (default = 0)  What type of input is allowed (scanning, manual entry or both). | number | optional |
| `ClockingType` (default = null)  Type of the clocking to be generated (see options below). | number | optional |
| `Children` (default = null)  Only for folders. Children of this mobile clocking node. | array | optional |
| `PoiGroupId` | string | optional |
| `PoiRequired` (default = false) | boolean | optional |
| `ValidatePoiCode` (default = false) | boolean | optional |
| `CostCenterGroupId` | string | optional |
| `CostCenterRequired` (default = false) | boolean | optional |
| `ValidateCostCenterCode` (default = false) | boolean | optional |
| `ExternalCode` (default = null) | string | optional |
| `ExternalType` (default = null) | number | optional |
| `_typeDescriptor` | string | optional |

### Responses

#### 200: OK

```json
[
  {
    "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
  }
]
```

#### 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

## PUT /intellitracer/v1/mobileclocking/optionlist

`https://api.geodynamics.dev/intellitracer/v1/mobileclocking/optionlist`

Privilege required: `Api: Smartphone clocking device`

Create option list

Creates a new option list.

### Request body

Type: `object`

| Field | Type | Required |
| --- | --- | --- |
| `Name_Nl` (default = null) | string | required |
| `Name_Fr` (default = null) | string | optional |
| `Name_En` (default = null) | string | optional |
| `Name_Pl` (default = null) | string | optional |
| `_typeDescriptor` | string | optional |

### Responses

#### 200: OK

```json
[
  {
    "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
  }
]
```

#### 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/v1/mobileclocking/optionlist/{id}

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

Privilege required: `Api: Smartphone clocking device`

Get option list

Returns an option list and its menu structure by id.

### 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_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
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v1/mobileclocking/multijoblist

`https://api.geodynamics.dev/intellitracer/v1/mobileclocking/multijoblist`

Privilege required: `Api: Smartphone clocking device`

Get multi job lists

Returns a list of all multi job lists.

### Responses

#### 200: OK

```json
[
  {
    "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
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v1/mobileclocking/multijoblist/{id}

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

Privilege required: `Api: Smartphone clocking device`

Get multi job list

Returns a multi job list and its menu structure by id.

### 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_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
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden
