Do tej pory produkt typu Booking sprzedawał jedną rezerwację na dobę. To działa dla domku czy apartamentu, ale nie dla pola namiotowego, wypożyczalni kajaków ani rejsu z miejscami. Wydanie 2.1.0 otwiera te scenariusze jednym polem w cenniku.
Jeden produkt, kilka rezerwacji tego samego dnia
W szufladzie okresu cenowego doszło pole Number of seats (Limit miejsc) — liczba rezerwacji, jaką ten okres sprzedaje w ciągu doby. Cztery stanowiska, sześć kajaków, dziesięć miejsc na rejsie.

Podpowiedź pod polem mówi wprost, co się dzieje, gdy zostawisz je puste: jedna rezerwacja dziennie, cena za pobyt — czyli dokładnie tak, jak wtyczka zachowywała się dotąd. Żaden cennik ułożony przed tym wydaniem nie zmienia więc tego, co nalicza.
Cena za miejsce, sezon po sezonie
Wypełnienie limitu przestawia też sposób wyceny: w dniach należących do tego okresu cena jest mnożona przez liczbę zarezerwowanych miejsc. Okres z pustym polem nadal rozlicza się za cały pobyt, a nagłówek reguły w cenniku mówi, co obowiązuje — per day, per seat albo per day, per stay.

Ponieważ pole żyje na okresie, a nie na produkcie, wysoki sezon może oferować inną liczbę miejsc niż niski — i inną cenę za miejsce. Ten sam cennik prowadzi zatem i sezonowość, i pojemność, bez dublowania produktów.
Kalendarz liczy wolne miejsca
Dostępność nie odpowiada już „wolne albo zajęte”, tylko liczy miejsca. Dzień jest proponowany, dopóki się nie wyczerpią, a pole ilości pod kalendarzem samo przycina się do najmniejszej liczby wolnych miejsc w wybranym zakresie. Klient proszący o więcej dowiaduje się, ile miejsc zostało — zamiast dostać sam komunikat, że termin jest zajęty.

Liczenie miejsc obowiązuje również w dni rotacji: dzień wyjazdu może być czyimś dniem przyjazdu i odwrotnie, każdy do wysokości limitu. Wszystko jest sprawdzane ponownie na serwerze przy dodaniu do koszyka i jeszcze raz, pod blokadą, przy zapisie zamówienia, więc dwóch klientów nie weźmie tego samego ostatniego miejsca.
Powered by BookingHive
Formularz rezerwacji zamyka teraz drobna, szara linijka Powered by BookingHive. Ta sama linijka trafia do stopki maili WooCommerce wysyłanych przy zamówieniu z rezerwacją oraz do wszystkich trzech wiadomości o pobycie. Pojawia się domyślnie, więc po aktualizacji zobaczysz ją bez żadnej konfiguracji; filtr bookinghive_powered_by_html pozwala ją przestylować albo usunąć.
Lżejsze strony sklepu
Fonty, arkusz stylów i skrypty formularza rezerwacji ładują się już tylko tam, gdzie formularz naprawdę się pokazuje — na produkcie rezerwacyjnym albo na stronie z shortcodem [ilabs_ibooking_form] — a nie na każdej podstronie sklepu. Katalog, koszyk i wpisy bloga nie ciągną więc kodu, którego nie używają. Jeżeli budujesz stronę kreatorem, który trzyma treść poza polem wpisu, filtr bookinghive_load_booking_form_assets przywraca ładowanie.
Poprawki, które warto znać
- Zakres dłuższy niż dwa dni potrafił się po cichu wyczyścić po przejściu kalendarza na inny miesiąc. Obsługa kliknięcia w dzień była podłączana po raz kolejny przy każdej zmianie miesiąca, a zdublowane wywołanie odrzucało właśnie zapisany wybór. Dotyczyło to każdego produktu rezerwacyjnego.
- Tabela rezerwacji zapisywała ceny jako liczby całkowite, więc noc za 77,50 była w niej odnotowana jako 77,00. Zamówienia zawsze naliczały poprawnie, a rezerwacje zapisane przed tym wydaniem zachowują obciętą kwotę — nowe już nie.
- Zakładka Book Now, a z nią cały kalendarz rezerwacji, była dodawana do każdego produktu w sklepie, więc zwykły produkt oferował kalendarz, którego nie da się wysłać. Zakładka pojawia się teraz tylko na produktach typu Booking. Jeżeli widziałeś ją na produktach innego typu, po aktualizacji zniknie.