Jak stworzyć system rezerwacji online: model, reguły i decyzje przed pierwszą linijką kodu
Kalendarz z wolnymi godzinami to najmniejsza część systemu rezerwacji. Trudne są reguły, płatności i sytuacja, w której dwie osoby klikają ten sam termin w tej samej sekundzie.
Autor: Szymon Łakomy. Aktualizacja:
Najpierw model: co właściwie jest rezerwowane
Wizyta u osoby
Kalendarz pracownika i czas usługi. Fryzjer, fizjoterapeuta, doradca.
Zasób na godziny
Sala, kort, samochód, urządzenie. Liczy się slot i cennik zależny od pory, jak w systemie dla sal i kortów.
Miejsce na zajęciach
Termin z limitem miejsc, karnety i lista oczekujących.
Nocleg na doby
Pokój z minimalną liczbą nocy i cenami sezonowymi, jak przy temacie system rezerwacji pokoi.
Wiele firm łączy dwa modele. W szkole jazdy jedna jazda zajmuje instruktora i samochód, co rozpisuję na stronie system rezerwacji dla szkoły jazdy. Model wyznacza tabele w bazie danych i ekrany panelu, dlatego ustalam go przed pierwszym szkicem. Przegląd wszystkich wariantów jest na stronie systemy rezerwacji online dla firm.
Specyfikacja na jednej stronie
Zanim poprosisz o wycenę, przygotuj odpowiedzi na kilka pytań. Nie muszą być techniczne.
- co rezerwujemy, ile tego jest i czy coś rezerwuje się razem,
- usługi: długość, cena, przerwa po usłudze,
- godziny pracy, urlopy, święta i sezonowe zmiany,
- jak wcześnie i jak późno można rezerwować,
- odwołanie i zmiana terminu: do kiedy i co wtedy z zaliczką,
- płatność: bramka, zaliczka, faktura,
- powiadomienia: e-mail, SMS, kto w zespole dostaje informację,
- dane klienta, które naprawdę są potrzebne,
- kto co widzi w panelu i kto może zmieniać grafik,
- połączenia z Kalendarzem Google, programem do faktur lub CRM.
Więcej o pisaniu takiego opisu jest w poradniku jak opisać zlecenie dla programisty.
Pułapki techniczne pierwszych wersji
- Dwie rezerwacje jednego terminu. Sprawdzenie dostępności w przeglądarce nie wystarczy. Blokadę zakładam w bazie danych w chwili zapisu, żeby druga osoba dostała komunikat, a nie potwierdzenie.
- Zmiana czasu. Terminy zapisane bez strefy czasowej potrafią przesunąć się o godzinę po przejściu na czas letni lub zimowy.
- Płatność i blokada terminu. Termin czeka na zapłatę przez kilkanaście minut. Gdy płatność dojdzie po tym czasie albo bramka zgłosi ją dwa razy, system musi wiedzieć, co zrobić.
- Synchronizacja kalendarzy. Wymiana przez iCal ma opóźnienie, więc przy kilku kanałach sprzedaży potrzebne są dodatkowe zabezpieczenia.
- Wiadomości, które nie doszły. Każda wysyłka trafia do dziennika, a nieudana jest ponawiana.
Gdzie zostaje człowiek
System nie rozstrzyga wszystkiego i nie powinien. Recepcja dopisuje wizytę umówioną telefonicznie do tego samego kalendarza, przesuwa terminy, gdy dzień się opóźnia, i robi wyjątek dla stałego klienta. Panel musi na to pozwalać bez obchodzenia reguł, a każda ręczna zmiana zapisuje, kto i kiedy ją wprowadził. Przydaje się też szybka blokada całego dnia lub jednego zasobu, po której od razu widać, kogo trzeba zawiadomić.
Aplikacja, wtyczka czy własny kod
Gotowa aplikacja jest najszybsza i wystarcza przy typowych wizytach, a wtyczka ma sens, gdy strona działa na WordPressie i reguły są proste. Własny kod opłaca się przy nietypowym modelu, kilku zasobach naraz i integracjach. Te drogi zestawiam w tekstach porównanie systemów rezerwacji online i system rezerwacji WordPress.
Własny system buduję etapami: najpierw rezerwacja i potwierdzenie, potem płatności, SMS-y i panel. Prosta wersja kosztuje od 2500 zł netto, rozbudowana zwykle 4500 do 9000 zł netto, a składniki ceny rozpisuję w artykule ile kosztuje system rezerwacji online. Prawa do kodu i danych zapisujemy w umowie, o czym piszę w tekście umowa na wykonanie oprogramowania.
Najczęstsze pytania
Czy da się zbudować system rezerwacji bez programisty?
Tak, w prostych przypadkach. Aplikację w abonamencie albo wtyczkę WordPress z kilkoma usługami skonfigurujesz samodzielnie. Programista jest potrzebny, gdy reguły wychodzą poza ustawienia narzędzia albo system ma łączyć się z innymi programami.
Ile trwa budowa systemu rezerwacji?
Pierwsza działająca wersja jest gotowa zazwyczaj po kilku tygodniach od zatwierdzenia zakresu. Każdy kolejny element, na przykład płatności, SMS-y czy połączenie z programem do faktur, wydłuża ten czas, dlatego dzielę pracę na etapy.
Jakiej technologii używasz?
Najczęściej React lub Next.js po stronie klienta, Node.js po stronie serwera i bazy PostgreSQL. Na WordPressie buduję moduł zgodny z motywem. Wybór zależy od tego, na czym działa Twoja strona i kto będzie system utrzymywał.
Czy dostanę kod źródłowy?
Tak, jeśli tak zapiszemy w umowie, a zwykle tak proponuję. Razem z kodem przekazuję dostęp do serwera, bazy danych i instrukcję uruchomienia, żeby system mógł przejąć także inny programista.
Powiązane strony
Masz listę wymagań albo jej szkic?
Wyślij ją albo opisz kilka typowych rezerwacji w swojej firmie. Odpowiem z pytaniami do doprecyzowania i wyceną.