@if(!is_null($user) && $user->role == 'partner') Hi! {{ $user->organization_name}} Logout @else
Partner?
Login here @endif
{{-- STEP 1: Select Date & Time (with passengers and price) --}}

{{ $tour->name }}

1. Select Passengers

This tour has a passenger minimum of {{ (int) ($tour->min_seats ?? 1) }} and maximum of {{ (int) ($tour->max_seats ?? 99) }} per Booking. Please call 403-678-4802 for single person or large group Bookings.

@if(session()->has('error'))
{{ session('error') }}
@endif
@if($tour->private_fee_price && $tour->private_fee_price > 0)
Private Flight (+ ${{ number_format($tour->private_fee_price, 2) }})
@endif

2. Select Date

< December >
< 2021 >
Sun
Mon
Tue
Wed
Thu
Fri
Sat

3. Select Time Slot

Please select a booking time.

  • Please select a date first
Booking Summary
@php $step1Price = $this->getStep1PriceSummary(); @endphp @if($step1Price['adults']['qty'] > 0)
Adults ({{ $step1Price['adults']['qty'] }}) ${{ number_format($step1Price['adults']['display_total'] ?? $step1Price['adults']['total'], 2) }}
@endif @if($step1Price['children']['qty'] > 0)
Children ({{ $step1Price['children']['qty'] }}) ${{ number_format($step1Price['children']['display_total'] ?? $step1Price['children']['total'], 2) }}
@endif @if($step1Price['infants']['qty'] > 0)
Infants ({{ $step1Price['infants']['qty'] }}) ${{ number_format($step1Price['infants']['display_total'] ?? $step1Price['infants']['total'], 2) }}
@endif @if($step1Price['private_fee'] > 0)
Private Flight ${{ number_format($step1Price['private_fee'], 2) }}
@endif
Total ${{ number_format($step1Price['total'], 2) }}
{{-- STEP 2: Customer Details --}}
{{-- Before/After Stay Address - Always show, not customer details --}} @if(!$isAddingAnotherBooking)
@if($beforeStayAddress || $afterStayAddress)

To assist the Town of Canmore with local tourism data statistics, we are required to collect information regarding our guests accommodation location accompanying their planned helicopter sightseeing tour. Please select from the drop down boxes below the location that best describes your trip accommodation plans.

@endif @if($beforeStayAddress)
@error('before_stay_address') {{ $message }} @enderror
@endif {{-- After Stay Address --}} @if($afterStayAddress)
@error('after_stay_address') {{ $message }} @enderror
@endif
@endif
@if($isAddingAnotherBooking)

Passenger Details

Enter passenger information for this booking

@if(!is_null($user) && $user->role == 'partner') Partner: @else Customer: @endif {{ $fname }} {{ $lname }} ({{ $email }})
@if(!is_null($user) && $user->role == 'partner') Using existing partner information. @else Using existing customer information. @endif
@else @if(!is_null($user) && $user->role == 'partner')

Employee Details

@else

Customer Details

@endif @if(!is_null($user) && $user->role == 'partner' && count($partnerCustomers ?? []) > 0 && !$isAddingAnotherBooking)
@endif @if(!is_null($user) && $user->role == 'partner')

Enter the employee information

@else

Enter the customer information

@endif
@endif
@if(isset($bookingdata) && isset($bookingdata['tours'])) @php $tourIndex = 0; // Use numeric index for consistency with toggles @endphp @foreach($bookingdata['tours'] as $key => $val) @if(isset($val['qty']) && $val['qty'] > 0 && !in_array($val['rate'], ['addon', 'tax'])) @php // Check if names were already provided $hasPrefilledNames = isset($val['names']) && !empty($val['names']); $needsNameInput = false; if ($hasPrefilledNames) { foreach ($val['names'] as $name) { if (empty($name['first_name']) || empty($name['last_name'])) { $needsNameInput = true; break; } } } else { $needsNameInput = true; } @endphp @if($needsNameInput)

