Declined by rules — digest

Report day (Miami): {{ $reportDateLabel }}
One row per identifiable customer (their highest qualifying declined offer that day). Rows without a valid email or 10-digit phone are omitted. Excludes offers at/below cost or at/above list price.
Generated {{ \Carbon\Carbon::now(\App\Services\DeclinedByRulesDailyDigestService::DISPLAY_TZ)->format('M j, Y g:i A T') }}.
@foreach($rows as $row) @php $o = $row['offer']; @endphp @endforeach
Image Customer Product Offer time Cost Price Offer Declined Counter offer available
@php $img = trim((string) ($o->product_image_url ?? '')); @endphp @if($img !== '' && (str_starts_with($img, 'http://') || str_starts_with($img, 'https://'))) @else — @endif @php $nm = trim((string) ($o->customer_name ?? '')); $em = trim((string) ($o->customer_email ?? '')); $ph = preg_replace('/\D/', '', (string) ($o->customer_phone ?? '')); @endphp @if($nm !== '' && $nm !== '—')
{{ $nm }}
@endif @if($em !== '' && $em !== '—' && filter_var($em, FILTER_VALIDATE_EMAIL))
{{ $em }}
@endif @if(strlen($ph) === 10)
+1{{ $ph }}
@endif
@php $fullTitle = (string) ($o->product_title ?? ''); $shortTitle = \Illuminate\Support\Str::limit($fullTitle, 52, '...'); @endphp
{{ $shortTitle }}
Offer #{{ $o->id }}
{{ $row['offer_at_miami'] }} ${{ number_format((float) $o->cost, 2) }} ${{ number_format((float) $o->sale_price, 2) }} ${{ number_format($row['initial_declined_offer'], 2) }} {{ $row['counter_range_label'] }}