# Felhasználói Dokumentáció

## 1. Supplier Portál (Beszállítói Felület)

### Beszállítói felhasználó felvitele

A beszállítói felhasználókat az adminisztrációs felületen lehet kezelni. A folyamat lépései:

1. Navigáljon a Beszállítók menüpontba.
2. Válassza ki a kívánt beszállítót a listából, vagy kattintson a szerkesztés ikonra.
3. Görgessen le a Supplier Portal felhasználók szekcióhoz.
4. Itt megadhatja az új felhasználó adatait: Név, E-mail cím és Jelszó.
5. Kattintson a Felhasználó létrehozása gombra. A létrejött felhasználó azonnal megjelenik a táblázatban, és be tud jelentkezni a beszállítói portálra.

### Beszállítói feladatok

A beszállító a saját hozzáférésével az alábbi feladatokat tudja elvégezni a portálon:

- Készletkezelés: A Termékeim menüpontban láthatja a hozzárendelt termékek listáját.
- Státusz módosítása: Minden terméknél beállíthatja a készletstátuszt (Raktáron vagy Nincs raktáron). Ez lehetővé teszi a beszállító számára, hogy valós időben jelezze, ha egy termék átmenetileg nem elérhető.

### Megjelenítés a rendelési nézetben

Amennyiben a beszállító egy terméket "Nincs raktáron" állapotúra állít, az a következőképpen jelenik meg a legacy (hagyományos) termékválasztó nézetben:

- A termék sorában a mennyiség megadására szolgáló beviteli mező eltűnik.
- Helyette egy piros ikon (vagy "Nincs raktáron" feliratú jelzés) jelenik meg.
- A termék így nem adható hozzá a rendeléshez, amíg a beszállító újra "Raktáron" állapotúra nem állítja.

## 2. Delivery (Szállítási) funkcionalitás

### admin/work-calendar (Munkanaptár)

A munkanaptár az általános naptári beállítások kezelésére szolgál. Itt adhatók meg:

- Ünnepnapok: Amikor alapértelmezés szerint nincs szállítás.
- Áthelyezett munkanapok: Amikor egy pihenőnap helyett munkanap van (pl. szombati munkavégzés).

Ezek a beállítások minden beszállítóra és profitcenterre érvényesek, hacsak nincs egyedi felülbírálás.

### admin/delivery-schedules (Szállítási sablonok)

Itt hozhatók létre a szállítási rend sablonjai. Megadható:

- A sablon neve.
- A hét napjai (hétfőtől vasárnapig), amelyeken az adott sablon szerint szállítás történik.

Ezek a sablonok képezik az alapját a későbbi ütemezéseknek.

### admin/delivery-calendar-overrides (Naptári felülbírálások)

Ez a funkció lehetővé teszi az egyedi, dátumhoz kötött kivételek kezelését. Fontos újdonság, hogy a felülbírálás szintje is kiválasztható:

- Általános (minden telephely): A módosítás a beszállító összes szállítására érvényes lesz.
- Régió-specifikus: Csak egy adott szállítási sablonhoz (régióhoz) tartozó profitcentereket érinti.
- Profitcenter-specifikus: Kizárólag egy konkrét profitcenter (vevő) szállítási naptárát módosítja.

További beállítások:

- Kiválasztható egy adott beszállító.
- Megadható egy konkrét dátum.
- Beállítható, hogy az adott napon van-e szállítás vagy sem, függetlenül az alapértelmezett sablontól.
- Indoklás is rögzíthető (pl. "Üzemszünet", "Rendkívüli szállítási nap").

### admin/profit-center-supplier-schedules (Profitcenter-Beszállító ütemezés)

Itt kapcsolható össze a vevő (Profitcenter), a Beszállító és a Szállítási sablon.

- Meghatározza, hogy egy adott beszállító mely napokon szállít az adott profitcenterhez.
- Ez az ütemezés szűri le a választható szállítási dátumokat a rendelés leadásakor.

### admin/calendar-test (Naptár Teszt)

Ez az eszköz az adminisztrátorok számára készült a szállítási naptár és a dátumkalkulációk ellenőrzésére:

- Szimuláció: Kiválasztható egy beszállító, egy profitcenter, valamint egy tetszőleges rendelési dátum és időpont.
- Eredmény: A rendszer a megadott paraméterek alapján azonnal kiszámítja a következő érvényes szállítási napot.
- Vizualizáció: Egy éves naptárnézetben színkódolva láthatók az összesített beállítások (alapsablon, ünnepnapok, felülbírálások, áthelyezett munkanapok).
- Ellenőrzés: Segítségével tesztelhető, hogy a leadási határidő (cutoff time) és az átfutási idő (lead time) korlátozások a vártnak megfelelően módosítják-e az elérhető szállítási napokat.

### Szállítási korlátozások beállítása (hasDeliveryConstraint)

A beszállító adatlapján az admin felületen állíthatók be a szállítási paraméterek:

- Szállítási korlátozások (hasDeliveryConstraint): Egy kapcsolóval aktiválható.
- Leadási határidő (orderCutOffTime): Az az óra (pl. 12:00), ameddig a rendelést le kell adni, hogy a következő szállítási napon teljesíthető legyen.
- Szállítási átfutási idő (deliveryLeadTime): A rendelés leadása és a szállítás közötti minimális idő órában (pl. 24, 48, 72 óra).

### Megjelenítés a rendelési paramétereknél

A rendelés leadása során (order parameter nézet) a szállítási dátum választásánál a rendszer az alábbiak szerint segíti a felhasználót:

- Színkódolt naptár: A dátumválasztóban a napok különböző színekkel jelennek meg:
  - Zöld: Érvényes szállítási nap.
  - Szürke: Nem szállítási nap (a sablon vagy felülbírálás alapján).
  - Piros: Ünnepnap.
  - Sárga: Áthelyezett munkanap.
- Jelmagyarázat: A naptár felett egy jelmagyarázat segít értelmezni a színeket.
- Validáció: A rendszer automatikusan kizárja azokat a napokat, amelyek a leadási határidő vagy az átfutási idő miatt már nem választhatók.