[Back] <?php
/*
* Copyright (c) 2024 LatePoint LLC. All rights reserved.
*/
/* @var $order OsOrderModel */
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
?>
<div class="order-summary-main-section <?php echo (count($order->get_items()) > 1) ? 'multi-item' : 'single-item'; ?>">
<?php
$order_bookings = $order->get_bookings_from_order_items();
$order_bundles = $order->get_bundles_from_order_items();
?>
<div class="order-summary-items-heading">
<?php esc_html_e( 'Order Items', 'latepoint' ); ?>
<div class="osih-line"></div>
</div>
<?php
if ($order_bundles) {
foreach ($order_bundles as $order_item_id => $bundle) {
echo '<div class="summary-box-wrapper">';
echo '<div class="order-item-bundle-info-wrapper">';
echo '<div class="bundle-icon"><i class="latepoint-icon latepoint-icon-layers"></i></div>';
echo OsBundlesHelper::generate_summary_for_bundle($bundle);
echo '</div>';
echo '<div class="schedule-bundle-booking-btn-wrapper">';
echo '<div class="schedule-bundle-booking-btn" '.OsCustomerHelper::generate_bundle_scheduling_btn($order_item_id).'><span>'.esc_html__('Start Scheduling', 'latepoint').'</span><i class="latepoint-icon latepoint-icon-arrow-2-right"></i></div>';
echo '</div>';
echo '</div>';
}
}
if ($order_bookings) {
$same_location = OsBookingHelper::bookings_have_same_location($order_bookings);
$same_agent = OsBookingHelper::bookings_have_same_agent($order_bookings);
foreach ($order_bookings as $order_item_id => $order_booking) {
// key passed for order, means we need to get a key for a booking
if(!empty($key)){
$booking_key = (($viewer ?? 'customer') == 'customer') ? OsMetaHelper::get_booking_meta_by_key( 'key_to_manage_for_customer', $order_booking->id ) : OsMetaHelper::get_booking_meta_by_key( 'key_to_manage_for_agent', $order_booking->id );
}
echo '<div class="summary-box-wrapper">';
echo OsBookingHelper::generate_summary_for_booking($order_booking, false, $viewer ?? 'customer');
OsBookingHelper::generate_summary_actions_for_booking($order_booking, $booking_key ?? null);
if (!$same_agent || !$same_location) {
echo '<div class="booking-summary-info-w">';
echo '<div class="summary-boxes-columns">';
if (!$same_agent && (OsAgentHelper::count_agents() > 1)) OsAgentHelper::generate_summary_for_agent($order_booking);
if (!$same_location) OsLocationHelper::generate_summary_for_location($order_booking);
echo '</div>';
echo '</div>';
}
echo '</div>';
}
}
if ($order_bookings) {
echo '<div class="booking-summary-info-w">';
echo '<div class="summary-boxes-columns">';
if ($same_agent && (OsAgentHelper::count_agents() > 1)) OsAgentHelper::generate_summary_for_agent(reset($order_bookings));
if ($same_location) OsLocationHelper::generate_summary_for_location(reset($order_bookings));
OsCustomerHelper::generate_summary_for_customer($order->customer);
echo '</div>';
echo '</div>';
}else{
echo '<div class="booking-summary-info-w">';
echo '<div class="summary-boxes-columns">';
OsCustomerHelper::generate_summary_for_customer($order->customer);
echo '</div>';
echo '</div>';
}
do_action('latepoint_order_summary_before_price_breakdown', $order);
?>
</div>
<?php if( $order->get_subtotal() > 0 || OsSettingsHelper::is_off('hide_breakdown_if_subtotal_zero')){ ?>
<div class="summary-price-breakdown-wrapper">
<div class="pb-heading">
<div class="pbh-label"><?php esc_html_e('Cost Breakdown', 'latepoint'); ?></div>
<div class="pbh-line"></div>
</div>
<?php
$price_breakdown_rows = $order->generate_price_breakdown_rows();
OsPriceBreakdownHelper::output_price_breakdown($price_breakdown_rows);
?>
</div>
<?php } ?>