Proposed import of Fines Charging EV charging stations (Bulgaria)

English version below.

Здравейте,

Предлагам да добавя зарядните станции на Fines Charging в България (около 426 локации) в OpenStreetMap и да допълня вече картографираните. Fines Charging ми дадоха разрешение по имейл данните им да се използват в OSM под лиценза ODbL.

Накратко:

  • Добавят се amenity=charging_station, brand=Fines Charging (+ brand:wikidata), ref:fines, броят контакти и мощността им (socket:*, socket:*:output), access и fee.
  • name засега не се добавя – вижте въпрос 1.
  • Всяка станция се преглежда ръчно. Съществуващите станции само се допълват: нищо не се изтрива и не се мести без изрично решение. Работата на картографите, които вече са добавили станции на Fines, се запазва.
  • Качването е от отделен акаунт Vladiz_Import, на малки пакети, с import=yes и връзка към уики страницата.

Подробности (тагове, инструменти, начин на работа): BG:Import/Fines Charging Bulgaria - OpenStreetMap Wiki (на английски: Import/Fines Charging Bulgaria - OpenStreetMap Wiki)

Ще се радвам на мнения и забележки, особено за:

  1. name за новите станции: имената при Fines („FINES Gelemenovo“) са вътрешни и не са изписани на място, но много от вече картографираните станции ги съдържат. Кое предпочитате: (а) без name или (б) името от Fines, както при съществуващите? Съществуващите имена се запазват във всеки случай.
  2. ref:fines като ключ за номера на локацията. Това е външен идентификатор, а не номер, изписан на място, затова не се ползва обикновен ref;
  3. добавяне на brand към вече съществуващите станции на Fines;
  4. дали предпочитате друг начин на работа.

Ако няма възражения, ще започна след 16 октомври 2026 г. с един малък пакет.


Fines Charging EV charging stations, Bulgaria (English, for import reviewers)

Documentation

Sample: five stations in the OSM schema (click to open)
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="fines-adapter 0.1.0" upload="never">
  <!-- FINES Pamporovo DC Wallbox -->
  <node id="-1" lat="41.6543630" lon="24.6853660">
    <tag k="access" v="yes"/>
    <tag k="amenity" v="charging_station"/>
    <tag k="brand" v="Fines Charging"/>
    <tag k="brand:wikidata" v="Q128904354"/>
    <tag k="fee" v="yes"/>
    <tag k="ref:fines" v="1"/>
    <tag k="socket:type2_combo" v="1"/>
    <tag k="socket:type2_combo:output" v="30 kW"/>
  </node>
  <!-- FINES Gelemenovo -->
  <node id="-2" lat="42.2683480" lon="24.3140880">
    <tag k="access" v="yes"/>
    <tag k="amenity" v="charging_station"/>
    <tag k="brand" v="Fines Charging"/>
    <tag k="brand:wikidata" v="Q128904354"/>
    <tag k="fee" v="yes"/>
    <tag k="ref:fines" v="4"/>
    <tag k="socket:type2" v="1"/>
    <tag k="socket:type2:output" v="22 kW"/>
    <tag k="socket:type2_combo" v="2"/>
    <tag k="socket:type2_combo:output" v="240 kW"/>
  </node>
  <!-- FINES Mladost 1 -->
  <node id="-3" lat="42.6613970" lon="23.3721320">
    <tag k="access" v="yes"/>
    <tag k="amenity" v="charging_station"/>
    <tag k="brand" v="Fines Charging"/>
    <tag k="brand:wikidata" v="Q128904354"/>
    <tag k="fee" v="yes"/>
    <tag k="ref:fines" v="5"/>
    <tag k="socket:type2_combo" v="2"/>
    <tag k="socket:type2_combo:output" v="180 kW;120 kW"/>
  </node>
  <!-- FINES Camping Gardenia -->
  <node id="-4" lat="42.2226110" lon="27.7806680">
    <tag k="access" v="yes"/>
    <tag k="amenity" v="charging_station"/>
    <tag k="brand" v="Fines Charging"/>
    <tag k="brand:wikidata" v="Q128904354"/>
    <tag k="fee" v="yes"/>
    <tag k="ref:fines" v="182"/>
    <tag k="socket:type2" v="1"/>
    <tag k="socket:type2:output" v="22 kW"/>
    <tag k="socket:type2_cable" v="1"/>
    <tag k="socket:type2_cable:output" v="22 kW"/>
    <tag k="socket:type2_combo" v="2"/>
    <tag k="socket:type2_combo:output" v="180 kW"/>
  </node>
  <!-- FINES Trakia 243 Burgas -->
  <node id="-5" lat="42.4532080" lon="26.0520890">
    <tag k="access" v="yes"/>
    <tag k="amenity" v="charging_station"/>
    <tag k="brand" v="Fines Charging"/>
    <tag k="brand:wikidata" v="Q128904354"/>
    <tag k="fee" v="yes"/>
    <tag k="ref:fines" v="84"/>
    <tag k="socket:chademo" v="1"/>
    <tag k="socket:chademo:output" v="120 kW"/>
    <tag k="socket:mcs" v="1"/>
    <tag k="socket:mcs:output" v="1000 kW"/>
    <tag k="socket:type2_cable" v="1"/>
    <tag k="socket:type2_cable:output" v="22 kW"/>
    <tag k="socket:type2_combo" v="12"/>
    <tag k="socket:type2_combo:output" v="600 kW;480 kW;120 kW"/>
  </node>
