@php $bookingRequest = $booking->bookingRequest ?? null; $xmlBody = $bookingRequest && isset($bookingRequest->xml_body) ? json_decode($bookingRequest->xml_body, true) : null; $airline = strtolower($booking->airline); @endphp @if ($bookingRequest) @if ($airline === 'emirates')

  • ID: {{ $bookingRequest->id ?? 'N/A' }}
  • Airline: {{ $bookingRequest->airline ?? 'N/A' }}
  • Ticket Limit: {{ isset($bookingRequest->ticket_limit) ? \Carbon\Carbon::parse($bookingRequest->ticket_limit)->format('d M Y, H:i') : 'N/A' }}
  • Payment Limit: {{ isset($bookingRequest->payment_limit) ? \Carbon\Carbon::parse($bookingRequest->payment_limit)->format('d M Y, H:i') : 'N/A' }}
  • Status: {{ isset($bookingRequest->status) ? ucfirst($bookingRequest->status) : 'N/A' }}
  • Client ID: {{ $bookingRequest->client_id ?? 'N/A' }}
  • Booking ID: {{ $bookingRequest->booking_id ?? 'N/A' }}
  • Created At: {{ isset($bookingRequest->created_at) ? \Carbon\Carbon::parse($bookingRequest->created_at)->format('d M Y, H:i') : 'N/A' }}
  • Updated At: {{ isset($bookingRequest->updated_at) ? \Carbon\Carbon::parse($bookingRequest->updated_at)->format('d M Y, H:i') : 'N/A' }}
@if ($xmlBody && isset($xmlBody['passengers']) && !empty($xmlBody['passengers']))

@foreach ($xmlBody['passengers'] as $passenger)
Passenger {{ $passenger['id'] ?? 'Unknown' }} ({{ $passenger['type'] ?? 'N/A' }})
  • Name: {{ isset($passenger['title']) ? $passenger['title'] : '' }} {{ $passenger['givenName'] ?? '' }} {{ $passenger['surname'] ?? '' }}
  • Birthdate: {{ isset($passenger['birthdate']) ? \Carbon\Carbon::parse($passenger['birthdate'])->format('d M Y') : 'N/A' }}
  • Gender: {{ $passenger['gender'] ?? 'N/A' }}
  • Contact Ref: {{ $passenger['contactRef'] ?? 'N/A' }}
@endforeach
@else
No passenger information available.
@endif @if ($xmlBody && isset($xmlBody['segments']) && !empty($xmlBody['segments']))

@foreach ($xmlBody['segments'] as $index => $segment)
Segment: {{ $segment['departureCode'] ?? 'N/A' }} to {{ $segment['arrivalCode'] ?? 'N/A' }}
Flight Details
  • Departure: {{ $segment['flights']['Departure']['AirportName']['value'] ?? 'N/A' }} ({{ $segment['flights']['Departure']['AirportCode']['value'] ?? 'N/A' }}) on {{ isset($segment['flights']['Departure']['Date']['value']) ? \Carbon\Carbon::parse($segment['flights']['Departure']['Date']['value'])->format('d M Y') : 'N/A' }} at {{ $segment['flights']['Departure']['Time']['value'] ?? 'N/A' }}
  • Arrival: {{ $segment['flights']['Arrival']['AirportName']['value'] ?? 'N/A' }} ({{ $segment['flights']['Arrival']['AirportCode']['value'] ?? 'N/A' }}) on {{ isset($segment['flights']['Arrival']['Date']['value']) ? \Carbon\Carbon::parse($segment['flights']['Arrival']['Date']['value'])->format('d M Y') : 'N/A' }} at {{ $segment['flights']['Arrival']['Time']['value'] ?? 'N/A' }}
  • Duration: {{ $segment['duration'] ?? 'N/A' }}
  • Price: {{ isset($segment['price']) ? $segment['price']['code'] . ' ' . number_format($segment['price']['amount'], 2) : 'N/A' }}
  • Aircraft: {{ $segment['flights']['equipment']['Name']['value'] ?? 'N/A' }} ({{ $segment['flights']['equipment']['AircraftCode']['value'] ?? 'N/A' }})
  • Carrier: {{ $segment['flights']['marketingCarrier']['Name']['value'] ?? 'N/A' }} (Flight {{ $segment['flights']['marketingCarrier']['FlightNumber']['value'] ?? 'N/A' }})
@if (isset($segment['flights']['secondFlight']))
Connecting Flight
  • Departure: {{ $segment['flights']['secondFlight']['departure']['AirportName']['value'] ?? 'N/A' }} ({{ $segment['flights']['secondFlight']['departure']['AirportCode']['value'] ?? 'N/A' }}) on {{ isset($segment['flights']['secondFlight']['departure']['Date']['value']) ? \Carbon\Carbon::parse($segment['flights']['secondFlight']['departure']['Date']['value'])->format('d M Y') : 'N/A' }} at {{ $segment['flights']['secondFlight']['departure']['Time']['value'] ?? 'N/A' }}
  • Arrival: {{ $segment['flights']['secondFlight']['arrival']['AirportName']['value'] ?? 'N/A' }} ({{ $segment['flights']['secondFlight']['arrival']['AirportCode']['value'] ?? 'N/A' }}) on {{ isset($segment['flights']['secondFlight']['arrival']['Date']['value']) ? \Carbon\Carbon::parse($segment['flights']['secondFlight']['arrival']['Date']['value'])->format('d M Y') : 'N/A' }} at {{ $segment['flights']['secondFlight']['arrival']['Time']['value'] ?? 'N/A' }}
  • Aircraft: {{ $segment['flights']['secondFlight']['equipment']['Name']['value'] ?? 'N/A' }} ({{ $segment['flights']['secondFlight']['equipment']['AircraftCode']['value'] ?? 'N/A' }})
  • Carrier: {{ $segment['flights']['secondFlight']['marketingCarrier']['Name']['value'] ?? 'N/A' }} (Flight {{ $segment['flights']['secondFlight']['marketingCarrier']['FlightNumber']['value'] ?? 'N/A' }})
@endif
@endforeach
@else
No flight segments available.
@endif @if ($xmlBody && isset($xmlBody['ticketInfos']) && !empty($xmlBody['ticketInfos']))

@foreach ($xmlBody['ticketInfos'] as $ticket)
Ticket for Passenger {{ $ticket['passengerReference'] ?? 'N/A' }}
  • Ticket Number: {{ $ticket['ticketDocument']['ticketDocNbr'] ?? 'N/A' }}
  • Base Fare: {{ isset($ticket['price']['details']['amount']) ? $ticket['price']['details']['amount']['code'] . ' ' . number_format($ticket['price']['details']['amount']['value'], 2) : 'N/A' }}
  • Total Price: {{ isset($ticket['price']['total']) ? $ticket['price']['total']['code'] . ' ' . number_format($ticket['price']['total']['value'], 2) : 'N/A' }}
@if (isset($ticket['price']['details']['taxes']['breakdown']) && !empty($ticket['price']['details']['taxes']['breakdown']))
Tax Breakdown
    @foreach ($ticket['price']['details']['taxes']['breakdown'] as $tax)
  • {{ $tax['description'] ?? 'Unknown Tax' }}: {{ isset($tax['amount']) ? $tax['amount']['code'] . ' ' . number_format($tax['amount']['value'], 2) : 'N/A' }}
  • @endforeach
@else

No tax breakdown available.

@endif
@endforeach
@else
No pricing information available.
@endif @if ($xmlBody && isset($xmlBody['bundle']['offerItem']) && !empty($xmlBody['bundle']['offerItem']))

