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

> Egyszerű módban a foglalások rendelésként egy egyéni bejegyzéstípusba kerülnek: létrehozás, beállítás, kezelés és megjelenítés a weboldalon.

Ha nem használsz online fizetést, a WooCommerce-integráció pedig ki van kapcsolva, a foglalási rendeléseknek egy saját bejegyzéstípus kell. Ez a „Rendelések” (angolul „Orders”) bejegyzéstípus. A foglalási űrlap elküldése után ebben jön létre egy bejegyzés, amelyet a háttérben átnézhetsz, rendezhetsz, az állapotát és az adatait módosíthatod. A bejegyzések a weboldalon is megjeleníthetők, akár úgy, hogy csak az adminisztrátor lássa őket.

A példa JetEngine-nel, JetFormBuilderrel és egy oldalszerkesztővel (Elementor, blokkszerkesztő vagy Bricks) készül. A listák és sablonok a JetEngine-hez tartoznak, itt csak a JetBooking-oldali lépések szerepelnek részletesen.

## A bejegyzéstípus létrehozása

1. Nyisd meg a **JetEngine → Post Types** oldalt, és kattints az **Add Post Type** gombra.
2. Add meg a bejegyzéstípus nevét, például „Rendelések”.
3. Meta mezőket nem kötelező felvenni, mert a foglalás adatait a bővítmény az adatbázisból veszi. Ha olyan extra adatot akarsz tárolni, ami nincs a foglalás alapadatai között, vegyél fel meta mezőket. A példában szöveges mező kerül a vevő keresztnevének, vezetéknevének és e-mail-címének, szám típusú mező a telefonszámnak és a szolgáltatás árának, dátum típusú mező pedig a dátumoknak.
4. Kattints az **Add Post Type** gombra.

## A bejegyzéstípus kiválasztása a beállításokban

1. Nyisd meg a **Foglalások → Beállítások → Általános** fület.
2. A **Foglalási rendelések bejegyzéstípus** listából válaszd ki az imént létrehozott típust.

![Az Általános fül a foglalási rendelések és példányok bejegyzéstípusának listájával](./kepek/foglalasok-kezelese-cpt-beallitas.webp)

*Az Általános fül a foglalási rendelések és példányok bejegyzéstípusának listájával* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-abaf-settings)

A képen a **Foglalási rendelések bejegyzéstípus** lista a rendelések típusát adja meg, a **Foglalási példányok bejegyzéstípusa** pedig a foglalható tételekét ([Foglalási példányok bejegyzéstípusa](https://hub.hellowp.io/hu/plugins/jet-booking/foglalasok-kezelese-peldany-cpt/)).

## A rendelések kezelése a háttérben

Amint a bejegyzéstípus be van állítva, a foglalási űrlap elküldésekor új bejegyzés jön létre benne. Ehhez az űrlapon az **Insert/Update Post** utólagos műveletnek is szerepelnie kell ([Foglalási űrlap](https://hub.hellowp.io/hu/plugins/jet-booking/foglalasi-urlap/)).

1. Nyisd meg az oldalt, amelyen az űrlap van, töltsd ki minden mezőjét, és küldd el.
2. Nyisd meg a rendelések bejegyzéstípusát: itt látod az új bejegyzést.
3. Ha kell, módosítsd vagy egészítsd ki a meta mezők értékét, majd mentsd a bejegyzést.

## Egyéni lekérdezés

A rendelések weboldali megjelenítéséhez előbb lekérdezés kell.

1. Nyisd meg a **JetEngine → Query Builder** oldalt, és kattints az **Add New** gombra.
2. A **Name** mezőbe írd be a lekérdezés nevét (például „Foglalási rendelések listája”).
3. A **Query Type** listából válaszd a **JetBooking Query** típust.
4. Kattints az **Add Query** gombra.

A lekérdezést szűkítheted foglalási állapotra vagy felhasználóra is, de erre nincs szükség.

## Listázási sablon a rendelésekhez

1. Nyisd meg a **JetEngine → Listings/Components** oldalt, és kattints az **Add New Item** gombra.
2. A **Listing source** listából válaszd a **Query Builder** forrást, a **Query** listából a létrehozott lekérdezést.
3. Add meg a **Listing item name** értéket, és válaszd ki a szerkesztőt a **Listing view** listából.
4. Kattints a **Create Listing Item** gombra.
5. A sablonba húzz be egy **Dynamic Field** elemet. Forrásnak (**Source**) válaszd a **Post/Term/User/Object Data** lehetőséget, az **Object Field** listában pedig a JetBooking szakaszból a **Booking ID** mezőt. Ha a **Customize field output** kapcsoló be van kapcsolva, a megjelenő mezőbe szöveget is írhatsz a kiírt érték elé, például „Foglalás azonosítója:”.
6. Másold le a **Dynamic Field** elemet, és az **Object Field** listából válaszd a **Check In Date** mezőt. A dátum formázásához kapcsold be a **Filter field output** kapcsolót, a **Callback** listából válaszd a **Format date** lehetőséget, és add meg a formátumot (például `F j, Y`: hónapnév, nap, év).
7. Ugyanígy vedd fel a kijelentkezés dátumát, a lefoglalt szolgáltatás címét, a foglalás állapotát és a vevő e-mail-címét.
8. Kattints a **Publish** gombra.

## A rendelések megjelenítése az oldalon

1. Szerkeszd azt az oldalt, ahol a rendeléseket meg akarod jeleníteni.
2. Add hozzá a **Listing Grid** elemet, és a **Listing** mezőben válaszd ki a létrehozott sablont.
3. Kattints a **Publish** gombra, majd nézd meg az oldalt: a foglalások listája megjelenik.

### Megjelenítés csak az adminisztrátornak

1. Szerkeszd az oldalt, jelöld ki a **Listing Grid** elemet, és nyisd meg a **Haladó → Dynamic Visibility** részt.
2. Kapcsold be a kapcsolót, és válaszd ki, hogy a feltétel teljesülésekor mutassa vagy rejtse az elemet.
3. A **Condition** listában a **User** szakaszból válaszd a **User Role is** feltételt, a **User Role** mezőben pedig az **Administrator** szerepkört.
4. Kattints a **Publish** gombra.

Adminisztrátorként bejelentkezve látod a rendeléseket, kijelentkezve vagy vendégként már nem.
