id; $trip_slug = $trip->slug ?? ''; $is_remaining_payment = !empty($booking->is_remaining_payment); $remaining_amount = isset($booking->remaining_amount) ? (float) $booking->remaining_amount : null; $existing_booking_id = $booking->existing_booking_id ?? 0; $booking_reference = $booking->booking_reference ?? ''; $amount_paid = isset($booking->amount_paid) ? (float) $booking->amount_paid : null; $total_amount = isset($booking->total_amount) ? (float) $booking->total_amount : null; // Check if login is required $require_login = \Yatra\Services\SettingsService::get('require_login', false); $allow_guest_checkout = \Yatra\Services\SettingsService::get('allow_guest_checkout', true); $needs_authentication = !is_user_logged_in() && ($require_login || !$allow_guest_checkout); // Get group discount from booking object (calculated in AppServiceProvider) $group_discount = $booking->group_discount ?? null; $group_discount_amount = $group_discount['amount'] ?? 0; $group_discount_code = $group_discount['code'] ?? null; $group_discount_label = $group_discount['label'] ?? __('Group Discount', 'yatra'); // Get pre-calculated pricing from booking object (calculated in BookingPageHandler) $pricing_calculation = $booking->pricing_calculation ?? [ 'base_amount' => 0, 'gross_total' => 0, 'final_total' => 0, 'amount_due' => 0, 'tax_calculation' => ['tax_breakdown' => [], 'total_tax_amount' => 0], ]; $tax_calculation = $pricing_calculation['tax_calculation'] ?? ['tax_breakdown' => [], 'total_tax_amount' => 0]; // Use pre-calculated amounts $summary_total_amount = $is_remaining_payment && !empty($total_amount) ? (float) $total_amount : ($pricing_calculation['final_total'] ?? 0); $summary_due_amount = $is_remaining_payment && $remaining_amount !== null ? (float) $remaining_amount : ($pricing_calculation['amount_due'] ?? $pricing_calculation['final_total'] ?? 0); ?>