@foreach ($xmlBody['bundle']['offerItem'] as $offer) @if (isset($offer['fareDetail']['penalties']) && !empty($offer['fareDetail']['penalties'])) @foreach ($offer['fareDetail']['penalties'] as $penalty)
{{ $penalty['arrival'] ?? 'N/A' }} to {{ $penalty['destination'] ?? 'N/A' }} ({{ $penalty['cabinType'] ?? 'N/A' }})
Cancellation Fees
  • Prior to Departure: {{ isset($penalty['fareRules']['cancelFee']['Prior to Departure']['price']) ? $penalty['fareRules']['cancelFee']['Prior to Departure']['price']['code'] . ' ' . number_format($penalty['fareRules']['cancelFee']['Prior to Departure']['price']['amount'], 2) : 'N/A' }}
  • No Show: {{ isset($penalty['fareRules']['cancelFee']['No Show']['price']) ? $penalty['fareRules']['cancelFee']['No Show']['price']['code'] . ' ' . number_format($penalty['fareRules']['cancelFee']['No Show']['price']['amount'], 2) : 'N/A' }}
Change Fees
  • Prior to Departure: {{ isset($penalty['fareRules']['changeFee']['Prior to Departure']['price']) ? $penalty['fareRules']['changeFee']['Prior to Departure']['price']['code'] . ' ' . number_format($penalty['fareRules']['changeFee']['Prior to Departure']['price']['amount'], 2) : 'N/A' }}
  • After Departure: {{ isset($penalty['fareRules']['changeFee']['After Departure']['price']) ? $penalty['fareRules']['changeFee']['After Departure']['price']['code'] . ' ' . number_format($penalty['fareRules']['changeFee']['After Departure']['price']['amount'], 2) : 'N/A' }}
  • No Show: {{ isset($penalty['fareRules']['changeFee']['No Show']['price']) ? $penalty['fareRules']['changeFee']['No Show']['price']['code'] . ' ' . number_format($penalty['fareRules']['changeFee']['No Show']['price']['amount'], 2) : 'N/A' }}
Refund Status
  • Status: {{ $penalty['fareRules']['refundFee']['Status'] ?? 'N/A' }}
@endforeach @else

No penalties available for this offer.

@endif @endforeach
@else
No penalties information available.
@endif
@elseif ($airline === 'flyjinnah') @php $airReservation = !empty($xmlBody['response']['Body']['OTA_AirBookRS']['AirReservation']) ? $xmlBody['response']['Body']['OTA_AirBookRS']['AirReservation'] : (!empty($xmlBody['Body']['OTA_AirBookRS']['AirReservation']) ? $xmlBody['Body']['OTA_AirBookRS']['AirReservation'] : null); @endphp @if ($bookingRequest && (is_array($xmlBody) || is_array($airReservation)))

  • ID: {{ $bookingRequest->id ?? 'N/A' }}
  • Airline: {{ $bookingRequest->airline ?? 'N/A' }}
  • Ticket Limit: {{ !empty($bookingRequest->ticket_limit) ? \Carbon\Carbon::parse($bookingRequest->ticket_limit)->format('d M Y, H:i') : (!empty($airReservation['Ticketing']['@attributes']['TicketTimeLimit']) ? \Carbon\Carbon::parse($airReservation['Ticketing']['@attributes']['TicketTimeLimit'])->format('d M Y, H:i') : 'N/A') }}
  • Payment Limit: {{ !empty($bookingRequest->payment_limit) ? \Carbon\Carbon::parse($bookingRequest->payment_limit)->format('d M Y, H:i') : 'N/A' }}
  • Status: {{ !empty($bookingRequest->status) ? ucfirst($bookingRequest->status) : (!empty($airReservation['Ticketing']['TicketAdvisory']) ? $airReservation['Ticketing']['TicketAdvisory'] : 'N/A') }}
  • Client ID: {{ $bookingRequest->client_id ?? 'N/A' }}
  • Booking ID: {{ $bookingRequest->booking_id ?? 'N/A' }}
  • Transaction ID: {{ !empty($xmlBody['transactionId']) ? $xmlBody['transactionId'] : (!empty($xmlBody['Body']['OTA_AirBookRS']['@attributes']['TransactionIdentifier']) ? $xmlBody['Body']['OTA_AirBookRS']['@attributes']['TransactionIdentifier'] : 'N/A') }}
  • Total Amount: {{ !empty($xmlBody['code']) && !empty($xmlBody['amount']) ? $xmlBody['code'] . ' ' . number_format($xmlBody['amount'], 2) : (!empty($airReservation['PriceInfo']['ItinTotalFare']['TotalFare']['@attributes']['CurrencyCode']) && !empty($airReservation['PriceInfo']['ItinTotalFare']['TotalFare']['@attributes']['Amount']) ? $airReservation['PriceInfo']['ItinTotalFare']['TotalFare']['@attributes']['CurrencyCode'] . ' ' . number_format($airReservation['PriceInfo']['ItinTotalFare']['TotalFare']['@attributes']['Amount'], 2) : 'N/A') }}
  • Message: {{ !empty($xmlBody['message']) ? $xmlBody['message'] : (!empty($airReservation['Ticketing']['TicketAdvisory']) ? $airReservation['Ticketing']['TicketAdvisory'] : 'N/A') }}
  • Booking Reference: {{ !empty($airReservation['BookingReferenceID']['@attributes']['ID']) ? $airReservation['BookingReferenceID']['@attributes']['ID'] : 'N/A' }}
  • Created At: {{ !empty($bookingRequest->created_at) ? \Carbon\Carbon::parse($bookingRequest->created_at)->format('d M Y, H:i') : 'N/A' }}
  • Updated At: {{ !empty($bookingRequest->updated_at) ? \Carbon\Carbon::parse($bookingRequest->updated_at)->format('d M Y, H:i') : 'N/A' }}
@if (!empty($xmlBody['passengers']) && is_array($xmlBody['passengers']))

@foreach ($xmlBody['passengers'] as $index => $passenger) @if (is_array($passenger))
Passenger {{ !empty($passenger['ref_no']) ? $passenger['ref_no'] : 'Unknown' }} ({{ !empty($passenger['passenger_type']) ? $passenger['passenger_type'] : 'N/A' }})
  • Name: {{ !empty($passenger['name']) ? $passenger['name'] : 'N/A' }}
  • Nationality: {{ !empty($passenger['nationality']) ? $passenger['nationality'] : 'N/A' }}
  • Phone Number: {{ !empty($passenger['phone_number']) ? $passenger['phone_number'] : 'N/A' }}
  • Reference Number: {{ !empty($passenger['ref_no']) ? $passenger['ref_no'] : 'N/A' }}
@if (!empty($passenger['seats']) && is_array($passenger['seats']))
Seats
    @foreach ($passenger['seats'] as $seat) @if (is_array($seat))
  • Seat: {{ !empty($seat['seat_number']) ? $seat['seat_number'] : 'N/A' }} (Flight {{ !empty($seat['flight_number']) ? $seat['flight_number'] : 'N/A' }}, {{ !empty($seat['departure_date']) ? \Carbon\Carbon::parse($seat['departure_date'])->format('d M Y, H:i') : 'N/A' }})
  • @endif @endforeach
@else

No seat information available.

@endif @if (!empty($passenger['baggage']) && is_array($passenger['baggage']))
Baggage
    @foreach ($passenger['baggage'] as $baggage) @if (is_array($baggage))
  • Baggage: {{ !empty($baggage['baggage_code']) ? $baggage['baggage_code'] : 'N/A' }} (Flight {{ !empty($baggage['flight_number']) ? $baggage['flight_number'] : 'N/A' }}, {{ !empty($baggage['departure_date']) ? \Carbon\Carbon::parse($baggage['departure_date'])->format('d M Y, H:i') : 'N/A' }})
  • @endif @endforeach
