> For the complete documentation index, see [llms.txt](https://docs.movesdk.com/move-platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.movesdk.com/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/models/moveconfig.md).

# MoveConfig

MOVE Models

The MOVE SDK offers to detect different modes of transport and driving services. The host app can configure which driving services to activate and modes of transport to detect by setting the [MoveConfig](/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/models/moveconfig.md) object when initializing the MOVE SDK.

{% hint style="warning" %}
**The host app can only configure its MOVE SDK services to the set or subset of services subscribed** by the MOVE project ID in the [MOVE dashboard](/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/getting-started/move-dashboard.md). You will get a failure list with [MoveError.Unauthorized](/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/models/moveservicefailure.md) error if services are not configured.
{% endhint %}

{% tabs %}
{% tab title="Android" %}

```kotlin

   enum MoveDetectionService {
        case Driving([DrivingService])
        case Walking([WalkingService])
        case Cycling
        case Places
        case PublicTransport
        case PointsOfInterest
        case AutomaticImpactDetection
        case AssistanceCall
    }
     
    enum DrivingService {
        case DistractionFreeDriving
        case DrivingBehaviour
    }
    
    enum WalkingService {
        case Location
    }
    
    var moveDetectionServices: List<MoveDetectionService>
```

{% endtab %}

{% tab title="iOS" %}

```swift
struct MoveConfig {
    enum DetectionService {
        case driving([DrivingService])
        case cycling
        case walking([WalkingService])
        case places
        case publicTransport
        case pointsOfInterest
        case automaticImpactDetection
        case assistanceCall
    }

    enum DrivingService {
        case drivingBehavior
        case distractionFreeDriving
    }
    
    enum WalkingService {
        case location
    }
 
    enum OtherService {
        case pointsOfInterest
    }
 
    var detectionServices: [TimelineDetectionService]
}
```

{% endtab %}

{% tab title="React Native" %}

```javascript
export type MoveSdkConfig = {
  timelineDetectionServices: TimelineDetectionService[];
  drivingServices: DrivingService[];
  walkingServices: WalkingService[];
};
export type DrivingService = 'DISTRACTION_FREE_DRIVING' | 'DRIVING_BEHAVIOUR';
export type WalkingService = 'LOCATION';
export type OtherService = 'POINTS_OF_INTEREST';
export type TimelineDetectionService =
  | 'DRIVING'
  | 'CYCLING'
  | 'WALKING'
  | 'PUBLIC_TRANSPORT'
  | 'AUTOMATIC_IMPACT_DETECTION'
  | 'ASSISTANCE_CALL'
  | 'POINTS_OF_INTEREST';
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Please check also the platform specific configuration pages ([Android](/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/api-interface/android-1/builder.md) / [iOS](/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/api-interface/ios/intialization.md)).
{% endhint %}

| MoveConfig            |                          |                                                                    |
| --------------------- | ------------------------ | ------------------------------------------------------------------ |
| **DetectionServices** |                          | List of required modes of transportation to be detected.           |
|                       | driving                  | Detect the driving activity.                                       |
|                       | cycling                  | Detect the cycling activity.                                       |
|                       | walking                  | Detect the walking activity.                                       |
|                       | places                   | Detect places where user spent time.                               |
|                       | publicTransport          | Detect public transport trips                                      |
|                       | pointsOfInterest         | Monitor and track points of interest                               |
|                       | automaticImpactDetection | Detect impacts while driving or as stand alone service.            |
|                       | assistanceCall           | Enable assistance call.                                            |
| **DrivingServices**   |                          | List of required driving services to be detected.                  |
|                       | distractionFreeDriving   | Detect the user's distraction-free driving duration during a trip. |
|                       | drivingBehavior          | Detect the user's driving behavior during a trip.                  |
| **WalkingServices**   |                          |                                                                    |
|                       | location                 | Detects locations in background while walking.                     |

{% hint style="info" %}
Each [MoveConfig](/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/models/moveconfig.md) requires one or more permissions (see for [Android](/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/appendix/android/permission-handling.md) and [iOS](/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/appendix/ios/permission-handling.md)). **Individual MOVE SDK services will not function without the required permissions.** Check [MoveSDKState](/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/models/movestate.md) for more details.
{% endhint %}

| MoveConfig related APIs |                                                             |
| ----------------------- | ----------------------------------------------------------- |
| `setup()`               | Setup the MOVE SDK with passing `MoveAuth` and `MoveConfig` |
