# Onboarding and setup The initial setup of smart charging is an excellent opportunity to educate users about smart charging mechanics and requirements. ![A collection of all the example screens, outlining a proposed onboarding flow](https://developers.enode.com/images/smart-charging/Onboarding__Summary.png) By default, smart charging is `DISABLED`. In this state, the vehicle charges continuously when plugged in, unless the user configures other interventions via the vehicle, charger, or other apps. To enable smart charging, we need two simple inputs: 1. A smart charging policy, including a user-defined deadline 2. One or more user-defined charging locations A valid smart charging policy is necessary to transition from the `DISABLED` state to the `CONSIDERING` state. However, a charging location is required to generate a smart charging plan (transitioning into `PLAN:*`), so we consider this a core part of smart charging onboarding. In addition to collecting these two inputs, presenting some key information early in the user journey ensures a better understanding and experience: - What smart charging is and how it works - Protective charging - Interference by third parties This guide will walk you through the required inputs and key information. What we recommend: If the linked vehicle doesn't have the necessary capabilities for smart charging, we recommend disabling the option and not triggering the onboarding flow for these cases. Check the `capabilities.smartCharging.isCapable` value available through the `/vehicles/{vehicleId}` endpoint. A note on this guide: This guide features an example onboarding flow that collects introductory information before obtaining the required user input.Depending on your product's structure, the user's journey, and unique factors, you might want to arrange this differently or divide it into multiple flows.If you collect the main inputs as part of an onboarding flow, we recommend highlighting where the end-user can change it later (e.g., app settings). ## What it is and how it works ![Two onboarding screens: one explaining what smart charging is, and one explaining how it works in more detail](https://developers.enode.com/images/smart-charging/Onboarding__What_it_is_and_how_it_works.png) What we recommend: Introduce users to smart charging and its functionality early in the user journey, using your brand's tone and wording.How you explain the feature and related terminology depends on your brand and product. However, maintain consistent vocabulary throughout the entire user journey.The explanation can range from a single screen to multiple screens, an animation, or a video, depending on your users' exposure to the concept.You might also want to include details about how pricing factors in. For example, if your product relies on tariffs, explain tariff patterns. If your product depends on Nord Pool day-ahead prices, briefly describe price updates and day-ahead prices.For more information on how our smart charging algorithm handles price data, check out our guide on [smart charging considerations](https://developers.enode.com/docs/smart-charging/states-of-smart-charging#price-data-sources). ## Protective charging Protective charging is controlled by the vehicle's [SmartChargingPolicy](https://developers.enode.com/api/reference#updateVehicleSmartChargingPolicy) `minimumChargeLimit`, which defaults to zero. If the vehicle's charge level is below `minimumChargeLimit` when plugged in, it will charge continuously until it reaches `minimumChargeLimit`, regardless of energy prices. Check that the `minimumChargeLimit` never exceeds the vehicle's maximum limit. You can retrieve the maximum limit from the [get vehicle](https://developers.enode.com/api/reference#getVehiclesVehicleid) API response using `chargeState.chargeLimit`. Note, the Enode API doesn't control the maximum limit, which is subject to change. If the maximum limit falls below the set minimum, adjust the `minimumChargeLimit` to ensure smart charging functionality. What we recommend: We recommend explaining this mechanism and establishing it as part of an onboarding flow if you set the `minimumChargeLimit` higher than the default zero. This will ensure your users that their vehicle’s battery health is taken care of and familiarize them with the state before it shows up in the app later. In addition, we recommend giving this state a name, i.e., “protective charging”, that will be reiterated throughout the user journey. ## Interference by third parties ![An onboarding screen explaining that interference by third parties will cause smart charging problems](https://developers.enode.com/images/smart-charging/Onboarding__Interference.png) If the user has enabled schedules or other smart charging functionality via their charger, vehicle, or other apps, these will cause problems for smart charging plans. What we recommend: We recommend informing your users about this early in the user journey to avoid potential problems and confusion down the line. ## Adding a charging location ![Two onboarding screens: one screen explaining the purpose of charging locations (with an already known address for the end-user pre-filled), and one displaying a map and a search field so the end-user can add another address](https://developers.enode.com/images/smart-charging/Onboarding__Charging_location.png) The vehicle must be plugged in at a known charging location for smart charging to be considered, as indicated by the `atChargingLocation` consideration. Post a name and location data (`longitude`, `latitude`) to the `/locations` endpoint to add a charging location. Charging locations are also used for mapping price data to [tariffs](https://developers.enode.com/api/reference#tariffs) or [Nordpool price areas](https://data.nordpoolgroup.com/auction/day-ahead/prices). You can learn more about the Location endpoints in [our API reference](https://developers.enode.com/api/reference#locations). **Example** ```json { "name": "Home", "longitude": 10.757933, "latitude": 59.911491 } ``` What we recommend: If a charging location does not exist when the user first enables smart charging, we suggest including this step in the initial setup.To simplify adding a charging location, display a map with options to search for an address and use their current location.To obtain the `longitude` and `latitude`, you could use geocoding from your map SDK or call a third-party service like the [Google Maps Geocoding Service](https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple).A vehicle is considered at a charging location if within 200 meters of the `longitude` and `latitude`. Visualize this radius in the view to emphasize it.If you are building a product for private consumers and already have access to the user's home address, pre-fill this information for a quick and seamless setup. ## Setting a deadline ![An onboarding screen asking the end-user to set their desired deadline](https://developers.enode.com/images/smart-charging/Onboarding__Deadline.png) Enabling smart charging for a vehicle involves calling the [Smart Charging Policy](https://developers.enode.com/api/reference#updateVehicleSmartChargingPolicy) endpoint with the required information. Learn more in the [previous guide](https://developers.enode.com/docs/smart-charging/states-of-smart-charging#disabled) and [our docs](https://developers.enode.com/api/reference#updateVehicleSmartChargingPolicy). What we recommend: Since a `deadline` is required with `isEnabled`, consider pre-filling a deadline when the user enables smart charging for the first time, rather than presenting an empty time input field. This avoids sending incomplete information to the [Smart Charging Policy](https://developers.enode.com/api/reference#updateVehicleSmartChargingPolicy) endpoint.This pre-filled deadline could be an average for your user base. If a pre-filled deadline is presented, prompt the user to adjust it if desired before proceeding. ## Confirmation ![An onboarding success screen summarising the information the end-user has added (deadline and charging location), and confirming everything is ready to go ](https://developers.enode.com/images/smart-charging/Onboarding__Summary1.png) At this point, the user is ready. The next time they plug in their vehicle at a charging location, smart charging will be considered. What we recommend: Once the smart charging policy is successfully updated, and everything is set, use this opportunity to add celebratory touches to your UI and reiterate the key inputs the user provided, allowing them to double-check for correctness. [Next article: Day-to-day use](https://developers.enode.com/docs/smart-charging/day-to-day)