@else

No baggage information available.

@endif @if (!empty($passenger['meals']) && is_array($passenger['meals']))
Meals
    @foreach ($passenger['meals'] as $meal) @if (is_array($meal))
  • Meal: {{ !empty($meal['meal_code']) ? $meal['meal_code'] : 'N/A' }} (Quantity: {{ !empty($meal['meal_quantity']) ? $meal['meal_quantity'] : 'N/A' }}, Flight {{ !empty($meal['flight_number']) ? $meal['flight_number'] : 'N/A' }}, {{ !empty($meal['departure_date']) ? \Carbon\Carbon::parse($meal['departure_date'])->format('d M Y, H:i') : 'N/A' }})
  • @endif @endforeach
@else

No meal information available.

@endif @if (!empty($passenger['tickets']) && is_array($passenger['tickets']))
Tickets
    @foreach ($passenger['tickets'] as $ticket) @if (is_array($ticket))
  • Ticket: {{ !empty($ticket['e_ticket_no']) ? $ticket['e_ticket_no'] : 'N/A' }} (Coupon: {{ !empty($ticket['coupon_no']) ? $ticket['coupon_no'] : 'N/A' }}, Segment: {{ !empty($ticket['flight_segment']) ? $ticket['flight_segment'] : 'N/A' }}, Status: {{ !empty($ticket['status']) ? $ticket['status'] : 'N/A' }})
  • @endif @endforeach
@else

No ticket information available.

@endif
@endif @endforeach
@elseif (!empty($airReservation['TravelerInfo']['AirTraveler']))

@php // Normalize AirTraveler to always be an array $travelers = is_array($airReservation['TravelerInfo']['AirTraveler']) && isset($airReservation['TravelerInfo']['AirTraveler'][0]) ? $airReservation['TravelerInfo']['AirTraveler'] : [$airReservation['TravelerInfo']['AirTraveler']]; @endphp @foreach ($travelers as $index => $traveler) @if (is_array($traveler))
Passenger {{ !empty($traveler['TravelerRefNumber']['@attributes']['RPH']) ? $traveler['TravelerRefNumber']['@attributes']['RPH'] : 'Unknown' }} ({{ !empty($traveler['@attributes']['PassengerTypeCode']) ? $traveler['@attributes']['PassengerTypeCode'] : 'N/A' }})
  • Name: {{ !empty($traveler['PersonName']['GivenName']) && !empty($traveler['PersonName']['Surname']) ? $traveler['PersonName']['GivenName'] . ' ' . $traveler['PersonName']['Surname'] : 'N/A' }}
  • Nationality: {{ !empty($traveler['Document']['@attributes']['DocHolderNationality']) ? $traveler['Document']['@attributes']['DocHolderNationality'] : 'N/A' }}
  • Phone Number: {{ !empty($traveler['Telephone']['@attributes']['PhoneNumber']) ? $traveler['Telephone']['@attributes']['PhoneNumber'] : 'N/A' }}
  • Reference Number: {{ !empty($traveler['TravelerRefNumber']['@attributes']['RPH']) ? $traveler['TravelerRefNumber']['@attributes']['RPH'] : 'N/A' }}
@if ( !empty($traveler['ETicketInfo']) && is_array($traveler['ETicketInfo']) && !empty($traveler['ETicketInfo']['ETicketInformation']) && is_array($traveler['ETicketInfo']['ETicketInformation']))
Tickets
    @foreach ($traveler['ETicketInfo']['ETicketInformation'] as $ticket) @if (is_array($ticket))
  • Ticket: {{ !empty($ticket['@attributes']['eTicketNo']) ? $ticket['@attributes']['eTicketNo'] : 'N/A' }} (Coupon: {{ !empty($ticket['@attributes']['couponNo']) ? $ticket['@attributes']['couponNo'] : 'N/A' }}, Segment: {{ !empty($ticket['@attributes']['flightSegmentCode']) ? $ticket['@attributes']['flightSegmentCode'] : 'N/A' }}, Status: {{ !empty($ticket['@attributes']['status']) ? $ticket['@attributes']['status'] : 'N/A' }})
  • @endif @endforeach
@else

No ticket information available.

@endif
@endif @endforeach
@else
No passenger information available.
@endif @if ( !empty($airReservation['AirItinerary']['OriginDestinationOptions']['OriginDestinationOption']) && is_array($airReservation['AirItinerary']['OriginDestinationOptions']['OriginDestinationOption']))

@php $options = $airReservation['AirItinerary']['OriginDestinationOptions'][ 'OriginDestinationOption' ]; $options = is_array($options) && isset($options[0]) ? $options : [$options]; @endphp @foreach ($options as $index => $option) @if (!empty($option['FlightSegment']) && is_array($option['FlightSegment'])) @foreach ($option['FlightSegment'] as $segment) @if (is_array($segment))
Segment: {{ !empty($segment['DepartureAirport']['@attributes']['LocationCode']) ? $segment['DepartureAirport']['@attributes']['LocationCode'] : 'N/A' }} to {{ !empty($segment['ArrivalAirport']['@attributes']['LocationCode']) ? $segment['ArrivalAirport']['@attributes']['LocationCode'] : 'N/A' }}
Flight Details
  • Departure: {{ !empty($segment['Comment']) ? str_replace('airport_short_names:', '', $segment['Comment']) : 'N/A' }} ({{ !empty($segment['DepartureAirport']['@attributes']['LocationCode']) ? $segment['DepartureAirport']['@attributes']['LocationCode'] : 'N/A' }}) on {{ !empty($segment['@attributes']['DepartureDateTime']) ? \Carbon\Carbon::parse($segment['@attributes']['DepartureDateTime'])->format('d M Y') : 'N/A' }} at {{ !empty($segment['@attributes']['DepartureDateTime']) ? \Carbon\Carbon::parse($segment['@attributes']['DepartureDateTime'])->format('H:i') : 'N/A' }}
  • Arrival: {{ !empty($segment['Comment']) ? str_replace('airport_short_names:', '', $segment['Comment']) : 'N/A' }} ({{ !empty($segment['ArrivalAirport']['@attributes']['LocationCode']) ? $segment['ArrivalAirport']['@attributes']['LocationCode'] : 'N/A' }}) on {{ !empty($segment['@attributes']['ArrivalDateTime']) ? \Carbon\Carbon::parse($segment['@attributes']['ArrivalDateTime'])->format('d M Y') : 'N/A' }} at {{ !empty($segment['@attributes']['ArrivalDateTime']) ? \Carbon\Carbon::parse($segment['@attributes']['ArrivalDateTime'])->format('H:i') : 'N/A' }}
  • Terminal: Departure - {{ !empty($segment['DepartureAirport']['@attributes']['Terminal']) ? $segment['DepartureAirport']['@attributes']['Terminal'] : 'N/A' }}, Arrival - {{ !empty($segment['ArrivalAirport']['@attributes']['Terminal']) ? $segment['ArrivalAirport']['@attributes']['Terminal'] : 'N/A' }}
  • Duration: {{ !empty($segment['@attributes']['DepartureDateTime']) && !empty($segment['@attributes']['ArrivalDateTime']) ? \Carbon\Carbon::parse($segment['@attributes']['DepartureDateTime'])->diffInMinutes(\Carbon\Carbon::parse($segment['@attributes']['ArrivalDateTime'])) . ' minutes' : 'N/A' }}
  • Flight Number: {{ !empty($segment['@attributes']['FlightNumber']) ? $segment['@attributes']['FlightNumber'] : 'N/A' }}
  • Cabin Class: {{ !empty($segment['@attributes']['ResCabinClass']) ? $segment['@attributes']['ResCabinClass'] : 'N/A' }}
  • Status: {{ !empty($segment['@attributes']['Status']) ? $segment['@attributes']['Status'] : 'N/A' }}
