# Foglalások, tagságok és előfizetések

> A WooCommerce Bookings, Memberships és Subscriptions bővítmények adatainak triggerszabályai és műveletei.

Az alábbi erőforrások csak akkor érhetők el, ha a hozzájuk tartozó WooCommerce-bővítmény telepítve és aktív a boltban (a legkisebb verziókat lásd a [Követelmények](zapier-integracio-kovetelmenyek/) fejezetben).

## Foglalások (WooCommerce Bookings)

A foglalás erőforrás egy lefoglalt időpontot jelent. A foglalható termékről a [Termékek](zapier-integracio-termekek/) fejezet szól. A foglalásoknál csak triggerek vannak: a foglalások Zapből való létrehozását és módosítását a WooCommerce Bookings REST API-ja sem támogatja, ezért a bővítmény sem. A foglalások adataival nincsenek keresések vagy műveletek.

### Triggerszabályok

| Szabály | Mikor fut le |
|---|---|
| **Booking cancelled** | amikor egy foglalást lemondanak: a vásárló, az adminisztrátor, vagy automatikusan, ha a hozzá tartozó rendelés nem teljesül. A **Booking status changed to Cancelled**, a **Booking status changed (any status)** és a **Booking updated** is lefut |
| **Booking created** | amikor egy foglalás először létrejön, vagyis amint a vásárló kosárba teszi a foglalható terméket, még a pénztár előtt. A **Booking updated** is lefut. Ha csak a kifizetett foglalásokat akarod, használd a **Booking ordered** szabályt |
| **Booking deleted** | amikor egy foglalás a kukába kerül. Csak ez fut le (a **Booking updated** és a **Booking status changed** nem). A végleges törlés nem indít semmit. Csak az `ID`-t küldi |
| **Booking ordered** | amikor egy foglalást tartalmazó rendelést leadnak, és a foglalás kilép a „In Cart” (kosárban) állapotból (Paid, Confirmed, Pending Confirmation vagy Complete állapotra). Nem fut le azokra az állapotváltozásokra, amelyek ezután történnek, például Paid → Confirmed vagy Paid → Cancelled |
| **Booking restored** | amikor egy kukába tett foglalást visszaállítanak. Csak ez fut le |
| **Booking status changed** | amikor egy meglévő foglalás állapota változik. Nem fut le a létrehozáskor, a kukázáskor és a visszaállításkor |
| **Booking updated** | amikor egy meglévő foglalást frissítenek, az állapotváltozást is beleértve. A foglalás első létrehozásakor is lefut |

A **Booking status changed (any status)** minden állapotváltozáskor lefut, a konkrét szabályok csak egy adott állapotra. Mindegyik a **Booking updated** mellett fut le.

- Booking status changed (any status)
- Booking status changed to Cancelled
- Booking status changed to Complete
- Booking status changed to Confirmed
- Booking status changed to In Cart
- Booking status changed to Paid
- Booking status changed to Pending Confirmation

## Tagsági csomagok (WooCommerce Memberships)

A tagsági csomag olyan beállítások és feltételek gyűjteménye, amelyek szerint a vásárlók hozzáférnek a korlátozott tartalmakhoz, termékekhez és tagoknak szóló kedvezményekhez. A tagsági csomagoknál csak a keresés művelet használható, mert a WooCommerce Memberships REST API-ja nem támogatja a csomagok létrehozását és módosítását.

### Triggerszabályok

| Szabály | Mikor fut le |
|---|---|
| **Membership Plan Created** | amikor új tagsági csomag jön létre. A **Membership Plan Updated** is lefut |
| **Membership Plan Deleted** | amikor egy csomag a kukába kerül. A végleges törlés nem indít semmit. Csak az `ID`-t küldi |
| **Membership Plan Restored** | amikor egy kukába tett csomagot visszaállítanak. A **Membership Plan Updated** is lefut |
| **Membership Plan Updated** | amikor egy meglévő csomagot frissítenek. A létrehozáskor és a visszaállításkor is lefut |

### Művelet

- **Find Membership Plan**: megkeresi a tagsági csomagot. Létrehozást nem támogat. Az első találatot adja vissza, a rendezést az **Order** és **Orderby** mezőkkel módosíthatod.

## Felhasználói tagságok (WooCommerce Memberships)

A felhasználói tagság akkor jön létre, amikor egy vásárló hozzáférést kap egy tagsághoz. Minden felhasználói tagság pontosan egy felhasználóhoz és egy tagsági csomaghoz kapcsolódik, és van állapota és kezdőnapja.

### Triggerszabályok

