This commit is contained in:
2026-03-25 00:41:16 +01:00
parent 1739f354d1
commit a82ec90a51
48 changed files with 4019 additions and 0 deletions

38
.paul/PROJECT.md Normal file
View File

@@ -0,0 +1,38 @@
# Carei - Formularz Rezerwacji Samochodu
## Value Proposition
Plugin Elementor do rezerwacji samochodu na stronie carei.pagedev.pl, zintegrowany z API Softra Rent. Formularz wielokrokowy: krok 1 (podstawowe dane rezerwacji) → krok 2 (Overlay z pełnym podsumowaniem i płatnością).
## Core Requirements
1. **Elementor Widget** — plugin rejestrujący widget w Elementorze, wywoływany przyciskiem "Złóż zapytanie o rezerwację"
2. **Integracja z Softra Rent API** — pobieranie oddziałów, klas pojazdów, cen, dodatków; tworzenie klientów i rezerwacji
3. **Multi-step form** — krok 1: formularz z Figmy (segment, daty, lokalizacja, opcje, dane osobowe), krok 2: Overlay z podsumowaniem
4. **Responsive** — desktop (modal overlay) i mobile (full-screen bottom sheet)
5. **Design zgodny z Figmą** — kolory Carei (#2F2482, #FF0000), font Albert Sans
## Tech Stack
- WordPress + Hello Elementor theme
- Elementor + Elementor Pro
- Istniejący plugin: `wp-content/plugins/elementor-addon/` (custom widgets)
- PHP backend (REST API proxy do Softra)
- Vanilla JS + CSS frontend (bez frameworków JS)
- Softra Rent API: `https://softra.com.pl:8444/rent2www-ci-tst`
## Constraints
- Dane API w `.env` (url, username, password)
- Token JWT ważny 1h — cacheowanie po stronie serwera
- Formularz NIE jest natywnym formularzem Elementor Pro — to custom widget
- Brak dodatkowych zależności npm/composer — czysty PHP + JS
## API Endpoints (kluczowe)
| Endpoint | Metoda | Użycie |
|----------|--------|--------|
| `/account/auth` | POST | Autoryzacja JWT |
| `/branch/list` | GET | Lista oddziałów (miejsce odbioru) |
| `/car/class/list` | POST | Klasy pojazdów wg dat i oddziału |
| `/pricelist/list` | POST | Cennik z dodatkami |
| `/customer/add` | POST | Tworzenie klienta |
| `/rent/makebooking` | POST | Złożenie rezerwacji |
| `/rent/confirm` | POST | Potwierdzenie rezerwacji |
| `/rent/princingSummary` | POST | Podsumowanie opłat |
| `/agreement/def/list` | GET | Definicje zgód RODO |