{{ $val['rate'] }} Passengers ({{ $val['qty'] }} {{ $val['qty'] > 1 ? 'guests' : 'guest' }})

@for ($i = 1; $i <= $val['qty']; $i++) @php // Pre-fill from names array if available $prefillFirst = $val['names'][$i-1]['first_name'] ?? ''; $prefillLast = $val['names'][$i-1]['last_name'] ?? ''; @endphp
{{ $val['rate'] }} {{ $i }}
@error("bookingdata.tours.{$key}.fname.{$i}") {{ $message }} @enderror
@error("bookingdata.tours.{$key}.lname.{$i}") {{ $message }} @enderror
@endfor
@endif @php $tourIndex++; @endphp @endif @endforeach @endif @if($this->showPrimaryContactSection())

Select the Primary Contact

The Primary Contact will receive all communication for this Tour.

@error('primaryContactSelection') {{ $message }} @enderror
@if($this->isPassengerPrimaryContactSelected())
@endif
@endif
@if($showAddonsStep) {{-- STEP 4: Addons --}}

Tour Addons

Enhance your experience with optional extras

@if($isAddingAnotherBooking && $email)
Booking for: {{ $fname }} {{ $lname }} ({{ $email }})
This booking will be added to the same order.
@endif
@if(count($addons) > 0) @foreach ($addons as $key => $value)
{{ ucfirst($value->name) }}

${{ number_format($value->price, 2) }}

@endforeach @else

No addons available for this tour

@endif @error('type') {{ $message }} @enderror
{{-- Price Breakdown --}}

Booking Price Summary

  • Tour: {{ $tour->name }}
  • Date: {{ isset($Steponedata['selected_date']) ? \Carbon\Carbon::parse($Steponedata['selected_date'])->format('l, F d, Y') : '-' }}
  • Time: {{ $Steponedata['booking_time'] ?? '-' }}
@if(isset($Steponedata) && !is_null($Steponedata) && isset($Steponedata['tours'])) @php $bookingPriceSummary = $this->getConsolidatedBookingSummary(); @endphp @php $privateFeeAmount = $this->getPrivateFeeListAmountFromSteponedata(); @endphp @foreach($Steponedata['tours'] as $key => $value) @if(isset($value['rate']) && $value['rate'] == 'addon') @elseif(isset($value['rate']) && ($value['rate'] == 'tax' || $value['rate'] == 'private_fee')) {{-- Handle specifically or skip if handled below --}} @else @endif @endforeach @if($privateFlightSelected && $privateFeeAmount > 0) @endif {{-- @if(($bookingPriceSummary['tour_discount_total'] ?? 0) > 0) @endif --}} @foreach($bookingPriceSummary['tour_tax_rows'] ?? [] as $row) @endforeach @if( ($bookingPriceSummary['addon_tax'] ?? 0) > 0) @endif @endif
Item Action Qty Price Total
Addon: {{ $value['name'] }}
@if(!empty($value['taxType'])) Tax: {{ $value['taxType'] }} @endif
{{ $value['qty'] ?? 1 }} ${{ number_format($value['price'], 2) }} ${{ number_format($value['price'] * ($value['qty'] ?? 1), 2) }}
@if(($value['tax'] ?? 0) > 0) Tax: ${{ number_format($value['tax'] * ($value['qty'] ?? 1), 2) }} @endif
Type: {{ $value['rate'] }} {{-- @if($cap = $this->getTourLineDiscountCaption($value)) {{ $cap }} @endif --}} {{ $value['qty'] }} ${{ number_format($this->getDisplayUnitPriceForTourLine($value), 2) }} ${{ number_format($this->getDisplayLineTotalForTourLine($value), 2) }}
Private Flight Upgrade 1 ${{ number_format($privateFeeAmount, 2) }} ${{ number_format($privateFeeAmount, 2) }}
Total savings (discounts) ${{ number_format($bookingPriceSummary['tour_discount_total'], 2) }}
{{ $row['label'] }} ${{ number_format($row['amount'], 2) }}
add-on tax ${{ number_format($bookingPriceSummary['addon_tax'] ?? 0) }}
Total ${{ number_format($bookingPriceSummary['grand_total'] ?? 0, 2) }}
@endif {{-- STEP 5: Confirmation --}}

