Warehouse Manager

Manufacturer: OANDER

A modul olyan webáruházak számára ajánlott, ahol webes készlet mellett fizikai boltok vagy raktárak termékkészleteit is értékesítjük és a fizikai boltokból is kiszolgálásra kerülnek a rendelések. A modul révén valamennyi termékről raktáranként láthatók az egyes készlet információk és ez alapján számítódik a globális stock érték. A modul saját szállítási móddal is rendelkezik, amely store pickup esetén jelzi a pénztárban, hogy a a rendelés állomány hol van készleten, hol vehető át azonnal.

A modul üzleti célja

Számos webáruház olyan e-kereskedelmi tevékenységet folytat, ami során a webshopban meglévő fizikai boltok termékkészleteit értékesíti, vagy külön webshop raktárkészlet mellett a fizikai boltokból is kiszolgálásra kerülnek a rendelések. Ilyen esetekben a készletinformációk mindig rendszerintegrációval szinkronizálódnak a webshopokba, ám fontos, hogy a Magento-ban is megjelenjen, hogy egy adott termék, mely boltokban, raktárokban (= warehouse) van készleten és hol nincsen.

A Warehouse Manager modul célja tehát a Magento 2 készletkezelő funkcióinak kibővítése, hogy a termékek a globális készlet helyett raktáranként legyenek kezelhetők weboldal-nézetenként, külön-külön. A modul kiiktatja a Magento natív készletkezelési logikáját és egy komplexebb, egy termékhez több raktárkészletet rendelő készletszámítást vezet be.

A modul a raktárakat és készletadatokat, a Magento multi-db képességeit kihasználva, külön adatbázisban tárolja. Így a vásárlók, termékek és rendelések adatait kezelő főadatbázis tehermentesítve működhet a gyakori készletadat változások ellenére is. A modul szervizei külön REST API-n keresztül is meghívhatók, így akár a készletkezelő külön szerveren is működhet külső rendszerekkel integrálva.

Raktárak kezelése

A raktárak az admin felületen, az Oander -> Warehouse Manager -> Warehouses menün keresztül érhetők el, ahol egy gridben látjuk az egyes website scope-okhoz rendelt raktárakat. A listában a különböző weboldal nézetek raktárai listázódnak, itt lehet újat létre hozni vagy meglévőt módosítani. Egy raktár szerkesztése során megadható beviteli mezők:

Name: A raktár neve, ez jelenik meg termék oldalon és a szállítási adatokban.

Enabled: A raktár készletadatai csak akkor számolódnak, illetve csak akkor jelenik meg maga a raktár, amennyiben az be van kapcsolva.

Website: Itt határozható meg, hogy az adott raktár melyik weboldalnézethez tartozzon.

Is main warehouse: Főraktár esetén a rendelési folyamatban a készletek a főraktárból kerülnek levonásra, amennyiben a vásárló nem személyes átvételt választ.

Type: A készletadat kijelzéseket befolyásolja a raktár típusa. Itt dönthetjük el, hogy az adott warehouse készlete frontenden látszódjon-e vagy sem és miként viselkedjen az üzleti logikában. Lehetséges értékek:

  • POS Warehouse: ez jelöli azokat a warehouse-okat, amik fizikai boltok, és amelyekhez a felhasználó akár személyes átvételt is kérhet.
  • Web-only warehouse: Ez olyan raktár, amiben ugyancsak sorakoznak termékek készlettel, és ez a warehouse is ad fel rendelést. Viszont ezt a warehouse-t a felhasználó nem tudja felkeresni személyes átvétel során, hiszen nem egy fizikai bolt, hanem egy raktár. Vagyis a pénztárban ez a típusú warehouse a store pickup lehetőségek között nem látszik.
  • External warehouse: Olyan raktár, amelynek a készletét a webáruház mutatja ugyan, de ezeknek a termékeknek a kiszolgálása hosszabb idő, mert nem a webshop tuladjonában lévő raktárról van szó, hanem egy külső partnerről, amelynek a termékeit a webshop egyébként értékesíti. A user store pickup esetén nem tudja felkeresni (nem látja személyes átvételi pontként a pénztárban).

Sort order: A raktárak megjelenésének sorrendjét befolyásolja.

Is store pickup: Amennyiben ez be van kapcsolva, a raktár megjelenik a pénztárban a szállítási módok között mint lehetséges átvételi pont.

Navigation URL: A raktár linkje, ami a raktárhoz tartozó boltra irányít.

Készletadatok kezelése

Készletadata csak egyszerű termékeknek van (website-raktár-termék metszet). Konfigurálható, kötegelt vagy csoportos termékek esetén a termékek készletadata a hozzájuk rendelt altermékekből számítódik ki. Admin felületen termék létrehozása során még nem lehet készlet adatokat megadni. A készletadatokat csak már létrehozott termék esetén lehetséges manuálisan beállítani. A készletadat módosítása, mentése mindig az aktuálisan megnyitott weboldalnézetben történik.

Készlet darabszám kezelése termék adatlapon:

A termék készletadatai az egyszerű termék szerkesztése oldalán a Warehouse Items -> Warehouse Item gombra kattintva szerkeszthetők. Itt egy táblázatot kapunk, ahol warehouse-onként látjuk és változtathatjuk a készlet adatokat. A termék automatikusan nulla darabos készletszámmal kerül hozzárendelésre minden a weboldalnézetben szereplő raktárhoz. A darabszám módosítása esetén a készlet státuszok újra számolódnak az adott termékre.

Készlet státuszok kezelése termék adatlapon:

