@extends('layouts.admin') @section('title',$booking->number) @section('heading','Service booking') @section('content')
{{ $booking->offering?->name }} · {{ $booking->vendor?->name }}
{{ $booking->customer?->name }}
{{ $booking->customer?->email }}
{{ $booking->customer?->phone }}
{{ $booking->notes ?: 'No customer notes.' }}
{{ $addon->name }} · {{ number_format((float)$addon->price,2) }} · {{ $addon->duration_minutes }} min
@emptyNo add-ons.
@endforelse| Phase | State | Verified at | Verified by | Failed attempts |
|---|---|---|---|---|
| {{ ucfirst(str_replace('_',' ',$record->phase)) }} | {{ $record->consumed_at ? 'verified' : ($record->expires_at->isPast() ? 'expired' : 'active') }} | {{ $record->consumed_at?->format('d M Y H:i:s') ?: '—' }} | {{ $record->verifier?->name ?: '—' }} | {{ $record->attempts }} |
| The customer has not opened a verification credential yet. | ||||
Check-in and check-out normally require the customer's QR/PIN. Administrative overrides are audit-labelled and require a reason.
| Time | From | To | Actor | Note |
|---|---|---|---|---|
| {{ $event->created_at->format('d M Y H:i') }} | {{ $event->from_status ?: '—' }} | {{ $event->to_status }} | {{ $event->actor?->name ?: 'System' }} | {{ $event->note ?: '—' }} |
| No events. | ||||