> For the complete documentation index, see [llms.txt](https://docs.mapbox.com/android/ja/navigation/llms.txt)

# Busy charging station

> **Note (warning): Experimental API**
> 
> The **Driver Notifications API** is in a preview state and has a high chance of being changed in the future.

The [`EvBusyChargingStationNotificationProvider`](https://docs.mapbox.com/android/navigation/api/coreframework/3.30.0-rc.1/private_preview/ev-driver-notification/com.mapbox.navigation.ev.driver.notification.charging/-ev-busy-charging-station-notification-provider/) provides notifications when a busy EV charging station is detected on the primary route and suggests an alternative route if available.

> **Note: Handle notifications flow**
> 
> The provider continues to send notifications even if the user selects a worse route. Now, filtering of this state should be handled by the application consuming this API.

### 1. Setup the `DriverNotificationsManager`

> **Related content (guide): [Get started with Driver Notifications](https://docs.mapbox.com/android/ja/navigation/guides/driver-notifications/get-started/)**
> 
> Learn how to setup Driver Notifications.

### 2. Attach the `EvBusyChargingStationNotificationProvider`

```kotlin
val evBusyChargingStationNotificationProvider = EvBusyChargingStationNotificationProvider()
driverNotificationManager.attachDriverNotificationProvider(evBusyChargingStationNotificationProvider)
```

### 3. Receive busy station notification

The [`EvBusyChargingStationNotification`](https://docs.mapbox.com/android/navigation/api/coreframework/3.30.0-rc.1/private_preview/ev-driver-notification/com.mapbox.navigation.ev.driver.notification.charging/-ev-busy-charging-station-notification/) is a notification object generated by the navigation SDK when an electric vehicle (EV) charging station along the current route is detected as busy (e.g., occupied or out-of-service). This notification helps drivers avoid delays by providing an alternative route that bypasses the busy charging station, allowing them to continue their journey with minimal disruption.

Here is a table describing the options for `EvBusyChargingStationNotification`:

| Data field | Description |
| --- | --- |
| `busyChargingStationId` | The unique identifier of the busy EV charging station detected along the current route. |
| `alternativeRoute` | The alternative [`NavigationRoute`](https://docs.mapbox.com/android/navigation/api/coreframework/3.30.0-rc.1/base/com.mapbox.navigation.base.route/-navigation-route/) suggested to avoid the busy charging station. |
| `busyChargingStationReason` | The value of the [`DirectionsCriteria.NotificationsEvStationUnavailableReasonCriteria`](https://docs.mapbox.com/android/java/api/libjava-services-directions-models/7.10.1/com/mapbox/api/directions/v5/DirectionsCriteria.NotificationsEvStationUnavailableReasonCriteria.html) indicating the reason why the charging station is unavailable, null if the reason is not specified. |

### 4. Analyze `busyChargingStationReason`

Analyze [`EvBusyChargingStationNotification.busyChargingStationReason`](https://docs.mapbox.com/android/navigation/api/coreframework/3.30.0-rc.1/private_preview/ev-driver-notification/com.mapbox.navigation.ev.driver.notification.charging/-ev-busy-charging-station-notification/#-737885370%2FProperties%2F278583231) to provide an enhanced user experience.

| Type | Description |
| --- | --- |
| [`"outOfOrder"`](https://docs.mapbox.com/android/java/api/libjava-services-directions-models/7.10.1/com/mapbox/api/directions/v5/DirectionsCriteria.html#NOTIFICATION_EV_STATION_OUT_OF_ORDER) | The charging station is not working properly. |
| [`"occupied"`](https://docs.mapbox.com/android/java/api/libjava-services-directions-models/7.10.1/com/mapbox/api/directions/v5/DirectionsCriteria.html#NOTIFICATION_EV_STATION_OCCUPIED) | The charging station is being used by another vehicle. |