Przejdź do treści

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