Dispute Resolution

Manage and resolve booking disputes

Back to Dashboard
@if (session()->has('message'))
{{ session('message') }}
@endif
@forelse($disputes as $dispute) @empty @endforelse
ID Booking Raised By Reason Status Date Actions
{{ $dispute->reference }}
{{ $dispute->booking->booking_reference }}
{{ $dispute->booking->listing->title }}
{{ $dispute->raisedByUser->name }}
{{ ucfirst($dispute->raised_by_role) }}
{{ $reasons[$dispute->reason] ?? $dispute->reason }} @php $statusColors = [ 'open' => 'bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200', 'under_review' => 'bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200', 'resolved' => 'bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200', 'closed' => 'bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200', ]; @endphp {{ ucfirst(str_replace('_', ' ', $dispute->status)) }} {{ $dispute->created_at->format('d M Y') }}
No disputes found.
{{ $disputes->links() }}
@if($showDetailModal && $selectedDispute)

Dispute {{ $selectedDispute->reference }}

{{ $selectedDispute->booking->booking_reference }}

Dispute Details

Reason: {{ $reasons[$selectedDispute->reason] ?? $selectedDispute->reason }}

Status: {{ ucfirst(str_replace('_', ' ', $selectedDispute->status)) }}

Raised by: {{ $selectedDispute->raisedByUser->name }} ({{ ucfirst($selectedDispute->raised_by_role) }})

Date: {{ $selectedDispute->created_at->format('d M Y, h:i A') }}

Booking Details

Listing: {{ $selectedDispute->booking->listing->title }}

Guest: {{ $selectedDispute->booking->user->name }}

Host: {{ $selectedDispute->booking->listing->host->name }}

Amount: RM {{ number_format($selectedDispute->booking->total_price, 2) }}

Dates: {{ $selectedDispute->booking->check_in->format('d M') }} - {{ $selectedDispute->booking->check_out->format('d M Y') }}

Description

{{ $selectedDispute->description }}

Communication

@foreach($selectedDispute->messages as $message)
{{ $message->user->name }} @if($message->is_admin) Admin @endif {{ $message->created_at->format('d M, h:i A') }}

{{ $message->message }}

@endforeach
@if($selectedDispute->status !== 'closed' && $selectedDispute->status !== 'resolved')
@endif
@if($selectedDispute->status === 'resolved')

Resolution

Type: {{ ucfirst(str_replace('_', ' ', $selectedDispute->resolution_type)) }}

@if($selectedDispute->refund_amount)

Refund: RM {{ number_format($selectedDispute->refund_amount, 2) }}

@endif

{{ $selectedDispute->resolution_notes }}

@endif
@if($selectedDispute->status !== 'closed' && $selectedDispute->status !== 'resolved')
@if($selectedDispute->status === 'open') @endif
@endif
@endif @if($showResolveModal && $selectedDispute)

Resolve Dispute

@error('resolution_type') {{ $message }} @enderror
@if(in_array($resolution_type, ['partial_refund', 'full_refund']))

Booking total: RM {{ number_format($selectedDispute->booking->total_price, 2) }}

@endif
@error('resolution_notes') {{ $message }} @enderror
@endif