# iCal-szinkronizálás Google Naptárral

> Foglalások exportálása a webhelyről a Google Naptárba, importálása a Google Naptárból, és a kétirányú szinkronizálás beállítása.

Az iCal-szinkronizálással a foglalásaid külső naptárakkal egyeztethetők. Az iCalendar egy szabványos formátum naptár- és időpont-adatok cseréjére. A Google Naptár mellett minden olyan szolgáltatással működik, amely nyilvános címet ad iCal formátumban, például a szálláskereső oldalakkal (Booking.com, Airbnb).

Három használati mód van:

| Mód | Mire jó |
|---|---|
| Import a Google Naptárból | A Google Naptárban felvett foglalások megjelennek a webhely foglalási listáján, és a foglalt napok a webhelyen sem választhatók. |
| Export a Google Naptárba (fordított szinkron) | A webhelyen leadott foglalások megjelennek a Google Naptárban. |
| Kétirányú szinkronizálás | Mindkettő egyszerre. |

## Előkészület: az iCal-szinkronizálás bekapcsolása

1. Nyisd meg a **Foglalások → Beállítások → Haladó** fület.
2. Kapcsold be az **iCal-szinkronizálás bekapcsolása** kapcsolót.
3. Állítsd be a **Naptárszinkron időköze** és a **Naptárszinkron kezdete** mezőt.
4. Töltsd újra az oldalt. A **Foglalások** menüben megjelenik a **Naptárak** oldal.

![A Haladó fül bekapcsolt iCal-szinkronizálással](./kepek/szinkronizalas-halado.webp)

*A Haladó fül bekapcsolt iCal-szinkronizálással* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-abaf-settings)

Figyeld meg, hogy a kapcsoló bekapcsolása után megjelenik a **Naptárszinkron időköze** és a **Naptárszinkron kezdete** beállítás.

A **Naptárak** oldal a JetBookinghez rendelt bejegyzéstípus bejegyzéseit sorolja fel. Minden sorban látod a bejegyzés címét, az egység címét (ha van egység), az **Exportálási URL**-t, a **Külső naptárak** listáját és a műveleteket.

![A Naptárak oldal két foglalható tétellel](./kepek/szinkronizalas-naptarak.webp)

*A Naptárak oldal két foglalható tétellel* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-abaf-calendars)

Az **Exportálási URL** az adott tétel naptárának iCal-címe. Ezt adod meg a külső szolgáltatásnak, ha a webhely foglalásait oda szeretnéd átvinni. Az **Edit Calendars** gombbal a külső naptárakat adhatod hozzá, ez az import oldala.

Minden foglalható tételhez (és ha egységeket használsz, minden egységhez) külön naptárat kell létrehozni.

### Az iCalendar sablon

Az **iCalendar Template** gombbal megnyíló ablakban adhatod meg, milyen adat kerüljön a külső naptár eseményébe.

![Az iCalendar-sablonminta ablak](./kepek/szinkronizalas-icalendar-sablon.webp)

*Az iCalendar-sablonminta ablak* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-abaf-calendars)

- Az **Összegzés** az esemény címe, a **Leírás** a részletező szöveg.
- Mindkét mezőben keverhetsz sima szöveget JetEngine-makrókkal.
- A mezők melletti adatbázis-ikonnal JetBooking dinamikus címkéket szúrhatsz be (például a foglalás állapotát, az egység nevét vagy egy foglalási példány meta mezőjét).
- A **Need some dynamic? Generate macros.** hivatkozás új ablakban megnyitja a JetEngine makrógenerátorát: itt beállíthatod a környezetet és a tartalékértéket, majd a kapott makrót bemásolod a sablonba.

Példa a kitöltésre:

| Mező | Tartalom | Mit ad vissza |
|---|---|---|
| Összegzés | `%title% booking` | A tétel címe, utána a „booking” szó. |
| Összegzés | `%booking_unit_title%` | Az egység címe (a „Booking Unit Title” címkével szúrható be). |
| Leírás | `Status: %booking_status%` | A foglalás állapota (a „Booking Status” címkével). |
| Leírás | egy makró a „Booking Instance Meta” címkével, a meta mező nevével | Például az egy éjszakára számított ár, ha külön mezőben tárolod. |