| Szabály | Mikor fut le |
|---|---|
| **User Membership Created** | amikor új felhasználói tagság jön létre. A legtöbb erőforrással ellentétben a **User Membership Updated** ilyenkor nem fut le |
| **User Membership Deleted** | amikor egy felhasználói tagságot véglegesen törölnek. A felhasználói tagságok nem kerülhetnek a kukába, csak végleges törlés lehetséges. Csak az `ID`-t küldi |
| **User Membership status changed** | amikor egy meglévő felhasználói tagság állapota változik, akár az adminisztrátor, akár a tag, akár automatikus esemény (megújítás, lejárat) okozza. A **User Membership Updated** és az adott konkrét szabály mellett fut le |
| **User Membership Transferred** | amikor egy felhasználói tagságot egyik felhasználótól a másikra átruháznak. A **User Membership Updated** is lefut |
| **User Membership Updated** | amikor egy meglévő felhasználói tagságot frissítenek, az állapotváltozást és az átruházást is beleértve |

A **User Membership status changed (any status)** minden állapotváltozáskor lefut. Konkrét szabályok:

- User Membership status changed (any status)
- User Membership status changed to Active
- User Membership status changed to Cancelled
- User Membership status changed to Complimentary
- User Membership status changed to Delayed
- User Membership status changed to Expired
- User Membership status changed to Free Trial (csak WooCommerce Subscriptions mellett)
- User Membership status changed to Paused
- User Membership status changed to Pending Cancellation

### Műveletek

- **Create User Membership**: új felhasználói tagságot hoz létre. Kötelező mezők: `customer_id` és `plan_id`.
- **Update User Membership**: meglévő felhasználói tagságot módosít. A legfelső szintű azonosító kötelező.
- **Find User Membership**: megkeresi a felhasználói tagságot, és ha nincs találat, opcionálisan létrehozhat egyet.

## Előfizetések (WooCommerce Subscriptions)

Az előfizetés ismétlődő fizetést jelent. Az egyszerű és a változó előfizetés termékről a [Termékek](zapier-integracio-termekek/) fejezet szól: a változó előfizetés adatai és működése a WooCommerce beépített változó termékéhez hasonló. Az előfizetésekhez gyermek erőforrásként előfizetési jegyzetek is tartoznak.

> Az előfizetés metaadatait az erőforrás nem éri el közvetlenül. Megkerülheted: keresd meg az előfizetéshez tartozó rendelést (ez általában a kezdő fizetés rendelése, ami gyakran tartalmazza a kellő metaadatot). Például 1. lépés: **Subscription** erőforrás, **Subscription created** szabály. 2. lépés: **Find Order** művelet, ahol az **Order ID** egyenlő az 1. lépés `parent_id` mezőjével. A következő lépések a 2. lépés rendelési adatait használhatják.

### Triggerszabályok

| Szabály | Mikor fut le |
|---|---|
| **Subscription created** | minden új előfizetésnél, fizetettnél és fizetetlennél is. WooCommerce Subscriptions 6.0 vagy újabb mellett a **Subscription updated** is lefut |
| **Subscription deleted** | amikor egy előfizetést törölnek (kukába tesznek). Csak az `ID`-t küldi |
| **Subscription renewal failed** | amikor egy megújítási fizetés meghiúsul. Csak megújítási rendeléseknél fut le, a kezdő és az átváltási rendelésnél nem. A **Subscription status changed to On hold**, a **Subscription status changed (any status)** és a **Subscription updated** is lefut |
| **Subscription renewed** | amikor egy megújítási fizetés sikeres, automatikus és kézi megújításnál is. Csak megújítási rendeléseknél fut le. A **Subscription status changed to Active**, a **Subscription status changed (any status)** és a **Subscription updated** is lefut |
| **Subscription status changed** | amikor az előfizetés állapota változik. Az állapotot módosíthatja a bolt tulajdonosa, az előfizető vagy egy ütemezett esemény (megújítás, lejárat). A **Subscription updated** mellett mindig lefut |
| **Subscription switched** | amikor az előfizető a Fiókom oldalon magasabb vagy alacsonyabb csomagra vált. Akkor fut le, amikor az átváltási rendelés `processing` vagy `completed` állapotot ér el, az összes átváltási logika után. WooCommerce Subscriptions 6.7 vagy újabb mellett a **Subscription updated** is lefut |
| **Subscription updated** | amikor egy meglévő előfizetést frissítenek: a legtöbb eseménynél (létrehozás 6.0-tól, állapotváltozás, megújítás, megújítási hiba, csomagváltás 6.7-től) |

