@extends('layouts.admin') @section('title', 'Order ' . $order->order_number . ' � Aromaniacs ERP') @section('overline', 'Sales') @section('heading', 'Order ' . $order->order_number) @section('content') @php $statusVal = $order->status?->value; $isEditable = $order->isEditable(); $canSendInvoice = in_array($statusVal, ['confirmed', 'shipped', 'delivered'], true); $invoiceEmail = old('email', $order->customer_email ?: $order->customer?->email); @endphp

Customer

{{ $order->customer_name }}

{{ $order->customer_phone ?? '?' }} @if ($order->customer_email) · {{ $order->customer_email }} @endif @if ($order->customer_address)
{{ $order->customer_address }} @endif

@if ($isEditable) Edit Header @endif

Placed

{{ optional($order->placed_at)->format('d M Y') }}

Source

{{ $order->source?->label() }}

Status

@if ($statusVal === 'cancelled') Cancelled @elseif ($statusVal === 'pending') Pending @else {{ $order->status->label() }} @endif

Created by

{{ $order->createdBy?->name ?? '?' }}

Customer payment method

{{ $order->payment_method?->label() ?? '—' }}

@if ($order->payment_method === \App\Enums\PaymentMethod::Bkash)

bKash wallet (customer)

{{ filled($order->bkash_sender_number) ? $order->bkash_sender_number : '—' }}

bKash TrxID (customer)

{{ filled($order->bkash_transaction_id) ? $order->bkash_transaction_id : '—' }}

@endif

Totals

Subtotal{{ number_format((float) $order->subtotal, 2) }}
Packaging / Labeling{{ number_format((float) $order->packaging_cost, 2) }}
Delivery{{ number_format((float) $order->delivery_fee, 2) }}
Discount-{{ number_format((float) $order->discount, 2) }}
@if (filled($order->coupon_code))
Coupon code{{ $order->coupon_code }}
@endif
Total{{ number_format((float) $order->total, 2) }}
Paid {{ number_format((float) $order->paid_amount, 2) }}
Outstanding {{ number_format(max(0, (float) $order->total - (float) $order->paid_amount), 2) }}
{{-- Status transitions --}}

Order actions

@if ($statusVal === 'pending')
@csrf @method('PATCH')
@csrf @method('PATCH')
@elseif ($statusVal === 'confirmed')
@csrf @method('PATCH')
@csrf @method('PATCH')
@csrf @method('PATCH')
@elseif ($statusVal === 'shipped')
@csrf @method('PATCH')
@csrf @method('PATCH')
@elseif ($statusVal === 'delivered') Order delivered. @elseif ($statusVal === 'cancelled') Order cancelled. Stock has been returned. @endif @if ($canSendInvoice) @endif
@if ($canSendInvoice) @endif {{-- Items --}}

Items

@if (! $isEditable) Items locked (order is {{ $order->status->label() }}). @endif
@if ($order->items->isEmpty())

No items yet. Add a decant or full bottle below.

@else @if ($isEditable) @endif @foreach ($order->items as $item) @if ($isEditable) @endif @endforeach
Item Kind Qty Volume (ml) Unit price Line total
@if (! empty($item->fragrance?->image_url)) @else
N/A
@endif
{{ $item->label_snapshot }}
@if ($item->notes)
{{ $item->notes }}
@endif
@if ($item->kind?->value === 'bottle') Full Bottle @else Decant @endif {{ $item->quantity }} {{ number_format((float) $item->total_volume_ml, 2) }} ml {{ number_format((float) $item->unit_price, 2) }} {{ number_format((float) $item->line_total, 2) }}
@csrf @method('DELETE')
@endif
{{-- Add item form --}} @if ($isEditable)

Add item

@if ($errors->has('item'))
{{ $errors->first('item') }}
@endif
@csrf
@include('admin.partials.searchable-combobox', [ 'id' => 'fragrance_id', 'label' => 'Fragrance', 'placeholder' => 'Select fragrance...', 'searchPlaceholder' => 'Search brand or fragrance…', 'searchAriaLabel' => 'Search fragrances', 'emptyResultsText' => 'No fragrances match your search.', 'required' => true, 'selected' => old('fragrance_id'), 'emptyOption' => [ 'value' => '', 'label' => 'Select fragrance...', 'search' => 'select fragrance', ], 'options' => $fragrances->map(fn ($fragrance) => [ 'value' => $fragrance->id, 'label' => trim(($fragrance->brand?->name ? $fragrance->brand->name.' - ' : '').$fragrance->name), 'search' => strtolower(trim(($fragrance->brand?->name ?? '').' '.$fragrance->name)), ])->all(), ])
@endif {{-- Costs & Payment --}}

Costs & Payment

@csrf @method('PATCH')
@endsection