Terminarz pokazów to wtyczka WordPressa napisana na zamówienie Manipura Teatr Ognia – grupy pokazów ognia i światła z Pomorza. Rozwiązuje jeden problem, który ma większość firm działających „na terminy”: ten sam terminarz musi odpowiadać trzem różnym osobom, a każda z nich powinna widzieć co innego. Klient pyta, czy dany dzień jest wolny. Artysta pyta, o której wyjeżdżamy. Manager potrzebuje telefonu do klienta i kwoty zaliczki. Wtyczka bierze jeden arkusz i robi z niego trzy osobne widoki – bez przepisywania czegokolwiek do drugiego systemu.
Po co powstała
Terminarz Manipury żył w jednym pliku na dysku managera. Żeby odpowiedzieć klientowi na pytanie o wolny termin, trzeba było otworzyć plik, w którym obok daty stały telefon, adres i cena. Artyści dostawali zrzuty ekranu w wiadomościach, a plik z danymi osobowymi krążył w załącznikach. Przy okazji nikt nie miał pewności, czy wszyscy patrzą na tę samą wersję.
Gotowe wtyczki kalendarzowe tego nie rozwiązują, bo zakładają, że wydarzenia wpisuje się ręcznie w panelu WordPressa. Manager Manipury pracuje w arkuszu – szybko, po swojemu i również wtedy, gdy nie ma internetu. Narzędzie miało się do tego dopasować, a nie odwrotnie.
Jak to działa na co dzień
Codzienna obsługa to trzy kroki i żadnej nauki nowego programu:
- 1. Wgraj arkusz – ten sam plik, który manager prowadzi u siebie. Wtyczka sama znajduje wiersz z nagłówkami i rozpoznaje kolumny po nazwach.
- 2. Sprawdź podgląd – każdy pokaz wyświetlony dwa razy obok siebie: w wersji dla klienta i w wersji dla ekipy. Widać dokładnie to, co za chwilę pojawi się na stronie.
- 3. Opublikuj – dopiero to kliknięcie zmienia cokolwiek na stronie. Poprzednia wersja trafia do historii i można do niej wrócić.
Arkusz na dysku pozostaje jedynym miejscem, w którym powstają dane. Strona tylko go czyta i nigdy do niego nie zapisuje – dzięki temu nie ma sytuacji, w której ta sama informacja została zmieniona w dwóch miejscach naraz i trzeba zgadywać, która wersja jest prawdziwa.
Co widzi kto
To najważniejsza część narzędzia i jednocześnie najmniej widoczna. Każdy z trzech widoków dostaje własny, rozłączny zestaw pól – nie „te same dane z ukrytymi kolumnami”, tylko osobno zbudowaną porcję informacji. Pole, którego nie ma na liście danego widoku, nie ma jak się w nim pojawić, nawet przez pomyłkę i nawet po dołożeniu nowej kolumny w arkuszu.
- Klient – data, godziny, rodzaj pokazu, miejsce i miasto, nazwa wydarzenia, link. Przy pokazie prywatnym: sama informacja, że termin jest zajęty.
- Ekipa – to co wyżej plus opis pokazu, skład, status, uwagi i godzina wyjazdu.
- Manager – wszystko, łącznie z ustaleniami z klientem, kontaktem, danymi do faktury i kwotami.
O tym, czy pokaz jest publiczny, decyduje jedna kolumna w arkuszu – plus wyłącznik przy konkretnym wierszu na ekranie podglądu. Rodzaj imprezy nie ma tu nic do rzeczy: występ w hotelu bywa publiczny tak samo jak pokaz uliczny.
Funkcje
Wgrywanie i publikacja
- Obsługa Excela, Open Office i CSV – kolumny rozpoznawane po nazwach, a nie po kolejności, więc można je przestawiać i dokładać własne bez psucia importu.
- Kontrola błędów – nieczytelna data albo pokaz publiczny bez podanego miejsca blokują zapis. Drobniejsze braki są tylko oznaczane, bo wiersz jest mniej użyteczny, ale nikogo nie wprowadza w błąd.
- Zakładka na sezon – jeden plik, karta na rok. Strona pokazuje kilka lat naraz bez żadnych ustawień, a nowy sezon to zduplikowanie zakładki.
- Historia wczytań – każda publikacja zostaje zapisana. Powrót do wcześniejszej wersji terminarza to jedno kliknięcie.
- Kolumny kosztowe pomijane – transport, materiały, wypłaty i podatek zostają wyłącznie w arkuszu managera i w ogóle nie trafiają na serwer.
Kalendarz dla klientów
- Shortcode i widget Elementora – kalendarz wstawia się na dowolną podstronę, także w kilku miejscach naraz.
- Dwa widoki – siatka miesiąca i lista terminów, przełączane jednym kliknięciem.
- Czytelne oznaczenia – jeden pokaz danego dnia na żółto, dwa lub więcej na pomarańczowo. Dymek ze szczegółami po najechaniu, a na telefonie panel przy dolnej krawędzi.
- Zakres do ustawienia – ile miesięcy w przód i wstecz ma być widocznych. Ustawienie obowiązuje także dla kogoś, kto ręcznie wpisze adres z innym miesiącem.
- Wygląd z motywu strony – kalendarz dziedziczy kroje pisma i kolory tekstu, więc nie wygląda jak doklejony element z innej strony.
Terminarz dla ekipy
- Jedno wspólne hasło – bez zakładania kont dla artystów i bez logowania do WordPressa. Hasło wpisuje się mniej więcej raz w miesiącu.
- Zmiana hasła odcina wszystkich naraz – gotowy sposób na odebranie dostępu komuś, kto odchodzi z ekipy.
- Godzina wyjazdu – jedyne pole na karcie, które jest poleceniem, a nie opisem, więc jako jedyne jest wyróżnione. Wtyczka ostrzega, gdy w arkuszu wyjazd wypada później niż początek pokazu.
- Lista albo kalendarz – ten sam terminarz w dwóch układach, z filtrami i wyszukiwarką.
- Pokazy niepotwierdzone przygaszone – status „Zapytanie” dostaje przerywaną krechę zamiast pełnej, żeby nie mylił się z terminem naprawdę zajętym.
- Tylko do odczytu – z tej strony nie da się niczego zmienić ani pobrać danych klientów.
Panel managera
- Pełne dane pokazu – ustalenia z klientem, kontakt, dane do faktury, cena i zaliczka, dostępne także z telefonu, gdy klient akurat dzwoni.
- Wyszukiwarka po kliencie – działa również po nazwisku i numerze telefonu, nie tylko po nazwie miejsca.
- Filtry – nadchodzące, minione i wszystkie, a do tego status i rodzaj imprezy.
- Poprawki wyświetlania – nazwę wydarzenia, link i to, czy pokaz jest publiczny, można dopracować bez wracania do arkusza. Zmiany przeżywają wgranie kolejnej wersji pliku, bo przypinają się do pokazu po dacie, miejscu i godzinie, a nie po numerze wiersza.
- Eksport do CSV – w tym samym układzie kolumn, którego używa wgrywanie, więc plik da się poprawić i wgrać z powrotem bez żadnych strat.
Ochrona danych
- Dane kontaktowe i kwoty zaszyfrowane – klucz nie leży w bazie danych, więc sama jej kopia nic nie ujawnia.
- Wgrywany plik nie trafia do biblioteki mediów – inaczej arkusz z telefonami i cenami byłby do pobrania publicznym adresem.
- Możliwość niegromadzenia danych – jeden przełącznik sprawia, że telefony, maile i kwoty w ogóle nie są zapisywane na serwerze, a to, co już tam było, zostaje natychmiast skasowane.
- Strona ekipy poza wyszukiwarkami – z wyłączonym zapisem w pamięci podręcznej, żeby nie pokazała się przypadkowemu gościowi.
Chatbot na stronie
- Terminarz w odpowiedziach asystenta – odwiedzający może zapytać „czy macie wolny 15 sierpnia?” i dostać odpowiedź zgodną z kalendarzem.
- Wyłącznie dane publiczne – zajęte terminy trafiają tam jako same daty, bez miejsca, godziny i rodzaju imprezy. Uwagi dla ekipy i dane klientów nie trafiają tam nigdy.
- Zawsze aktualne – publikacja nowej wersji terminarza od razu zmienia to, co wie asystent.
Przeniesienie starych danych
Przed uruchomieniem trzeba było przenieść historię: 47 pokazów z arkusza prowadzonego przez kilka sezonów. Nie zrobiłem tego po cichu – do gotowego pliku dołączył raport wymieniający wiersze, które wymagały decyzji managera, i te, które uzupełniłem własną interpretacją, z podaniem, co dokładnie przyjąłem i dlaczego. Przy okazji wyszły na jaw błędy w starych formułach podsumowań, przez które roczne przychody nie zgadzały się z sumą pozycji w terminarzu.
Migracja bez takiego raportu jest gorsza niż jej brak: przenosi cudze dane razem z cudzymi domysłami i nie zostawia śladu, gdzie kończy się jedno, a zaczyna drugie.
Dla kogo to ma sens
Wtyczka powstała dla teatru ognia, ale opisany problem jest wspólny dla każdej działalności opartej na terminach i niewielkim zespole w trasie: zespołów muzycznych, animatorów, fotografów, firm cateringowych, wypożyczalni sprzętu. Wszędzie tam jedno pytanie brzmi „czy macie wolne”, drugie „o której jesteśmy na miejscu”, a trzecie „ile było ustalone” – i nie powinny mieć wspólnej odpowiedzi.
Od strony technicznej to zwykła wtyczka w PHP, działająca na typowej instalacji WordPressa. Nie wymaga zewnętrznych usług, kont ani abonamentów – wszystko dzieje się na tym samym serwerze, na którym stoi strona.
Dane na zrzutach ekranu są demonstracyjne – nazwy miejsc, dane kontaktowe i kwoty zostały podmienione na wymyślone. Narzędzie działa na stronie Manipura Teatr Ognia (tanieczogniem.com); widok ekipy i panel managera są dostępne wyłącznie po zalogowaniu.




