Customer
{{ $application->customer?->full_name_en }}{{ $contact?->primary_mobile ?? 'No mobile' }}Documents
{{ $application->documents->where('status','verified')->count() }}/{{ $application->documents->where('is_mandatory',true)->count() }}{{ str($application->document_status)->replace('_',' ')->title() }}Total Fee
{{ number_format((float)$application->total_price,2) }}Government + service + VATOpen Tasks
{{ $application->workflowTasks->whereNotIn('status',['completed','cancelled'])->count() }}{{ $application->workflowTasks->count() }} workflow tasksCurrent Stage Instructions
{{ $application->currentStage?->instructions ?? 'Follow the configured service workflow.' }}
Service Accountability
Permanent staff attribution remains visible after every workflow handoff.
Customer attended by
{{ $application->attendedBy?->name ?? $application->creator?->name ?? 'Not recorded' }}Intake / front deskService typed by
{{ $application->typedByUser?->name ?? 'Typing not started' }}Responsible typistTyping started
{{ $application->typing_started_at?->format('d M Y, h:i A') ?? 'Not started' }}Latest typing cycleTyping completed
{{ $application->typing_completed_at?->format('d M Y, h:i A') ?? 'In progress' }}Submitted for quality checkApplication Document Checklist
Mandatory evidence must be uploaded and verified before the workflow can advance.
| Requirement | Source | File | Status | Controlled Action |
|---|---|---|---|---|
| {{ $document->display_name }}{{ $document->is_mandatory ? 'Mandatory' : 'Optional' }} · {{ $document->documentType?->code }} | {{ str($document->source_entity)->replace('_',' ')->title() }}{{ $document->customer_document_id ? 'Linked vault version' : 'Application upload' }} | {{ $document->attachment_path || $document->customer_document_id ? 'Available' : 'Missing' }}@if($document->rejection_reason){{ $document->rejection_reason }}@endif | {{ ucfirst($document->status) }} |
@if(auth()->user()->hasPermission('documents.upload'))
Upload / Review |
✓No document rules configured This service can pass document verification without attachments. | ||||
Record Government Submission
Every portal attempt is immutable and receives its own attempt number.
Government Attempt History
Returns and resubmissions never overwrite earlier attempts.
| Attempt | Authority / Portal | References | Government Fee | Status | Response |
|---|---|---|---|---|---|
| #{{ $submission->attempt_number }}{{ $submission->created_at->format('d M Y, h:i A') }} | {{ $submission->authority_code }}{{ $submission->portal_name }} | {{ $submission->government_reference }}{{ $submission->request_number ?: $submission->transaction_number }} | AED {{ number_format((float)$submission->gov_fee_paid,2) }}{{ $submission->receipt_number }} | {{ ucfirst($submission->status) }} | {{ $submission->response_at?->format('d M Y, h:i A') ?? 'Awaiting response' }}@if($submission->return_reason){{ $submission->return_reason }}@endif |
GNo submission attempts Advance to Government Submission to record the first attempt. | |||||
Upload Approved Government Output
Store the exact delivered permit, visa, form, license or official receipt.
Output Register
Customer-visible final records attached to this application.
| Document | Type | Reference | Validity | Status |
|---|---|---|---|---|
| {{ $output->document_name }}By {{ $output->uploader?->name }} · {{ $output->created_at->diffForHumans() }} | {{ str($output->output_type)->replace('_',' ')->title() }} | {{ $output->reference_number ?: 'Not recorded' }} | {{ $output->issue_date?->format('d M Y') ?? '—' }}{{ $output->expiry_date ? 'Expires '.$output->expiry_date->format('d M Y') : 'No expiry' }} | {{ ucfirst($output->status) }} |
ONo approved outputs uploaded Outputs become available after government approval. | ||||
Notify Customer
Log the channel and exact collection message.
Secure Delivery Acknowledgement
Identify the recipient before closing the application.
Immutable Fee Snapshot
Government money remains separated from typing-center revenue.
| Fee | Classification | Tax | Amount |
|---|---|---|---|
| {{ $fee->name_en }}{{ $fee->fee_code }} | {{ str($fee->revenue_classification)->replace('_',' ')->title() }} | {{ str($fee->tax_behavior)->replace('_',' ')->title() }} | AED {{ number_format((float)$fee->amount,2) }} |
| Total | AED {{ number_format((float)$application->total_price,2) }} | ||
Workflow Tasks
Role handoffs create traceable operational assignments.
| Task | Assigned | Due | Status |
|---|---|---|---|
| {{ $task->task_number }} · {{ $task->title }}{{ $task->description }} | {{ $task->assignedUser?->name ?? 'Role queue' }} | {{ $task->due_at?->format('d M Y, h:i A') ?? 'No deadline' }} | {{ str($task->status)->replace('_',' ')->title() }} |
TNo workflow tasks yet The next role handoff creates an operational task. | |||
Complete Application Timeline
Stage movements, assignments and government actions are immutable.
{{ $history->fromStage?->stage_name_en ?? 'Application created' }} → {{ $history->toStage?->stage_name_en }}
{{ $history->remarks }}
By {{ $history->performedByUser?->name }}