</osm>

License

Written permission from Fines Charging (Fines Energy OOD), e-mail of 28 September 2026:

„Финес Енерджи ООД няма възражения данните за зарядните станции на Fines Charging (от Public API, приложението и сайта ни) да бъдат включени в OpenStreetMap под лиценза Open Database License (ODbL) 1.0.“

“Fines Energy OOD has no objection to the data on the Fines Charging charging stations (from our Public API, app and website) being included in OpenStreetMap under the Open Database License (ODbL) 1.0.”

Quoted on the wiki page; the original e-mail is available to the OSMF Licensing Working Group on request.

Abstract

Dataset

  • The public EV charging stations of Fines Charging in Bulgaria: about 426 locations with position, connectors, power per connector, access and price information.
  • Some are already mapped; those are completed, not duplicated.
  • My relationship to the data: none; I am an OSM mapper in Bulgaria and asked Fines for permission.

Tag translation

Fines OSM
every location amenity=charging_station, brand=Fines Charging, brand:wikidata=Q128904354
location id ref:fines=*
connectors socket:type2_combo, socket:type2, socket:chademo, socket:mcs … (count)
power socket:*:output=* kW
not restricted / price > 0 access=yes / fee=yes

Not added: name (open question below), operator, capacity, prices. Full mapping: MAPPING.md

Conflation

  • Every Fines location is compared with existing charging stations within 150 m, matched by ref:fines, distance and brand/operator.
  • The reviewer chooses Add, Update, Reject or Skip for each one.
  • Existing stations are only completed: no tags removed, nothing moved without an explicit decision, conflicting values need a manual choice.
  • Recent edits by other mappers are highlighted. Disused or planned stations are handled by hand.

Upload

  • Each station is reviewed by hand; only what the reviewer approves is uploaded.
  • Dedicated account Vladiz_Import.
  • Changesets of at most 50 stations within 10 km (the first one at most 10), tagged import=yes and source:url=<wiki page>.

Scripts

Both open source:

  • fines-adapter: reads the Fines API and converts it to OSM tags.
  • osm-charge-review: browser tool to review each station against OSM and upload the approved changes.

Open questions

  • name: the Fines labels (“FINES Gelemenovo”) are internal site names, not signed names, but many mapped stations in Bulgaria carry them. (a) no name on new stations, or (b) the Fines label, as on existing stations? Existing names are kept in every case.
  • ref:fines for the Fines location id: a namespaced external id, not a signed number (unlike plain ref). Any objection to the key?
4 Likes

На пръв прочит е чудесна идея. По твоите въпроси:

Конкретно за name, не мисля че е нужен. Евентуално може тяхното име на локация (Големаново, Младост 1 и т.н.) да бъде в тага branch. Умните приложения могат да си съберат brand + branch и да стане име за крайния потребител.