@endif @endforeach @endif @endforeach
@else
No flight segments available.
@endif @if (!empty($airReservation['PriceInfo']['ItinTotalFare']) && is_array($airReservation['PriceInfo']['ItinTotalFare']))

@php $priceInfo = $airReservation['PriceInfo']['ItinTotalFare']; @endphp
Pricing Details
  • Base Fare: {{ !empty($priceInfo['BaseFare']['@attributes']['CurrencyCode']) && !empty($priceInfo['BaseFare']['@attributes']['Amount']) ? $priceInfo['BaseFare']['@attributes']['CurrencyCode'] . ' ' . number_format($priceInfo['BaseFare']['@attributes']['Amount'], 2) : 'N/A' }}
  • Equivalent Base Fare: {{ !empty($priceInfo['EquiBaseFare']['@attributes']['CurrencyCode']) && !empty($priceInfo['EquiBaseFare']['@attributes']['Amount']) ? $priceInfo['EquiBaseFare']['@attributes']['CurrencyCode'] . ' ' . number_format($priceInfo['EquiBaseFare']['@attributes']['Amount'], 2) : 'N/A' }}
  • Taxes: {{ !empty($priceInfo['Taxes']['Tax']['@attributes']['CurrencyCode']) && !empty($priceInfo['Taxes']['Tax']['@attributes']['Amount']) ? $priceInfo['Taxes']['Tax']['@attributes']['CurrencyCode'] . ' ' . number_format($priceInfo['Taxes']['Tax']['@attributes']['Amount'], 2) . ' (' . $priceInfo['Taxes']['Tax']['@attributes']['TaxCode'] . ')' : 'N/A' }}
  • Fees: {{ !empty($priceInfo['Fees']['Fee']['@attributes']['CurrencyCode']) && !empty($priceInfo['Fees']['Fee']['@attributes']['Amount']) ? $priceInfo['Fees']['Fee']['@attributes']['CurrencyCode'] . ' ' . number_format($priceInfo['Fees']['Fee']['@attributes']['Amount'], 2) . ' (' . $priceInfo['Fees']['Fee']['@attributes']['FeeCode'] . ')' : 'N/A' }}
  • Total Fare: {{ !empty($priceInfo['TotalFare']['@attributes']['CurrencyCode']) && !empty($priceInfo['TotalFare']['@attributes']['Amount']) ? $priceInfo['TotalFare']['@attributes']['CurrencyCode'] . ' ' . number_format($priceInfo['TotalFare']['@attributes']['Amount'], 2) : 'N/A' }}
  • Equivalent Total Fare: {{ !empty($priceInfo['TotalEquivFare']['@attributes']['CurrencyCode']) && !empty($priceInfo['TotalEquivFare']['@attributes']['Amount']) ? $priceInfo['TotalEquivFare']['@attributes']['CurrencyCode'] . ' ' . number_format($priceInfo['TotalEquivFare']['@attributes']['Amount'], 2) : 'N/A' }}
  • Total Fare with CC Fee: {{ !empty($priceInfo['TotalFareWithCCFee']['@attributes']['CurrencyCode']) && !empty($priceInfo['TotalFareWithCCFee']['@attributes']['Amount']) ? $priceInfo['TotalFareWithCCFee']['@attributes']['CurrencyCode'] . ' ' . number_format($priceInfo['TotalFareWithCCFee']['@attributes']['Amount'], 2) : 'N/A' }}
  • Equivalent Total Fare with CC Fee: {{ !empty($priceInfo['TotalEquivFareWithCCFee']['@attributes']['CurrencyCode']) && !empty($priceInfo['TotalEquivFareWithCCFee']['@attributes']['Amount']) ? $priceInfo['TotalEquivFareWithCCFee']['@attributes']['CurrencyCode'] . ' ' . number_format($priceInfo['TotalEquivFareWithCCFee']['@attributes']['Amount'], 2) : 'N/A' }}
@if ( !empty($airReservation['PriceInfo']['PTC_FareBreakdowns']['PTC_FareBreakdown']) && is_array($airReservation['PriceInfo']['PTC_FareBreakdowns']['PTC_FareBreakdown'])) @php $ptcFare = is_array( $airReservation['PriceInfo']['PTC_FareBreakdowns'][ 'PTC_FareBreakdown' ], ) && isset( $airReservation['PriceInfo']['PTC_FareBreakdowns'][ 'PTC_FareBreakdown' ][0], ) ? $airReservation['PriceInfo']['PTC_FareBreakdowns'][ 'PTC_FareBreakdown' ] : [ $airReservation['PriceInfo']['PTC_FareBreakdowns'][ 'PTC_FareBreakdown' ], ]; @endphp
Fare Breakdown
@foreach ($ptcFare as $fare) @if (is_array($fare) && !empty($fare['PassengerTypeQuantity']['@attributes']))
Passenger Type: {{ !empty($fare['PassengerTypeQuantity']['@attributes']['Code']) ? $fare['PassengerTypeQuantity']['@attributes']['Code'] : 'N/A' }} (Quantity: {{ !empty($fare['PassengerTypeQuantity']['@attributes']['Quantity']) ? $fare['PassengerTypeQuantity']['@attributes']['Quantity'] : 'N/A' }})
  • Fare Basis Code: {{ !empty($fare['FareBasisCodes']['FareBasisCode']) ? $fare['FareBasisCodes']['FareBasisCode'] : 'N/A' }}
  • Base Fare: {{ !empty($fare['PassengerFare']['BaseFare']['@attributes']['CurrencyCode']) && !empty($fare['PassengerFare']['BaseFare']['@attributes']['Amount']) ? $fare['PassengerFare']['BaseFare']['@attributes']['CurrencyCode'] . ' ' . number_format($fare['PassengerFare']['BaseFare']['@attributes']['Amount'], 2) : 'N/A' }}
  • Equivalent Base Fare: {{ !empty($fare['PassengerFare']['EquiBaseFare']['@attributes']['CurrencyCode']) && !empty($fare['PassengerFare']['EquiBaseFare']['@attributes']['Amount']) ? $fare['PassengerFare']['EquiBaseFare']['@attributes']['CurrencyCode'] . ' ' . number_format($fare['PassengerFare']['EquiBaseFare']['@attributes']['Amount'], 2) : 'N/A' }}
  • Total Fare: {{ !empty($fare['PassengerFare']['TotalFare']['@attributes']['CurrencyCode']) && !empty($fare['PassengerFare']['TotalFare']['@attributes']['Amount']) ? $fare['PassengerFare']['TotalFare']['@attributes']['CurrencyCode'] . ' ' . number_format($fare['PassengerFare']['TotalFare']['@attributes']['Amount'], 2) : 'N/A' }}
@if (!empty($fare['PassengerFare']['Taxes']['Tax']) && is_array($fare['PassengerFare']['Taxes']['Tax']))
Taxes
    @foreach ($fare['PassengerFare']['Taxes']['Tax'] as $tax) @if (is_array($tax))
  • {{ !empty($tax['@attributes']['TaxName']) ? $tax['@attributes']['TaxName'] : 'Tax' }}: {{ !empty($tax['@attributes']['CurrencyCode']) && !empty($tax['@attributes']['Amount']) ? $tax['@attributes']['CurrencyCode'] . ' ' . number_format($tax['@attributes']['Amount'], 2) : 'N/A' }} ({{ !empty($tax['@attributes']['TaxCode']) ? $tax['@attributes']['TaxCode'] : 'N/A' }})
  • @endif @endforeach
