# Airport Pickup and Car Rental Page — Technical Implementation Notes

## Project: Kevron Suites and Apartments
## URL: `/airport-pickup-car-rental`
## Database Migrations: `2026_05_31_230000_create_transport_system_tables.php`
## Seeder: `TransportSeeder.php`
## Test Suite: `tests/Feature/AirportPickupCarRentalPageTest.php`

---

## 1. System Architecture

The transport request portal provides pre-arrival coordination for airport pickups and daily car rentals for guests staying at Adeniyi Jones, Ikeja.

```mermaid
graph TD
    A[Guest Visits /airport-pickup-car-rental] --> B[Transport Controller Loader]
    B --> C[Active Airports List]
    B --> D[Active Vehicle Types List]
    B --> E[Dynamic FAQs Accordion]

    A --> F[Alpine.js Interactive Tabs]
    F --> G[Airport Pickup Form]
    F --> H[Car Rental Form]

    G --> I[AJAX Validation & Storage]
    H --> I
    I --> J[airport_pickup_requests / car_rental_requests]
    I --> K[Transport Status Histories Audit]
    I --> L[Queued Booking Notifications]
```

---

## 2. Brand Compliance & UI Styling Rules

The page strictly adheres to the luxury design specifications of Kevron Suites and Apartments.

### A. Typography Constraints
* **Luxury Headings**: Marcellus (`font-family: 'Marcellus', serif;` clamped to a maximum size of `1.8rem`).
* **Body Texts & UI Labels**: Inter (`font-family: 'Inter', sans-serif;` with a maximum size capped at `0.875rem`).
* **Fonts Overrides**: Playfair Display is strictly prohibited.

### B. Element Architecture
* **Buttons**: Exactly `border-radius: 50px;` (pill style) with progressive champagne gold borders, hover transitions, and accessible `44px` minimum mobile touch targets.
* **Cards & Forms**: Exactly `border-radius: 0.1rem;` (premium square styling) and `box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;`.
* **Deepening Effects**: Service cards and tabs use slow transition hover background modifications (`transition-colors duration-300`).
* **Background Colors**: Alternates between Cloud White (`#FFFFFF`), Soft Ice Blue (`#F4F8FF`), and Midnight Navy (`#080D2B`).

---

## 3. Database Table Definitions

Seeded via `TransportSeeder` to prevent duplicates on reruns.

* `transport_services`: Tracks active transport options, slugs, descriptions, and sort orders.
* `airports`: Tracks supported terminals (MM1 Local, MM2 Local, MMIA International) and codes.
* `vehicle_types`: Tracks available vehicles styles, capacities, and base rates.
* `airport_pickup_requests`: Stores guest pickups parameters including dates, flight numbers, passenger/luggage counts, and notes.
* `car_rental_requests`: Stores car hire durations, pickup locations, driver options, and notes.
* `transport_request_status_histories`: Logs auditing status modifications (e.g. pending, assigned, confirmed, completed).

---

## 4. Privacy & Gated Access Controls

* Forms validate input parameters before saving to protect database sanity.
* Free-text instructions and remarks are sanitized on submission.
* Guest phone, email, and booking parameters are secured in Filament admin tables and never displayed publicly.
* Rates are displayed as "Price on Request" where fixed pricing rules do not exist in database records, avoiding fictitious estimations.

---

## 5. Notification Triggers

Submitting requests triggers a `BookingNotification` model queued for dispatching:

* **Airport Pickups**: Queues a notification trigger to the guest with flight transfer parameters.
* **Car Rentals**: Queues a notification confirming chauffeur guidelines and hourly hire terms.
* **Admin Notifications**: Informs dispatch managers to allocate drivers and check airport terminal slots.

---

## 6. Automated Testing Suite

Comprehensive testing is implemented in [AirportPickupCarRentalPageTest.php](file:///c:/xampp/htdocs/kevronapartments/tests/Feature/AirportPickupCarRentalPageTest.php) verifying:
1. dedicated `/airport-pickup-car-rental` route index status 200.
2. Global header/footer presence (`KEVRON`, `Regina Coker Street`).
3. Marcellus & Inter size cap compliancy.
4. Input validation and database storage for pickups.
5. Input validation and database storage for car rentals.
6. Status history log inserts and booking notifications.
7. Telemetry page loads and click event logging.