A konkrét állapotszabályok:

- Subscription status changed (any status)
- Subscription status changed to Active
- Subscription status changed to Cancelled
- Subscription status changed to Expired
- Subscription status changed to On hold
- Subscription status changed to Pending Cancellation

### Csak a fizetett előfizetések indítsák a Zapet

Ha csak akkor akarod elindítani a Zapet, amikor fizetett előfizetés jön létre:

1. 1. lépés: **Subscription status changed to Active** triggerszabály.
2. 2. lépés: **Find Order** művelet: az **Order ID** egyenlő az előfizetés **Parent ID** mezőjével. Ez megkeresi az előfizetést létrehozó rendelést.
3. 3. lépés: **Formatter by Zapier**, **Date / Time** esemény, **Compare Dates** átalakítás: a **Start Date** a 2. lépés rendelésének **Date Created** mezője, az **End Date Value** az 1. lépés **Subscription Date Paid** mezője. Ez a két dátum közötti napok számát adja.
4. 4. lépés: **Filter**: csak folytatódjon, ha a 3. lépés **Output Days** mezője pontosan `0`.
5. 5. lépés: a kívánt művelet.

Ez azért működik, mert a `date_paid` mező minden megújításnál új dátumra változik, tehát a 2-4. lépés csak az első kifizetéskor engedi tovább a Zapet. A későbbi megújításokat kiszűri, pedig azok is Active állapotra állítják az előfizetést.

### Műveletek

Az előfizetések tételes mezői: a Kuponsorok, Szállítási sorok, Tételek és Eltávolított tételek.

- **Create Subscription**: új előfizetést hoz létre.
- **Update Subscription**: meglévő előfizetést módosít. A legfelső szintű azonosító kötelező.
- **Find Subscription**: megkeresi az előfizetést, és ha nincs találat, opcionálisan létrehozhat egyet. Ajánlott keresési mezők: **Search** (a számlázási címben, szállítási címben, számlázási vezetéknévben és számlázási e-mailben keres), **Subscription ID** (a megadott numerikus azonosítóra).

> WooCommerce Subscriptions 8.1-től a függőben lévő (pending) előfizetést nem lehet az **Update Subscription** művelettel aktív állapotra váltani, mert a WooCommerce Subscriptions új ellenőrzéseket vezetett be. Aktív előfizetést a **Create Subscription** művelettel hozhatsz létre úgy, hogy az állapotot már ott `active` értékre állítod. A függő előfizetés aktívra állítási kísérlete „Unable to change subscription status to 'active'.” hibát ad.

> Ismert hiba az előfizetések dátumaival: a **Date Created**, **Date Modified**, **Start Date**, **Trial End Date**, **Next Payment Date** és **End Date** mezők értéke hibás, ezért ne használd őket. A mezők nem veszik figyelembe a bolt időzónájának eltolását: UTC+2 időzónájú boltnál például a **Date Modified** 2 órával korábbi a valósnál.

## Előfizetési jegyzetek

Az előfizetési jegyzetek az egyes előfizetésekhez csatolt feljegyzések, és ugyanúgy működnek, mint a rendelési jegyzetek: belső megjegyzések (állapotváltozások, teljesítési jegyzetek) vagy a vásárlónak szánt jegyzetek. Az előfizetés szerkesztésekor a jobb oldali jegyzetdobozban látod őket.

| Szabály | Mikor fut le |
|---|---|
| **Subscription Note created** | amikor jegyzetet adnak egy előfizetéshez, a vásárlónak látható és a privát jegyzeteknél is. Csak a kifejezetten hozzáadott jegyzetnél fut le, az előfizetés létrehozásakor és a rendelésekhez adott jegyzeteknél nem |
| **Subscription Note deleted** | amikor egy előfizetési jegyzetet törölnek. A rendelésekről törölt jegyzetek nem indítják. Csak az `ID`-t küldi |

Az előfizetési jegyzetet nem lehet módosítani, ezért Update művelet nincs.

- **Create Subscription Note**: új jegyzetet hoz létre egy meglévő előfizetéshez. Ha a **Customer Note** mező igaz (True), a vásárló e-mailben megkapja, ha hamis (False), a jegyzet privát.
- **Find Subscription Note**: megkeresi a jegyzetet, és ha nincs találat, opcionálisan létrehozhat egyet.

## Az adatmezők eltérhetnek a boltodban

A bővítmény a WooCommerce REST API-ját használja, ezért a mezők nevei, leírásai és értékei boltonként eltérhetnek a WordPress, a WooCommerce, az aktív bővítmények és az egyedi kódok függvényében.
