@extends('layouts.app') @section('title', 'New Sale') @section('nav_pos', 'bg-teal-50 text-teal-700 font-semibold') @section('page_title', 'New Sale') @section('page_subtitle', 'Build and process a transaction') @section('content') @if($errors->any())
@endif @php $catLabels = [ 'all' => 'All', 'food_beverage'=> 'Food & Bev', 'minibar' => 'Minibar', 'laundry' => 'Laundry', 'telephone' => 'Telephone', 'damage' => 'Damage', 'other' => 'Misc', ]; @endphp
{{-- Hidden form (Alpine populates these before submit) --}}
@csrf
{{-- Back link --}}
Back to POS
{{-- Step 1: Mode + room/payment selection --}}

Step 1 — How to settle?

{{-- Charge to Room: guest search --}}

No checked-in guests matching ""

{{-- Direct Sale: payment method --}}
{{-- Step 2: Products + Cart --}}
{{-- Products (2/3) --}}

Step 2 — Select Items

{{-- Category tabs --}}
@foreach($catLabels as $key => $label) @endforeach
{{-- Product grid --}}
{{-- Custom item button --}}
{{-- Cart (1/3) --}}

Cart

{{-- Empty state --}}

Tap a product or add a custom item

{{-- Cart items --}}
{{-- Total + Notes + Process --}}

Total

@endsection @push('pageTour') @php $__pageTour = [ ['target' => '[data-tour=settle-mode]', 'title' => 'How to settle', 'desc' => 'Choose "Charge to Room" to bill a checked-in guest\'s folio, or "Direct Sale" to take payment right now.'], ['target' => '[data-tour=product-grid]', 'title' => 'Add items', 'desc' => 'Filter by category and tap products to add them to the cart. Tap again to increase the quantity.'], ['target' => '[data-tour=cart]', 'title' => 'The cart', 'desc' => 'Review the items and quantities — the running total updates live as you add or remove.'], ['target' => '[data-tour=settle-btn]', 'title' => 'Charge / Process','desc' => 'Finalize the sale: post it to the room folio, or process the direct payment. A direct sale gets a BIR OR number.'], ]; @endphp @endpush