@endif @if (!empty($fare['PassengerFare']['Fees']['Fee']) && is_array($fare['PassengerFare']['Fees']['Fee']))
Fees
    @foreach ($fare['PassengerFare']['Fees']['Fee'] as $fee)
  • Fee: {{ $fee }}
  • @endforeach
@endif
@endif @endforeach @endif @if ( !empty($airReservation['Fulfillment']['PaymentDetails']['PaymentDetail']) && is_array($airReservation['Fulfillment']['PaymentDetails']['PaymentDetail']))
Payment Details
    @foreach ($airReservation['Fulfillment']['PaymentDetails']['PaymentDetail'] as $payment) @if (is_array($payment))
  • Payment: {{ !empty($payment['PaymentAmount']['@attributes']['CurrencyCode']) && !empty($payment['PaymentAmount']['@attributes']['Amount']) ? $payment['PaymentAmount']['@attributes']['CurrencyCode'] . ' ' . number_format($payment['PaymentAmount']['@attributes']['Amount'], 2) : 'N/A' }} ({{ !empty($payment['PaymentAmountInPayCur']['@attributes']['CurrencyCode']) && !empty($payment['PaymentAmountInPayCur']['@attributes']['Amount']) ? $payment['PaymentAmountInPayCur']['@attributes']['CurrencyCode'] . ' ' . number_format($payment['PaymentAmountInPayCur']['@attributes']['Amount'], 2) : 'N/A' }}) @if (!empty($payment['DirectBill']['CompanyName']))
    Company: {{ $payment['DirectBill']['CompanyName'] }} @endif
  • @endif @endforeach
@else

No payment details available.

@endif
@else
No pricing information available.
@endif @if ( !empty($airReservation['AirItinerary']['OriginDestinationOptions']['OriginDestinationOption']) && is_array($airReservation['AirItinerary']['OriginDestinationOptions']['OriginDestinationOption']))

@php $hasPenalties = false; $options = $airReservation['AirItinerary']['OriginDestinationOptions'][ 'OriginDestinationOption' ]; $options = is_array($options) && isset($options[0]) ? $options : [$options]; @endphp @foreach ($options as $index => $option) @if (!empty($option['FlightSegment']) && is_array($option['FlightSegment'])) @foreach ($option['FlightSegment'] as $segment) @if (is_array($segment) && !empty($segment['AvailableFlexiOperations']['FlexiOperations']) && is_array($segment['AvailableFlexiOperations']['FlexiOperations'])) @php $hasPenalties = true; @endphp
Segment: {{ !empty($segment['DepartureAirport']['@attributes']['LocationCode']) ? $segment['DepartureAirport']['@attributes']['LocationCode'] : 'N/A' }} to {{ !empty($segment['ArrivalAirport']['@attributes']['LocationCode']) ? $segment['ArrivalAirport']['@attributes']['LocationCode'] : 'N/A' }}
Flexi Operations
    @foreach ($segment['AvailableFlexiOperations']['FlexiOperations'] as $operation) @if (is_array($operation) && !empty($operation['@attributes']))
  • {{ !empty($operation['@attributes']['AllowedOperationName']) ? $operation['@attributes']['AllowedOperationName'] : 'N/A' }}: Allowed {{ !empty($operation['@attributes']['NumberOfAllowedOperations']) ? $operation['@attributes']['NumberOfAllowedOperations'] : 'N/A' }} time(s), Cutoff: {{ !empty($operation['@attributes']['FlexiOperationCutoverTimeInMinutes']) ? $operation['@attributes']['FlexiOperationCutoverTimeInMinutes'] . ' minutes' : 'N/A' }}
  • @endif @endforeach
@endif @endforeach @endif @endforeach @if (!$hasPenalties)

No penalty information available.

@endif
@else
No penalties information available.
@endif
@endif @elseif ($airline === 'pia') @if ($bookingRequest && is_array($xmlBody))

  • ID: {{ $bookingRequest->id ?? 'N/A' }}
  • Airline: {{ $bookingRequest->airline ?? 'N/A' }}
  • Ticket Limit: {{ !empty($bookingRequest->ticket_limit) ? \Carbon\Carbon::parse($bookingRequest->ticket_limit)->format('d M Y, H:i') : (!empty($xmlBody['paymentLimit']) ? \Carbon\Carbon::parse($xmlBody['paymentLimit'])->format('d M Y, H:i') : 'N/A') }}
  • Payment Limit: {{ !empty($bookingRequest->payment_limit) ? \Carbon\Carbon::parse($bookingRequest->payment_limit)->format('d M Y, H:i') : (!empty($xmlBody['paymentLimit']) ? \Carbon\Carbon::parse($xmlBody['paymentLimit'])->format('d M Y, H:i') : 'N/A') }}
  • Status: {{ !empty($bookingRequest->status) ? ucfirst($bookingRequest->status) : (!empty($xmlBody['order']['statusCode']) ? $xmlBody['order']['statusCode'] : 'N/A') }}
  • Client ID: {{ $bookingRequest->client_id ?? 'N/A' }}
  • Booking ID: {{ $bookingRequest->booking_id ?? 'N/A' }}
  • Transaction ID: {{ !empty($xmlBody['transaction_id']) ? $xmlBody['transaction_id'] : 'N/A' }}
  • Total Amount: {{ !empty($xmlBody['totalPrice']) ? 'PKR ' . number_format($xmlBody['totalPrice'], 2) : 'N/A' }}
  • Booking Reference: {{ !empty($xmlBody['order']['orderID']) ? $xmlBody['order']['orderID'] : 'N/A' }}
  • Created At: {{ !empty($bookingRequest->created_at) ? \Carbon\Carbon::parse($bookingRequest->created_at)->format('d M Y, H:i') : 'N/A' }}
  • Updated At: {{ !empty($bookingRequest->updated_at) ? \Carbon\Carbon::parse($bookingRequest->updated_at)->format('d M Y, H:i') : 'N/A' }}
@if (!empty($xmlBody['passengers']) && is_array($xmlBody['passengers']))

@foreach ($xmlBody['passengers'] as $passenger)
Passenger {{ !empty($passenger['pax_id']) ? $passenger['pax_id'] : 'Unknown' }} ({{ !empty($passenger['ptc']) ? $passenger['ptc'] : 'N/A' }})
  • Name: {{ !empty($passenger['title']) ? $passenger['title'] . ' ' : '' }}{{ !empty($passenger['given_name']) ? $passenger['given_name'] : '' }} {{ !empty($passenger['surname']) ? $passenger['surname'] : '' }}
  • Birthdate: {{ !empty($passenger['birthdate']) ? \Carbon\Carbon::parse($passenger['birthdate'])->format('d M Y') : 'N/A' }}
  • Gender: {{ !empty($passenger['gender']) ? $passenger['gender'] : 'N/A' }}
  • Citizenship: {{ !empty($passenger['citizenship']) ? $passenger['citizenship'] : 'N/A' }}
  • Ticket Number: {{ !empty($passenger['ticket']['ticketNumber']) ? $passenger['ticket']['ticketNumber'] : 'N/A' }}
@if (!empty($passenger['services']) && is_array($passenger['services']))
Services
    @foreach ($passenger['services'] as $service)
  • Service: {{ !empty($service['service_definition_id']) ? $service['service_definition_id'] : 'N/A' }} (Status: {{ !empty($service['status_code']) ? $service['status_code'] : 'N/A' }})
  • @endforeach
@else

No services information available.

@endif
@endforeach
@else
No passenger information available.
@endif @if (!empty($xmlBody['segments']) && is_array($xmlBody['segments']))

