{{ $listing->title }}
{{ $listingPrice($listing) }}{{ $listingDetails($listing) }}
{{ $typeLabel }}@include('frontend.partials.head', ['title' => 'Fily | Jobs, Rentals, Hostels & Services']) @php $planCollection = collect($plans ?? []); $featuredListingCollection = collect($featuredListings ?? []) ->filter(fn ($listing) => in_array($listing->status ?? null, ['approved', 'accepted'], true)) ->filter(fn ($listing) => ($listing->visibility ?? 'visible') === 'visible') ->values(); $heroStats = $heroStats ?? []; $savedListingKeyLookup = collect($savedListingKeys ?? [])->flip(); $planDurations = $planCollection ->pluck('duration_months') ->filter() ->unique() ->sort() ->values(); $activeDuration = (int) ($planDurations->first() ?? 0); $categoryIcons = [ 'jobs' => 'work', 'job' => 'work', 'rentals' => 'apartment', 'rental' => 'apartment', 'hostels' => 'bed', 'hostel' => 'bed', 'services' => 'design_services', 'service' => 'design_services', ]; $listingTypeLabels = [ 'job' => 'Job', 'rent' => 'Rental', 'hostel' => 'Hostel', 'service' => 'Service', ]; $listingFallbackImages = [ 'job' => 'https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=900&q=80', 'rent' => 'https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=900&q=80', 'hostel' => 'https://images.unsplash.com/photo-1555854877-bab0e564b8d5?auto=format&fit=crop&w=900&q=80', 'service' => 'https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=900&q=80', ]; $listingPrice = function ($listing): string { if ($listing->listing_type === 'job') { return $listing->price ? 'Rs. '.number_format((float) $listing->price).'/mo' : 'Hiring'; } if ($listing->listing_type === 'service') { return $listing->price ? 'Starts Rs. '.number_format((float) $listing->price) : 'On request'; } return $listing->price ? 'Rs. '.number_format((float) $listing->price).'/mo' : 'On request'; }; $listingImage = function ($listing) use ($listingFallbackImages): string { return $listing->media_path ? asset('storage/'.$listing->media_path) : ($listingFallbackImages[$listing->listing_type] ?? $listingFallbackImages['rent']); }; $listingDetails = function ($listing): string { $details = collect([$listing->location, $listing->city])->filter(); if ($listing->listing_type === 'job') { $details = $details->merge([$listing->meta_three, $listing->meta_one, $listing->meta_two]); } elseif ($listing->listing_type === 'rent') { $roomDetails = is_string($listing->meta_three) ? json_decode($listing->meta_three, true) : null; $bedrooms = data_get($roomDetails, 'bedrooms'); $bathrooms = data_get($roomDetails, 'bathrooms'); $details = $details->merge([ $listing->meta_one, $bedrooms ? $bedrooms.' '.Str::plural('bed', (int) $bedrooms) : null, $bathrooms ? $bathrooms.' '.Str::plural('bath', (int) $bathrooms) : null, $listing->meta_two, ]); } elseif ($listing->listing_type === 'hostel') { $details = $details->merge([ $listing->meta_one, $listing->meta_two ? 'Meals available' : null, $listing->meta_three ? 'WiFi' : null, ]); } elseif ($listing->listing_type === 'service') { $details = $details->merge([ is_numeric($listing->meta_one) ? $listing->meta_one.' '.Str::plural('year', (int) $listing->meta_one).' experience' : null, is_numeric($listing->meta_two) ? $listing->meta_two.' km radius' : null, $listing->meta_three, ]); } return $details->filter()->take(4)->implode(' ยท ') ?: 'Details available on request'; }; $heroStat = function (string $key) use ($heroStats): string { $value = (int) data_get($heroStats ?? [], $key, 0); return $value >= 1000 ? number_format($value / 1000, 1).'k+' : number_format($value); }; @endphp
@include('frontend.partials.header')Verified local choices in one place
Search once, compare clear listings, and contact verified providers without jumping between scattered groups and directories.
Active jobs
Spaces listed
Verified providers
Monthly users
Browse by intent
Start with the need in your mind, then compare focused listings with clear details, locations, prices, and contact paths.
Featured inventory
{{ $listingDetails($listing) }}
{{ $typeLabel }}Admin-approved listings will appear here automatically.
Trust signals
Customers want clear details, real providers, and fewer surprises before they call, apply, book, or hire.
"The rental listing had photos, rent, location, and contact details in one place. I shortlisted faster and avoided repeated calls."
Sarah Jenkins
Rental customer
"I could compare jobs by location and company details without opening ten different pages. The search felt simple."
Marcus Chen
Job seeker
"For home services, seeing a proper provider profile made it easier to choose who to contact first."
Elena Rodriguez
Service customer
How it works
Fily keeps discovery practical: search by need, compare verified profiles, then contact or apply through the right channel.
Filter by category, city, area, price range, and provider status.
See profile completeness, business details, images, and useful listing metadata.
Apply, enquire, reserve, or hire without bouncing between disconnected directories.
For providers
Fily gives providers a structured profile, category listings, subscription access, and a cleaner admin-reviewed presence.
Choose the duration that matches your growth ambitions on Fily.
@if ($planDurations->isNotEmpty()){{ data_get($plan, 'title') ?: $categoryName . ' plan' }}
Active plans from admin will appear here automatically.
Contact
Reach the Fily team for marketplace support, provider onboarding, payment help, and customer account questions.
India
Local marketplace support for jobs, rentals, hostels, and services.
10 AM - 6 PM
Monday to Saturday, excluding public holidays.