Files
carei.pagedev.pl/.paul/ROADMAP.md
Jacek Pyziak 6f6c1fcf17 fix(14-mobile-modal-fix): Modal rezerwacji działa na mobile/tablet
Sekcja Elementor zawierająca modal miała elementor-hidden-mobile/tablet,
co powodowało display:none na rodzicu. Modal position:fixed wewnątrz
ukrytego elementu miał zerowe wymiary.

Fix: przeniesienie overlay do document.body w initRefs().
Plan Phase 13 (pakiety ochronne) utworzony, BLOCKED — czeka na klienta.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 00:05:53 +02:00

3.6 KiB

Roadmap — Carei Reservation Form

Milestone v0.1: Formularz Rezerwacji MVP

Goal: Działający formularz rezerwacji jako plugin Elementor, zintegrowany z API Softra Rent.

Phase 1: Plugin Skeleton + API Proxy Complete

Utworzenie pluginu WordPress z proxy REST API do Softra Rent. Backend obsługujący autoryzację JWT, pobieranie oddziałów, klas pojazdów, cenników i dodatków. Rejestracja widgetu Elementor.

Phase 2: Form UI — Krok 1 (Formularz) Complete

Frontend formularza rezerwacji w modalu Elementor. Dynamiczne segmenty (ze wszystkich lokalizacji), oddziały filtrowane po segmencie, opcje dodatkowe z cennika API, walidacja, responsive. Pominięto ubezpieczenie i wyjazd zagraniczny (brak w API — backlog).

Phase 3: Submit + Booking Flow Complete

Pełny flow: formularz → customer/add → pricing summary overlay → makebooking → confirm → success z numerem. Pola adresowe + PESEL. Error handling. Fixy: boolean API params, timeout mapowania, drivers[] required.

Phase 4: Polish & Integration Testing Complete

Edge cases (token retry, timeout, network errors), animacje przejść form↔summary↔success, accessibility (ARIA dialog, focus trap, focus management, aria-live), CSS fix.

Phase 5: Admin Panel — Historia Formularzy Complete

CPT carei_reservation z automatycznym zapisem po booking, lista z kolumnami i filtrem statusu, meta box szczegółów, system statusów nowe/przeczytane/zrealizowane, auto-mark-read.


Milestone v0.2: Wyjazd Zagraniczny

Goal: Wydzielenie pozycji "WYJAZD ZA GRANICĘ" z opcji dodatkowych do dedykowanej sekcji z wyszukiwarką krajów (zgodnie z Figmą).

Status: Complete

Phase 6: Wyjazd zagraniczny — sekcja + wyszukiwarka krajów Complete

Sekcja "Wyjazd zagraniczny" z checkboxem toggle, wyszukiwarką krajów z flagami/cenami, dodawanie/usuwanie krajów, integracja z API submit. Design z Figmy (node 32-397, 122:1054, 122:1091, 123:1195).

Phase 7: Hero Search Form — mini formularz w hero Complete

Kompaktowy widget Elementor "Carei Search Form" osadzany w sekcji hero. Pola: segment, daty od/do, lokalizacja, checkbox zwrotu. Po kliknięciu przycisku otwiera istniejący modal rezerwacji z pre-wypełnionymi danymi. Design z Figmy (Form.svg).


Milestone v0.3: Mapa Oddziałów + Cache API

Goal: Wizualna prezentacja sieci oddziałów Carei — interaktywna mapa SVG z pinami i siatka miast, plus ujednolicone cachowanie API.

Status: Complete

Phase 8: Mapa oddziałów + siatka miast + cache API Complete

Dwa widgety Elementor: (1) mapa Polski SVG z dynamicznymi pinami oddziałów i tooltipami adresowymi, (2) siatka miast. Cachowanie /branch/list z TTL 60 min.


Milestone v0.5: Pakiety Ochronne

Goal: Wyświetlanie pakietów ochronnych SOFT i PREMIUM z dynamiczną ceną zależną od liczby dni wynajmu (3 progi: minimalna 1-3 dni, za dobę 4-15 dni, maksymalna 16+ dni).

Status: In progress

Phase 13: Pakiety ochronne — kafelki z ceną progową 🔄 BLOCKED

Dedykowane kafelki SOFT/PREMIUM w sekcji "Pakiety ochronne" z ceną obliczaną dynamicznie na podstawie długości rezerwacji. Wybór wzajemnie wykluczający (radio). Dane z istniejącego API pricelist/additionalItems. Blocker: Czekamy na potwierdzenie klienta — źródło danych cenowych (API Softra vs panel WP).

Phase 14: Mobile modal fix Complete

Fix: modal rezerwacji nie otwierał się na mobile/tablet — sekcja Elementor miała elementor-hidden-mobile. Przeniesienie overlay do document.body.


Backlog

  • Eksport CSV/PDF rezerwacji
  • Email notyfikacje