{{-- Include MultiPOS registration and status handling --}} @if(module_enabled('MultiPOS') && in_array('MultiPOS', restaurant_modules())) @include('multipos::partials.pos-registration', [ 'hasPosMachine' => $hasPosMachine, 'machineStatus' => $machineStatus, 'posMachine' => $posMachine, 'limitReached' => $limitReached, 'limitMessage' => $limitMessage, 'shouldBlockPos' => $shouldBlockPos ]) @endif {{-- Only render POS content if not blocked by registration/pending/declined --}} @if(!$shouldBlockPos) @if($showRestaurantClosedBanner)
{{ $restaurantClosedMessage }}
@endif @php $lwPosOtmCharges = collect($posExtraChargesBySlug ?? [])->map(function ($charges) { if ($charges instanceof \Illuminate\Support\Collection) { return $charges->values()->map(fn ($c) => $c->toArray())->all(); } return []; })->all(); $lwPosOtmClient = [ 'posOrderTypePriceMaps' => $posOrderTypePriceMaps ?? new \stdClass(), 'posExtraChargesBySlug' => $lwPosOtmCharges, 'posDeliveryDefaultFee' => (float) ($posDeliveryDefaultFee ?? 0), 'posOrderTypesForModal' => $posOrderTypesForModal ?? [], 'posDeliveryPlatformsForModal' => $posDeliveryPlatformsForModal ?? [], 'posOrderTypeDefaultSaveUrl' => route('ajax.pos.order-type-default'), 'hasOrderTypeId' => (bool) $orderTypeId, 'orderTypeId' => $orderTypeId ? (int) $orderTypeId : null, 'orderType' => $orderType, 'orderTypeSlug' => $orderTypeSlug, 'csrfToken' => csrf_token(), 'labels' => [ 'selectDeliveryPlatform' => __('modules.order.selectDeliveryPlatform'), 'selectDeliveryPlatformDescription' => __('modules.order.selectDeliveryPlatformDescription'), 'selectOrderType' => __('modules.order.selectOrderType'), 'selectOrderTypeDescription' => __('modules.order.selectOrderTypeDescription'), ], ]; @endphp @if(!$orderTypeId) @include('pos.partials.order-type-modal', [ 'orderTypes' => $this->orderTypes, 'deliveryPlatforms' => $modalDeliveryPlatforms, ]) @endif
@include('pos.menu')
@if (!$orderDetail || ($orderDetail && $orderDetail->status == 'draft')) @include('pos.kot_items') @elseif($orderDetail->status == 'kot') @include('pos.order_items') @elseif(in_array($orderDetail->status, ['billed', 'paid', 'payment_due'], true)) @include('pos.order_detail') @endif
@lang('modules.menu.itemVariations') @if ($menuItem) @livewire('pos.itemVariations', [ 'menuItemId' => $menuItem->id, 'orderTypeId' => $orderTypeId, 'deliveryAppId' => $this->normalizedDeliveryAppId ], key(str()->random(50))) @endif @lang('modules.order.addNote')
@lang('app.save')
@lang('modules.table.availableTables') @livewire('pos.setTable') @if(module_enabled('Hotel') && in_array('Hotel', restaurant_modules())) @include('hotel::pos.show-stay') @endif @lang('modules.order.addDiscount')
@lang('app.cancel') @lang('app.save')
@if ($errors->count()) @lang('app.error')
@foreach ($errors->all() as $error)
{{ $error }}
@endforeach
@if ($showNewKotButton) @lang('modules.order.newKot') @endif
@endif @lang('modules.modifier.itemModifiers') @if ($selectedModifierItem) @livewire('pos.itemModifiers', [ 'menuItemId' => $selectedModifierItem, 'orderTypeId' => $orderTypeId, 'deliveryAppId' => $selectedDeliveryApp ], key(str()->random(50))) @endif @script @php $lwPosCtxOrderId = isset($orderDetail) && $orderDetail?->id ? (int) $orderDetail->id : (isset($orderID) && $orderID ? (int) $orderID : null); @endphp @endscript @endif @if(function_exists('module_enabled') && module_enabled('Loyalty') && function_exists('restaurant_modules') && in_array('Loyalty', restaurant_modules()))
{{ __('loyalty::app.redeemLoyaltyPoints') }}
@if($customer && $availableLoyaltyPoints > 0)

{{ $customer->name }} {{ __('loyalty::app.hasAvailablePoints') }}: {{ number_format($availableLoyaltyPoints) }} @lang('loyalty::app.points')

{{ __('loyalty::app.pointsValue') }}: {{ currency_format($loyaltyPointsValue, restaurant()->currency_id) }}

@if($maxLoyaltyDiscount > 0)

{{ __('loyalty::app.maxDiscountToday') }}: {{ currency_format($maxLoyaltyDiscount, restaurant()->currency_id) }}

@endif

@if($minRedeemPoints > 0) {{ __('Minimum') }}: {{ number_format($minRedeemPoints) }} @lang('loyalty::app.points') @if($maxRedeemablePoints > 0) | {{ __('Maximum') }}: {{ number_format($maxRedeemablePoints) }} @lang('loyalty::app.points') @endif @else {{ __('loyalty::app.maxPoints') }}: {{ number_format($availableLoyaltyPoints) }} @endif

@if($minRedeemPoints > 0 && $maxRedeemablePoints > 0)

{{ __('Points must be in multiples of :min', ['min' => number_format($minRedeemPoints)]) }}

@endif
@else

{{ __('loyalty::app.noPointsAvailable') }}

@endif
{{ __('app.skip') }}
@if($maxRedeemablePoints > 0) {{ __('loyalty::app.useMax') }} ({{ number_format($maxRedeemablePoints) }}) @endif {{ __('loyalty::app.applyDiscount') }}
@endif