- Panel admina (wp-admin > Rezerwacje > Pakiety ochronne) do zarzadzania nazwami, cenami za dobe, aktywnoscia i opisami pakietow SOFT i PREMIUM (zapis w wp_options carei_protection_packages) - REST endpoint GET /carei/v1/protection-packages zwracajacy aktywne pakiety - Radio cards SOFT/PREMIUM w modalu rezerwacji nad pozycjami "Pakiety ochronne" z API (osobne zrodlo danych, separator wizualny) - Radio z deselect (klik zaznaczonego odznacza), natywny input z accent-color - Pakiet NIE wysylany w priceItems Softra (powodowalo HTTP 400) - zamiast tego doklejany do comments booking i zapisywany w _carei_protection_package meta - Summary frontend dokorysowuje wiersz pakietu w tabeli cen i dolicza do total gross (grandGross = softraGross + protectionTotal) - Plan 13-01 oznaczony jako superseded (klient zmienil zrodlo danych) - Phase 13 Complete, Milestone v0.5 Complete Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
66 lines
3.7 KiB
Markdown
66 lines
3.7 KiB
Markdown
# 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 + Poprawki
|
|
|
|
**Goal:** Wyświetlanie dwóch pakietów ochronnych (SOFT i PREMIUM) ze stałą ceną/dobę zarządzaną w panelu administratora WP. Plus poprawki UX (mobile modal fix).
|
|
|
|
**Status:** Complete ✅
|
|
|
|
### Phase 13: Pakiety ochronne — kafelki z ceną za dobę z panelu WP ✅ Complete
|
|
Dedykowane kafelki SOFT/PREMIUM w sekcji "Pakiety ochronne" z ceną za dobę z panelu WP. Radio z możliwością odznaczenia. Panel admina (wp-admin → Rezerwacje → Pakiety ochronne), REST endpoint /protection-packages. Pakiet poza priceItems Softra — wysyłany w comments + zapisany w meta CPT _carei_protection_package. Summary frontend dokłada wiersz pakietu i grandTotal. Plan 13-02 ukończony (13-01 superseded).
|
|
|
|
### 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
|