Chcąc stworzyć sklep lub system rezerwacyjny dla swojego biznesu najlepszym obecnie rozwiązaniem jest oficjalna wtyczka od zespołu WooCommerce – WooCommerce Bookings, głównie ze względu na pełną integrację z platforma e-commerce WordPressa oraz kalendarzami i innymi aplikacjami z pomocą REST-API.
Zwykle mamy jeden produkt, gdzie należy zarezerwować termin, wybrać ilość osób, ilość czasu jaką potrzebujemy etc. W przypadku, gdy mamy kilka produktów, które operują na tych samych datach w kalendarzu ta wtyczka sama z siebie nie zablokuje terminu już zajętego i możemy mieć do czynienia z sytuacją, gdy na tę samą godzinę mamy dwa odrębne zamówienia.
Jak poradzić sobie ze zdublowanymi terminami rezerwacji w WooCommerce Bookings?
Rozwiązanie jest generalnie dość proste, we wtyczkę wbudowane mamy tzw „zasoby” (ang.: resources). Przykładowo wynajmujemy elektryczne samochodziki dla dzieci nad morzem i mamy ich 10 – to są nasze zasoby. Wtyczka nie powinna w danym momencie pozwolić rezerwować więcej, niż 10 samochodzików. „Samochodzikiem” mogą być sale, prowadzący lub inne potrzebne do poprawnego wykonania usługi… zasoby.
Przy jednym produkcie nie ma potrzeby używania zasobów, ponieważ możemy to ustawić na poziomie produktów, ale jeżeli więcej niż jeden produkt operujący na tych samych datach, wtedy musimy właśnie skorzystać z tej funkcjonalności.
Tworzenie zasobów
↪ Przejdź do Bookings > resources i dodaj zasób klikając „Add Resource„:
↪ Nadaj jej nazwę oraz jeżeli chcesz daty, gdy dany zasób nie jest dostępny lub jest dostępny dodatkowo. Pozwoli to na grupowe zarządzanie datami dla podpiętych do niego produktów.
Przypisanie zasobu
W naszym przypadku automatycznie do każdej rezerwacji ma dopisywać „Samochodzik” jako podstawowy zasób. Możemy też ustalić, aby to klient wybrał, który zasób go interesuje np. „samochodzik dwuosobowy” lub „jednoosobowy”. Wymaga to oczywiście utworzenia stosownych zasobów.
↪ W karcie produktu wybierz „Has resources„.
Pojawi się stosowna karta do konfiguracji zasobów dla tego konkretnego produktu.
Teraz z listy rozwijanej „New resource” wybierz zasób, który chcesz przypisać i zatwierdź go przyciskiem „Add/link Resource„. Po dodaniu dodatkowo możesz ustawić dodatkową cenę podwyższającą koszt rezerwacji, zarówno dla rezerwacji jako takiej, jak i każdego bloku – na tym przykładzie za każde 60 minut.
Label to etykieta jaką widzi użytkownik w koszyku oaz przy opcjonalnej liście zasobów, gdy zezwolimy na ich wybór klientowi poprzez zaznaczenia „Resources are…” w tryb „Customer selected„. Nas interesuje druga – „Automatically assigned„.
Tym sposobem zablokowanie terminu w jednym produkcie z tym zasobem, zablokuje go w innych produktach korzystających z tego samego.