{{ __('Online Meeting Request Detail') }}

@if (session('success'))
{{ session('success') }}
@endif

Request Information

@php $duration = $request->start_time->diff($request->end_time); $durationParts = []; if ($duration->h > 0) { $durationParts[] = $duration->h . ' hr'; } if ($duration->i > 0) { $durationParts[] = $duration->i . ' min'; } $durationStr = implode(' ', $durationParts) ?: '0 min'; @endphp
Requested By
{{ $request->name ?? 'N/A' }}
Department
{{ $request->department ?? 'N/A' }}
Created At
{{ $request->created_at->format('d M Y H:i') }}
Title
{{ $request->title }}
@if ($request->meetingRoomBooking) @endif
Date
{{ $request->start_time->format('d M Y') }}
Time
{{ $request->start_time->format('H:i') }} - {{ $request->end_time->format('H:i') }}
Duration
{{ $durationStr }}
Status
$request->status === 'Initiated', 'bg-green-50 text-green-700 ring-1 ring-green-200' => $request->status === 'Approved', 'bg-red-50 text-red-700 ring-1 ring-red-200' => $request->status === 'Rejected', 'bg-gray-50 text-gray-700 ring-1 ring-gray-200' => $request->status === 'Cancelled', ])> {{ $request->status }}
@php $invitees = is_array($request->invitees) ? $request->invitees : ($request->invitees ? json_decode($request->invitees, true) : []); @endphp @if ($invitees && count($invitees) > 0)
Invitees
@foreach ($invitees as $invitee) {{ $invitee['name'] }} @endforeach
@endif @if ($request->recurrence_type && $request->recurrence_type !== 'none')
Recurrence
{{ ucfirst($request->recurrence_type) }} (every {{ $request->recurrence_interval }} {{ $request->recurrence_interval > 1 ? $request->recurrence_type . 's' : $request->recurrence_type }}) @if ($request->recurrence_end_date) until {{ \Carbon\Carbon::parse($request->recurrence_end_date)->format('d M Y') }} @endif
@endif
@if ($request->recurrence_type && $request->recurrence_type !== 'none')
All Meeting Dates
@php $currentDate = $request->start_time->copy(); $endDate = $request->recurrence_end_date ? \Carbon\Carbon::parse($request->recurrence_end_date)->endOfDay() : $request->start_time->copy()->addYear(); $dates = []; while ($currentDate->lte($endDate)) { $dates[] = $currentDate->format('d M Y'); switch ($request->recurrence_type) { case 'daily': $currentDate->addDays($request->recurrence_interval); break; case 'weekly': $currentDate->addWeeks($request->recurrence_interval); break; case 'monthly': $currentDate->addMonths($request->recurrence_interval); break; } } @endphp
    @foreach ($dates as $index => $date)
  • {{ $index + 1 }} {{ $date }} {{ $request->start_time->format('H:i') }} - {{ $request->end_time->format('H:i') }}
  • @endforeach
@endif
Remarks
{{ $request->remarks ?? 'No remarks provided.' }}
@if ($request->link_meeting)

Meeting Link:

{{ $request->link_meeting }}
@endif @if ($canApprove)

Zoom Account Availability

Max 2 meetings / account / day · 1 meeting = full day

Check existing Zoom meetings on the requested date(s) – like in Zoom Meetings. Accounts with < 2 meetings that day are Available, with 2 are Full.

@php $requestedDateLabel = $request->start_time->setTimezone('Asia/Jakarta')->format('d M Y'); $recurringLabel = ''; if ($request->recurrence_type && $request->recurrence_type !== 'none') { $recurringLabel = ' + recurring (' . ucfirst($request->recurrence_type) . ' every ' . $request->recurrence_interval . ($request->recurrence_end_date ? ' until ' . \Carbon\Carbon::parse($request->recurrence_end_date)->format('d M Y') : '') . ')'; } @endphp
{{ $requestedDateLabel }}{{ $recurringLabel }} {{ $request->start_time->format('H:i') }} - {{ $request->end_time->format('H:i') }} Asia/Jakarta
@endif @if ($request->approvals->isNotEmpty())

Activity Log

@foreach ($request->approvals->sortByDesc('created_at') as $approval) @php $statusStyles = [ 'Approved' => ['bg-green-50 text-green-700 ring-green-200', 'bg-green-500'], 'Rejected' => ['bg-red-50 text-red-700 ring-red-200', 'bg-red-500'], ]; [$pillClass, $dotClass] = $statusStyles[$approval->status] ?? ['bg-gray-50 text-gray-700 ring-gray-200', 'bg-gray-400']; @endphp
{{ strtoupper(substr($approval->user->name ?? '?', 0, 1)) }}
{{ $approval->user->name }} {{ $approval->created_at->format('d M Y H:i') }}
{{ $approval->status }}
@php $approvalComment = $approval->comment ?? $approval->remarks ?? null; @endphp @if ($approvalComment && trim($approvalComment))
{{ $approvalComment }}
@else

No comment provided.

@endif
@endforeach
@else {{--

No approval history found

Approval records will appear here once processed.

--}} @endif @if ($canApprove)

Actions

@endif

Approval Workflow

@php $workflowSteps = [ [ 'name' => $request->user->name, 'status' => 'Approved', 'display' => 'Submitted', ], [ 'name' => $request->approver1_name, 'status' => $request->status, 'display' => $request->status === 'Approved' ? 'Approved' : ($request->status === 'Initiated' ? 'Initiated' : ($request->status ?? 'Initiated')), ], ]; @endphp @foreach ($workflowSteps as $index => $step)
@php $bgColor = $step['status'] === 'Approved' ? '#dcfce7' : ($step['status'] === 'Rejected' ? '#fef9c3' : ($step['status'] === 'Cancelled' ? '#fee2e2' : '#dbeafe')); $borderColor = $step['status'] === 'Approved' ? '#22c55e' : ($step['status'] === 'Rejected' ? '#eab308' : ($step['status'] === 'Cancelled' ? '#ef4444' : '#3b82f6')); $textColor = $step['status'] === 'Approved' ? '#15803d' : ($step['status'] === 'Rejected' ? '#a16207' : ($step['status'] === 'Cancelled' ? '#b91c1c' : '#1d4ed8')); $icon = $step['status'] === 'Approved' ? '✓' : $index + 1; @endphp
{{ $icon }}
{{ $step['name'] ?? 'N/A' }}
{{ $step['display'] }}
@endforeach
Back @php($canCancelOMR = in_array($request->status, ['Initiated', 'Rejected', 'Approved']) && ($request->user_id === Auth::id() || Auth::user()->hasRole('admin') || ($request->approver1 && $request->canApproveAs(Auth::user(), (int) $request->approver1)))) @if ((in_array($request->status, ['Initiated', 'Rejected']) && $request->user_id === Auth::id()) || $canCancelOMR)
@if (in_array($request->status, ['Initiated', 'Rejected']) && $request->user_id === Auth::id()) Edit @endif @if ($canCancelOMR)
@csrf
@endif
@endif