A **Mentés** gombbal mented a sablont. Fontos: a sablon csak a webhelyről a külső naptárba exportált foglalásoknál látszik. A makrókról bővebben: [Munkafolyamatok, makrók és lemondás](https://hub.hellowp.io/hu/plugins/jet-booking/munkafolyamatok-es-makrok/).

Az exportálás kipróbálásához előbb vegyél fel néhány foglalást a webhelyen: a tétel oldalán az űrlappal, vagy gyorsabban a **Foglalások → Foglalások** oldalon az új foglalás felvételével.

## Foglalások exportálása a Google Naptárba

Ez a fordított szinkron: a webhelyen leadott foglalások megjelennek a Google Naptárban.

1. A Google Naptárban kattints az **Add other calendars** (másik naptár hozzáadása) gombra, és válaszd a **From URL** lehetőséget.
2. A webhelyen a **Foglalások → Naptárak** oldalon másold ki a kívánt tétel vagy egység **Exportálási URL**-jét.
3. Illeszd be a másolt címet a **URL of calendar** mezőbe, jelöld be a **Make the calendar publicly accessible** négyzetet, és kattints az **Add calendar** gombra.
4. A lap alján a „Calendar created. Fetching events in the background” üzenet jelenik meg.
5. Ismételd meg ezt minden olyan tételnél vagy egységnél, amelynek foglalásait látni szeretnéd.
6. Ha át akarod nevezni a naptárat, a Google Naptárban a naptár hárompontos menüjében nyisd meg a **Settings** részt, és írd át a **Name** mezőt. Az átnevezés azonnal érvényes.
7. A Google Naptár szinkronbeállítási oldalán (`calendar.google.com/calendar/u/0/syncselect`) jelöld be az újonnan létrehozott naptárakat, és mentsd.

A foglalásra kattintva a Google Naptárban az iCalendar sablonban megadott adatok látszanak (például a szoba neve, a foglalás állapota és az éjszakánkénti ár).

Tudnivalók:

- A Google Naptárban az így behozott foglalások csak megtekinthetők, szerkeszteni a webhelyen lehet.
- A Google saját szabályai szerint a webhelyen történt változás 8-12 óra múlva, néha később jelenik meg a Google Naptárban. Ezt nem tudod gyorsítani, és a **Naptárszinkron időköze** beállítás sem befolyásolja: az csak azt szabja meg, milyen gyakran kéri le a webhely a külső naptár új foglalásait.
- Helyi (nem nyilvános) webhelyről a Google Naptár nem látja a foglalásokat, ezért az exportot éles webhelyen próbáld ki.

## Foglalások importálása a Google Naptárból

Ez az irány azokra jó, akik a Google Naptárban is fogadnak foglalásokat, és ezeket át akarják vinni a webhelyre.

1. A Google Naptárban kattints az **Add other calendars** gombra, és válaszd a **Create new calendar** lehetőséget.
2. Add meg a naptár nevét, szükség esetén a leírását, és válaszd ki az időzónát. Kattints a **Create calendar** gombra.
3. A **My calendars** részben keresd meg az új naptárat, és a hárompontos menüben válaszd a **Settings and sharing** pontot.
4. Az **Access permissions** blokkban jelöld be a **Make available to public** négyzetet.
5. Görgess az **Integrate calendar** részhez, és másold ki a **Public address in iCal format** címet.
6. Vegyél fel a naptárban néhány tesztfoglalást.
7. A webhelyen nyisd meg a **Foglalások → Naptárak** oldalt, keresd meg a tételt, és kattints az **Edit Calendars** gombra.
8. Kattints a **+ Új URL** gombra, illeszd be a kimásolt címet, és kattints a **Mentés** gombra.

![A Naptárak szerkesztése ablak az Új URL hivatkozással](./kepek/szinkronizalas-naptar-szerkesztese.webp)

*A Naptárak szerkesztése ablak az Új URL hivatkozással* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-abaf-calendars)

9. Kattints a jobb oldali **Synch** gombra. A szinkron közben a „Synchronizing Calendars” üzenet látszik. Csak a Google Naptárban felvett foglalásokat hozza át.
10. Zárd be az ablakot, és nyisd meg a **Foglalások → Foglalások** oldalt: itt megjelennek a Google Naptárból behozott foglalások.

Az eredményt a tétel oldalán is látod: a foglalási űrlap naptárában a Google Naptárban lefoglalt napok már nem választhatók.

Minden foglalható tételhez külön Google-naptár kell, és az automatikus lekérdezés időközét a **Naptárszinkron időköze** adja.

## Kétirányú szinkronizálás

A kétirányú szinkronhoz minden tételhez (vagy egységhez) két naptár kell:

- az elsőn a webhely foglalásai látszanak (export, lásd fent);
- a másodikban a Google Naptárban felvett foglalásokat viszed át a webhelyre (import, lásd fent).

A beállítás sorrendje:

1. Kapcsold be az iCal-szinkronizálást, és töltsd ki az iCalendar sablont.
2. Vegyél fel néhány foglalást a webhelyen.
3. Hozz létre a Google Naptárban egy naptárat az **Add other calendars → From URL** lehetőséggel, a tétel **Exportálási URL**-jével, és tedd nyilvánossá. Ez mutatja a webhely foglalásait.
4. Hozz létre egy második naptárat a **Create new calendar** lehetőséggel. Érdemes ugyanazt a nevet adni neki, mint az elsőnek, a színét pedig az elsőével egyezőre állítani. Tedd nyilvánossá, és másold ki a **Public address in iCal format** címét.
5. A webhelyen az **Edit Calendars** ablakban add hozzá ezt a címet a **+ Új URL** gombbal, és szinkronizálj a **Synch** gombbal.

Ezután a webhelyen és a Google Naptárban felvett foglalások egyaránt látszanak a Google Naptárban és a **Foglalások** listán. Fontos: tételenként két külön naptár kell, egy a kimenő és egy a bejövő foglalásoknak.
