zajmij.to — Przegląd Funkcjonalności Systemu¶
Ostatnia aktualizacja: 26 lutego 2026 (Reservation, Note, Item, Document, Job, LegalDocument, Media, Notification, Organization, Pricing, Report, Review, Role, Access, Activity)
O systemie¶
zajmij.to to system zarządzania rezerwacjami i zasobami publicznymi, stworzony z myślą o polskich jednostkach samorządu terytorialnego (JST). Umożliwia mieszkańcom rezerwowanie obiektów sportowych, sal oraz zapisywanie się na zajęcia grupowe — online, bez kolejek i zbędnej biurokracji.
Moduły systemu¶
Aktywności / Zajęcia grupowe¶
Co robi: Zarządza zajęciami grupowymi i wydarzeniami — od jogi przez aqua aerobik po warsztaty. Administrator definiuje rodzaj zajęć, a system automatycznie generuje harmonogram sesji na wiele tygodni.
Kluczowe funkcje:
- Automatyczne generowanie harmonogramu sesji (do 100 powtórzeń na definicję)
- Zarządzanie pojemnością miejsc (min/max uczestników)
- Przypisywanie trenerów/instruktorów z kontrolą dostępności
- Obsługa płatnych i bezpłatnych zajęć z cennikiem
- Anulowanie sesji z automatycznym anulowaniem rezerwacji i zwrotem płatności
- Publiczne przeglądanie zajęć i wolnych miejsc (bez logowania)
- Wyszukiwanie po lokalizacji, kategorii, cenie, udogodnieniach
- System opinii i ocen od uczestników
Kto korzysta: Administratorzy JST (tworzenie i zarządzanie), pracownicy (obsługa bieżąca), mieszkańcy (przeglądanie i rezerwacja)
Ograniczenia / reguły:
- Maksymalnie 10 definicji sesji jednocześnie przy tworzeniu aktywności
- Maksymalnie 100 powtórzeń na definicję
- Nie można zmniejszyć limitu uczestników poniżej aktualnej liczby rezerwacji
- Anulowana sesja nie może zostać ponownie aktywowana
- System ostrzega o nakładających się sesjach trenera, ale administrator może wymusić przypisanie (świadoma decyzja)
Rezerwacje¶
Co robi: Centralny moduł obsługujący pełny cykl życia rezerwacji — od składania zapisu przez mieszkańca (bez logowania), przez płatności online (Przelewy24), aż po anulowanie, zwroty i generowanie potwierdzeń płatności. Obsługuje zarówno obiekty (sale, boiska) jak i sesje zajęć grupowych z polimorficznym modelem danych.
Kluczowe funkcje:
- Rezerwacja obiektów i sesji zajęć grupowych z wieloma slotami czasowymi
- Tymczasowa blokada terminów — konfigurowalna (domyślnie 15 minut) na potwierdzenie rezerwacji poprzez link dostarczony na email podany podczas rezerwacji
- Płatności online przez Przelewy24 z weryfikacją podpisu SHA384 i automatycznymi callbackami
- System dopłat — możliwość wielokrotnych płatności częściowych do pełnej kwoty rezerwacji
- Automatyczne generowanie potwierdzeń płatności PDF z numeracją
RCH-{rok}-{numer}i wysyłka emailem - Zwroty: pełne, częściowe, za anulowany slot, za zablokowany obiekt, za odwołane zajęcia — przez bramkę lub ręcznie (przelew, gotówka)
- Anulowanie pojedynczych slotów z automatycznym przeliczeniem ceny i zwrotem
- Potwierdzenie/zmiana ceny rezerwacji przez administratora z opcjonalnym powiadomieniem klienta
- Publiczny dostęp do szczegółów rezerwacji po UUID i kodzie dostępu (bez logowania)
- 18 typów powiadomień email (potwierdzenie, anulowanie, płatność, przypomnienia, zwroty, potwierdzenia płatności)
- Ochrona antyspamowa (honeypot) i walidacja blasfemii w formularzach publicznych
- Załączniki do rezerwacji (zdjęcia, dokumenty) przez Spatie MediaLibrary
- Kompletny audit trail: logi płatności, snapshoty stanu przed/po zmianach, dziennik statusów
Kto korzysta: Mieszkańcy (składanie rezerwacji bez logowania, śledzenie statusu, anulowanie slotów), administratorzy i kierownicy (pełne zarządzanie rezerwacjami i płatnościami), pracownicy (obsługa rezerwacji zarządzanych obiektów)
Ograniczenia / reguły:
- Rezerwacja wymaga potwierdzenia poprzez link wysłany na email w konfigurowalnym czasie (domyślnie 15 minut) — po jego upływie blokada terminów wygasa
- Termin płatności jest konfigurowalny przez administratora — system nie anuluje automatycznie nieopłaconych rezerwacji, kontrola należy do pracowników i osób zarządzających (umożliwia to m.in. płatność gotówką na miejscu)
- Anulowanie pojedynczego slotu wymaga UUID rezerwacji i kodu dostępu (lub uprawnień admina)
- Minimalna kwota zwrotu: 0,01 zł; maksymalnie 50 oczekujących zwrotów na płatność
- Zwrot przez bramkę Przelewy24 nie może przekroczyć kwoty oryginalnej transakcji
- Potwierdzenia płatności generowane tylko dla zrealizowanych płatności — każde potwierdzenie ma unikalny numer w skali roku
- 8 automatycznych komend CRON: przypomnienia o rezerwacjach i płatnościach, czyszczenie wygasłych płatności i tymczasowych blokad, rekoncyliacja zwrotów, czyszczenie logów płatniczych, przypomnienia o opiniach
Obiekty / Zasoby¶
Co robi: Zarządza katalogiem wszystkich obiektów do wynajmu w gminie — sal konferencyjnych, hal sportowych, boisk i kortów. Mieszkańcy przeglądają ofertę z filtrami, a administratorzy zarządzają dostępnością i blokadami.
Kluczowe funkcje:
- Pełny katalog obiektów z opisem, zdjęciami, lokalizacją na mapie i wyposażeniem (WiFi, parking, klimatyzacja itp.)
- Hierarchia obiektów — kompleks sportowy może zawierać boiska, szatnie i sale
- Blokady czasowe (konserwacja, awarie, imprezy) z automatycznym anulowaniem kolidujących rezerwacji i zwrotem pieniędzy
- Sprawdzanie konfliktów przed utworzeniem blokady — podgląd, które rezerwacje będą anulowane
- Przypisywanie zarządców obiektów z powiadomieniami email
- Integracja z TERYT (autouzupełnianie adresów: województwo → powiat → gmina → miejscowość)
- Filtrowanie po kategorii, pojemności, powierzchni, cenie, udogodnieniach
- Automatyczne generowanie cennika brutto z VAT (zgodność z dyrektywą Omnibus — najniższa cena z 31 dni)
- Publiczne przeglądanie obiektów bez logowania
Kto korzysta: Administratorzy i kierownicy (tworzenie, konfiguracja, blokady), pracownicy-zarządcy (obsługa obiektów), mieszkańcy (przeglądanie i rezerwacja)
Ograniczenia / reguły:
- Dezaktywacja obiektu nadrzędnego automatycznie ukrywa wszystkie obiekty podrzędne
- Aktywacja obiektu wymaga aktywnej organizacji i kategorii
- Pracownik (EMPLOYEE) może zarządzać tylko obiektami, których jest zarządcą
- Zarządcą obiektu może zostać tylko pracownik przypisany do organizacji obiektu
- Tworzenie blokady automatycznie anuluje kolidujące rezerwacje — przed utworzeniem dostępny jest opcjonalny podgląd konfliktów (które rezerwacje zostaną anulowane i jaka kwota zwrotu)
Kategorie¶
Co robi: Organizuje obiekty i zajęcia w logiczne grupy — jak system półek w bibliotece. Każda kategoria ma własną ikonę i kolor, co ułatwia mieszkańcom szybkie znalezienie tego, czego szukają.
Kluczowe funkcje:
- Dwa typy kategorii: dla obiektów (sale, boiska, korty) i dla zajęć (fitness, warsztaty, kursy)
- Własne ikony i kolory dla wizualnej identyfikacji każdej kategorii
- Sezonowe zarządzanie — dezaktywacja kategorii automatycznie ukrywa wszystkie przypisane obiekty/zajęcia
- Selektywna reaktywacja — przy ponownej aktywacji można wybrać, które obiekty/zajęcia przywrócić
- Wyszukiwanie i filtrowanie po typie kategorii i statusie aktywności
Kto korzysta: Administratorzy i kierownicy (tworzenie i zarządzanie), mieszkańcy (filtrowanie oferty)
Ograniczenia / reguły:
- Nazwy kategorii muszą być unikalne w obrębie danego typu (np. nie mogą istnieć dwie kategorie "Sale" wśród obiektów)
- Typ kategorii (obiekt/zajęcia) nie może być zmieniony po utworzeniu
- Kolor czarny jest zabroniony ze względu na czytelność interfejsu
- Masowa zmiana stanu powyżej 50 powiązanych elementów wykonywana jest w tle
Cenniki¶
Co robi: Zarządza polityką cenową obiektów i zajęć — automatycznie oblicza VAT, pozwala ustalać indywidualne stawki dla stałych klientów i śledzi historię zmian cen zgodnie z dyrektywą Omnibus.
Kluczowe funkcje:
- Cenniki domyślne (ogólne) i indywidualne dla wybranych klientów
- Automatyczne obliczanie ceny brutto z 6 stawkami VAT (23%, 8%, 5%, 0%, zwolniony, nie podlega)
- Śledzenie najniższej ceny z ostatnich 30 dni (zgodność z dyrektywą Omnibus)
- Dwa modele cenowe: stawka godzinowa (obiekty) i stawka za zajęcia (aktywności)
- Automatyczna dezaktywacja poprzedniego cennika przy tworzeniu nowego
- Snapshot cennika zamrażany w rezerwacji (zmiana ceny nie wpływa na istniejące rezerwacje)
- Hierarchia cenników: indywidualny > domyślny > bezpłatny
Kto korzysta: Administratorzy (pełne zarządzanie cennikami), kierownicy (cenniki w swojej organizacji), pracownicy (cenniki zarządzanych obiektów)
Ograniczenia / reguły:
- Tylko jeden aktywny cennik na kombinację obiekt/aktywność + klient
- Cena nie może być ujemna (minimum 0 zł)
- Brak możliwości edycji istniejącego cennika — trzeba utworzyć nowy
- Brak możliwości całkowitego usunięcia cennika — można go tylko dezaktywować
Użytkownicy¶
Co robi: Zarządza kontami pracowników systemu — administratorów, kierowników i pracowników działających w imieniu JST. Odpowiada za rejestrację, uwierzytelnianie JWT z opcjonalnym kodem jednorazowym (OTP), zarządzanie sesjami na wielu urządzeniach oraz bezpieczeństwo konta (wykrywanie podejrzanych logowań, alerty email).
Kluczowe funkcje:
- Rejestracja i logowanie (JWT) z obsługą refresh tokenów
- Opcjonalne logowanie dwuetapowe z jednorazowym kodem (OTP) wysyłanym emailem
- System ról: Administrator, Kierownik, Pracownik
- Wykrywanie podejrzanych logowań z alertami email
- Zarządzanie sesjami na wielu urządzeniach
- Profil użytkownika z danymi kontaktowymi i zgodami (RODO, regulamin)
Kto korzysta: Administratorzy (tworzenie kont, zarządzanie użytkownikami), kierownicy i pracownicy (logowanie, zarządzanie własnym kontem)
Ograniczenia / reguły:
- Domena nie obsługuje klientów-mieszkańców — ci należą do domeny Klienci
- Email użytkownika musi być unikalny w systemie
- Dezaktywacja konta blokuje możliwość logowania
- Każdy użytkownik może mieć maksymalnie jedną rolę
Organizacje¶
Co robi: Zarządza jednostkami odpowiedzialnymi za obiekty i zajęcia w systemie — szkoły, ośrodki sportowe, domy kultury i inne instytucje publiczne (22 typów). To struktura organizacyjna gminy — każda jednostka ma swoje obiekty, pracowników i rezerwacje.
Kluczowe funkcje:
- 22 typy organizacji (szkoły, MOSiR-y, domy kultury, biblioteki, parki, kluby sportowe i inne)
- Przypisywanie pracowników do organizacji z automatycznym powiadomieniem email
- Kaskadowa dezaktywacja — wyłączenie organizacji automatycznie ukrywa wszystkie jej obiekty i zajęcia
- Asynchroniczne przetwarzanie zmian dla dużych organizacji (powyżej 50 obiektów)
- Automatyczne usuwanie uprawnień managera przy odłączaniu pracownika
- Statystyki organizacji: liczba obiektów, zajęć, pracowników, opinie i średnia ocen
- Walidacja NIP (suma kontrolna) i REGON z gwarancją unikalności
- Integracja z TERYT — autouzupełnianie adresów (województwo, powiat, gmina, miejscowość)
Kto korzysta: Administratorzy (pełne zarządzanie organizacjami i pracownikami), kierownicy (edycja swojej organizacji), mieszkańcy (przeglądanie organizacji i ich oferty)
Ograniczenia / reguły:
- Tylko administratorzy mogą tworzyć organizacje, przypisywać/usuwać pracowników i zmieniać stan aktywności
- Kierownik może edytować tylko organizację, do której należy
- Pracownik nie może być przypisany dwukrotnie do tej samej organizacji
- Dezaktywacja organizacji nie anuluje istniejących rezerwacji — blokuje jedynie nowe
- NIP (10 cyfr) i REGON muszą być unikalne i przechodzić walidację sumy kontrolnej
Role i uprawnienia¶
Co robi: Definiuje trzy poziomy dostępu do systemu — jak system przepustek w urzędzie. Każda rola daje dostęp do innych funkcji. Administrator ma pełny dostęp, Kierownik zarządza zasobami, a Pracownik obsługuje codzienne operacje.
Kluczowe funkcje:
- Trzy wbudowane role: Administrator, Kierownik, Pracownik
- Przypisywanie i zmiana ról użytkowników przez administratora
- Automatyczna kontrola dostępu — system sam sprawdza uprawnienia przy każdej operacji
- Pełny audyt zmian ról — kto, komu, kiedy i z jakiej roli na jaką zmienił
- Ochrona przed zmianą własnej roli (administrator nie może odebrać sobie uprawnień)
- Cache uprawnień (24h) dla wydajności systemu
Kto korzysta: Administratorzy (zarządzanie rolami), wszyscy użytkownicy (system sam pilnuje, kto ma dostęp do czego)
Ograniczenia / reguły:
- Tylko administratorzy mogą przypisywać i zmieniać role
- Każdy użytkownik może mieć maksymalnie jedną rolę
- Trzy wbudowane role nie mogą być usunięte ani zmodyfikowane
- Nikt nie może zmienić swojej własnej roli
- Tryb deweloperski systemu dostępny wyłącznie dla administratorów
Dostęp PIN (Access)¶
Co robi: Zapewnia alternatywną metodę logowania dla klientów i trenerów, którzy nie mają pełnego konta w systemie. Klient lub trener składa wniosek o kod PIN, administrator go zatwierdza, a system generuje 8-znakowy kod dostępu i wysyła emailem.
Kluczowe funkcje:
- Kody PIN — 8-znakowe kody alfanumeryczne (0-9, A-Z) generowane kryptograficznie
- Workflow zatwierdzania — każdy wniosek o PIN wymaga decyzji administratora
- Tokeny dostępu — czasowe sesje (1h dla trenerów, 2h dla klientów) z możliwością przedłużenia (max 3x)
- Podgląd danych — klient widzi swoje rezerwacje, trener widzi przypisane sesje zajęć
- Ochrona przed atakami — rate limiting (5 prób logowania / 15 min per email), powiązanie tokena z IP
- Logowanie zdarzeń — każda próba dostępu zapisywana z pełnym kontekstem (IP, user agent, powód błędu)
- 3 powiadomienia email: potwierdzenie złożenia wniosku, zatwierdzenie z PIN-em, odrzucenie z powodem
- Ochrona przed enumeracją kont — jednolite komunikaty błędów niezależnie od przyczyny
Kto korzysta: Klienci i trenerzy (logowanie PIN-em, podgląd danych), administratorzy i kierownicy (zatwierdzanie wniosków, zarządzanie tokenami)
Ograniczenia / reguły:
- Wniosek o PIN wymaga weryfikacji tożsamości: trener podaje telefon, klient podaje UUID i kod dostępu rezerwacji
- PIN ważny 365 dni, token sesji 1-2 godziny (zależnie od roli)
- Maksymalnie 3 przedłużenia sesji (po 1 godzinie każde)
- Token działa tylko z adresu IP, z którego nastąpiło logowanie
- Blokada po przekroczeniu limitu prób: 30 minut
Powiadomienia¶
Co robi: Automatycznie informuje użytkowników o każdym ważnym zdarzeniu w systemie — od potwierdzenia rezerwacji, przez płatności i zwroty, aż po alerty bezpieczeństwa. Działa jak automatyczna sekretarka, która nigdy nie zapomina wysłać potwierdzenia.
Kluczowe funkcje:
- 39 typów powiadomień email obsługujących 11 obszarów systemu
- Automatyczne potwierdzenia rezerwacji z numerem, kodem dostępu i szczegółami
- Przypomnienia o płatnościach, nadchodzących rezerwacjach i prośby o opinie
- Alerty bezpieczeństwa: nowe logowania, podejrzane aktywności, kody jednorazowe (OTP)
- Potwierdzenia płatności i potwierdzenia zwrotów wysyłane jako załączniki PDF
- Powiadomienia w panelu administracyjnym z filtrowaniem i oznaczaniem jako przeczytane
- Asynchroniczna wysyłka przez kolejki — nie blokuje użytkownika
- Możliwość wyłączenia powiadomień dla konkretnej rezerwacji
- Automatyczne usuwanie starych powiadomień (konfigurowalny okres retencji)
Kto korzysta: Mieszkańcy (potwierdzenia, przypomnienia, potwierdzenia płatności), administratorzy (alerty systemowe, błędy), kierownicy i pracownicy (powiadomienia o nowych rezerwacjach, reklamacjach)
Ograniczenia / reguły:
- Rezerwacje z wyłączonymi powiadomieniami pomijają również powiadomienia reklamacyjne
- PIN dostępu wysyłany wyłącznie emailem (nie zapisywany w bazie powiadomień)
- Tylko administratorzy widzą powiadomienia wszystkich użytkowników
Dziennik aktywności (Audit Log)¶
Co robi: Rejestruje każdą ważną zmianę w systemie — kto, co, kiedy i skąd zmienił. Działa jak monitoring w banku — pełna historia operacji niezbędna dla bezpieczeństwa i zgodności z RODO.
Kluczowe funkcje:
- Automatyczne rejestrowanie każdej zmiany danych w systemie (tworzenie, edycja, usuwanie)
- Zapisywanie adresu IP i przeglądarki osoby wykonującej zmianę
- Porównanie wartości "przed" i "po" dla każdej zmiany
- Codzienna archiwizacja starych wpisów (po 90 dniach) — utrzymanie wydajności systemu
- Grupowanie powiązanych operacji (np. kilka zmian jednocześnie)
Kto korzysta: Administratorzy (przeglądanie historii zmian, audyt bezpieczeństwa)
Ograniczenia / reguły:
- Dostęp tylko dla administratorów — dane zawierają wrażliwe informacje
- Logi są tylko do odczytu — nikt nie może ich modyfikować ani usuwać przez interfejs
- Archiwizacja automatyczna co 24h (codziennie o 01:30)
Tryby aplikacji¶
Co robi: Kontroluje dostęp do systemu poprzez przełączanie między trybem produkcyjnym (wszyscy użytkownicy) a deweloperskim (tylko administratorzy). Umożliwia planowanie okien serwisowych z automatycznym powrotem do normalnego działania.
Kluczowe funkcje:
- Natychmiastowe przełączenie systemu w tryb serwisowy (deweloperski)
- Zaplanowane przełączanie z określoną datą rozpoczęcia
- Automatyczny powrót do trybu produkcyjnego po zadanym czasie (w minutach)
- Powiadomienia email o automatycznych zmianach trybu
- Publiczny podgląd aktualnego trybu (bez logowania)
Kto korzysta: Administratorzy (przełączanie trybów), wszyscy użytkownicy (podgląd statusu systemu)
Ograniczenia / reguły:
- Tylko administratorzy mogą zmieniać tryb aplikacji
- W trybie deweloperskim zwykli użytkownicy otrzymują komunikat o tymczasowej niedostępności
- Automatyczne przełączanie sprawdzane co minutę (CRON)
- Czas trwania trybu deweloperskiego musi wynosić minimum 1 minutę
Klienci¶
Co robi: Zarządza bazą klientów — osób fizycznych i firm — korzystających z systemu rezerwacji. Przechowuje pełną historię rezerwacji, dane kontaktowe, informacje podatkowe (NIP, VAT) oraz statystyki finansowe każdego klienta.
Kluczowe funkcje:
- Automatyczne rozpoznawanie klientów przy rezerwacji (po emailu lub NIP)
- Obsługa osób fizycznych i firm (z walidacją NIP i REGON)
- Statystyki finansowe: wydatki, zwroty, saldo, zaległości
- Indywidualne cenniki i rabaty dla stałych klientów
- Kolorowe oznaczenia klientów w harmonogramie
- Raporty: ranking najlepszych klientów, nowe rejestracje
- Wewnętrzne notatki o kliencie
- System PIN do logowania klientów
Kto korzysta: Administratorzy, kierownicy i pracownicy (zarządzanie klientami)
Ograniczenia / reguły:
- Email klienta musi być unikalny w systemie
- NIP firmy musi być unikalny i przechodzić walidację sumy kontrolnej
- Klienci nie mogą być usuwani — jedynie dezaktywowani
- Przy automatycznym tworzeniu aktualizowane są tylko puste pola (istniejące dane nie są nadpisywane)
- Kolor czarny jest zabroniony
Komendy CRON (Monitoring zadań)¶
Co robi: Automatycznie rejestruje i monitoruje wykonanie wszystkich zaplanowanych zadań systemowych (np. czyszczenie danych, wysyłka przypomnień, generowanie statystyk). Administrator widzi pełną historię w panelu, a w razie awarii otrzymuje natychmiastowy alert email.
Kluczowe funkcje:
- Automatyczne śledzenie 22 komend systemowych (17 domenowych + 5 pomocniczych)
- Historia wykonań: data uruchomienia i status sukces/błąd
- Powiadomienia email o awariach do administratora platformy
- Panel administratora z pełną listą śledzonych komend
- Logowanie błędów z pełnym stack trace do systemu błędów
Kto korzysta: Administratorzy (monitoring), system automatycznie (rejestracja)
Ograniczenia / reguły:
- Monitorowane są tylko komendy z przestrzeni domenowych i supportowych (komendy Laravel/Telescope nie są śledzone)
- Lista dozwolonych komend jest cachowana na 1 dzień — nowe komendy mogą nie pojawić się od razu
- Alert email wysyłany jest tylko przy błędzie (exit code 0), sukcesy nie generują powiadomień
- Dostęp do panelu komend mają wyłącznie administratorzy
Reklamacje i skargi¶
Co robi: Obsługuje zgłoszenia problemów od mieszkańców — reklamacje, zwroty, sugestie i inne skargi. Klient może złożyć reklamację bez logowania, a następnie śledzić jej status i wymieniać wiadomości z obsługą dzięki unikalnemu kodowi dostępu.
Kluczowe funkcje:
- Składanie reklamacji bez logowania — wystarczy kod z rezerwacji
- Automatyczne generowanie numeru zgłoszenia i kodu dostępu
- Śledzenie statusu sprawy: nowa, w trakcie, rozwiązana, zamknięta
- Wątki wiadomości — wymiana korespondencji jak w emailu
- Załączniki — zdjęcia, dokumenty PDF, filmy (do 10 plików)
- Przypisywanie opiekuna sprawy z automatycznym powiadomieniem
- Priorytety zgłoszeń: niski, średni, wysoki
- Powiadomienia email o każdej zmianie statusu i nowej wiadomości
- Ochrona antyspamowa (honeypot) i rate limiting
Kto korzysta: Mieszkańcy (składanie reklamacji, śledzenie statusu), administratorzy, kierownicy i pracownicy (obsługa zgłoszeń)
Ograniczenia / reguły:
- Reklamację można złożyć tylko do potwierdzonej i zakończonej rezerwacji
- Ograniczony czas na złożenie reklamacji (konfigurowalny parametr systemowy)
- Opiekun musi być pracownikiem organizacji powiązanej z rezerwacją
- Klient nie może sam przypisać opiekuna — to rola administratora
Opinie klientow¶
Co robi: Zbiera oceny i komentarze od klientow po zakonczonej rezerwacji — jak ksiazka gosci w hotelu. Kazdy klient moze wystawic ocene (1–5 gwiazdek) i napisac komentarz, ktory pomaga innym mieszkancom w wyborze obiektu lub zajec.
Kluczowe funkcje:
- Ocena w skali 1–5 gwiazdek z opcjonalnym komentarzem (max 2000 znakow)
- Dodawanie opinii bez logowania — wystarczy kod dostepu z rezerwacji
- Automatyczne przypomnienie email o wystawieniu opinii (5h po zakonczeniu rezerwacji)
- Moderacja opinii przez administratorow — mozliwosc ukrycia nieodpowiednich tresci
- Automatyczny filtr wulgarizmow i ochrona przed botami (honeypot + rate limiting)
- Statystyki opinii: srednia ocena i liczba opinii per obiekt/zajecia
- Raport podsumowania opinii z rozkladem ocen (eksport CSV)
- Publiczne przegladanie opinii bez logowania
Kto korzysta: Mieszkancy (dodawanie opinii po rezerwacji, przegladanie ocen), administratorzy, kierownicy i pracownicy (moderacja, statystyki)
Ograniczenia / reguly:
- Opinie mozna dodac tylko po zakonczeniu rezerwacji (nie wczesniej)
- Maksymalnie jedna opinia na rezerwacje
- Ograniczony czas na dodanie opinii — konfigurowalny parametr systemowy (liczba dni)
- Wymagane podanie kodu dostepu do rezerwacji (weryfikacja tozsamosci)
- Komentarze sprawdzane pod katem nieodpowiednich tresci
Dokumenty (szablony DOCX)¶
Co robi: Zarządza szablonami dokumentów Word (DOCX) i automatycznie generuje wypełnione dokumenty — umowy, regulaminy, korespondencję — podstawiając dane z systemu (rezerwacja, obiekt, organizacja, użytkownik).
Kluczowe funkcje:
- Wgrywanie szablonów DOCX z automatyczną walidacją kluczy (placeholderów)
- 32 predefiniowane pola do wypełniania (dane rezerwacji, obiektu, organizacji, użytkownika, systemu)
- Obsługa kluczy po polsku i angielsku (np.
${rezerwacja.imie}lub${reservation.first_name}) - Generowanie wypełnionych dokumentów jednym kliknięciem
- Przypisywanie szablonów do konkretnych obiektów lub organizacji
- 5 typów dokumentów: umowy, regulaminy, informacje, korespondencja, inne
Kto korzysta: Administratorzy i kierownicy (wgrywanie i zarządzanie szablonami), pracownicy (generowanie i pobieranie dokumentów)
Ograniczenia / reguły:
- Obsługiwany wyłącznie format DOCX (max 10 MB)
- Szablon z nieznanymi kluczami zostanie odrzucony — system pilnuje poprawności
- Pracownicy mogą przeglądać i generować dokumenty, ale nie mogą wgrywać ani edytować szablonów
- Aktualizacja szablonu nie pozwala na podmianę pliku — trzeba utworzyć nowy dokument
Dokumenty prawne¶
Co robi: Zarządza regulaminami, politykami prywatności i klauzulami RODO — dokumentami wymaganymi przez prawo. System przechowuje pliki PDF z automatycznym wersjonowaniem i opcjonalnym powiadamianiem klientów o zmianach.
Kluczowe funkcje:
- Trzy typy dokumentów prawnych: RODO, Polityka prywatności, Regulamin
- Automatyczne wersjonowanie — każda aktualizacja zwiększa wersję o 0.1
- Archiwizacja poprzednich wersji (jeden aktywny dokument per typ)
- Powiadomienia email do wszystkich klientów o zmianach (opcjonalnie)
- Publiczny dostęp do dokumentów i pobieranie PDF bez logowania
- Upload plików PDF (max 10 MB)
Kto korzysta: Administratorzy i kierownicy (zarządzanie dokumentami), mieszkańcy i goście (przeglądanie i pobieranie)
Ograniczenia / reguły:
- Tylko format PDF — inne formaty nie są akceptowane
- Jeden aktywny dokument danego typu — nowy automatycznie dezaktywuje poprzedni
- Brak usuwania dokumentów — można jedynie dezaktywować
- Nieaktywne (archiwalne) dokumenty nie mogą być edytowane
- Aktualizacja z nowym plikiem tworzy nowy rekord w bazie (stary staje się archiwum)
Konfiguracja systemu¶
Co robi: Centralny panel ustawień systemowych — administrator może zmieniać limity czasowe, włączać/wyłączać funkcje i konfigurować integracje (np. Przelewy24) bez restartu aplikacji i bez pomocy programisty.
Kluczowe funkcje:
- 11 parametrów konfiguracyjnych edytowalnych z poziomu panelu admina
- Dynamiczna walidacja typów (liczby, tekst, tak/nie, daty, tablice)
- Natychmiastowe zastosowanie zmian (automatyczne czyszczenie cache)
- Konfiguracja bramki płatności Przelewy24 (merchant, CRC, tryb testowy)
- Parametry retencji danych (automatyczne usuwanie starych powiadomień i błędów)
- Początkowa konfiguracja gminy przez interaktywną komendę (dane JST, adres z TERYT, konto admina)
Kto korzysta: Administratorzy (edycja parametrów), system wewnętrznie (odczyt konfiguracji przez wszystkie domeny)
Ograniczenia / reguły:
- Dostęp wyłącznie dla administratorów
- 3 parametry wewnętrzne (gmina, strona, Przelewy24) ukryte w panelu — zarządzane programowo
- Konfiguracja gminy tworzona jednorazowo przy wdrożeniu
- Zmiany w Przelewy24 wymagają podwójnego czyszczenia cache (ogólny + dedykowany P24)
Zadania kolejek (przetwarzanie w tle)¶
Co robi: Obsługuje wszystkie operacje, które nie muszą być wykonywane natychmiast — wysyłkę emaili, generowanie raportów, logowanie błędów czy masowe anulowanie rezerwacji. Zadania trafiają na "taśmę produkcyjną" i są przetwarzane po kolei, nie blokując użytkownika.
Kluczowe funkcje:
- 9 dedykowanych kolejek — każdy typ zadania na osobnej "linii produkcyjnej"
- Automatyczne ponawianie nieudanych zadań (do 3 prób)
- Powiadomienia email do administratora platformy w razie awarii
- Monitoring zdrowia kolejek co minutę z alertami
- Rejestracja wszystkich nieudanych zadań z pełnym opisem błędu
- Masowe przetwarzanie: generowanie raportów, tworzenie sesji zajęć, kaskadowa zmiana stanów
Kto korzysta: System wewnętrznie (automatyczne przetwarzanie), administratorzy (monitoring i diagnostyka)
Ograniczenia / reguły:
- Brak bezpośredniego dostępu użytkowników — to infrastruktura wewnętrzna
- Każda nieudana próba generuje osobny alert email (przy 3 próbach = 3 powiadomienia)
- Generowanie raportów ma zwiększony timeout (30 minut) ze względu na objętość danych
- Zarządzanie workerami odbywa się przez Supervisor w kontenerze Docker
WebSocket (Laravel Reverb)¶
Co robi: Zapewnia infrastrukturę do komunikacji w czasie rzeczywistym między serwerem a przeglądarką użytkownika. Dzięki temu powiadomienia i zmiany statusów mogą pojawiać się natychmiast w panelu — bez odświeżania strony.
Kluczowe funkcje:
- Serwer WebSocket oparty na Laravel Reverb (port 6002)
- Konfiguracja gotowa do uruchomienia (klucze, host, port, schemat)
- Planowana integracja z systemem powiadomień (39 typów w 11 domenach)
Stan wdrożenia:
- Konfiguracja broadcasting (
config/broadcasting.php) — gotowa - Serwer Reverb — gotowy do uruchomienia (
php artisan reverb:start --port=6002) - Kanały autoryzacji (
routes/channels.php) — do zdefiniowania - Eventy broadcast (implementacja
ShouldBroadcast) — do wdrożenia - Aktualnie powiadomienia działają przez email i bazę danych — WebSocket jest następnym krokiem
Kto korzysta: Administratorzy, kierownicy i pracownicy (powiadomienia w czasie rzeczywistym w panelu)
Ograniczenia / reguły:
- Wymaga uruchomienia osobnego procesu serwera Reverb obok aplikacji
- Docelowo uzupełni istniejące kanały (email + baza danych), nie zastąpi ich
Media (zdjęcia i galerie)¶
Co robi: Zarządza zdjęciami obiektów i zajęć — umożliwia dodawanie galerii fotograficznych, automatyczne tworzenie miniatur oraz optymalizację zdjęć do formatu WebP dla szybkiego ładowania stron.
Kluczowe funkcje:
- Upload wielu zdjęć jednocześnie (JPEG, PNG, WebP) z automatyczną walidacją
- Automatyczne tworzenie miniatur (300×300) i wersji webowych (1200×1200) w formacie WebP
- Zarządzanie kolejnością zdjęć w galerii (przeciągnij i upuść)
- Automatyczny wybór miniatury głównej — zawsze pierwsze zdjęcie w kolejności
- Konfigurowalny limit zdjęć na obiekt/zajęcia
- Publiczne przeglądanie galerii bez logowania
Kto korzysta: Administratorzy, kierownicy i pracownicy (upload i zarządzanie), mieszkańcy (przeglądanie galerii)
Ograniczenia / reguły:
- Dozwolone formaty: wyłącznie JPEG, PNG i WebP (max 5 MB na plik)
- Zdjęcia można dodawać tylko do obiektów (Item) i zajęć (Activity)
- Limit mediów na obiekt jest konfigurowalny przez administratora (domyślnie 20)
- Oryginalne pliki są usuwane po konwersji — przechowywane są tylko zoptymalizowane wersje
- Zarządzanie zdjęciami wymaga przynależności do organizacji obiektu
Notatki wewnetrzne¶
Co robi: Umozliwia pracownikom dodawanie wewnetrznych komentarzy i adnotacji do klientow, rezerwacji, obiektow, zajec i reklamacji. Dziala jak system karteczek samoprzylepnych — widocznych tylko dla zespolu, z pelna historia kto co pisal i kiedy zmienial.
Kluczowe funkcje:
- Dodawanie notatek do 5 typow encji (klienci, rezerwacje, obiekty, zajecia, reklamacje)
- Przypinanie waznych notatek — wyswietlane na gorze listy
- Specjalne oznaczenie notatki do wyswietlenia bezposrednio w szczegolach rezerwacji
- Pelna historia zmian kazdej notatki (kto, co, kiedy zmienil)
- Automatyczne sledzenie autora kazdej notatki i edycji
Kto korzysta: Administratorzy, kierownicy i pracownicy (tylko personel — klienci nie widza notatek)
Ograniczenia / reguly:
- Dla kazdej encji tylko jedna notatka moze byc wyswietlana w rezerwacji — oznaczenie nowej automatycznie odznacza poprzednia
- Tresc notatki musi miec od 5 do 5000 znakow
- Notatek nie mozna usuwac — mozna je jedynie edytowac
- Pracownik musi nalezec do organizacji encji, aby moc dodawac i edytowac notatki
Raporty i analityka¶
Co robi: Centrum analityczne systemu — generuje szczegółowe raporty o rezerwacjach, przychodach, obłożeniu obiektów, klientach, opinii i reklamacjach. Raporty generowane są automatycznie w tle i dostarczane emailem w formacie CSV (kompatybilnym z Excelem).
Kluczowe funkcje:
- 16 gotowych raportów w 6 kategoriach (rezerwacje, finanse, obiekty, klienci, jakość, reklamacje)
- Asynchroniczne generowanie w tle — nie blokuje pracy użytkownika
- Elastyczne filtry: okres (bieżący/poprzedni miesiąc/rok lub dowolne daty), organizacja, obiekt, klient, trener
- Automatyczna dostawa emailem z załącznikiem CSV po wygenerowaniu
- Pobieranie raportów bezpośrednio z panelu z historią uruchomień
- Mapa popytu — heatmapa pokazująca obłożenie w poszczególne dni tygodnia i godziny
- Ranking obiektów i klientów po przychodach i liczbie rezerwacji
- Analiza zaległości płatniczych — lista nieopłaconych slotów potwierdzonych rezerwacji
- Statystyki prowadzących — sesje, godziny i przychody per trener per typ zajęć
- 6-miesięczna retencja z automatycznym czyszczeniem starych raportów
Kto korzysta: Administratorzy (pełny dostęp do wszystkich raportów i historii), kierownicy i pracownicy (generowanie raportów i dostęp do własnej historii), decydenci JST (analiza danych do planowania)
Ograniczenia / reguły:
- Zakres dat nie może przekraczać 2 lat (730 dni)
- Kierownik i pracownik widzą tylko swoje uruchomienia raportów (admin widzi wszystkie)
- Pliki CSV przechowywane przez 6 miesięcy, potem automatycznie usuwane
- Email z raportem wysyłany na adres zalogowanego użytkownika (nie można zmienić odbiorcy)
- Format CSV: UTF-8 z BOM, separator średnik (
;) — otwiera się poprawnie w polskim Excelu
Podsumowanie techniczne (dla zainteresowanych)¶
| Aspekt | Szczegóły |
|---|---|
| Stack technologiczny | Laravel 12, Vue.js, PostgreSQL |
| Autoryzacja | JWT + system ról (Spatie Permissions) |
| Płatności | Przelewy24 (opcjonalnie per obiekt/zajęcia) |
| Notyfikacje | Email, in-app (baza danych), WebSocket (Laravel Reverb — w przygotowaniu) |
| Hosting | VPS / Coolify |
| Architektura | Domain-Driven Design (DDD), 31 domen biznesowych |
Status rozwoju¶
| Moduł | Status | Uwagi |
|---|---|---|
| Aktywności / Zajęcia | Gotowy | Pełna funkcjonalność z harmonogramami |
| Rezerwacje | Gotowy | Core systemu |
| Obiekty / Zasoby | Gotowy | Z integracją TERYT |
| Kategorie | Gotowy | Organizacja obiektów i zajęć |
| Cenniki | Gotowy | Zgodność z Omnibus |
| Użytkownicy | Gotowy | JWT + role |
| Role | Gotowy | 3 wbudowane role, Spatie Permission |
| Organizacje | Gotowy | Multi-tenant |
| Powiadomienia | Gotowy | Email + baza danych |
| Dziennik aktywności | Gotowy | Audit trail + archiwizacja |
| Tryby aplikacji | Gotowy | Dev/prod z automatycznym harmonogramem |
| Klienci | Gotowy | Osoby fizyczne i firmy z historią rezerwacji |
| Komendy CRON | Gotowy | Monitoring 22 komend z alertami email |
| Reklamacje | Gotowy | Workflow z wątkami wiadomości i załącznikami |
| Opinie | Gotowy | Oceny 1–5, moderacja, przypomnienia email |
| Konfiguracja systemu | Gotowy | 11 parametrów z dynamiczną walidacją typów |
| Dokumenty | Gotowy | Szablony DOCX z 32 placeholderami |
| Dokumenty prawne | Gotowy | PDF z auto-wersjonowaniem i powiadomieniami |
| Zadania kolejek | Gotowy | 9 kolejek, monitoring, alerty email |
| Media | Gotowy | Galerie, miniatury, konwersja WebP |
| Notatki wewnetrzne | Gotowy | 5 typow encji, audit trail, przypinanie |
| Raporty | Gotowy | 16 raportów w 6 kategoriach, generowanie w tle, email z CSV |
| Dostęp PIN | Gotowy | PIN + tokeny dla klientów/trenerów, rate limiting, audit trail |
| WebSocket (Reverb) | Infrastruktura gotowa | Konfiguracja gotowa, eventy broadcast do wdrożenia |