Promocja!

Wtyczka WooCommerce / WordPress – REZERWACJA TERMINU + PŁATNOŚĆ

Masz pytanie?

Pierwotna cena wynosiła: 100 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 rezerwacjiShortcode [kcb_terminy] z parametrami
Godziny pracy i wybór dni roboczychTermin 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

  1. Zaloguj się do panelu WordPress (/wp-admin).
  2. Przejdź do Wtyczki → Dodaj nową → Wyślij wtyczkę.
  3. Wybierz plik konsultacja-booking.zip i kliknij Zainstaluj teraz.
  4. 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

  1. Wejdź na console.cloud.google.com.
  2. Utwórz nowy projekt (lub wybierz istniejący).
  3. W menu bocznym wybierz APIs & Services → Library.
  4. Wyszukaj Google Calendar API i kliknij Enable.

Krok 2 – Utwórz Service Account

  1. Przejdź do APIs & Services → Credentials.
  2. Kliknij + Create Credentials → Service account.
  3. Wypełnij nazwę (np. booking-wordpress) i kliknij Create and continue.
  4. Pomiń przypisywanie ról – kliknij Continue, potem Done.
  5. Na liście Service Accounts kliknij nowo utworzone konto.
  6. Przejdź do zakładki Keys → Add key → Create new key → JSON.
  7. 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

  1. Otwórz Google Calendar.
  2. Przy kalendarzu, który chcesz używać do rezerwacji, kliknij ⋮ → Ustawienia i udostępnianie.
  3. Przewiń do sekcji Udostępnij określonym użytkownikom lub grupom.
  4. Kliknij + Dodaj użytkowników i wpisz adres e-mail Service Account
    (wygląda tak: booking-wordpress@nazwa-projektu.iam.gserviceaccount.com).
  5. Ustaw uprawnienie: Wprowadzanie zmian w wydarzeniach.
  6. Kliknij Wyślij.

Krok 4 – Znajdź ID kalendarza

  1. W ustawieniach kalendarza (jak wyżej) przewiń do sekcji Zintegruj ten kalendarz.
  2. 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.

PoleOpis
ID produktówID 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 IDIdentyfikator kalendarza z Kroku 4 powyżej.
Service Account JSONWklej całą zawartość pliku .json pobranego w Kroku 2.
Czas trwania slotuDługość jednej konsultacji (30 / 45 / 60 / 90 / 120 minut).
Godziny pracyPrzedział godzinowy, w którym dostępne są sloty (np. 09:00 – 17:00).
Dni roboczeDni tygodnia, w których można rezerwować.
Minimalne wyprzedzenieIle godzin przed terminem klient może jeszcze zarezerwować (np. 24 = rezerwacja najpóźniej dobę wcześniej).
Rezerwacja do przoduIle 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”]

AtrybutDomyślnieOpis
days14Ile dni w przód sprawdzać (1–60)
labelNajbliższe dostępne terminyNagłó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 .json w 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 formacie Y-m-d H:i
  • _kcb_booking_customer – imię i nazwisko klienta
1