@extends('admin.templates.layout') @section('head') @endsection @section('content') @php $order = $product->orderItemVariant?->orderItem?->order; $item = $product->orderItemVariant?->orderItem; $variant = $product->orderItemVariant; $scanStatusMeta = match($scanStatus) { 'generated' => ['label' => 'Generated', 'class' => 'secondary', 'icon' => 'ri-qr-code-line'], 'collected' => ['label' => 'Collected by Transporter', 'class' => 'warning', 'icon' => 'ri-truck-line'], 'verified' => ['label' => 'Verified by Warehouse', 'class' => 'success', 'icon' => 'ri-shield-check-line'], default => ['label' => 'Unknown', 'class' => 'secondary', 'icon' => 'ri-question-line'], }; @endphp {{-- Back link --}}
Back to Products
{{-- Header: QR + reference + status --}}
QR
{{ $product->reference_id }}
{{ $scanStatusMeta['label'] }}
Product
@if($variant?->image) @elseif($item?->image) @endif
{{ $item?->name ?: '-' }}
Variant: {{ $variant?->variant ?: '-' }}
Price: {{ number_format((float) ($variant?->price ?? 0), 2) }} AED
Reference ID
{{ $product->reference_id }}
Generated At
{{ web_date_in_timezone($product->created_at, 'M d, Y h:i A') }}
Variant Quantity (Order)
{{ (int) ($variant?->quantity ?? 0) }}
Order Item Total Qty
{{ (int) ($item?->total_items_quantity ?? 0) }}
{{-- Order context --}}
Order Context
@if($order) Open Order @endif
@if($order)
Merchant
@if($order->merchant)
@if($order->merchant->profileImage) @else
{{ strtoupper(substr($order->merchant->company_name ?: $order->merchant->name, 0, 1)) }}
@endif
{{ $order->merchant->company_name ?: $order->merchant->name }}
{{ $order->merchant->user_code }}
@if($order->merchant->phone)
+{{ $order->merchant->dial_code }}{{ $order->merchant->phone }}
@endif
@else - @endif
Cargo Company
@if($order->cargoCompany)
@if($order->cargoCompany->profileImage) @else
{{ strtoupper(substr($order->cargoCompany->company_name ?: $order->cargoCompany->name, 0, 1)) }}
@endif
{{ $order->cargoCompany->company_name ?: $order->cargoCompany->name }}
{{ $order->cargoCompany->user_code }}
@if($order->cargoCompany->phone)
+{{ $order->cargoCompany->dial_code }}{{ $order->cargoCompany->phone }}
@endif
@else Not assigned @endif
Order Status
{!! order_status_badge($order->status) !!}
Destination
{{ collect([$order->destination_city, $order->destination_country])->filter()->implode(', ') ?: '—' }}
Order Created
{{ web_date_in_timezone($order->created_at, 'M d, Y h:i A') }}
@else
Order not found for this product.
@endif
{{-- Scan trail --}}
Lifecycle
{{-- Step 1: Generated --}}
QR Generated
{{ web_date_in_timezone($product->created_at, 'M d, Y h:i A') }}
{{-- Step 2: Assigned to delivery --}}
Assigned to Delivery
@if($pivot)
{{ web_date_in_timezone($pivot->created_at, 'M d, Y h:i A') }}
@if($delivery)
Tracking: {{ $delivery->tracking_number }}
Transporter: {{ $delivery->transporter?->company_name ?: $delivery->transporter?->name ?: '-' }}
@endif @else
Pending assignment
@endif
{{-- Step 3: Verified --}}
Verified by Warehouse
@if($pivot && $pivot->is_warehouse_verified)
{{ $pivot->warehouse_verified_at ? web_date_in_timezone($pivot->warehouse_verified_at, 'M d, Y h:i A') : 'Verified' }}
@else
Awaiting verification
@endif
{{-- Step 4: Marketplace --}}
Marketplace
@if($marketplaceState === 'published')
Published — visible to end users
@elseif($marketplaceState === 'unpublished')
In delivery, not published yet
@else
Not in any delivery
@endif
{{-- Delivery detail + history --}} @if($delivery)
Delivery — {{ $delivery->tracking_number }}
@php $dInfo = config("global.transporter_delivery_statuses.{$delivery->status}") ?? ['text' => 'Unknown', 'class' => 'secondary']; @endphp {{ $dInfo['text'] }}
Transporter
{{ $delivery->transporter?->company_name ?: $delivery->transporter?->name ?: '-' }}
@if($delivery->transporter?->phone)
+{{ $delivery->transporter->dial_code }}{{ $delivery->transporter->phone }}
@endif
Total Charges
{{ number_format((float) $delivery->total_charges, 2) }} AED
Arrival Estimate
{{ $delivery->arrival_estimate ? web_date_in_timezone($delivery->arrival_estimate, 'M d, Y h:i A') : '—' }}
Delivered At
{{ $delivery->delivered_at ? web_date_in_timezone($delivery->delivered_at, 'M d, Y h:i A') : '—' }}
Published
@if($delivery->is_published) Yes @else No @endif
Delivery Timeline
{{ $deliveryStatusHistories->count() }}
@if($deliveryStatusHistories->isEmpty())
No history yet.
@else
@foreach($deliveryStatusHistories->sortByDesc('created_at') as $sh) @php $shInfo = config("global.transporter_delivery_statuses.{$sh->status}") ?? ['text' => 'Unknown', 'class' => 'secondary']; @endphp
{{ $shInfo['text'] }} {{ web_date_in_timezone($sh->created_at, 'M d, Y h:i A') }}
@endforeach
@endif
@endif @endsection @section('script') {{-- No page-specific JS; QR copy handled inline --}} @endsection