@foreach ($xmlBody['segments'] as $segment)
Segment: {{ !empty($segment['origin']) ? $segment['origin'] : 'N/A' }} to {{ !empty($segment['destination']) ? $segment['destination'] : 'N/A' }}
Flight Details
  • Departure: {{ !empty($segment['origin_name']) ? $segment['origin_name'] : 'N/A' }} ({{ !empty($segment['origin']) ? $segment['origin'] : 'N/A' }}) on {{ !empty($segment['departure_time']) ? \Carbon\Carbon::parse($segment['departure_time'])->format('d M Y, H:i') : 'N/A' }}
  • Arrival: {{ !empty($segment['destination_name']) ? $segment['destination_name'] : 'N/A' }} ({{ !empty($segment['destination']) ? $segment['destination'] : 'N/A' }}) on {{ !empty($segment['arrival_time']) ? \Carbon\Carbon::parse($segment['arrival_time'])->format('d M Y, H:i') : 'N/A' }}
  • Duration: {{ !empty($segment['duration']) ? $segment['duration'] : 'N/A' }}
  • Flight Number: {{ !empty($segment['flight_number']) ? $segment['flight_number'] : 'N/A' }}
  • Carrier: {{ !empty($segment['carrier']) ? $segment['carrier'] : 'N/A' }}
  • Aircraft Type: {{ !empty($segment['aircraft_type']) ? $segment['aircraft_type'] : 'N/A' }}
@endforeach
@else
No flight segments available.
@endif @if (!empty($xmlBody['passengers']) && is_array($xmlBody['passengers']))

@foreach ($xmlBody['passengers'] as $passenger) @if (!empty($passenger['fare_details']['fare_price_type']['price']))
Pricing for Passenger {{ !empty($passenger['pax_id']) ? $passenger['pax_id'] : 'Unknown' }} ({{ !empty($passenger['ptc']) ? $passenger['ptc'] : 'N/A' }})
  • Base Fare: {{ !empty($passenger['fare_details']['fare_price_type']['price']['base_amount']) ? $passenger['fare_details']['fare_price_type']['price']['currency'] . ' ' . number_format($passenger['fare_details']['fare_price_type']['price']['base_amount'], 2) : 'N/A' }}
  • Total Fare: {{ !empty($passenger['fare_details']['fare_price_type']['price']['total_amount']) ? $passenger['fare_details']['fare_price_type']['price']['currency'] . ' ' . number_format($passenger['fare_details']['fare_price_type']['price']['total_amount'], 2) : 'N/A' }}
  • Surcharge: {{ !empty($passenger['fare_details']['fare_price_type']['price']['surcharge']) ? $passenger['fare_details']['fare_price_type']['price']['currency'] . ' ' . number_format($passenger['fare_details']['fare_price_type']['price']['surcharge'], 2) : 'N/A' }}
@if ( !empty($passenger['fare_details']['fare_price_type']['price']['taxes']) && is_array($passenger['fare_details']['fare_price_type']['price']['taxes']))
Tax Breakdown
    @foreach ($passenger['fare_details']['fare_price_type']['price']['taxes'] as $tax)
  • {{ !empty($tax['tax_code']) ? $tax['tax_code'] : 'Unknown Tax' }}: {{ !empty($tax['amount']) ? $passenger['fare_details']['fare_price_type']['price']['currency'] . ' ' . number_format($tax['amount'], 2) : 'N/A' }} (Refundable: {{ !empty($tax['refund_ind']) ? ($tax['refund_ind'] === 'true' ? 'Yes' : 'No') : 'N/A' }})
  • @endforeach
@else

No tax breakdown available.

@endif
@endif @endforeach
Total Pricing
  • Total Amount: {{ !empty($xmlBody['totalPrice']) ? 'PKR ' . number_format($xmlBody['totalPrice'], 2) : 'N/A' }}
@else
No pricing information available.
@endif @if (!empty($xmlBody['baggage_allowances']) && is_array($xmlBody['baggage_allowances']))

@foreach ($xmlBody['baggage_allowances'] as $baggage)
Baggage Allowance {{ !empty($baggage['baggage_allowance_id']) ? $baggage['baggage_allowance_id'] : 'Unknown' }}
  • Type: {{ !empty($baggage['type']) ? $baggage['type'] : 'N/A' }}
  • Max Weight: {{ !empty($baggage['piece_allowance']['max_weight']['value']) ? $baggage['piece_allowance']['max_weight']['value'] . ' ' . $baggage['piece_allowance']['max_weight']['unit'] : 'N/A' }}
  • Applicable Party: {{ !empty($baggage['piece_allowance']['applicable_party']) ? $baggage['piece_allowance']['applicable_party'] : 'N/A' }}
@endforeach
@else
No baggage allowance information available.
@endif

@if (!empty($xmlBody['passengers']) && is_array($xmlBody['passengers']))
Per Passenger Cancellation Fees
@foreach ($xmlBody['passengers'] as $passenger) @if (!empty($passenger['cancel_fee']))
{{ !empty($passenger['ptc']) ? strtoupper($passenger['ptc']) : 'Unknown' }} - {{ !empty($passenger['given_name']) ? $passenger['given_name'] : '' }} {{ !empty($passenger['surname']) ? $passenger['surname'] : '' }}
  • Penalty ID: {{ !empty($passenger['cancel_fee']['penalty_id']) ? $passenger['cancel_fee']['penalty_id'] : 'N/A' }}
  • Type: {{ !empty($passenger['cancel_fee']['type_code']) ? $passenger['cancel_fee']['type_code'] : 'N/A' }}
  • Cancellation Fee: {{ !empty($passenger['cancel_fee']['cancel_fee']) ? 'PKR ' . number_format($passenger['cancel_fee']['cancel_fee'], 2) : 'PKR 0.00' }}
@endif @endforeach
Penalty Summary
@foreach ($xmlBody['passengers'] as $passenger) @if (!empty($passenger['cancel_fee'])) @endif @endforeach
Passenger Type Passenger Name Penalty Type Amount (PKR)
{{ !empty($passenger['ptc']) ? $passenger['ptc'] : 'N/A' }} {{ !empty($passenger['given_name']) ? $passenger['given_name'] : '' }} {{ !empty($passenger['surname']) ? $passenger['surname'] : '' }} {{ !empty($passenger['cancel_fee']['type_code']) ? $passenger['cancel_fee']['type_code'] : 'N/A' }} {{ !empty($passenger['cancel_fee']['cancel_fee']) ? number_format($passenger['cancel_fee']['cancel_fee'], 2) : '0.00' }}
Total Penalties: PKR {{ array_sum(array_column(array_filter($xmlBody['passengers'], function ($p) {return !empty($p['cancel_fee']['cancel_fee']);}),'cancel_fee','cancel_fee')) | number_format(0) }}
@else
No passenger data available to display penalties.
@endif
@else
No booking request data available for PIA.
@endif @elseif ($airline === 'airblue') @if ($bookingRequest && is_array($xmlBody) && !empty($xmlBody['data'])) @php $data = $xmlBody['data'] ?? []; $bookingInfo = $data['booking'] ?? []; $flights = $data['flights'] ?? []; $travelers = $data['travelers'] ?? []; $seats = $data['seats'] ?? []; $ancillaries = $data['ancillaries'] ?? []; $priceBreakdown = $data['price_breakdown'] ?? []; $raw = $data['raw'] ?? []; @endphp

  • ID: {{ $bookingRequest->id ?? 'N/A' }}
  • Airline: {{ $bookingRequest->airline ?? 'N/A' }}
  • PNR: {{ $bookingInfo['pnr'] ?? 'N/A' }}
  • Instance: {{ $bookingInfo['instance'] ?? 'N/A' }}
  • Ticket Time Limit: {{ !empty($data['ticket_time_limit']) ? \Carbon\Carbon::parse($data['ticket_time_limit'])->format('d M Y, H:i') : 'N/A' }}
  • Status: {{ !empty($data['success']) ? ($data['success'] === 'true' ? 'Success' : 'Failed') : 'N/A' }}
  • Total Amount: {{ !empty($data['total']['amount']) && !empty($data['total']['currency']) ? $data['total']['currency'] . ' ' . number_format($data['total']['amount'], 2) : 'N/A' }}
  • Client ID: {{ $bookingRequest->client_id ?? 'N/A' }}
  • Booking ID: {{ $bookingRequest->booking_id ?? 'N/A' }}
  • Created At: {{ !empty($bookingRequest->created_at) ? \Carbon\Carbon::parse($bookingRequest->created_at)->format('d M Y, H:i') : 'N/A' }}
  • Updated At: {{ !empty($bookingRequest->updated_at) ? \Carbon\Carbon::parse($bookingRequest->updated_at)->format('d M Y, H:i') : 'N/A' }}
