Wtyczka WooCommerce / WordPress – REZERWACJA TERMINU + PŁATNOŚĆ
Pierwotna cena wynosiła: 100 zł.19 złAktualna cena wynosi: 19 zł.
Po zakupie produktu w WooCommerce klient od razu wybiera termin konsultacji – bezpośrednio na stronie z podziękowaniem. Bez zewnętrznych platform, bez abonamentów.
- 📅 Terminy zajęte pobierane na żywo
- 🛒 Integracja z WooCommerce – kalendarz po płatności
- ⏱️ Konfiguracja slotów: 30–120 min, godziny pracy, dni
- 🔒 Ochrona przed duplikacją – jeden termin bez powtórzeń.
- 📋 Shortcode – lista terminów na dowolnej stronie.
- 📬 Powiadomienia e-mail
Po zakupie produktu w WooCommerce klient od razu wybiera termin konsultacji — bezpośrednio na stronie z podziękowaniem. Bez zewnętrznych platform, bez abonamentów, bez Composera.
Kluczowe funkcje
| 📅 Synchronizacja z Google Calendar Zajęte terminy pobierane są na żywo przez freeBusy API — jeśli coś wpadnie Ci do kalendarza ręcznie, slot znika automatycznie. | 🛒 Natywna integracja z WooCommerce Kalendarz pojawia się tylko dla wybranych produktów, po zakończeniu płatności. Termin zapisywany jest w meta zamówienia. |
| ⏱️ Elastyczna konfiguracja slotów Czas trwania (30–120 min), godziny pracy, dni robocze, minimalne wyprzedzenie i horyzont rezerwacji — wszystko w jednym panelu. | 🔒 Zabezpieczenie przed podwójną rezerwacją Jedno zamówienie = jeden termin. Klient nie może zarezerwować tego samego zamówienia dwa razy. |
📋 Shortcode [kcb_terminy] Wstaw listę wolnych terminów na stronie produktu lub dowolnej innej stronie. Konfigurowalne parametry days i label. | 📬 Automatyczne powiadomienia e-mail Potwierdzenia wysyłane przez wp_mail() — w pełni kompatybilne z wtyczkami SMTP. |
Co zawiera wtyczka
| Integracja Google Calendar (Service Account) | Panel rezerwacji — ostatnie 50 zamówień |
| Konfigurowalny czas trwania slotów (30–120 min) | Autoryzacja JWT — bez Composera, bez bibliotek |
| Minimalne wyprzedzenie i horyzont rezerwacji | Shortcode [kcb_terminy] z parametrami |
| Godziny pracy i wybór dni roboczych | Termin zapisywany w meta zamówienia WooCommerce |
Wymagania techniczne
- WordPress 6.0+
- WooCommerce (aktywny)
- PHP 8.0+ z rozszerzeniem
openssl - Konto Google (Google Cloud projekt + Google Calendar)
Instalacja
- Zaloguj się do panelu WordPress (
/wp-admin). - Przejdź do Wtyczki → Dodaj nową → Wyślij wtyczkę.
- Wybierz plik
konsultacja-booking.zipi kliknij Zainstaluj teraz. - Kliknij Włącz wtyczkę.
Po włączeniu w menu WooCommerce pojawi się pozycja Booking Konsultacji.
Konfiguracja Google Cloud (jednorazowa)
Krok 1 – Utwórz projekt i włącz Google Calendar API
- Wejdź na console.cloud.google.com.
- Utwórz nowy projekt (lub wybierz istniejący).
- W menu bocznym wybierz APIs & Services → Library.
- Wyszukaj Google Calendar API i kliknij Enable.
Krok 2 – Utwórz Service Account
- Przejdź do APIs & Services → Credentials.
- Kliknij + Create Credentials → Service account.
- Wypełnij nazwę (np.
booking-wordpress) i kliknij Create and continue. - Pomiń przypisywanie ról – kliknij Continue, potem Done.
- Na liście Service Accounts kliknij nowo utworzone konto.
- Przejdź do zakładki Keys → Add key → Create new key → JSON.
- Pobierz plik
.json– to jest Twój Service Account JSON (będzie potrzebny w ustawieniach wtyczki).
Ważne: Plik JSON zawiera klucz prywatny. Nie udostępniaj go publicznie ani nie wgrywaj do repozytorium.
Krok 3 – Udostępnij kalendarz Service Account
- Otwórz Google Calendar.
- Przy kalendarzu, który chcesz używać do rezerwacji, kliknij ⋮ → Ustawienia i udostępnianie.
- Przewiń do sekcji Udostępnij określonym użytkownikom lub grupom.
- Kliknij + Dodaj użytkowników i wpisz adres e-mail Service Account
(wygląda tak:booking-wordpress@nazwa-projektu.iam.gserviceaccount.com). - Ustaw uprawnienie: Wprowadzanie zmian w wydarzeniach.
- Kliknij Wyślij.
Krok 4 – Znajdź ID kalendarza
- W ustawieniach kalendarza (jak wyżej) przewiń do sekcji Zintegruj ten kalendarz.
- Skopiuj wartość Identyfikator kalendarza (np.
abc123@group.calendar.google.com).
Dla kalendarza głównego jest to Twój adres Gmail (np.jan.kowalski@gmail.com).
Konfiguracja wtyczki
Przejdź do WooCommerce → Booking Konsultacji w panelu WordPress.
| Pole | Opis |
|---|---|
| ID produktów | ID produktów WooCommerce (oddzielone przecinkami), po zakupie których pojawi się kalendarz. Znajdziesz je w Produkty → edycja produktu – numer w URL lub w kolumnie ID. |
| Google Calendar ID | Identyfikator kalendarza z Kroku 4 powyżej. |
| Service Account JSON | Wklej całą zawartość pliku .json pobranego w Kroku 2. |
| Czas trwania slotu | Długość jednej konsultacji (30 / 45 / 60 / 90 / 120 minut). |
| Godziny pracy | Przedział godzinowy, w którym dostępne są sloty (np. 09:00 – 17:00). |
| Dni robocze | Dni tygodnia, w których można rezerwować. |
| Minimalne wyprzedzenie | Ile godzin przed terminem klient może jeszcze zarezerwować (np. 24 = rezerwacja najpóźniej dobę wcześniej). |
| Rezerwacja do przodu | Ile dni w przyszłość udostępniamy kalendarz (np. 30 = miesiąc do przodu). |
Kliknij Zapisz ustawienia.
Jak to działa wtyczka
- Klient kupuje produkt → Strona z podziękowaniem → Wybiera datę i godzinę
→ Zdarzenie tworzone w Google Calendar → Email potwierdzający wysyłany do klienta
→ Notatka dodawana do zamówienia w WooCommerce - Klient nie może zarezerwować dwa razy tego samego zamówienia.
- Zajęte terminy są pobierane na żywo z Google Calendar (freeBusy API) – jeśli coś wpadnie Ci do kalendarza ręcznie, slot zniknie automatycznie.
- Powiadomienia dla klienta wysyłane są przez WordPress (
wp_mail), a więc przez domyślny serwer e-mail strony.
Shortcode [kcb_terminy]
Możesz wstawić listę najbliższych wolnych terminów na stronie produktu lub dowolnej innej stronie.
[kcb_terminy]
[kcb_terminy days=”7″]
[kcb_terminy days=”14″ label=”Wolne terminy w tym tygodniu”]
| Atrybut | Domyślnie | Opis |
|---|---|---|
days | 14 | Ile dni w przód sprawdzać (1–60) |
label | Najbliższe dostępne terminy | Nagłówek sekcji (puste = brak nagłówka) |
Lista rezerwacji
W zakładce Rezerwacje (w ustawieniach wtyczki) możesz zobaczyć 50 ostatnich zamówień z zarezerwowanym terminem: klient, e-mail, termin, status zamówienia.
Rozwiązywanie problemów
Kalendarz nie ładuje się na stronie z podziękowaniem
- Sprawdź, czy ID produktu jest poprawnie wpisane w ustawieniach.
- Upewnij się, że WooCommerce jest aktywny.
Błąd „Brak Service Account JSON”
- Wklej zawartość pliku
.jsonw całości (włącznie z nawiasami klamrowymi{}).
Błąd Google OAuth2 / „Permission denied”
- Sprawdź, czy adres e-mail Service Account ma dostęp do kalendarza (Krok 3).
- Sprawdź, czy Google Calendar API jest włączone w projekcie (Krok 1).
E-maile nie dochodzą do klientów
- Wtyczka używa
wp_mail(). Skonfiguruj wtyczkę SMTP (np. WP Mail SMTP) dla lepszej dostarczalności.
Dane techniczne
- Wersja: 1.0.0
- Wymaga: WooCommerce
- Autoryzacja Google: Service Account + JWT (bez Composer, bez zewnętrznych bibliotek)
- Dane rezerwacji przechowywane w meta zamówienia WooCommerce:
_kcb_booking_event_id– ID zdarzenia w Google Calendar_kcb_booking_datetime– data i godzina w formacieY-m-d H:i_kcb_booking_customer– imię i nazwisko klienta






