Back to quotations @if ($quotation->public_token) Client view @endif @can('send-quotation-emails') @if ($quotation->isEmailable())
@csrf
@endif @endcan

Quotation number

{{ $quotation->quotation_number }}

{{ $quotation->statusLabel() }}

Current total

R {{ number_format($quotation->grand_total, 2) }}

{{ $quotation->sent_at ? 'Sent '.$quotation->sent_at->format('d M Y H:i') : 'Not sent yet' }}

@if ($quotation->converted_invoice_id)
This quotation has already been converted to invoice {{ $quotation->convertedInvoice?->invoice_number }}.
@endif @if (! $quotation->isEditable())
This quotation is {{ strtolower($quotation->statusLabel()) }} and is locked to preserve lifecycle history. Create a new quotation if the scope or pricing must change.
@endif

Quotation journey

Lifecycle timeline

Draft, sent, viewed, response, converted.

@foreach ($timelineSteps as $step) @php $stateClass = match ($step['state']) { 'complete' => 'border-green-200 bg-green-50 text-green-800', 'current' => 'border-blue-200 bg-blue-50 text-blue-800', 'stopped' => 'border-rose-200 bg-rose-50 text-rose-800', 'unavailable' => 'border-slate-200 bg-slate-50 text-slate-500', default => 'border-slate-200 bg-white text-slate-600', }; $dotClass = match ($step['state']) { 'complete' => 'bg-green-600 text-white shadow-green-200', 'current' => 'bg-blue-600 text-white shadow-blue-200', 'stopped' => 'bg-rose-600 text-white shadow-rose-200', 'unavailable' => 'bg-slate-200 text-slate-500 shadow-slate-100', default => 'bg-white text-slate-400 shadow-slate-200', }; @endphp

{{ $step['label'] }}

{{ $step['timestamp'] ? $step['timestamp']->format('d M Y H:i') : ucfirst($step['state']) }}

{{ $step['description'] }}

@if (! empty($step['note']))

{{ $step['note'] }}

@endif @if (! empty($step['url']) && ! empty($step['link_label'])) Open {{ $step['link_label'] }} @endif
@endforeach
@if ($quotation->isEditable())
@method('PUT') @include('documents._form', ['type' => 'quotation', 'document' => $quotation, 'submitLabel' => 'Save quotation', 'indexRoute' => 'quotations.index'])
@else

Quotation locked

This quotation is locked.

@endif