Review & Confirm Your Booking

{{-- Customer Details --}}
@if(!is_null($user) && $user->role == 'partner')
Employee Details
@else
Customer Details
@endif

Name: {{ $fname }} {{ $lname }}

Email: {{ $email }}

Phone: {{ $phone }}

Address: {{ $address_line1 }}{{ $address_line2 ? ', ' . $address_line2 : '' }}, {{ $city }}, {{ $province }}, {{ $country }}, {{ $postal_code }}

{{-- Booking Details --}}
Booking Summary
@if(isset($tour))
Tour: {{ $tour->name }}

Date: {{ isset($Steponedata['selected_date']) ? \Carbon\Carbon::parse($Steponedata['selected_date'])->format('l, F d, Y') : '-' }}
Time: {{ $Steponedata['booking_time'] ?? '-' }}

@endif @if(isset($Steponedata) && !is_null($Steponedata)) @php $confirmBookingSummary = $this->getConsolidatedBookingSummary(); @endphp @foreach($Steponedata['tours'] as $key => $value) @if(isset($value['rate']) && $value['rate'] == 'addon') @elseif(isset($value['rate']) && $value['rate'] == 'tax') {{-- Skip --}} @elseif(isset($value['rate']) && $value['rate'] == 'private_fee') @else @endif @endforeach {{-- 1. Discounts (Commented out as per your original) --}} {{-- ... --}} {{-- 2. Tax Rows --}} @if(!empty($confirmBookingSummary['tour_tax_rows'])) @foreach($confirmBookingSummary['tour_tax_rows'] as $row) @endforeach @endif {{-- 3. Add-on Tax --}} @if(($confirmBookingSummary['addon_tax'] ?? 0) > 0) @endif {{-- 4. Grand Total (Always Show) --}} @endif
Item Qty Price Total
Addon: {{ $value['name'] }}
@if(!empty($value['taxType'])) Tax: {{ $value['taxType'] }} @endif
{{ $value['qty'] ?? 1 }} ${{ number_format($value['price'], 2) }} ${{ number_format($value['price'] * ($value['qty'] ?? 1), 2) }}
@if(($value['tax'] ?? 0) > 0) Tax: ${{ number_format($value['tax'] * ($value['qty'] ?? 1), 2) }} @endif
  • {{ $value['name'] }}
1 ${{ number_format($value['price'], 2) }} ${{ number_format($value['price'], 2) }}
  • {{ $value['rate'] }}
  • {{-- @if($cap = $this->getTourLineDiscountCaption($value))
  • {{ $cap }}
  • @endif --}}
{{ $value['qty'] }} ${{ number_format($this->getDisplayUnitPriceForTourLine($value), 2) }} ${{ number_format($this->getDisplayLineTotalForTourLine($value), 2) }}
{{ $row['label'] ?? 'Tax' }} ${{ number_format($row['amount'] ?? 0, 2) }}
Add-on Tax ${{ number_format($confirmBookingSummary['addon_tax'], 2) }}
Total ${{ number_format($confirmBookingSummary['grand_total'] ?? 0, 2) }}
{{-- Terms & Conditions --}}
{{-- STEP 6: Booking Confirmation --}}

Booking Confirmed!

Thank you for booking a Tour with us! An email confirmation will be sent to the address below:

@if($email)

{{ $email }}

@endif
{{-- --}}
@push('styles') @endpush @push('scripts') @endpush {{-- Validation Error Modal --}}