Alapok · 01
A bolt eldönti, hogy kiszállít-e arra a címre
A WooCommerce saját szállítási zónái irányítószámig jutnak el. Egy étteremnél ez túl durva: a település egyetlen irányítószám, a kiszállítási körzet viszont annak a fele. Ez a bővítmény utcaszinten mondja meg, hova szállítotok, mennyiért, és mekkora rendeléstől.
Mit csinál
Fölveszel körzeteket. Egy körzet egy összefüggő darabja a kiszállítási területnek: település, utcák (ha kell, házszám-tartománnyal), egy kiszállítási díj és egy minimum rendelési érték.
Amikor a vendég a pénztárnál megadja a címét, a bővítmény megkeresi, melyik körzetbe esik. Ha egyikbe sem, a rendelés nem megy át. Ha igen, a körzet díja rákerül a kosárra, és a körzet minimumát is ellenőrzi.
Melyik fejezet kinek szól
A pénztár
Amit a vendég lát: mikor jelenik meg a díj, és mi történik, ha a címére nem szállítotok.
Admin fejezetek
Körzet fölvétele, a térképes szerkesztő, a CSV-s tömeges betöltés, és a kategóriánkénti korlátozás.
Amit szándékosan nem csinál
Ez a rész több támogatói kérdést előz meg, mint bármi más a kézikönyvben.
- Nem számol útvonalat vagy távolságot. Az „5 km-en belül közúton” egy másik feladat, más eszközzel. Itt a kérdés az, hogy egy utca benne van-e a körzetben.
- Nem köt be futárszolgálatot. A körzetek a saját kiszállítási területeteket írják le.
- Nem geokódolja a vendég címét. Az illesztés a boltban, hálózati hívás nélkül fut le. A vendég címe soha nem megy ki harmadik félhez — és a pénztár nem tud külső szolgáltatásra várni.
- Nem tölti ki a vendég helyett az utcát. A vendég beírja a címét; a bővítmény ellenőrzi. Legördülő utcalistát nem tesz a pénztárra.
A körzet-illesztés szándékosan „buta”: összehasonlít két szöveget, és kész. Ez azért fontos, mert a pénztár a bolt legérzékenyebb pontja — ha az ellenőrzés egy külső térkép-szolgáltatásra várna, egy lassú válasz azt jelentené, hogy a vendég nem tud fizetni. A térkép csak a szerkesztéshez kell, a működéshez nem.
Amit a vendég lát · 02
Három dolog történhet a címmel
A vendég szempontjából a bővítménynek egyetlen felülete van: a pénztár. Vagy átengedi, vagy díjat tesz rá, vagy megállítja — és mindhárom esetben megmondja, miért.
Megadja a címet
Település, utca és házszám a szokásos WooCommerce mezőkben. Ha külön szállítási cím van bejelölve, azt nézzük; ha nincs, a számlázásit.
Megjelenik a kiszállítási díj
A kosár összesítőjében külön sorként, a körzet nevével: Delivery — Mintaváros. Ha a körzet díja nulla, nem jelenik meg semmi.
A rendelés átmegy — vagy nem
Körzeten kívüli cím, vagy a minimum alatti kosár esetén a „Megrendelés” gomb hibaüzenetet ad, és a rendelés nem jön létre.
Szállítási cím
| TelepülésMintaváros 1 | UtcaPetőfi utca | Házszám16 2 |
A rendelésed
| Tétel | Összesen |
|---|---|
| Pizza Margherita 1 db | 2 990 Ft |
| Részösszeg | 2 990 Ft |
|---|---|
| Delivery — Mintaváros 3 | 590 Ft |
| Összesen | 3 580 Ft |
- A település dönti el, melyik körzetekben keresünk. Ha a körzetnél nincs település megadva, az „bármelyik település” — egytelepüléses boltnál ez a kényelmes beállítás.
- A házszám csak akkor számít, ha az utcához tartomány van megadva. Tartomány nélkül az egész utca benne van.
- A díj a körzeté, nem a rendelésé. Ugyanaz a kosár másik címre másik díjat kap.
Amikor nem szállítotok oda
Ha a cím egyetlen aktív körzetbe sem esik, a pénztár ezt írja ki, és a rendelés nem jön létre:
A minimumot a termékek részösszegére nézzük, nem a végösszegre. A kiszállítási díj tehát nem segít elérni a minimumot — különben a drágább körzet magától „megoldaná” a saját minimumát.
A kosárban is szól, nem csak a pénztárnál
Ha a cím már ismert és a kosár a minimum alatt van, a figyelmeztetés a kosároldalon is megjelenik — mielőtt a vendég belekezd a pénztár kitöltésébe.
Egy elutasítás a fizetés pillanatában a legrosszabb helyen ér. A kosárban ugyanaz az információ még döntést enged: a vendég tesz hozzá valamit, vagy odébb áll — de nem tölt ki előtte egy egész űrlapot fölöslegesen.
Csak digitális terméket tartalmazó kosárnál a bővítmény nem szól bele semmibe: ha a WooCommerce szerint a rendelésnek nincs szüksége szállításra, nincs mit körzethez kötni.
Amit az admin csinál · 03
Egy körzet: hol, mennyiért, mekkora rendeléstől
A körzetek a WordPress bal oldali menüjében, a Delivery Zones pont alatt élnek. Minden körzet egy külön bejegyzés, a címe a körzet neve — ez látszik majd a vendégnek a díj mellett.
| Mező | Mit csinál |
|---|---|
| Címa bejegyzés címe | A körzet neve. Ez jelenik meg a vendégnek a díjsorban (Delivery — …), a rendelésen és a CSV-ben is. Az importálás is ezen a néven azonosítja a körzetet. |
| Settlement | A település. Üresen hagyva bármelyik településre illeszkedik — egytelepüléses boltnál ez a kényelmes beállítás. Több település esetén mindig töltsd ki. |
| Postcode | Irányítószám. Tájékoztató adat; az illesztés nem ezen múlik. |
| Delivery fee | A kiszállítás díja ebbe a körzetbe. Nulla esetén nem kerül díjsor a kosárra. |
| Minimum order | Ekkora termék-részösszeg alatt a rendelés nem megy át. 0 = nincs minimum. |
| Active | Kikapcsolva a körzet létezik, de nem szállítotok oda. Az utcalista megmarad — nyáron kikapcsolt körzetet télen elég visszakapcsolni. |
| Streets | Az utcák, soronként egy. Lásd lent. |
Edit Delivery Zone
| Settlement | Mintaváros 1 |
| Postcode | 1111 |
| Delivery fee | 590 Ft 2 |
| Minimum order | 2500 Ft 0 = no minimum |
| Active | ☑ Deliver to this zone 3 |
One street per line. Optionally a house-number range: "Fő utca;2;15". No range means the whole street. — draw this zone on a map instead 4
Akácfa utca
Arany János utca
Petőfi utca
Fő utca;2;15
…
165 streets currently.
- A település üresen „bármelyik”. Két település között csak akkor tud különbséget tenni a bővítmény, ha ki van töltve.
- A díj és a minimum körzetenként külön áll. Emiatt éri meg egy települést több körzetre bontani, ha a távolabbi rész többe kerül.
- A kikapcsolás nem törlés. Az utcalista megmarad.
- Innen nyílik a térképes szerkesztő — a következő fejezet.
Az utcalista formátuma
Soronként egy utca. Ha a teljes utcába szállítotok, elég a név:
Petőfi utca # az egész utca Fő utca;2;15 # csak a 2–15. házszám Tavasz utca;5;8 # csak az 5–8. házszám
Ha házszám-tartományt írsz, mindkét határ beleértendő: a Fő utca;2;15 a 2-est és a 15-öst is beengedi, a 16-ost már nem. Tartomány nélkül az egész utca benne van — ne írj oda nullát, hogy „bármi”, mert az minden házszámot kizárna.
Miért illeszkedik a „FŐ U. 16” is
A vendég nem úgy írja le a címét, ahogy ti fölvettétek. Az összehasonlítás ezért nem betűre pontos: nem számít a kis- és nagybetű, az ékezet, a többszörös szóköz, és a gyakori magyar rövidítések is föloldódnak — az u. utcára, a krt. körútra, az ltp. lakótelepre.
A házszámból az első szám számít, tehát a 16/A és a 16-18 is 16-nak olvasódik.
Ha egy utca két körzetben is szerepel, és a cím mindkettőre illeszkedik, a vendégnek kedvezőbb — vagyis az olcsóbb díjú — körzet nyer.
Amit az admin csinál · 04
Rajzold be a körzetet, az utcák maguktól jönnek
Egy város utcalistája több száz sor. Kézzel begépelni napokig tart, és minden elgépelés egy cím, amire hiába rendelnének. A térképes szerkesztő ezt fordítja meg: te a területet adod meg, az utcaneveket az OpenStreetMap adja.
Megnyitás: Delivery Zones → Map editor, vagy a körzet szerkesztőjében a draw this zone on a map instead hivatkozás.
Válaszd ki a körzetet
Fent a Zone legördülőben. Ide fog menteni a szerkesztő.
Navigálj a településre
Írd be a nevét a Centre on mezőbe, és nyomd meg a Go gombot. A térkép a településre ugrik.
Rajzold körbe a területet
A térkép jobb szélén lévő rajzoló eszközzel: sokszög vagy téglalap. Egyszerre egy terület él — ha újat rajzolsz, az előző eltűnik.
Kérd le az utcákat
Find streets in area. Néhány másodperc, és a jobb oldali listában megjelenik minden elnevezett utca, ami a területbe esik.
Nézd át, majd mentsd
Ami nem kell, az ×-szel kivehető. Aztán Save to zone.
Zone map editor
Draw your delivery area on the map. Every named street inside it is pulled from OpenStreetMap and becomes the zone's street list. Nothing is saved until you press Save.
Zone Mintaváros 1 Centre on Mintaváros Go Find streets in area 3 Save to zone 4
- Ady Endre utca ×
- Akácfa utca ×
- Arany János utca ×
- Petőfi utca ×
- Fő utca ×
- Kossuth Lajos utca ×
- Tavasz utca ×
165 streets inside the area.
- A körzet választása nélkül nincs hova menteni. A Save to zone ilyenkor szól, hogy válassz egyet.
- A terület csak segédeszköz. A rendeléskor nem a sokszöget nézzük, hanem az elmentett utcalistát. A rajz azért marad meg, hogy később igazítani lehessen rajta.
- A lekérés hozzáad, nem cserél. Két területet is bejárhatsz egymás után, a találatok összeadódnak.
- Semmi nem íródik ki mentés előtt. Nyugodtan kísérletezz.
A sokszög nem kerül bele a rendelés ellenőrzésébe, pedig kézenfekvő lenne. Két oka van. Egy: ahhoz a vendég címét koordinátává kellene alakítani, vagyis kiküldeni egy külső szolgáltatásnak — a pénztárban, minden rendelésnél. Kettő: a településhatárok és az utcák nem esnek egybe a rajzolt vonallal, így egy fél utca bent lenne, a másik fele kint. Az utcanév egyértelmű; a vonal nem.
Az utcaadat az OpenStreetMap ingyenes, közös szolgáltatásából jön, ami korlátozza a lekérdezéseket. Ha ezt látod — OpenStreetMap returned HTTP 429… — várj egy percet és próbáld újra. Ugyanarra a területre a válasz egy napig el van tárolva, tehát az ismételt lekérés nem terheli újra.
Az autópályák és a fel-/lehajtók kimaradnak a találatokból — azokon nem lakik senki. Ami bekerül, az elnevezett közterület.
Amit a térkép nem tud
Házszám-tartományt nem tud megadni: a területből utcanevek jönnek, tartomány nélkül, vagyis a teljes utca. Ha egy utcának csak egy szakaszába szállítotok, azt a körzet szerkesztőjében kell utólag beírni (Fő utca;2;15) — vagy CSV-ből betölteni.
Amit az admin csinál · 05
Amikor a lista már megvan valahol
A térkép akkor jó, ha nulláról indultok. Ha viszont a kiszállítási lista már létezik — egy régi rendszerben, egy táblázatban, az ügyféltől kapva —, a CSV a rövidebb út. Ugyanezen a képernyőn, a térkép alatt.
A formátum
Fejléces CSV. Vesszővel vagy pontosvesszővel elválasztva — magától fölismeri, melyikkel.
settlement,postcode,street,zone,fee,min_order Mintaváros,1111,Fő utca,Mintaváros,590,2500 Mintaváros,1111,Petőfi utca,Mintaváros,590,2500 Újfalu,2222,Budai út,Újfalu - alsón túl,1490,6000
| Oszlop | Mit jelent |
|---|---|
| streetkötelező | Az utca neve. Ez az egyetlen oszlop, ami nélkül nem indul el az import. |
| zone | Melyik körzetbe kerüljön. Ez fogja a sorokat körzetekbe. Ha nincs megadva, a settlement lesz a körzet neve. |
| settlement | A körzet települése. |
| postcode, fee, min_order | A körzet irányítószáma, díja és minimuma. Körzetenként elég egyszer szerepelnie — az első sorból vesszük. |
| house_min, house_maxnem kötelező | Házszám-tartomány az adott utcára. Üresen az egész utca. |
A magyar fejléceket is elfogadja, tehát egy meglévő táblázatot általában át sem kell nevezni: varos, iranyitoszam, utca, zona, szallitasi_dij, min_rendeles. Az ismeretlen oszlopokat figyelmen kívül hagyja.
Előbb nézd meg, aztán töltsd be
A Preview import semmit nem ír ki: végigolvassa a fájlt, és megmutatja, mi történne — hány körzet, hányban hány utca, melyik létezik már. Csak ezután jön az Import.
Columns: settlement, postcode, street, zone, fee, min_order (house_min / house_max optional). Hungarian headers are accepted too.
Mintaváros,1111,Fő utca,Mintaváros,590,2500
…
Preview import 1 Import Export all zones 3
Mintaváros: 165 streets → existing zone #14534 (had 2) 2
Újfalu - alsón túl: 480 streets → NEW zone
Kisrét: 119 streets → NEW zone
- A próba nem ír semmit. Nyugodtan futtasd, akárhányszor.
- Az azonos nevű körzet frissül, nem duplázódik. Ugyanazt a fájlt kétszer betöltve nem lesz két Mintaváros.
- Az export ugyanezt a formátumot adja vissza — a jelenlegi körzetek egy fájlban, szerkeszthetően.
Az import az utcalistát lecseréli, nem hozzáfűzi. Ha egy meglévő körzethez akarsz utcákat adni, előbb Export all zones, szerkeszd a fájlt, és azt töltsd vissza — így nem veszik el, ami már bent volt.
A körzetet a neve azonosítja, nem egy azonosító szám. Így egy táblázatot a boltot nem ismerő ember is elő tud állítani, és nem kell tudnia, hogy a rendszerben mi a körzet belső száma. Ára: ha átnevezel egy körzetet, a régi nevű CSV már új körzetet fog létrehozni helyette.
Amit az admin csinál · 06
Nem minden termék megy el mindenhova
Fagyi csak a közeli körzetbe, alkohol nem az ipari parkba, a nagy tortát csak oda, ahova el is fér az autó. Ez termékkategóriánként állítható, és a körzeteket használja fel hozzá.
Beállítás: Termékek → Kategóriák, a kategória szerkesztésénél a Deliverable to zones mező.
Edit category
| Deliverable to zones 1 |
☑ Mintaváros ☑ Mintaváros - Ipari park ☐ Újfalu - alsón túl ☐ Kisrét Leave all unchecked to allow every zone (the default). 2 |
Frissítés
- A lista az aktív körzeteidből áll össze. Ha még nincs körzet, itt csak egy megjegyzés áll.
- Az üres jelölőnégyzet nem tiltás. Semmit nem kipipálva a kategória mindenhova mehet — a bővítmény telepítése önmagában nem korlátoz semmit.
Mit lát a vendég
Ha a kosárban olyan termék van, amit az ő körzetébe nem szállítotok, a rendelés nem megy át, és a hibaüzenet megnevezi a terméket:
A kosároldalon ez is előbb megjelenik, mint a pénztárnál — de csak akkor, ha a cím már ismert. Cím nélkül nincs mihez viszonyítani, és a bővítmény nem szól bele.
Ha baj van · 07
Tünet, ok, teendő
A lenti sorok a bővítmény tényleges ellenőrzéseiből származnak — nem elképzelt esetek. A második oszlop az okot mondja, mert a tünetet már úgyis látod.
| Tünet | Ok és teendő |
|---|---|
| Minden címet elutasít | Nincs egyetlen aktív körzet sem, vagy a körzeteknél ki van töltve a Settlement, és nem egyezik azzal, amit a vendég beír. Ellenőrizd az Active jelölőt, és hogy a település neve stimmel-e. |
| A bővítmény semmit nem csinál | Ha nincs egyetlen aktív körzet sem, a bővítmény szándékosan kimarad az útból: nem tesz díjat, nem utasít el. Ez a telepítés utáni alapállapot — vegyél föl egy körzetet. |
| Létező utcát mégis elutasít | Van az utcára házszám-tartomány, és a megadott házszám kívül esik rajta. Nézd meg a körzet Streets mezőjét: ha ott Fő utca;2;15 áll, a 16-os szám nem megy át. |
| Nem jelenik meg a kiszállítási díj | Vagy még nincs kitöltve a cím (addig nincs mihez díjat rendelni), vagy a körzet díja nulla — akkor nem kerül külön sor a kosárra. |
| A minimum nem lép életbe | A kosárban csak olyan termék van, amihez a WooCommerce szerint nem kell szállítás (letölthető/virtuális). Ilyenkor nincs kiszállítás, tehát körzet sincs. |
| Kevesebb hiányzik, mint gondolnád | A minimumot a termékek részösszegére nézzük, a kiszállítási díj nélkül. Ez szándékos — lásd a pénztár fejezetet. |
| A térkép nem talál utcát | Vagy nincs kirajzolt terület (a gomb ilyenkor szól), vagy a terület olyan kicsi, hogy nem esik bele elnevezett közterület. Rajzolj nagyobbat. |
| „OpenStreetMap returned HTTP 429…” | Az OpenStreetMap ingyenes lekérdező szolgáltatása korlátozza a forgalmat. Várj egy percet, és próbáld újra. Ugyanarra a területre a válasz egy napig tárolva marad. |
| Az import új körzetet csinált a meglévő helyett | A CSV-ben lévő zone név nem pontosan egyezik a meglévő körzet címével. Töröld a fölöslegeset, és igazítsd a nevet — vagy indulj az Export all zones fájljából. |
| Az import elvitte a korábbi utcákat | Az import lecseréli az utcalistát, nem hozzáfűzi. Exportálj, szerkeszd azt a fájlt, és töltsd vissza. |
| Egy kategóriát sehova nem enged | A kategóriánál ki van pipálva egy vagy több körzet, de a vendég címe nem azokba esik. Ha a korlátozás nem szándékos, vedd ki az összes pipát — üresen minden körzet engedélyezett. |
| Rossz körzet díját számolta | Az utca két körzetben is szerepel. Ilyenkor a kedvezőbb — olcsóbb — körzet nyer. Ha nem ezt akarod, vedd ki az utcát a másik körzetből. |
Ismert korlátok
Ezek nem hibák, hanem tudatos döntések. Mindegyik mellett ott van, mit lehet helyette csinálni.
| Korlát | Mit tehetsz |
|---|---|
| Nincs távolság vagy útvonal„5 km-en belül” nem megadható | Rajzold körbe a területet a térképen — a végeredmény ugyanaz, csak nem kilométerben van kifejezve. |
| A pénztárban nincs utca-legördülő | A vendég beírja az utcát, a bővítmény ellenőrzi. Az elgépelést az ékezet- és rövidítés-tűrő összehasonlítás nyeli el. |
| A térkép nem ad házszám-tartományt | A területből teljes utcák jönnek. A tartományt utólag írd be a körzet Streets mezőjébe, vagy CSV-ből töltsd be. |
| A kezelőfelület angol | A bővítmény szövegei fordíthatók — ez a kézikönyv ezért idézi a gombokat angolul. Amit a vendég lát a pénztárnál, az szabadon átírható. |
| A térképszerkesztő internetet igényel | Csak a szerkesztéshez. A rendelések ellenőrzése nem hív külső szolgáltatást, tehát a bolt működik akkor is, ha a térkép nem érhető el. |
Minden rendelésre ráíródik, melyik körzetbe ment — a rendelés adminban a szállítási cím alatt látszik Delivery zone: néven. Utólagos vitánál ez mondja meg, mi alapján számoltunk akkor, akkor is, ha a körzetet azóta átszabtátok.