@foreach ($orderTypes as $type)
@endforeach
@if(!isOrderPrefixEnabled()) @lang('modules.order.orderNumber') #{{ $orderNumber }} @else {{ $formattedOrderNumber }} @endif
@if ($orderType == 'dine_in')
@if (!is_null($tableNo)) {{ $tableNo }} @else @lang('modules.order.setTable') @endif
@endif
@if ($orderType == 'dine_in')
@lang('modules.order.noOfPax')
@if($customerName || $customerMobile) @else Customer Info @endif @if ($this->orderNote) @endif
@lang('modules.order.waiter'): @if (auth()->user()->roles->pluck('display_name')->contains('Waiter')) {{ $users->where('id', $selectWaiter)->first()->name ?? __('modules.order.selectWaiter') }} @else @foreach ($users as $item) @endforeach @endif
@endif @if ($orderType == 'delivery')
@foreach ($deliveryExecutives as $item) @endforeach
@endif @if ($orderType == 'pickup')
@endif
@forelse ($orderItemList as $key => $item) @php // Get menu item object $menuItemObj = isset($orderItemVariation[$key]) && $orderItemVariation[$key] ? $orderItemVariation[$key]->menuItem : (isset($orderItemList[$key]) ? $orderItemList[$key] : null); // Get original base price (before promotion and modifiers) $originalBasePrice = isset($orderItemVariation[$key]) && $orderItemVariation[$key] ? $orderItemVariation[$key]->price : ($menuItemObj ? $menuItemObj->price : 0); // Get promotional price (applies promotion if available) - pass branch ID for correct promotion lookup $promotionalBasePrice = $menuItemObj ? $menuItemObj->getPromotionalPrice($originalBasePrice, branch()?->id) : $originalBasePrice; // Add modifier prices $modifierPrice = $this->orderItemModifiersPrice[$key] ?? 0; // Final display price (with promotion and modifiers) - use the method for consistency $displayPrice = $this->getItemDisplayPrice($key); // Check if there's a discount (promotional base price differs from original base price) $hasDiscount = $menuItemObj && abs($promotionalBasePrice - $originalBasePrice) > 0.01; // Calculate original total price for strikethrough (original base + modifiers) $originalTotalPrice = $originalBasePrice + $modifierPrice; // Total amount per line (what customer pays) $totalAmount = $orderItemAmount[$key]; @endphp @empty @endforelse
@lang('modules.menu.itemName') @lang('modules.order.qty') @lang('modules.order.amount') @lang('app.action')
{{ $item->item_name }}
{{ isset($orderItemVariation[$key]) ? $orderItemVariation[$key]->variation : '' }}
@if (!empty($itemModifiersSelected[$key]))
@foreach ($itemModifiersSelected[$key] as $modifierOptionId)
{{ $this->modifierOptions[$modifierOptionId]->name }} {{ currency_format($this->modifierOptions[$modifierOptionId]->price, restaurant()->currency_id) }}
@endforeach {{--
--}} @endif @php // Get menu item object $menuItemObj = isset($orderItemVariation[$key]) && $orderItemVariation[$key] ? $orderItemVariation[$key]->menuItem : (isset($orderItemList[$key]) ? $orderItemList[$key] : null); // Get original base price (before promotion and modifiers) $originalBasePrice = isset($orderItemVariation[$key]) && $orderItemVariation[$key] ? $orderItemVariation[$key]->price : ($menuItemObj ? $menuItemObj->price : 0); // Get promotional price (applies promotion if available) - pass branch ID for correct promotion lookup $promotionalBasePrice = $menuItemObj ? $menuItemObj->getPromotionalPrice($originalBasePrice, branch()?->id) : $originalBasePrice; // Add modifier prices $modifierPrice = $this->orderItemModifiersPrice[$key] ?? 0; // Check if there's a discount (promotional base price differs from original base price) $hasDiscount = $menuItemObj && abs($promotionalBasePrice - $originalBasePrice) > 0.01; @endphp @if($hasDiscount && $menuItemObj) @php $promotion = $menuItemObj->getActivePromotion(branch()?->id); $discountPercent = $promotion && $promotion->discount_type === 'percent' ? number_format($promotion->discount_value, 0) : 0; @endphp
@if($discountPercent > 0) {{ $discountPercent }}% OFF @else @lang('app.discount') @endif
@endif
{{ currency_format($totalAmount, restaurant()->currency_id) }}
@lang('messages.noItemAdded')
@if (count($orderItemList) > 0)
@lang('modules.order.addDiscount')
@endif
@lang('modules.order.totalItem')
{{ array_sum(array_filter($orderItemQty ?? [])) }}
@lang('modules.order.subTotal')
{{ currency_format($subTotal, restaurant()->currency_id) }}
@if ($discountAmount)
@lang('modules.order.discount') @if ($discountType == 'percent') ({{ $discountValue }}%) @endif
-{{ currency_format($discountAmount, restaurant()->currency_id) }}
@endif @if ($orderType === 'delivery')
@lang('modules.delivery.deliveryFee') @if($deliveryFee == 0) (@lang('modules.delivery.freeDelivery')) @endif
@endif @if (!$orderID && count($orderItemList) > 0 && $extraCharges) @foreach ($extraCharges as $charge)
{{ $charge->charge_name }} @if ($charge->charge_type == 'percent') ({{ $charge->charge_value }}%) @endif
{{ currency_format($charge->getAmount($discountedTotal), restaurant()->currency_id) }}
@endforeach @endif @if ($taxMode == 'order') @foreach ($taxes as $item)
{{ $item->tax_name }} ({{ $item->tax_percent }}%)
{{ currency_format(($item->tax_percent / 100) * $discountedTotal, restaurant()->currency_id) }}
@endforeach @else @php // Show item-wise tax breakdown above total tax $taxTotals = []; $isInclusive = restaurant()->tax_inclusive ?? false; foreach ($orderItemTaxDetails as $item) { $qty = $item['qty'] ?? 1; if (!empty($item['tax_breakup'])) { foreach ($item['tax_breakup'] as $taxName => $taxInfo) { if (!isset($taxTotals[$taxName])) { $taxTotals[$taxName] = [ 'percent' => $taxInfo['percent'], 'amount' => 0, ]; } $taxTotals[$taxName]['amount'] += $taxInfo['amount'] * $qty; } } } @endphp @if (!empty($taxTotals)) @foreach ($taxTotals as $taxName => $taxInfo)
{{ $taxName }} ({{ $taxInfo['percent'] }}%)
{{ currency_format($taxInfo['amount'], restaurant()->currency_id) }}
@endforeach
@lang('modules.order.totalTax') @if ($isInclusive) (@lang('modules.settings.taxInclusive')) @else (@lang('modules.settings.taxExclusive')) @endif
{{ currency_format($totalTaxAmount, restaurant()->currency_id) }}
@endif @endif
@lang('modules.order.total')
{{ currency_format($total, restaurant()->currency_id) }}
@php $isOrderDetailView = $orderID && $orderDetail; $hasOrderID = !empty($orderID); $currentOrder = $orderDetail; $validationMessage = $this->getButtonValidationMessage($currentOrder); @endphp @if($isOrderDetailView && user_can('Update Order')) {{-- Order Detail View: Show buttons based on order status and QSR mode --}} @if ($currentOrder->status == 'kot')
@if ($this->shouldShowBill()) @endif @if ($this->shouldShowBillAndPayment()) @endif @if ($this->shouldShowNewKot() && in_array('KOT', restaurant_modules())) New KOT @endif @if (user_can('Delete Order')) @endif
@elseif (in_array($currentOrder->status, ['billed', 'payment_due', 'paid'])) {{-- Billed/Paid Order: Show Add Payment and New KOT --}}
@if ($validationMessage && $currentOrder->status !== 'paid')

