Potrzeba klienta

Firma zarządzająca kompleksem biurowym o powierzchni blisko 40 tys. m2, w którego skład wchodziły wysokotechnologiczne budynki biurowe oraz powierzchnie magazynowe, powierzyła nam zadanie przygotowania aplikacji do zarządzania zdarzeniami, w szczególności zarządzania usterkami w kompleksie.

Klient oczekiwał stworzenia jednego narzędzia do zgłaszania zdarzeń (usterek, usprawnień, spraw) w kilku różnych nieruchomościach. Platforma miała nie tylko ułatwić gromadzenie ich, ale również dawać możliwość zarządzania nimi: zmiany statusów, dodawania komentarzy, przydzielania koordynatorów czy ewidencji czasu przeznaczonego na obsługę poszczególnego zdarzenia.

Ponadto narzędzie miało realizować takie funkcje jak:

Wyzwanie

Na zadanie, które zostało przed nami postawione składały się dwa powiązane ze sobą aspekty. Aplikacja z jednej strony miała umożliwiać rejestrowanie pojawiających się zdarzeń oraz zarządzanie nimi, z drugiej stanowić bazę wszystkich rodzajów powierzchni dostępnych w kompleksie oraz ulokowanych w nim najemców z oznaczeniem wynajmowanej przez nich przestrzeni.

Proces, który musieliśmy zaprogramować wyglądał następująco:

Na całość tego rozwiązania złożyły się również:

Wymagająca tabela uprawnień nadająca dostępy w kilku wymiarach równocześnie: dla poziomów – właścicielskiego, zarządczego, klienckiego czy technicznego, jak i dla różnych operacji: edycja, odczyt, podgląd, usuwanie. Aplikacja do zarządzania zdarzeniami służyła czynnościom operacyjnym jak i nadzorczym. Miała również za zadanie zbieranie danych z możliwością ich generowania w postaci raportów, co rodziło konieczność opracowania szczegółowej macierzy dostępów, która mogła być w każdej chwili edytowalna przez zarządzającego aplikacją. W ramach tabeli uprawnień klient wymagał 92 elementów dowolnie konfigurowalnych, co umożliwiało utworzenie tysięcy różnych uprawnień. Dostępy nadawane były nie tylko przez osobę sprawującą pieczę nad całym system, ale również dawały możliwość ich dostosowywania w ramach określonej grupy np. każdy z najemców mógł określić jaki zakres czynności (podgląd, edycja, usuwanie itp.) może mieć każdy z jego pracowników. Testowanie szczelności macierzy dostępów było najdłuższym etapem tworzenia całej aplikacji.

Rozbudowany moduł administracyjny, umożliwiający definiowanie rodzajów i typów powierzchni, rodzajów usterek, rodzajów i typów spraw, przydzielania koordynatorów, dodawania użytkowników, tworzenie grup uprawnień, tworzenie komentarzy standardowych. W celu maksymalizacji automatyzacji czynności aplikacja została wzbogacona o rozbudowany moduł administracyjny umożliwiający definiowanie większości parametrów, które następnie są wybierane przez najemców z list wyborów. Umożliwia to standaryzację poszczególnych zdarzeń, późniejsze tworzenie raportów i statystyk, wprowadza porządek.

Naliczanie czasu i automatyczna zmiana statusu po odczytaniu danego rekordu. System sam zapisywał czas, kiedy użytkownik odczytywał dane zdarzenie, zmieniał status na odczytane oraz zapisywał w systemie dane użytkownika, który zapoznał się z konkretnym zdarzeniem. Automatyzacja miała na celu płynne procedowanie wszystkich zdarzeń bez możliwości wybierania sobie przez osoby odpowiedzialne konkretnych usterek, spraw czy usprawnień.

Wielość powiązań między modułami, rozmaitość funkcji oraz zróżnicowanie dostępów wpływało na poziom skomplikowania aplikacji.

Uzyskane efekty

Cele, którym miała sprostać aplikacja:

Wszystkie cele zostały osiągnięte. Aplikacja zautomatyzowała proces zgłaszania zdarzeń, w szczególności usterek, co w znacznym stopniu wpłynęło na skrócenie czasu ich usuwania. Możliwość szybkiej wymiany informacji dzięki zastosowanemu modułowi komentarzy (wiadomości) poprawił wydajność procesu zarządzania zdarzeniami. Automatyczne zapisywanie dat, rejestrowanie czynności czy zmiana statusów sprawiły, że procesy stały się klarowne dla wszystkich stron. Dzięki wdrożeniu aplikacji oraz konsekwentnemu przestrzeganiu zgłaszania zdarzeń przy użyciu tego narzędzia udało się sprostać oczekiwaniu właściciela, którym było szybkie raportowanie o stanie niezamkniętych usterek, naliczonych ewentualnych kar wynikających ze SLA, ocena poziomu usterkowości poszczególnych instalacji. Dodatkowym atutem była kontrola czasu usuwania usterek i pojawiające się alerty w sytuacji zbliżania się do jego przekroczenia, co umożliwia podjęcia natychmiastowych działań zmierzających do zamknięcia zdarzenia.

Technologie

W ramach realizacji projektu postawiliśmy na sprawdzone technologie, które zapewniły niezawodność i elastyczność całego rozwiązania. Do budowy warstwy backendowej wybraliśmy PHP, ze względu na jego wszechstronność oraz szerokie wsparcie dla integracji z różnymi systemami i bazami danych. Dzięki PHP mogliśmy również sprawnie zarządzać logiką aplikacji oraz implementować wymagane przez klienta funkcjonalności. Po stronie frontendowej wykorzystaliśmy JavaScript, co pozwoliło na stworzenie dynamicznych i interaktywnych elementów interfejsu użytkownika, które znacznie poprawiły doświadczenia końcowe użytkowników. Dodatkowo, zaimplementowaliśmy mechanizm powiadomień e-mailowych oparty na protokole SMTP, co umożliwiło automatyczne wysyłanie wiadomości do użytkowników w kluczowych momentach korzystania z aplikacji, takich jak nowa usterka, zmiana statusu czy powiadomienia o nowych sprawach do rozwiązania. Wybór tych technologii pozwolił na stworzenie stabilnego i skalowalnego rozwiązania, które w pełni spełnia oczekiwania klienta.

Przyszłość / rozwojowość projektu

Platforma została przygotowana dla projektu dojrzałego, w którym każdy proces był już wcześniej rozpisany. Klient dokładnie opisał swoje wymagania wobec narzędzia, a także powiązania pomiędzy poszczególnymi funkcjami. Dokładne wyspecyfikowanie funkcjonalności, w tym zależności pomiędzy poszczególnymi operacjami, opisanie tego, co klient chce osiągnąć w ramach każdej funkcjonalności (oraz to, jak powinny się one wiązać) miały na celu dalszą rozbudowę platformy w kierunku innych usług realizowanych w ramach kompleksu. Zamierzeniem klienta było dostarczenie najemcom jednego i spójnego narzędzia służącego do administrowania nieruchomością na płaszczyźnie najemca-wynajmujący. Dzięki swojej modułowej strukturze platforma dała dalsze możliwości rozwoju.

Główne korzyści dla zarządcy po wdrożeniu aplikacji