@if (!empty($xmlBody['user']) && is_array($xmlBody['user']))

  • Full Name: {{ $xmlBody['user']['userFullName'] ?? 'N/A' }}
  • Email: {{ $xmlBody['user']['userEmail'] ?? 'N/A' }}
  • Phone: {{ !empty($xmlBody['user']['userPhoneCode']) ? '+' . $xmlBody['user']['userPhoneCode'] . ' ' : '' }}{{ $xmlBody['user']['userPhone'] ?? 'N/A' }}
  • City: {{ $xmlBody['user']['city'] ?? 'N/A' }}
  • Country: {{ $xmlBody['user']['country'] ?? 'N/A' }}
@endif @if (!empty($xmlBody['passengers']) && is_array($xmlBody['passengers']))

@foreach ($xmlBody['passengers'] as $index => $passenger)
Passenger {{ $index + 1 }} ({{ $passenger['type'] ?? 'N/A' }})
  • Name: {{ !empty($passenger['title']) ? $passenger['title'] . ' ' : '' }}{{ $passenger['name'] ?? '' }} {{ $passenger['surname'] ?? '' }}
  • Date of Birth: {{ !empty($passenger['dob']) ? \Carbon\Carbon::parse($passenger['dob'])->format('d M Y') : 'N/A' }}
  • Nationality: {{ $passenger['nationality'] ?? 'N/A' }}
  • Passport Number: {{ $passenger['passportNumber'] ?? 'N/A' }}
  • Passport Expiry: {{ !empty($passenger['passportExpiry']) ? \Carbon\Carbon::parse($passenger['passportExpiry'])->format('d M Y') : 'N/A' }}
@endforeach
@endif @if (!empty($travelers) && is_array($travelers))

@foreach ($travelers as $traveler)
Traveler {{ $traveler['rph'] ?? 'N/A' }} ({{ $traveler['type'] ?? 'N/A' }})
  • Full Name: {{ $traveler['full_name'] ?? 'N/A' }}
  • First Name: {{ $traveler['first_name'] ?? 'N/A' }}
  • Last Name: {{ $traveler['last_name'] ?? 'N/A' }}
  • Title: {{ $traveler['title'] ?? 'N/A' }}
  • Birth Date: {{ !empty($traveler['birth_date']) ? \Carbon\Carbon::parse($traveler['birth_date'])->format('d M Y') : 'N/A' }}
  • Phone: {{ $traveler['phone'] ?? 'N/A' }}
  • Email: {{ $traveler['email'] ?? 'N/A' }}
  • @if (!empty($traveler['document']))
  • Document ID: {{ $traveler['document']['id'] ?? 'N/A' }}
  • Document Type: {{ $traveler['document']['type'] ?? 'N/A' }}
  • Issue Country: {{ $traveler['document']['issue_country'] ?? 'N/A' }}
  • Nationality: {{ $traveler['document']['nationality'] ?? 'N/A' }}
  • Expire Date: {{ !empty($traveler['document']['expire_date']) ? \Carbon\Carbon::parse($traveler['document']['expire_date'])->format('d M Y') : 'N/A' }}
  • @endif @if (!empty($traveler['segments']))
  • Flight Segments: {{ is_array($traveler['segments']) ? implode(', ', $traveler['segments']) : $traveler['segments'] }}
  • @endif
@endforeach
@endif @if (!empty($flights) && is_array($flights))

@foreach ($flights as $flight)
Segment {{ $flight['rph'] ?? 'N/A' }}: {{ $flight['departure_airport'] ?? 'N/A' }} to {{ $flight['arrival_airport'] ?? 'N/A' }}
Flight Details
  • Flight Number: {{ $flight['flight_number'] ?? 'N/A' }}
  • Departure: {{ $flight['departure_airport'] ?? 'N/A' }}{{ !empty($flight['departure_terminal']) ? ' (Terminal ' . $flight['departure_terminal'] . ')' : '' }} on {{ !empty($flight['departure_datetime']) ? \Carbon\Carbon::parse($flight['departure_datetime'])->format('d M Y, H:i') : 'N/A' }}
  • Arrival: {{ $flight['arrival_airport'] ?? 'N/A' }}{{ !empty($flight['arrival_terminal']) ? ' (Terminal ' . $flight['arrival_terminal'] . ')' : '' }} on {{ !empty($flight['arrival_datetime']) ? \Carbon\Carbon::parse($flight['arrival_datetime'])->format('d M Y, H:i') : 'N/A' }}
  • Duration: {{ !empty($flight['departure_datetime']) && !empty($flight['arrival_datetime']) ? \Carbon\Carbon::parse($flight['departure_datetime'])->diffInMinutes(\Carbon\Carbon::parse($flight['arrival_datetime'])) . ' minutes' : 'N/A' }}
  • Operating Airline: {{ $flight['operating_airline'] ?? 'N/A' }}
  • Marketing Airline: {{ $flight['marketing_airline'] ?? 'N/A' }}
  • Aircraft: {{ $flight['equipment'] ?? 'N/A' }}
  • Cabin Class: {{ $flight['cabin'] ?? 'N/A' }}
  • Fare Type: {{ $flight['fare_type'] ?? 'N/A' }}
  • Status: {{ $flight['status'] ?? 'N/A' }}
@endforeach
@endif @if (!empty($seats) && is_array($seats))

@foreach ($seats as $seat)
Seat: {{ $seat['row_number'] ?? 'N/A' }}{{ $seat['seat_number'] ?? 'N/A' }} (Flight RPH: {{ $seat['flight_rph'] ?? 'N/A' }})
  • Traveler RPH: {{ $seat['traveler_rph'] ?? 'N/A' }}
  • Seat: Row {{ $seat['row_number'] ?? 'N/A' }}, Seat {{ $seat['seat_number'] ?? 'N/A' }}
  • Status: {{ $seat['status'] ?? 'N/A' }}
  • Price: {{ !empty($seat['price']) && !empty($seat['currency']) ? $seat['currency'] . ' ' . number_format($seat['price'], 2) : 'Free' }}
@endforeach
@endif @if (!empty($ancillaries) && is_array($ancillaries))

@foreach ($ancillaries as $ancillary)
{{ $ancillary['title'] ?? 'N/A' }} (Flight RPH: {{ $ancillary['flight_rph'] ?? 'N/A' }})
  • SSR Code: {{ $ancillary['ssr_code'] ?? 'N/A' }}
  • Item Code: {{ $ancillary['item_code'] ?? 'N/A' }}
  • Title: {{ $ancillary['title'] ?? 'N/A' }}
  • Description: {{ $ancillary['description'] ?? 'N/A' }}
  • Traveler RPH: {{ $ancillary['traveler_rph'] ?? 'N/A' }}
  • Price: {{ !empty($ancillary['price']) && !empty($ancillary['currency']) ? $ancillary['currency'] . ' ' . number_format($ancillary['price'], 2) : 'Free' }}
  • Status: {{ $ancillary['status'] ?? 'N/A' }}
  • Refundable: {{ !empty($ancillary['refundable']) ? ($ancillary['refundable'] === 'true' ? 'Yes' : 'No') : 'N/A' }}
  • Expires: {{ !empty($ancillary['expires']) ? \Carbon\Carbon::parse($ancillary['expires'])->format('d M Y, H:i') : 'N/A' }}
