{{-- Ticket Email - Atomic Composable v2.0 (Luxury Edition) Sent with order confirmation, displays ticket with QR code Variables: - $ticketNumber: Unique ticket identifier - $event: Event model/object with event details - $order: Order model/object - $seatNumber: Seat identifier (e.g., "A-12") - $sectionName: Section name (optional) - $price: Ticket price - $customerName: Customer full name - $qrCodeBase64: Base64 encoded QR code image - $ticketUrl: URL to download full ticket PDF Note: All design tokens auto-injected via View Composer --}} @component('emails.layouts.base', [ 'title' => 'Your Ticket - ' . $event->name, 'previewText' => 'Your ticket for ' . $event->name . ' - Seat ' . $seatNumber ]) {{-- Ticket Header --}} @component('emails.atoms.h1') Your Ticket is Ready @endcomponent @component('emails.atoms.text') Thank you for your purchase! Your ticket for {{ $event->name }} is confirmed and ready to use. @endcomponent @include('emails.atoms.spacer', ['height' => '32px']) {{-- Ticket Card with QR Code --}} @component('emails.organisms.card') {{-- Event Name --}}
{{ $event->name }} |
|
{{ \Carbon\Carbon::parse($event->start_date)->format('l, F j, Y') }} @if($event->start_time) at {{ \Carbon\Carbon::parse($event->start_time)->format('g:i A') }} @endif @if($event->address){{ $event->address }} @endif |
|
Seat Number {{ $seatNumber }} @if($sectionName)Section: {{ $sectionName }} @endif |
{{-- Spacer --}}
{{-- Right Column: Price & Ticket # --}} |
Ticket Price {{ $event->currency ?? 'EGP' }} {{ number_format($price, 2) }} Ticket #{{ $ticketNumber }} |
|
Ticket Holder {{ $customerName }} |
|
Present this QR code at the entrance {{-- QR Code Image --}}Scan to validate entry |
| @component('emails.molecules.button', [ 'href' => $ticketUrl, 'variant' => 'primary', 'size' => 'large' ]) Download Full Ticket PDF @endcomponent |