Saved Houses

View and manage the houses you have saved for later comparison and follow-up.

@php $savedItems = $savedListings ?? $savedHouses ?? $listings ?? collect(); $collection = $savedItems instanceof \Illuminate\Pagination\AbstractPaginator ? $savedItems->getCollection() : collect($savedItems); $totalSaved = method_exists($savedItems, 'total') ? $savedItems->total() : $collection->count(); $availableSaved = $collection->filter(function ($saved) { $listing = $saved->listing ?? $saved->houseListing ?? $saved->house ?? $saved; return ($listing->status ?? 'available') === 'available'; })->count(); $occupiedSaved = $collection->filter(function ($saved) { $listing = $saved->listing ?? $saved->houseListing ?? $saved->house ?? $saved; return ($listing->status ?? null) === 'occupied'; })->count(); $verifiedSaved = $collection->filter(function ($saved) { $listing = $saved->listing ?? $saved->houseListing ?? $saved->house ?? $saved; return (bool) ( $listing->is_verified ?? $listing->owner->is_verified ?? false ); })->count(); @endphp
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif

House Shortlist

Saved Houses

Compare your favourite houses by price, location, availability and contact details. Save time by keeping your best options in one clean place.

Total Saved

{{ number_format($totalSaved) }}

Saved for quick comparison.

⚠ Safety Reminder Before Contacting

Never pay viewing fees, showing fees, booking fees, transport money, reservation fees, advance rent, advance deposit or unofficial charges. Only pay official listed charges after physically viewing and confirming the house.

Total Saved

{{ number_format($totalSaved) }}

Available

{{ number_format($availableSaved) }}

Occupied

{{ number_format($occupiedSaved) }}

Verified Owners

{{ number_format($verifiedSaved) }}

@if($collection->count() > 0)
@foreach($savedItems as $saved) @php $listing = $saved->listing ?? $saved->houseListing ?? $saved->house ?? $saved; $coverPhoto = null; if (isset($listing->cover_photo) && $listing->cover_photo) { $coverPhoto = $listing->cover_photo; } elseif (isset($listing->main_photo) && $listing->main_photo) { $coverPhoto = $listing->main_photo; } elseif (isset($listing->photo) && $listing->photo) { $coverPhoto = $listing->photo; } elseif (isset($listing->photos) && $listing->photos && $listing->photos->count()) { $firstPhoto = $listing->photos->first(); $coverPhoto = $firstPhoto->path ?? $firstPhoto->photo_path ?? $firstPhoto->image ?? null; } $price = $listing->rent_amount ?? $listing->monthly_rent ?? $listing->price ?? $listing->amount ?? null; $deposit = $listing->deposit_amount ?? null; $locationParts = collect([ $listing->estate ?? null, $listing->area->name ?? null, $listing->ward->name ?? null, $listing->subCounty->name ?? null, $listing->county->name ?? null, ])->filter()->unique()->values(); $status = $listing->status ?? 'available'; $isVerified = (bool) ( $listing->is_verified ?? $listing->owner->is_verified ?? false ); $ownerName = $listing->owner->name ?? $listing->contact_name ?? 'Listing Owner'; $ownerRole = isset($listing->owner) && method_exists($listing->owner, 'roleLabel') ? $listing->owner->roleLabel() : ucfirst(str_replace('_', ' ', $listing->owner->role ?? 'owner')); @endphp
@if($coverPhoto) {{ $listing->title ?? 'Saved House' }} @else

🏠

NyumbaChapChap

No Photo Available

@endif
@if($status === 'available') AVAILABLE @elseif($status === 'occupied') OCCUPIED @else {{ strtoupper(str_replace('_', ' ', $status)) }} @endif @if($isVerified) ✓ VERIFIED @endif

{{ $listing->title ?? 'Untitled House Listing' }}

{{ $locationParts->count() ? $locationParts->join(', ') : 'Location not specified' }}

Monthly Rent

@if($price) KES {{ number_format((float) $price) }} @else Contact Owner @endif

Deposit

@if($deposit) KES {{ number_format((float) $deposit) }} @else Ask Owner @endif

Owner / Contact Person

{{ $ownerName }}

{{ $ownerRole }}

Safety Note

Do not pay viewing, booking, transport or unofficial charges before viewing and confirming this house.

@if(isset($listing->id)) View Details @endif @if(isset($listing->id))
@csrf @method('DELETE')
@endif

Saved: {{ optional($saved->created_at ?? null)->format('d M Y') ?? 'Recently' }}

@endforeach
@if(method_exists($savedItems, 'links'))
{{ $savedItems->links() }}
@endif @else
🏠

No saved houses yet

Browse available houses and save the ones you like. They will appear here for quick comparison, future viewing and safer decision-making.

Browse Available Houses
@endif