# Automatikus árkalkulátor

> Alapár és tarifák megadása, teljes ár számítása az űrlapban, a WooCommerce-ár, az ár a tétel oldalán, vendégszám szerinti árak és a régi JetEngine-űrlap.

Az árkalkulátorral a vevő a foglalási űrlapon azonnal látja a teljes árat, és ugyanez az összeg kerül a WooCommerce-rendelésbe is. Követelmény: a JetBooking, a JetFormBuilder és egy, a tétel oldalán lévő foglalási űrlap (az Elementor ingyenes változata, a blokkszerkesztő vagy Bricks). A fejezet az **Egyszerű** módra vonatkozik; a többi mód külön beállítást kér.

## Alapár és tarifák

1. A **Foglalások → Beállítások → Általános** fülön nézd meg, melyik bejegyzéstípus a **Foglalási példányok bejegyzéstípusa**. A foglalási mezők ennek a típusnak a bejegyzéseihez adódnak.
2. Nyisd meg a típus egy bejegyzését. Az **Árazási beállítások** dobozban az **Ár 1 napra/éjszakára** mezőt töltsd ki. A mező csak számot fogad el.
3. Hosszabb tartózkodásra külön napi ár is megadható: kattints a **Tarifák hozzáadása** gombra, majd az **+ Új tarifa hozzáadása** hivatkozásra, és add meg a napok számát és az árat. Például három vagy több napra a napi ár 21 egység a 30 helyett. Annyi tarifát adj hozzá, amennyi kell, majd **Mentés**.
4. A **Hétvége hozzáadása** gombbal napokra külön ár adható, a **Szezonális árak** résszel pedig időszakokra ([Szezonális és hétvégi árak beállítása](https://hub.hellowp.io/hu/plugins/jet-booking/egysegek-es-arazas-szezonalis-es-hetvegi-arak/)).

![Az Árazási beállítások doboz](./kepek/szoba-szerkeszto-arazas.webp)

*Az Árazási beállítások doboz* (https://minta-bolt.hu/wp-admin/post.php?post=16&action=edit)

![A tarifák beállítása](./kepek/szoba-tarifak.webp)

*A tarifák beállítása* (https://minta-bolt.hu/wp-admin/post.php?post=16&action=edit)

## A teljes ár mezője az űrlapban

1. A **JetFormBuilder → Űrlapok** oldalon nyisd meg a foglalási űrlapot.
2. Adj hozzá egy **Calculated Field** (számított mező) blokkot. A blokk beállításaiban látod a használható makrókat.
3. A **Calculation Formula** mezőbe írd a képletet. Az alap képlet:

```text
%FIELD::_dates%*%META::_apartment_price%+%FIELD::additional_services_a%*%FIELD::guest%*%FIELD::_dates%+%FIELD::additional_services_b%*%FIELD::_dates%+%FIELD::additional_services_c%
```

Ez a kiválasztott napok, az alapár, a kiegészítő szolgáltatások és a vendégek száma alapján adja a teljes összeget. A makrók leírása az [Árazás](https://hub.hellowp.io/hu/plugins/jet-booking/arazas/) fejezetben van. Ha a tarifák, szezonok és hétvégi árak is számítsanak, használd az `ADVANCED_PRICE` makrót.

## A teljes ár a WooCommerce-rendelésben

Ha WooCommerce-integrációt használsz, az űrlap **Post Submit Actions** fülén add hozzá az **Apartment Booking** műveletet. Az **APARTMENT ID FIELD** és a **CHECK-IN/CHECK-OUT DATE FIELD** hozzárendelése mellett a **WOOCOMMERCE PRICE FIELD** mezőben válaszd ki a haladó árképletet tartalmazó számított mezőt. Ha ezt üresen hagyod, a WooCommerce a tétel **Ár 1 napra/éjszakára** mezőjének értékét használja. Mentsd az űrlapot (**Update**).

## Az ár megjelenítése a tétel oldalán

1. A tétel oldalán (Elementor, blokkszerkesztő vagy Bricks) adj hozzá egy fejléc vagy szövegszerkesztő elemet.
2. Kattints a dinamikus címke ikonra, és válaszd a **JetBooking: Price per day/night** forrást.
3. A **Show price** (megjelenítendő ár) mezőben válaszd például a **Prices range** értéket, amely a legkisebb és legnagyobb ár közti tartományt mutatja (például „21-35”).
4. A **Change Dynamically** kapcsolóval az ár a foglalási űrlapban kiválasztott dátumokhoz igazodik.
5. A pénznem jelét és annak helyét beállíthatod, és kívánság szerint a **Second part** mezőben az ár után fűzött szöveget is megadhatod.
6. Tedd közzé (frissítsd) az oldalt.

## Ár a vendégek száma szerint

### Választómezővel (Select, Checkbox, Radio)

Ha a foglalás ára a vendégek számától függ, szorozd meg az árat egy **Select**, **Checkboxes** vagy **Radio** mező számértékével. A mező egyes opcióinál a **Calculate** mezőbe a hozzá tartozó számot írd (például az „egy” opcióhoz 1-et). A számított mezőben a képlet:

```text
%ADVANCED_PRICE::_check_in_out% * %FIELD::number-of-travelers%
```

Az `ADVANCED_PRICE` a kiválasztott dátumok, tarifák és szezonok szerint számolt árat adja, a `FIELD` makró a mező számértékét. Ha az ár 150 egység és a vevő három utazót választ, az eredmény 450. Ehhez nem kell külön kód, és együtt működik a JetBooking dinamikus árszabályaival.

### Számmezővel és feltételes képlettel

Ha a vendégek számát a vevő írja be, használj **Number Field** mezőt (például „Guests” néven), a számított mezőben pedig feltételes képletet. Pontos értékekkel:

```text
%FIELD::guests% == 1 ? 10 :
%FIELD::guests% == 2 ? 25 :
%FIELD::guests% == 3 ? 50 :
%FIELD::guests% == 4 ? 100 :
%FIELD::guests% == 5 ? 500 :
0
```

Ez 1 vendégre 10, 2 vendégre 25, 3 vendégre 50, 4 vendégre 100, 5 vendégre 500 értéket ad, minden más számra 0-t. Összehasonlító operátorokkal sávokat is megadhatsz:

```text
%FIELD::guests% >= 5 ? 500 :
%FIELD::guests% >= 4 ? 400 :
%FIELD::guests% >= 3 ? 300 :
%FIELD::guests% >= 2 ? 200 :
%FIELD::guests% >= 1 ? 100 :
0
```

Itt 1 vendég 100, 2 vendég 200, 3 vendég 300, 4 vendég 400, 5 vagy több vendég 500. Ez akkor hasznos, ha a foglalás ára a vendégszám szerinti fix árlistából jön, és nem fejenkénti díjból.

## Régi JetEngine-űrlap (örökölt módszer)

A régi JetEngine-űrlapokkal is lehet teljes árat számolni.

1. Nyisd meg a **JetEngine → Űrlapok** oldalon a foglalási űrlapot.
2. Kattints az **Add Field** gombra, válaszd a **Calculated** típust, és add meg a nevet és a címkét.
3. A **Calculation Formula** mezőbe írd ugyanazt a képletet, mint fent, majd **Apply Changes**.

Ha a tétel **Ár 1 napra/éjszakára** mezője üres, a számított mező nem tudja kiszámolni az árat, és nullát mutat. Ha külön ármezőt használsz:

1. A bejegyzéstípusnál vagy meta dobozban másold ki az ármező azonosítóját (a **Name** mező tartalmát).
2. Az űrlapon adj hozzá egy **Hidden** típusú mezőt, a **Field Value** legyen „Current Post Meta”, a **Meta field to get value from** mezőbe illeszd be az azonosítót.
3. A számított mező képlete legyen: `%FIELD::_dates%*%FIELD::price%`, ahol a `price` a rejtett mező neve.

A WooCommerce-rendelésben szereplő ár megadásához (a WooCommerce-integráció bekapcsolása után) az űrlap **Post-submit Actions** részében az **Apartment Booking** műveletnél a **WooCommerce Price** mezőben válaszd ki a kívánt mezőt. Ha üresen hagyod, a bővítmény a tétel **Ár 1 napra/éjszakára** értékét használja.