По въпроса с ref, нямам особено мнение. Самият аз съм слагал този таг на магазини на Лидл и Кауфланд, макар че няма откъде да се извлекат освен от сайта им или от касова бележка. На въпроса защо съм ги слагал, за да може да се обновява работното им време и да се намират лесно нови и закрити обекти (виж https://osm-bg.github.io/qa/atp-osm/).

Добавянето на brand към вече съществуващите не е проблем. Даже е силно препоръчително.


Това което остава неясно за мен е как точно потвърждаваш че са точно на координатите където пише че са? Предполагам че имаш поне сателитни снимки и може да видиш къде са очертаните в зелено паркоместа, и може да преместиш точката до тях?

В обратния случай, ако не се виждат зелените паркоместа (например станция поставена 2025 г., а снимките са 2023 г.), следва да можеш да отбележиш с едно fixme че локацията не е точна и трябва да се провери допълнително.

За пример, отворих координатите на първата станция в примерния списък и пуснах сателитните снимки. Червеното са координатите на Fines, синята точка вдясно е вече отбелязана тяхна станция. Предполагам че се намира някъде пред хотела, а не между дърветата :slight_smile:.

Последна бележка засега - виждам че в сайта им има посочено работно време на всяка станция, но според твоите бележки тази информация не е налична в интерфейса. Все пак, ако са склонни да добавят тази информация към интерфейса, не виждам причина да не се добави (било то и в даден бъдещ момент).

P.S. Пингвам @Boyan_Alexiev, понеже и той беше вкарвал данни за зарядни станции преди известно време. Предполагам че би имал интерес.

2 Likes

This is so good to have up to date info for the charging stations in the Balkans area at least.
FYI i maintain the Greek public charging stations almost daily.
I also contributed many charging stations for Fines and electrip in the past months.

Fines has very accurate map positions on their website, i imagine the API sends these exact same values. For my part i always try to verify exact position from street imaging, Plugshare, Ampwhere (new site from Romanian EV community idea).

My last Fines / electrip add was some months ago. Until then, all stations where checked to be on the map with 95% of them verified for correct placement.

For the naming of the stations i added name:bg in almost all stations if you want to add the Cyrilic names to be displayed on the routing clients. I have an EV and really like to see full naming when i search and a list is displayed.

This naming is also used from the providers as you can see on Fines site and many others (also in Greece). Even the Greek national registry uses this naming. It’s the.. official naming of the charging stations.

Of course it’s up to the local community to decide all the details. I am happy to use up to date routing based on OSM when driving and that’s why i contibute to OSM.

@Dimitar155, благодаря за бързия и подробен отговор!

name / branch – съгласен съм, няма да добавям name. Слагам името на локацията от Fines без „FINES“ отпред в branch (например branch=Gelemenovo, branch=Mladost 1). В API-то имената са само на латиница, така че и в тага са на латиница. Съществуващите name и name:bg не се пипат.

ref:fines и brand ще добавя към съществуващите.

Координати – прав си, това е най-важното. Вече картографираните станции не се местят автоматично. За нови станции, когато на сателитна снимка се виждат зелените паркоместа или колонките, ще преместя точката върху тях. Ако не се виждат, ще добавя станцията с fixme=position from operator data, not verified on imagery or on the ground. Примерът с Пампорово е много добър, там станцията в действителност е в гората зад хотела, но на сателитната снимка нищо не се вижда и подобни случаи е добре да имат fixme.

Работно време – проверих: в публичния им API го няма, има го само на страниците в сайта. Ако го добавят в API-то, ще го включа на по-късен етап.


@NGlf, thank you, and thanks for all the Fines stations you mapped – they are the base this import builds on.

  • Your stations are kept. The tool never removes a tag and never moves an existing station by itself, so your name and name:bg stay, and so do your positions. They get the tags they are missing, such as brand, branch, ref:fines, and sockets or power where those are not mapped yet. Where your value differs from the Fines data (e.g. socket count or power), both are shown side by side and nothing changes unless I decide so for that tag.
  • Naming: the local community preferred branch for new stations (the Fines site label without “FINES”), so new stations get brand + branch and no name. The Fines API only has Latin labels, so there is no source for Cyrillic names for now.
  • Positions: new stations are checked against aerial imagery and moved onto the chargers when visible; otherwise they get a fixme.
2 Likes

I just checked the Pamporovo site. As i said Fines has pretty good coordinates in their site in my experience.
So this is from plugshare - PlugShare - Find Electric Vehicle Charging Locations Near You
User submitted photos shows there is a small building in the woods and thats the charging location. Not in the main hotel building.
Plugshare is a must when checking charging locations. And ampwhere.com (new site, fresh photos)

1 Like

I stand corrected, apparantly there can be charging stations in the woods :slight_smile:. The charging spot is even visible on aerials if you zoom in. I’ve updated it in changeset/189998873.

I find it useful to add ref:plugshare = * to all charging stations, so that recent charges can be looked up. As a recent BEV users, I find that the reliability is just as important as the correct location, and OSM doesn’t seem to have the right amount of information necessary to decide where to charge.

One more note, charging stations, particularly belonging to Fines should be mapped as relations, as suggested in the wiki:

This is a practice that I haven’t seen done in the charging stations that I’ve visited so far, as it’s considerably more complex.

Не съвсем по темата, но в такъв случай явно е нужно да се създаде релация тук - OpenStreetMap ? Те са все на Elfinity.

(Ако някой иска, може да го направи).

Making a charging station as a relation is good when you have time for micromapping and there is a big charging station with multiple charge_point
Most of Fines stations are just single charge_point with 2 cables. So not so much useful information to add to that.
You can always draw the parking space as an area if you want and place the amenity=charging_station node inside this area.