# Több egység foglalása egyszerű módban

> Egységek számának megadása a foglalási űrlapban, árszámítás, hibaüzenet, rendelés-bejegyzés, WooCommerce-integráció és a láthatósági feltételek.

Ha a tételnek több egysége van ([Egységek kezelése a vezérlőpultról](https://hub.hellowp.io/hu/plugins/jet-booking/egysegek-es-arazas-egysegek-kezelese/)), a vevő egyetlen foglalással több egységet is lefoglalhat. Ehhez a JetFormBuilder foglalási űrlapjába egy számmező kell az egységek számának. Ez a fejezet az **Egyszerű** módra vonatkozik, a WooCommerce-integrációval együtt is. Követelmény: a JetBooking, a JetFormBuilder és a kezelt egységekkel rendelkező tétel. A láthatósági feltételekhez a JetEngine is kell.

## A számmező és az űrlap beállítása

1. A **JetFormBuilder → Űrlapok** oldalon nyisd meg a foglalási űrlapot.
2. Adj hozzá egy **Number Field** (számmező) blokkot az egységek számának.
3. Az **General** fülön add meg a mező címkéjét (**FIELD LABEL**) és nevét (**FORM FIELD NAME**).
4. A **Field** fülön a **MAX VALUE** melletti adatbázis-ikonra kattintva az **Edit Preset** ablakban állítsd be: **SOURCE** = „Post”, **GET POST ID FROM** = „Current Post”, **POST PROPERTY** = „Post Units Number”. Így a legnagyobb érték a tétel egységeinek száma lesz. A **Update** gombbal zárd be az ablakot.
5. Ajánlott a mezőt a JetEngine dinamikus láthatóságával csak azoknál a tételeknél megjeleníteni, amelyeknek vannak egységei: a blokk eszköztárában kattints a szem ikonra, kapcsold be az **Enable** kapcsolót, a **VISIBILITY CONDITION TYPE** értéke legyen „Show element if condition met”, majd az **+ Add new item** gombbal válaszd az **Apartment has Units** feltételt.
6. Az űrlap jobb oldali **JetForm** paneljén szerkeszd az **Apartment Booking** utólagos műveletet, és kapcsold be a **Booking multiple units** kapcsolót. Megjelenik a **CAPACITY FIELD** mező: ebben válaszd ki az egységek számának számmezőjét.
7. Zárd be az ablakot (**Update**), és mentsd az űrlapot.

### Az egységek száma az árban

A számmező értéke bekerülhet a számított mező (Calculated Field) képletébe, például:

```text
%FIELD::_dates%*%META::_apartment_price%*%FIELD::unit_number%
```

Ez az alapárat megszorozza a napok és az egységek számával.

Ha a tételnek nincsenek egységei, a számmező rejtve van, és a képlet eredménye nulla lehet. Ennek elkerülésére:

1. Adj hozzá egy **Hidden Field** (rejtett mező) blokkot, amelynek a **FORM FIELD NAME** értéke megegyezik a számmezőével.
2. A **FIELD VALUE** legyen „Manual Input”, az érték pedig 1.
3. A szem ikonnal állítsd be a fordított láthatóságot: **Enable** be, „Hide element if condition met”, feltételnek az **Apartment has Units**.

## Az eredmény a frontenden

Egy éjszakára és 1 egységre a számított ár az alapár. 2 egységnél az ár a duplájára nő. Az űrlap elküldése után a **Foglalások** oldalon két foglalás jelenik meg, egy-egy foglalt egységnek. Ha nincs elég szabad egység, az űrlap a „Not enough available units. Only n available.” hibaüzenetet mutatja, ahol n a szabad egységek száma.

## Foglalási rendelések bejegyzéstípusa

Ha a **Foglalások → Beállítások → Általános** fülön megadtál **Foglalási rendelések bejegyzéstípus** értéket, az űrlapon az **Insert/Update Post** utólagos műveletnek is szerepelnie kell. Egy foglalás elküldése után a rendelések bejegyzéstípusában létrejön egy bejegyzés, amelynek **Foglalási adatok** szakasza a lefoglalt egységek adatait mutatja.

Több egység foglalásakor a **Foglalások** oldalon több foglalás jön létre, de mind ugyanahhoz a rendelés-bejegyzéshez kapcsolódik. Ha a rendelés-bejegyzést törlöd, a hozzá tartozó összes foglalás is törlődik.

## Egyszerű mód WooCommerce-integrációval

A beállítás ugyanaz, mint fent. A különbségek a küldés utáni oldalakon látszanak:

- a rendelés részletei mutatják az egységenkénti árat és az összes egység teljes árát;
- a **Köszönjük** oldal táblázatban sorolja fel a lefoglalt egységeket;
- a **Foglalások** oldalon minden lefoglalt egységnek külön foglalása van, mindegyik ugyanahhoz a rendeléshez kapcsolódik (a **Kapcsolódó rendelés** hivatkozásra kattintva, vagy a **WooCommerce → Rendelések** oldalon nyitható meg);
- minden foglalás **Függőben** állapottal jön létre. Ez a **Foglalások → Beállítások → Haladó** fül **Foglalási állapotok automatikus váltása** beállításával módosítható.

A kétirányú WooCommerce-rendelésszinkron csak a rendelés és a foglalás egy-az-egyhez kapcsolatánál működik teljesen. Ha a rendelésben egyetlen foglalás van, a rendelés állapotának módosítása a foglalásét is módosítja, és fordítva. Ha egy rendelésben több foglalás van, a rendelés állapotának módosítása az összes kapcsolt foglalást frissíti, de egy foglalás állapotának módosítása a rendelést nem érinti.

## Dinamikus láthatóság a tétel oldalán

A JetEngine dinamikus láthatóságával feliratot vagy más elemet jeleníthetsz meg a tétel oldalán vagy az űrlapon aszerint, hogy a tételnek vannak-e egységei. Az Elementor, a blokkszerkesztő és a Bricks szerkesztőben két feltétel érhető el:

| Feltétel | Mikor látszik az elem |
|---|---|
| **Apartment has Units** | A tételnek vannak beállított egységei, és az egységek száma egynél több |
| **Apartment has no Units** | A tételnek nincsenek egységei, vagy az egységek száma egy |
