{{{ #!rule meta { title: "ATMs in Slovakia"; version: "[[revision]]_[[date]]"; description: "Rules implementing operator and ref tag checks for ATMs in Slovak Republic."; icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAYCAMAAACoeN87AAABLFBMVEX/AAD///8AAMwAAM96AKJ6etz/5+f/3Nz/PT3/u7v/CAgAANAAAMn/KCj/9/f/Ozv/rq7/X1//pKT/eHj/4uL/kJD/f3/v7/z/EhL/z8//LS3/w8P/9PT/ysr/7u7/QUH/19f/UlL5+f7/cXEzM9P/qKh2duH/TEz/amr/Y2P/iYlqat4qKs/R0fX/NDT/Hh7d3fduAI1VVdpcXNecnOjxAAr/mpo4ONXIyPOOAHZISNaysu+kAFlFAJgUALTsACDhADN/AIFvb+CFAGSXAGzLNF5nAJe4AEJFAK5ZAKzUADmnp+rGAFenAH+ZAIO7AFnKAEC7ADdpAKiJieW6uu9ERNfa2vccHNHCibqPj+WJKabkwNidSap4eNyFAJfYACHforu2AGmOAIbtOUizLmC6AAAAZElEQVQoz2NgJAgYhqQSBgYGRQYQwKuEgRGXEiYQYITISTBAuKgArgRkCj9eJZyM7ECIR4kugzQbGyMbHx4l4XDn4lTCBJTkBhGMuJUIQSh7JtxKoIARqxIoUIb7HQ8grGLYAAA+lgRgA6U6OwAAAABJRU5ErkJggg=="; author: "Jose Riha"; link: "https://wiki.openstreetmap.org/wiki/ATM_Slovakia"; watch-modified: true; min-josm-version: "11424"; /* due to territory selectors */ } /* please send fixes and suggestions to: jose1711 gmail com */ /* operator tag may not be empty */ *[amenity=atm][!operator][inside("SK")]{ throwError: tr("Operator tag required for ATM"); assertMatch: "node amenity=atm"; assertNoMatch: "node amenity=atm operator=Sberbank"; } /* only allow enumerated values for operator */ *[amenity=atm][operator][operator !~ /^(ČSOB|OTP banka|Poštová banka|Prima banka|Sberbank|Slovenská sporiteľňa|Tatra banka|UniCredit Bank|VÚB)$/][inside("SK")]{ throwError: tr("Unrecognized operator (see https://wiki.openstreetmap.org/wiki/ATM_Slovakia)"); assertMatch: "node amenity=atm operator=SSberbank"; assertNoMatch: "node amenity=atm operator=VÚB"; } *[amenity=atm][!ref][inside("SK")]{ throwWarning: tr("Adding ref tag for atm is useful for identification"); } *[amenity=atm][ref][operator="ČSOB"][ref !~ /^S2CS[0-9]{3}[A-Z]$/][inside("SK")]{ throwError: tr("ATM ref value must match S2CS[0-9]{3}[A-Z]"); } *[amenity=atm][ref][operator="OTP banka"][ref !~ /^S6AI[0-9]{4}[A-Z]$/][inside("SK")]{ throwError: tr("ATM ref value must match S6AI[0-9]{4}[A-Z]"); } *[amenity=atm][ref][operator="Poštová banka"][ref !~ /^S6AP[0-9]{3}[A-Z]$/][inside("SK")]{ throwError: tr("ATM ref value must match S6AP[0-9]{3}[A-Z]"); } *[amenity=atm][ref][operator="Prima banka"][ref !~ /^S6AK[0-9]{3}[A-Z]$/][inside("SK")]{ throwError: tr("ATM ref value must match S6AK[0-9]{3}[A-Z]"); } *[amenity=atm][ref][operator="Sberbank"][ref !~ /^S6AL[0-9]{2,3}[A-Z]$/][inside("SK")]{ throwError: tr("ATM ref value must match S6AL[0-9][0-9][0-9]?[A-Z]"); } *[amenity=atm][ref][operator="Tatra banka"][ref !~ /^TATN[0-9]{3}[A-Z]$/][inside("SK")]{ throwError: tr("ATM ref value must match TATN[0-9]{3}[A-Z]"); } *[amenity=atm][ref][operator="UniCredit Bank"][ref !~ /^S6AN[0-9]{3}[A-Z]$/][inside("SK")]{ throwError: tr("ATM ref value must match S6AN[0-9]{3}[A-Z]"); } *[amenity=atm][ref][operator="Slovenská sporiteľňa"][ref !~ /^[0-9][0-9][0-9][0-9]$/][inside("SK")]{ throwError: tr("ATM ref value must match [0-9]{4}"); } *[amenity=atm][ref][operator="VÚB"][ref !~ /^S6AV[0-9]{3}[A-Z]$/][inside("SK")]{ throwError: tr("ATM ref value must match S6AV[0-9]{3}[A-Z]"); } *[amenity=atm][operator][brand][inside("SK")]{ throwWarning: tr("Usage of brand tag is discouraged (use operator instead)"); } *[amenity=atm][!operator][brand][inside("SK")]{ throwWarning: tr("Usage of brand tag is discouraged (use operator instead)"); fixChangeKey: "brand=>operator"; } }}}