@php $paymentLabel = 'N/A'; if ((string) $order->payment_type === '1') { $paymentLabel = 'Cash Payment'; } elseif ((string) $order->payment_type === '2') { $paymentLabel = 'Online Payment'; } // Receipt-style invoice: always show Delivery (as in provided format) $statusLabel = 'Delivery'; // orders table uses `notes` and `delivery_notes` $notes = trim((string) ($order->delivery_notes ?? $order->notes ?? $order->note ?? $order->remark ?? '')); @endphp
Saimpex emblem
{{ $order->vendor_name ?? 'Vendor' }}
{{ $order->order_code ?? ('ORD-' . $order->id) }}
{{ $statusLabel }}
{{ $order->created_at ? date('d M Y', strtotime($order->created_at)) : 'N/A' }} | {{ $order->created_at ? date('h:i A', strtotime($order->created_at)) : 'N/A' }}
Name: {{ $order->user_name ?? 'N/A' }}
Items Qty Amount
@php $basketLinesCount = isset($order->basketOrders) ? $order->basketOrders->count() : 0; @endphp @if($basketLinesCount > 0) @forelse($order->basketOrders as $basketLine) @php $basket = $basketLine->basket; $itemName = $basket->basket_name_en ?? $basket->basket_name_ar ?? $basket->basket_name_fr ?? 'Basket'; // Basket orders don't store "quantity" per line in `basket_orders`, // so we render each basket line as x1. Using `baskets.quantity` can be 0. $qty = 1; $unit = (float) ($basket->price ?? 0); $orderTotal = (float) ($order->total ?? 0); // If redeemed by points, system often sets order totals to 0, // so invoice item lines should also show 0.00. if ($orderTotal <= 0) { $unit = 0; } if ($unit <= 0) { // Fallback: split order subtotal across basket lines to avoid showing 0.00. $unit = ((float) ($order->subtotal ?? 0)) / max(1, (int) $basketLinesCount); } $lineTotal = $unit * $qty; @endphp @empty @endforelse @else @forelse($order->orderItems as $item) @php // Menu item name comes from the parent menu (RestaurantMenus/GroceryMenus) which uses `name_en`. $itemName = optional($item->restaurantMenuItem?->restaurantMenu)->name_en ?? optional($item->groceryMenuItem?->groceryMenu)->name_en ?? 'Item'; $qty = (int) ($item->quantity ?? 0); $lineTotal = $item->total_price ?? null; if ($lineTotal === null) { $unit = $item->unit_price ?? 0; $lineTotal = ((float) $unit) * ((float) $qty); } @endphp @empty @endforelse @endif
{{ $itemName }} x {{ $qty }} {{ number_format((float) $lineTotal, 2) }}
No basket items found
{{ $itemName }} x {{ $qty }} {{ number_format((float) ($lineTotal ?? 0), 2) }}
No items found
@if((float) ($order->discount ?? 0) > 0) @endif
Subtotal {{ number_format((float) ($order->subtotal ?? 0), 2) }}
Delivery Fee {{ number_format((float) ($order->delivery_fee ?? 0), 2) }}
Tax {{ number_format((float) ($order->tax ?? 0), 2) }}
Discount -{{ number_format((float) ($order->discount ?? 0), 2) }}
Total {{ number_format((float) ($order->total ?? 0), 2) }}
Payment : {{ $paymentLabel }}
@if($notes !== '')
Delivery Notes: {{ $notes }}
@endif