@if($isEdit) Edit Booking: {{ $no }} @else Create New Booking @endif

@if($isEdit) Update the booking details below @else Fill in the booking details below @endif
@if($isEdit) @endif
Agent & Member Information
No agents found
@error('agent_code')
{{ $message }}
@enderror
Optional - Use QR code for agent registration or refresh to load registered agent
No customers found
Use the form below to create a new customer
@error('member_code')
{{ $message }}
@enderror
Customer Information (Will be saved/updated when booking is saved)
@error('newCustomer.name')
{{ $message }}
@enderror
@error('newCustomer.email')
{{ $message }}
@enderror Used as primary key for create/update
@error('newCustomer.phone')
{{ $message }}
@enderror
@error('newCustomer.address')
{{ $message }}
@enderror
How it works:
โ€ข If you select a customer above, this form will auto-fill with their data
โ€ข When you save the booking, customer will be updated if email matches existing record
โ€ข If email doesn't match any existing customer, a new customer will be created
โ€ข Email address is used as the primary matching key
Basic Information
@error('no')
{{ $message }}
@enderror
{{--
@error('date')
{{ $message }}
@enderror
--}}
@if($type === 'W') @elseif($type === 'O') @endif
No countries found
@error('country')
{{ $message }}
@enderror
@if($isEdit)
{{ $status === 'N' ? 'None' : ($status === 'S' ? 'Show Up' : ($status === 'C' ? 'Cancelled' : ($status === 'D' ? 'Draft' : ucfirst($status)))) }}
@endif
@error('notes')
{{ $message }}
@enderror Optional notes for this booking
@if($isEdit)
Update Status
@endif
Package Details
@if($this->allPackagesSelected) All packages have been selected @else Available packages: {{ count($this->packages) }} | Selected: {{ count(collect($this->bookingDetails)->where('code', '!=', '')->where('code', '!=', null)->pluck('code')->filter()->unique()->values()) }} @endif
@foreach($bookingDetails as $index => $detail) @endforeach
Package Date Price Qty Form
@error("bookingDetails.{$index}.code")
{{ $message }}
@enderror @if($this->getAvailablePackagesForRow($index)->isEmpty() && empty($detail['code']))
All packages already selected
@endif
@if($this->shouldShowTimeField($detail['code'] ?? '')) @endif
@error('bookingDetails.{$index}.date')
{{ $message }}
@enderror @if($this->shouldShowTimeField($detail['code'] ?? '')) @error('bookingDetails.{$index}.time')
{{ $message }}
@enderror @endif
getEffectivePermissionStatus()) readonly-field @endif" value="{{ $detail['price'] ?? 0 }}" min="0" step="1" wire:change="updatePrice({{ $index }}, $event.target.value)" @if(!$this->getEffectivePermissionStatus()) readonly @endif> @error("bookingDetails.{$index}.price")
{{ $message }}
@enderror
@error("bookingDetails.{$index}.qty")
{{ $message }}
@enderror
@php $package = collect($packages)->where('code', $detail['code'])->first(); $hasPersons = $package && $package->person > 0; @endphp @if($hasPersons) @endif @if(count($bookingDetails) > 1) @endif
@if($qrCodeGenerated)
@endif
Hotel Transport Service
@if($hotel_transport_requested === 'Y')
@error('hotel_name')
{{ $message }}
@enderror
@error('booking_nameinhotel')
{{ $message }}
@enderror
@error('room_number')
{{ $message }}
@enderror
@endif
Booking Summary
Total Quantity:
{{ number_format($qty, 0) }}
Total Gross:
{{ number_format($gross, 0) }}
Total Discount:
{{ number_format($disc, 0) }}
Discount %:
{{ number_format($discp, 2) }}%
@if($agent_code)
Commission Rate:
Commission Amount:
Total Nett:
{{ number_format($nett, 0) }}
@if(!$this->allPackagesPersonsFulfilled) @endif
@if(!$isEdit) @endif
@if($showExistingBookingsModal) @endif @if($showCreateCustomerModal) @endif @if($showQRModal) @endif @if($showBookingPersonQRModal) @endif @livewireScripts {{-- Assign Payment Modal --}} @if($showAssignPaymentModal) @endif @if($showViewPersonsModal) @endif @if($showDeleteConfirmModal) @endif @if($showDeletePersonConfirmModal) @endif @if($showRequestModal) @endif @if($showPendingRequestsModal) @endif @if($showPackageDetailsEditModal) @endif
@livewireScripts()