{{ $validationMessage }}

@endif
@if ($this->shouldShowAddPayment() && $currentOrder->status !== 'paid') @endif {{-- New KOT button should remain visible even after payment --}} @if ($this->shouldShowNewKot() && in_array('KOT', restaurant_modules())) New KOT @endif
@endif @elseif($hasOrderID && in_array('KOT', restaurant_modules())) {{-- Adding items to new KOT from existing order: Show only KOT & Print --}}
@else {{-- New Order (no orderID): Show buttons based on QSR mode --}} @if ($this->isQSRModeEnabled()) {{-- QSR Mode: Show only Bill & Payment --}}

Quick Service Mode

@else {{-- Standard Mode: Show Send to Kitchen, Bill, Bill & Payment --}}
@if ($this->shouldShowSendToKitchen() && in_array('KOT', restaurant_modules())) @endif @if ($this->shouldShowBillAndPayment()) @endif
@endif @endif
@lang('modules.order.reservationConfirmation')

@lang('modules.order.tableHasReservation')

@lang('modules.order.reservationFor'): {{ $this->reservationCustomer?->name ?? 'N/A' }}

@lang('modules.order.reservationTime'): {{ $this->reservation?->reservation_date_time?->format('M d, Y g:i A') ?? 'N/A' }}

@lang('modules.order.isThisSameCustomer')

@lang('app.cancel')
@lang('modules.order.differentCustomer') @lang('modules.order.sameCustomer')
{{ __('modules.order.customerInformation') }}

{{ __('modules.order.customerInfoDescription') }}

@if($customerFound)

{{ __('modules.order.customerFound') }}

@elseif($customerMobile && !$customerSearching)

{{ __('modules.order.customerNotFoundCreateNew') }}

@endif
{{ __('app.skip') }} {{ __('app.save') }} {{ __('app.saving') }}