{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"🚧 Building an EV Smart Routing Request with Charging Station Filters (csfs)","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"-building-an-ev-smart-routing-request-with-charging-station-filters-csfs","__idx":0},"children":["🚧 Building an EV Smart Routing Request with Charging Station Filters (csfs)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This tutorial explains how to construct a request for the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["EV Smart Routing API"]}," that includes ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["charging station filters (csfs)"]},"."," ","Filters allow you to restrict or prioritize which charging stations are considered during route planning."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"-basic-structure-with-csfs","__idx":1},"children":["🧱 Basic Structure with csfs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A request including charging station filters looks like this:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n  \"geoserver\": \"osm\",\n  \"csps\": [\"ecoMovement\"],\n  \"csfs\": [\n    \"chargingPoint.nominalPower >= 50\",\n    \"pool.brand != Electra\"\n  ],\n  \"vehicle\": {\n    \"initBatLvl\": 100,\n    \"key\": \"eb1e9464-8654-4c01-bedd-b2f95412a60d\",\n    \"payload\": 75\n  },\n  \"start\": {\n    \"lon\": 2.34755,\n    \"lat\": 48.85708\n  },\n  \"stop\": {\n    \"lon\": 4.35497,\n    \"lat\": 50.83857\n  },\n  \"condition\": {\n    \"chargePluggingTime\": 300\n  },\n  \"routingVehicleProfile\": {\n    \"transportMode\": \"CAR\"\n  }\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"-1-csfs--charging-station-filters","__idx":2},"children":["🧩 1. csfs — Charging Station Filters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["csfs"]}," parameter is an array of string filters."," ","Each filter follows the syntax:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"CLASS.FIELD OPERATOR VALUE\n"},"children":[]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["CLASS"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pool"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["station"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chargingPoint"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vehicleAccess"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["FIELD"]}," → a supported field (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["brand"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nominalPower"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["creditCardPayment"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OPERATOR"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["=="]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["!="]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[">="]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/=/"]}," (regex), …"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["VALUE"]}," → the value to compare against"," ","👉 Multiple filters can be listed in the array."," ","👉 Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["||"]}," for OR conditions between filters."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["✅ Example: Keep only fast charging stations"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"csfs\": [\n  \"chargingPoint.nominalPower >= 50\"\n]\n"},"children":[]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["➡️ Keeps only stations with at least 50 kW."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["✅ Example: Prefer IONITY or Tesla stations"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"csfs\": [\n  \"pool.brand /= /IONITY|TESLA/\"\n]\n"},"children":[]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["➡️ Prioritizes stations operated by IONITY or Tesla."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["✅ Example: Exclude a specific brand"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"csfs\": [\n  \"pool.brand != Electra\"\n]\n"},"children":[]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["➡️ Excludes stations operated by Electra."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["✅ Example: Select stations based on the total number of charging points available in the pool."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"csfs\": [\n  \"pool.numberOfChargingPoint >= 4\"\n]\n"},"children":[]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["➡️ Keeps only pools that have at least 4 charging points."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["✅ Example: Keep only charging stations currently reported as available"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"csfs\": [\n  \"station.available == true\"\n]\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["➡️ Excludes stations flagged as unavailable."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["✅ Example: Filter charging points by the supported billing currency."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"csfs\": [\n  \"chargingPoint.currency IN EUR;GBP;DKK\"\n]\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["➡️ Keeps only charging points that accept EUR, GBP, or DKK."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"-2-actions-in-csfs","__idx":3},"children":["🎯 2. Actions in CSFS"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Besides simple filters, you can also define ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["actions"]}," that are executed when a condition is matched.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"The syntax is:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Multiple actions can be chained with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["->"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"️-prefcoeff","__idx":4},"children":["⚖️ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prefCoeff"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prefCoeff"]}," (",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["preference coefficient"]},") is used to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["prioritize"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["deprioritize"]}," charging stations when a filter matches.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"It does not exclude stations but adjusts their ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["weight"]}," in the selection process."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Neutral value:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1.0"]}," → default, no preference."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Preferred:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["]1.0, 10.0]"]}," → increases priority.",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Example: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prefCoeff=5.0;"]}," → station is 5x more likely to be chosen."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Avoided:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[0.1, 1.0["]}," → decreases priority.",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Example: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prefCoeff=0.5;"]}," → station is half as likely to be chosen."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Bounds:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Minimum: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0.1"]}," (cannot be 0 or negative)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Maximum: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["10.0"]},"."]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["✅ Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prefCoeff > 1"]}," to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["encourage"]}," preferred partners/networks.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"❌ Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prefCoeff < 1"]}," to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["discourage"]}," costly or unwanted stations."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["📊 ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Quick reference"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Value"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Meaning"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example usage"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1.0"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Neutral (default, no preference)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No preference"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0.5"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Avoid (half as likely)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Discourage expensive networks"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0.1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Strongly avoid (minimum)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Last resort only"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2.0"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Prefer (2x more likely)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Encourage trusted partners"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["5.0"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Strong preference"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Prioritize IONITY or Tesla"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["10.0"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Maximum preference (cap)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Force ultra-fast chargers"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"-example-with-prefcoeff","__idx":5},"children":["🧩 Example with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prefCoeff"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"csfs\": [\n  \"pool.brand == IONITY -> prefCoeff=5.0;\"\n]\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["➡️ In this case, IONITY stations are prioritized."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Another combined example:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"csfs\": [\n  \"chargingPoint.nominalPower >= 7\",\n  \"chargingPoint.nominalPower >= 50 -> prefCoeff=6.0;\",\n  \"pool.brand == IONITY -> prefCoeff=5.0;\",\n  \"pool.brand == TESLA -> prefCoeff=5.0;\",\n  \"chargingPoint.currency IN EUR;GBP;DKK -> prefCoeff=3.0;\"\n]\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["➡️ This keeps only charging points with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["≥7 kW"]},", prefers ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["fast chargers (≥50 kW)"]},", gives higher priority to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["IONITY"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["TESLA"]}," networks, and favors charging points that accept ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["EUR, GBP, or DKK"]}," currencies."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Full Example with prefCoeff"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n  \"geoserver\": \"osm\",\n  \"csps\": [\n    \"ecoMovement\"\n  ],\n    \"csfs\": [\n    \"chargingPoint.nominalPower >= 50\",\n    \"pool.brand /= /Electra/-> prefCoeff=9.0;\"\n  ],\n  \"vehicle\": {\n    \"initBatLvl\": 40,\n    \"key\": \"4d4f1d56-5014-4840-b5cf-7c42aad2d309\",\n    \"payload\": 75\n  },\n  \"start\": {\n    \"lon\": 7.23521295426402,\n    \"lat\": 44.0040293\n  },\n  \"stop\": {\n    \"lon\": -4.48656,\n    \"lat\": 48.39043\n  },\n  \"condition\": {\n    \"minBatLvl\": 10,\n    \"minArrivalBatLvl\": 15,\n    \"temperature\": 20,\n    \"currency\": \"EUR\",\n    \"encodedGeometry\": true,\n    \"departureTime\": 1758877080000,\n    \"chargePluggingTime\": 300,\n    \"allowNaStatus\": true\n  }\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"-2-vehicle","__idx":6},"children":["🚗 2. vehicle"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"vehicle\": {\n  \"initBatLvl\": 100,\n  \"key\": \"d729502b-12ba-4adb-89bd-cff6a2d00919\",\n  \"payload\": 75\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"️-3-start--stop","__idx":7},"children":["🗺️ 3. start & stop"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"start\": {\n  \"lon\": 7.27768,\n  \"lat\": 43.70032\n},\n\"stop\": {\n  \"lon\": 1.44863,\n  \"lat\": 43.60579\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"️-4-condition","__idx":8},"children":["⚙️ 4. condition"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"condition\": {\n  \"minBatLvl\": 10,\n  \"minArrivalBatLvl\": 15,\n  \"chargePluggingTime\": 300\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"️-5-routingvehicleprofile","__idx":9},"children":["🛠️ 5. routingVehicleProfile"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"routingVehicleProfile\": {\n  \"transportMode\": \"CAR\"\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"-full-example","__idx":10},"children":["📌 Full Example"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n  \"geoserver\": \"osm\",\n  \"csps\": [\"ecoMovement\"],\n  \"csfs\": [\n    \"chargingPoint.nominalPower >= 50\",\n    \"pool.brand /= /IONITY/\"\n  ],\n  \"vehicle\": {\n    \"initBatLvl\": 100,\n    \"key\": \"d729502b-12ba-4adb-89bd-cff6a2d00919\",\n    \"payload\": 75\n  },\n  \"start\": {\n    \"lon\": 7.27768,\n    \"lat\": 43.70032\n  },\n  \"stop\": {\n    \"lon\": 1.44863,\n    \"lat\": 43.60579\n  },\n  \"condition\": {\n    \"minBatLvl\": 10,\n    \"minArrivalBatLvl\": 15,\n    \"temperature\": 20,\n    \"chargePluggingTime\": 300\n  },\n  \"routingVehicleProfile\": {\n    \"transportMode\": \"CAR\"\n  }\n}\n"},"children":[]}]},"headings":[{"value":"🚧 Building an EV Smart Routing Request with Charging Station Filters (csfs)","id":"-building-an-ev-smart-routing-request-with-charging-station-filters-csfs","depth":1},{"value":"🧱 Basic Structure with csfs","id":"-basic-structure-with-csfs","depth":2},{"value":"🧩 1. csfs — Charging Station Filters","id":"-1-csfs--charging-station-filters","depth":2},{"value":"🎯 2. Actions in CSFS","id":"-2-actions-in-csfs","depth":2},{"value":"⚖️ prefCoeff","id":"️-prefcoeff","depth":3},{"value":"🧩 Example with prefCoeff","id":"-example-with-prefcoeff","depth":3},{"value":"🚗 2. vehicle","id":"-2-vehicle","depth":2},{"value":"🗺️ 3. start & stop","id":"️-3-start--stop","depth":2},{"value":"⚙️ 4. condition","id":"️-4-condition","depth":2},{"value":"🛠️ 5. routingVehicleProfile","id":"️-5-routingvehicleprofile","depth":2},{"value":"📌 Full Example","id":"-full-example","depth":2}],"frontmatter":{"seo":{"title":"🚧 Building an EV Smart Routing Request with Charging Station Filters (csfs)"}},"lastModified":"2025-10-30T10:08:17.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/api-reference/ev-move---electric-mobility/evsmartrouting/tutorial/evsmartrouting_csfs","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}