> 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/moveservicefailure.md).

# MoveServiceFailure

MOVE Models

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

```kotlin
data class MoveServiceFailure( 
    val service: MoveDetectionService, 
    val reasons: List<MoveError>
)

sealed class MoveError {
    AccelerometerMissing,
    BatteryPermissionMissing,
    InternetPermissionMissing,
    LocationPermissionMissing,
    MotionPermissionMissing,
    NotificationMissing,
    OverlayPermissionMissing,
    PhonePermissionMissing,
    Unauthorized
}
```

{% endtab %}

{% tab title="iOS" %}

```swift
struct MoveServiceFailure {
    enum Reason {
        case unauthorized
        case missingPermission([MovePermission])
    }

    var service: MoveConfig.DetectionService
    var reason: Reason
}


enum MovePermission: Int {
    case location
    case backgroundLocation
    case preciseLocation
    case motionActivity
    case gyroscope
    case accelerometer
}
```

{% endtab %}

{% tab title="React Native" %}

```typescript
export declare type ErrorReasons = 'BACKGROUND_LOCATION_PERMISSION_MISSING' | 'LOCATION_PERMISSION_MISSING' | 'MOTION_PERMISSION_MISSING' | 'BATTERY_OPTIMIZATION' | 'BATTERY_PERMISSION_MISSING' | 'BLUETOOTH_PERMISSION_MISSING' | 'NO_ACCELEROMETER';
export declare type ErrorListService = 'DRIVING[]' | 'DRIVING[DRIVING_BEHAVIOUR]' | 'DRIVING[DISTRACTION_FREE_DRIVING]' | 'DRIVING[DRIVING_BEHAVIOUR, DISTRACTION_FREE_DRIVING]' | 'DRIVING[DISTRACTION_FREE_DRIVING, DRIVING_BEHAVIOUR]' | 'WALKING[]' | 'WALKING[LOCATION]' | 'CYCLING' | 'PUBLIC_TRANSPORT' | 'AUTOMATIC_IMPACT_DETECTION' | 'POINTS_OF_INTEREST';
export declare type ErrorListItem = {
    reasons: Array<ErrorReasons>;
    service?: ErrorListService;
};
export declare type ErrorListType = Array<ErrorListItem>;
```

{% endtab %}
{% endtabs %}

<table data-header-hidden><thead><tr><th>Parameter</th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td></td><td></td></tr><tr><td>service</td><td><a href="/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/models/moveconfig.md">MoveConfig</a> DetectionService</td><td></td></tr><tr><td>reason</td><td>List of required <a href="broken://pages/913CdQN0fegBbJNSfkz3">Permission</a>s, or unauthorized if not in server config.</td><td></td></tr></tbody></table>