A készlet státuszok egy része automatikusan számítódik ki, azonban lehetőség van őket manuálisan is konfigurálni az egyszerű termék szerkesztése oldalon a Warehouse Manager: Inventory -> Stock Settings to this Product menüponton keresztül. Lehetséges beviteli mezők:

  • Forced State: Amikor ez az opció bekapcsolásra kerül, akkor a státuszok nem kalkulálódnak automatikusan, hanem az éppen aktuális értéken maradnak.
  • Stock Status: Amikor a termék készleten van, akkor tehető kosárba.
  • Availability: Az Availability kizárólag egy kijelzés arról, hogy a termék elérhető-e azonnal (zöld) vagy csak hosszabb kiszállítással, extrenal raktárból érhető el (sárga) vagy egyáltalán nem elérhető (piros).
  • Backorder: Ha be van kapcsolva akkor a termék kosárba tehető akkor is, amikor 0 vagy kevesebb darab van belőle - vagyis készleten marad.
  • EOL (end of life, azaz kifutó termék): Ha be van kapcsolva és a készletszám eléri a nullát, akkor a termék nem tehető többé kosárba.

A fenti státuszok hatással vannak egymásra illetve a készletszám és a raktárok típusa is befolyásolja ezeket az értékeket.

Frontend megjelenés

  • Termékoldalon: A modul a frontenden a termékoldalakon megjelenít egy táblázatot, amelyben soronként látjuk az egyes warehouse-okat, amelyeket az adott website scope-hoz felrögztítettünk. A termékoldali táblázatban a beállított sort order szerint sorrendeződnek a warehouse-ok, és itt láthatjuk, hogy az adott termék hol van készleten, illetve hol nincsen. Továbbá látszik a termék globális stock státusza is, amely ezekből kalkulálódik.
  • Kategória oldalon: A kategória oldalakon is megjelenik a termékkártyákon egy "Hol van készleten" feliratú link, amelyre kattitva már a kategória listában megnyílik egy popup ablak, benne a raktárankénti készlet elérhetőséggel. A modul továbbá bevezet egy szűrőt a kategória oldalak tetején, amivel a user előre tudja rendezni azokat a termékeket, amelyek készleten vannak.

Saját szállítási mód a pénztárban

A modul létrehoz a webáruházban egy Store Pickup elnevezésű szállítási módot, ez a személyes átvétel, megnevezése adminból konfigurálható. A szállítási mód a pénztár első lépésének alján, a többi shipping method között jelenik meg, ára 0 Ft (a személyes átvétel szállítási mód ingyenes)

A szállítási mód kiválasztásánál felhasználónak megjelennek azok a warehouse-ok, amelyek "POS Warehouse" típusú beállítást kaptak.

A Wareouse-ok mellett megjelenítjük, hogy a vásárló rendelése mely warehouse-okban vehető át, és melyek azok, amelyekben nincsen készleten. Fontos tehát, hogy megvizsgáljuk, hogy a felhasználó rendelési tételei mely raktárakban vannak összesen készleten, és az alapján jelezzük ki a warehouse-ok megnevezése mellett az alábbi információk egyikét:

  • Available for pickup: Zöld színnel látjuk ezt a kijelzést azoknál a warehouse-oknál, ahol az adott warehouse-ban a felhasználó aktuális, megrendelni készült kosár tartalmának összes eleme készleten van a felhasználó által kosárba helyezett mennyiségben (vagyis a rendelési tételek egy az egyben elérhetőek és átvehetőek). Ez a kijelzés mutatja a user-nek, hogy ha ezt a boltot választja, akkor egy az egyben át tudja venni a rendelését.
  • Available after notification: Piros színnel látjuk ezt a kijelzést azoknál a warehouse-oknák, ahol a felhasználó aktuális kosár tartalmának elemei nem állnak rendelkezésre készleten egy az egyben (vagyis akár semelyik termék nincsen készleten, vagy nincsen készleten az összes és abban a mennyiségben, amit a user rendelni kívánt). Ez a kijelzés mutatja a usernek, hogy az adott warehouse-ban a teljes rendelése nem áll rendelkezésre, és csak akkor induljon útnak, ha a webshop adminisztrátorok szólnak neki, hogy a rendelése átvehető.

További tudnivalók

  • A Warehouse Manager modul az Oander "Hodor" alapsablonjához nincsen gyárilag illesztve, ugyanis a megjelenése és használat módja projektenként erősen eltérő lehet. Ezért a bevezetése a backend telepítésen és konfiguráláson túl intenzív frontend fejlesztést igényel a projekt specifikus design követelmények alapján (elsőrsorban termékoldalakon, kategória oldalakon és a pénztárban).
  • Ahhoz, hogy a Warehouse Manager külön adatbázison futhasson és kihasználjuk a MultiDB képességét, a modul számára üzemeltetési oldalon dedikált, a webshoptól független plusz adatbázis szerver szükséges, ami többlet költséget jelent a hosting terén. A modul tökéletesen működik a webshoppal közös adatbázisra telepített megoldásként is, viszont ilyenkor nem használható ki a szeparált DB kiszolgálásból adódó performancia előnye.
  • A modulban a termékek raktárankénti készlet adatainak kezelésére manuálisan is lehetőség van, ám elsősorban olyan projektekhez célszerű (= kényelmes) a használata, ahol a készletadatok rendszerintegráció révén, időzítetten vagy eseményvezérelten frissülnek. Ennek okán az Oander integrációs megoldáscsomagja, az API Gateway fel van készítve a Warehouse Manager-rel való együttműködésre, továbbá a modul saját indexelési eljárásokkal rendelkezik.