@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)
- 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)
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 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)
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))
- 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))
- 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))
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
- 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']))
- 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
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)
- 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)
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']))
- 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 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)
- 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']))
-
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
| Passenger Type |
Passenger Name |
Penalty Type |
Amount (PKR) |
@foreach ($xmlBody['passengers'] as $passenger)
@if (!empty($passenger['cancel_fee']))
|
{{ !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' }}
|
@endif
@endforeach
| 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)
- 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)
- 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)
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)
- 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)
- 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)
@if (!empty($breakdown['per_segment_fares']) && is_array($breakdown['per_segment_fares']))
@foreach ($breakdown['per_segment_fares'] as $segmentFare)
- 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:
{{ !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']))
@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