Citizen Grievance Redressal

Complaints & Grievances Center

Manage, investigate, and update public sanitation complaints filed by citizens.

Open Citizen Portal
Total Filed
{{ number_format($totalComplaints) }} Complaints
Pending Review
{{ number_format($pendingComplaints) }} New
In Progress
{{ number_format($inProgressComplaints) }} Action
Resolved
{{ number_format($resolvedComplaints) }} Done
@if($search || $statusFilter || $categoryFilter || $dateFilter) @endif
{{ $complaints->total() }} Total Records
@forelse($complaints as $c) @empty @endforelse
# Complaint # Citizen Details Category & Location Date Filed Status Actions
{{ $loop->iteration + ($complaints->currentPage() - 1) * $complaints->perPage() }} {{ $c->complaint_number }} @if($c->photo_path) Has Photo @endif {{ $c->name }} 📞 {{ $c->mobile_number }} {{ $c->category }} @if($c->vehicle) Vehicle: {{ $c->vehicle->vehicle_number }} @endif 📍 {{ $c->location_address }} {{ $c->created_at->format('d M Y, h:i A') }} {{ $c->created_at->diffForHumans() }} @if($c->status === 'resolved') Resolved @elseif($c->status === 'in_progress') In Progress @elseif($c->status === 'rejected') Closed @else {{ $c->reopen_count > 0 ? 'Pending (Reopened)' : 'Pending' }} @endif

No complaints found

Adjust your search or status filter.

@if($complaints->hasPages())
{{ $complaints->links() }}
@endif
@if($showActionModal && $selectedComplaint)
Grievance Investigation

Complaint #{{ $selectedComplaint->complaint_number }}

Filed by {{ $selectedComplaint->name }} ({{ $selectedComplaint->mobile_number }}) • {{ $selectedComplaint->created_at->format('d M Y, h:i A') }}

Location Address

{{ $selectedComplaint->location_address }}

Category

{{ $selectedComplaint->category }}

@if($selectedComplaint->vehicle)
Tagged Vehicle

{{ $selectedComplaint->vehicle->vehicle_number }} ({{ $selectedComplaint->vehicle->category?->name ?? 'Sanitation Unit' }})

View Profile & QR →
@endif
Citizen Description

{{ $selectedComplaint->description }}

@if($selectedComplaint->reopen_count > 0)
Citizen Reopened This Complaint ({{ $selectedComplaint->reopen_count }}x) @if($selectedComplaint->reopened_at) Reopened: {{ $selectedComplaint->reopened_at->format('d M Y, h:i A') }} @endif
Citizen Dissatisfaction Reason:

"{{ $selectedComplaint->reopen_reason }}"

@if($selectedComplaint->reopen_photo_path)
Follow-up Proof Attached by Citizen: Reopen photo
@endif
@endif @if($selectedComplaint->photo_path)
Attached Photo Proof Grievance Proof
@endif
@error('adminRemarks') {{ $message }} @enderror
@endif