@endforeach
@endif @if (!empty($priceBreakdown) && is_array($priceBreakdown))

@foreach ($priceBreakdown as $breakdown)
Passenger Type: {{ $breakdown['passenger_type'] ?? 'N/A' }} (Quantity: {{ $breakdown['quantity'] ?? 'N/A' }})
@if (!empty($breakdown['per_segment_fares']) && is_array($breakdown['per_segment_fares'])) @foreach ($breakdown['per_segment_fares'] as $segmentFare)
Route: {{ $segmentFare['from'] ?? 'N/A' }} to {{ $segmentFare['to'] ?? 'N/A' }}
  • Fare Basis: {{ $segmentFare['fare_basis'] ?? 'N/A' }}
  • Base Fare: PKR {{ !empty($segmentFare['base_fare']) ? number_format($segmentFare['base_fare'], 2) : '0.00' }}
  • Taxes Total: PKR {{ !empty($segmentFare['taxes_total']) ? number_format($segmentFare['taxes_total'], 2) : '0.00' }}
  • Fees Total: PKR {{ !empty($segmentFare['fees_total']) ? number_format($segmentFare['fees_total'], 2) : '0.00' }}
  • Baggage: {{ !empty($segmentFare['baggage']['quantity']) ? $segmentFare['baggage']['quantity'] . ' ' . ($segmentFare['baggage']['unit'] ?? 'KGS') : 'N/A' }}
@if (!empty($segmentFare['taxes']) && is_array($segmentFare['taxes']))
Tax Breakdown
    @foreach ($segmentFare['taxes'] as $tax)
  • {{ $tax['TaxCode'] ?? 'Tax' }}: {{ !empty($tax['CurrencyCode']) && !empty($tax['Amount']) ? $tax['CurrencyCode'] . ' ' . number_format($tax['Amount'], 2) : 'N/A' }}
  • @endforeach
@endif @if (!empty($segmentFare['fees']) && is_array($segmentFare['fees']))
Fees Breakdown
    @foreach ($segmentFare['fees'] as $fee)
  • {{ $fee['FeeCode'] ?? 'Fee' }}: {{ !empty($fee['CurrencyCode']) && !empty($fee['Amount']) ? $fee['CurrencyCode'] . ' ' . number_format($fee['Amount'], 2) : 'N/A' }}
  • @endforeach
@endif
@endforeach @endif
@endforeach
Total Amount
  • Total: {{ !empty($data['total']['amount']) && !empty($data['total']['currency']) ? $data['total']['currency'] . ' ' . number_format($data['total']['amount'], 2) : 'N/A' }}
@endif @if ( !empty($raw['PriceInfo']['PTC_FareBreakdowns']['PTC_FareBreakdown']) && is_array($raw['PriceInfo']['PTC_FareBreakdowns']['PTC_FareBreakdown'])) @php $fareBreakdowns = is_array($raw['PriceInfo']['PTC_FareBreakdowns']['PTC_FareBreakdown']) && isset($raw['PriceInfo']['PTC_FareBreakdowns']['PTC_FareBreakdown'][0]) ? $raw['PriceInfo']['PTC_FareBreakdowns']['PTC_FareBreakdown'] : [$raw['PriceInfo']['PTC_FareBreakdowns']['PTC_FareBreakdown']]; $hasPenalties = false; foreach ($fareBreakdowns as $fare) { if (!empty($fare['FareInfo']) && is_array($fare['FareInfo'])) { $fareInfos = is_array($fare['FareInfo']) && isset($fare['FareInfo'][0]) ? $fare['FareInfo'] : [$fare['FareInfo']]; foreach ($fareInfos as $fareInfo) { if (!empty($fareInfo['RuleInfo']['ChargesRules'])) { $hasPenalties = true; break 2; } } } } @endphp @if ($hasPenalties)

@foreach ($fareBreakdowns as $fare) @if (!empty($fare['FareInfo']) && is_array($fare['FareInfo'])) @php $fareInfos = is_array($fare['FareInfo']) && isset($fare['FareInfo'][0]) ? $fare['FareInfo'] : [$fare['FareInfo']]; @endphp @foreach ($fareInfos as $fareInfo) @if (!empty($fareInfo['RuleInfo']['ChargesRules']))
Route: {{ !empty($fareInfo['DepartureAirport']['@attributes']['LocationCode']) ? $fareInfo['DepartureAirport']['@attributes']['LocationCode'] : 'N/A' }} to {{ !empty($fareInfo['ArrivalAirport']['@attributes']['LocationCode']) ? $fareInfo['ArrivalAirport']['@attributes']['LocationCode'] : 'N/A' }}
@if (!empty($fareInfo['RuleInfo']['ChargesRules']['VoluntaryChanges']['Penalty']))
Change Fees
    @php $changePenalties = is_array( $fareInfo['RuleInfo'][ 'ChargesRules' ]['VoluntaryChanges']['Penalty'], ) && isset( $fareInfo['RuleInfo'][ 'ChargesRules' ]['VoluntaryChanges']['Penalty'][0], ) ? $fareInfo['RuleInfo'][ 'ChargesRules' ]['VoluntaryChanges']['Penalty'] : [ $fareInfo['RuleInfo'][ 'ChargesRules' ]['VoluntaryChanges'][ 'Penalty' ], ]; @endphp @foreach ($changePenalties as $penalty)
  • {{ !empty($penalty['@attributes']['HoursBeforeDeparture']) ? $penalty['@attributes']['HoursBeforeDeparture'] : 'N/A' }}: {{ !empty($penalty['@attributes']['CurrencyCode']) && !empty($penalty['@attributes']['Amount']) ? $penalty['@attributes']['CurrencyCode'] . ' ' . number_format($penalty['@attributes']['Amount'], 2) : 'N/A' }}
  • @endforeach
@endif @if (!empty($fareInfo['RuleInfo']['ChargesRules']['VoluntaryRefunds']['Penalty']))
Cancellation / Refund Fees
    @php $refundPenalties = is_array( $fareInfo['RuleInfo'][ 'ChargesRules' ]['VoluntaryRefunds']['Penalty'], ) && isset( $fareInfo['RuleInfo'][ 'ChargesRules' ]['VoluntaryRefunds']['Penalty'][0], ) ? $fareInfo['RuleInfo'][ 'ChargesRules' ]['VoluntaryRefunds']['Penalty'] : [ $fareInfo['RuleInfo'][ 'ChargesRules' ]['VoluntaryRefunds'][ 'Penalty' ], ]; @endphp @foreach ($refundPenalties as $penalty)
  • {{ !empty($penalty['@attributes']['HoursBeforeDeparture']) ? $penalty['@attributes']['HoursBeforeDeparture'] : 'N/A' }}: {{ !empty($penalty['@attributes']['CurrencyCode']) && !empty($penalty['@attributes']['Amount']) ? $penalty['@attributes']['CurrencyCode'] . ' ' . number_format($penalty['@attributes']['Amount'], 2) : 'N/A' }}
  • @endforeach
@endif
@endif @endforeach @endif @endforeach
@endif @endif
@else
No booking request data available for Airblue.
@endif @endif @else
No booking request data available.
@endif