@extends('layouts.admin') @section('title', 'Return '.$return->number) @section('content') @php $label = fn (string $v) => ucwords(str_replace('_', ' ', $v)); $statusTone = match ($return->status) { 'requested' => 'warning', 'open', 'inspected' => 'info', 'completed' => 'success', default => 'muted', }; $priorityTone = match ($return->priority) { 'urgent' => 'danger', 'high' => 'warning', default => 'muted', }; @endphp Back to list @if($return->order_id) View order @endif @if($return->status === 'requested')
@csrf
@endif
@if($errors->any())
{{ $errors->first() }}
@endif

Return lines

{{ $label($return->status) }} {{ $label($return->priority ?: 'normal') }}
@if(in_array($return->status, ['requested', 'open'], true))
@csrf @foreach($return->lines as $line) @endforeach
Item Qty Condition Disposition
{{ $line->orderLine?->title ?? 'Line #'.$line->order_line_id }}
{{ $line->orderLine?->sku ?: '—' }}
{{ $line->quantity }}
@else @forelse($return->lines as $line) @empty @endforelse
Item Qty Condition Disposition
{{ $line->orderLine?->title ?? 'Line #'.$line->order_line_id }}
{{ $line->orderLine?->sku ?: '—' }}
{{ $line->quantity }} {{ $label($line->condition ?: '—') }} {{ $label($line->disposition ?: '—') }}
No lines on this return.
@endif

Workflow timeline

  1. Requested {{ $return->created_at?->timezone(config('app.timezone'))->format('M j, Y g:ia') }}
  2. Label / approved @if($return->label_sent_at) {{ $return->carrier }} · {{ $return->tracking_number }} · {{ $return->label_sent_at->diffForHumans() }} @elseif($return->status !== 'requested') Approved @else Pending @endif
  3. Received {{ $return->received_at ? $return->received_at->format('M j, Y g:ia') : 'Awaiting inbound' }}
  4. Inspected @if($return->inspected_at) {{ $return->inspected_at->format('M j, Y g:ia') }} @if($return->inspector) · {{ $return->inspector->name }} @endif @else Pending warehouse check @endif
  5. Completed @if($return->completed_at) {{ $return->completed_at->format('M j, Y g:ia') }} · {{ $return->store_credit ? 'Store credit' : 'Refund' }} {{ $return->currency }} {{ number_format(($return->refund_cents ?? 0) / 100, 2) }} @elseif($return->status === 'canceled') Canceled @else Open @endif

Summary

Order
{{ $return->order?->number ?? '#'.$return->order_id }}
Customer
{{ $return->customer_email ?: '—' }}
Reason
{{ $return->reason ?: '—' }} @if($return->reason_code) · {{ $label($return->reason_code) }}@endif
Requested refund
{{ $return->labeledRefund() }}
Resolution
{{ $label($return->resolution ?: 'refund') }}
@if($return->notes)
Customer notes
{{ $return->notes }}
@endif @if($return->staff_note)
Staff notes
{{ $return->staff_note }}
@endif

Actions

@if(in_array($return->status, ['requested', 'open'], true) && ! $return->label_sent_at)
@csrf
@endif @if(in_array($return->status, ['requested', 'open'], true) && ! $return->received_at)
@csrf
@endif @if(in_array($return->status, ['inspected', 'open'], true))
@csrf
@endif @if($return->isActionable())
@csrf
@endif @if(! $return->isActionable())

This return is {{ $label($return->status) }} and no longer in the active RMA pipeline.

@endif
@if($return->shipments->isNotEmpty())

Shipments

    @foreach($return->shipments as $shipment)
  • {{ $shipment->carrier ?: 'Carrier' }}
    {{ $shipment->tracking_number }}
    {{ $label($shipment->status) }}
  • @endforeach
@endif
@endsection