@extends('layouts.dashboard') @section('title', 'Tarieven - ' . $restaurant->name) @section('eyebrow', 'Restaurant') @section('page-title', 'Tarieven en formules') @push('styles') @endpush @section('content')
Formulebeheer

Tarieven van {{ $restaurant->name }}

Beheer All You Can Eat-, All You Can Drink- en hybride formules, inclusief sessieduur, bestelrondes, inbegrepen categorieën en leeftijdsprijzen.

Totaal formules{{ $rates->count() }}
AYCE{{ $rates->where('rate_type', 'ayce_food')->count() }}
AYCD{{ $rates->where('rate_type', 'aycd_drink')->count() }}
Hybride{{ $rates->where('rate_type', 'hybrid')->count() }}
{{ $rates->count() }} {{ $rates->count() === 1 ? 'formule' : 'formules' }}
@if($rates->isEmpty())

Nog geen formules

Maak je eerste AYCE-, AYCD- of hybride formule aan.

@else
@foreach($rates as $rate) @php $typeLabel = match($rate->rate_type) { 'ayce_food' => 'All You Can Eat', 'aycd_drink' => 'All You Can Drink', 'hybrid' => 'Hybride', default => $rate->rate_type, }; $typeIcon = match($rate->rate_type) { 'ayce_food' => 'ri-restaurant-2-line', 'aycd_drink' => 'ri-cup-line', 'hybrid' => 'ri-layout-masonry-line', default => 'ri-price-tag-3-line', }; $ratePayload = [ 'id' => $rate->id, 'name' => $rate->name, 'description' => $rate->description, 'rate_type' => $rate->rate_type, 'session_duration_minutes' => $rate->session_duration_minutes, 'food_round_interval_minutes' => $rate->food_round_interval_minutes, 'food_items_per_person_per_round' => $rate->food_items_per_person_per_round, 'drink_round_interval_minutes' => $rate->drink_round_interval_minutes, 'drink_items_per_person_per_round' => $rate->drink_items_per_person_per_round, 'starts_at' => optional($rate->starts_at)->format('Y-m-d\\TH:i'), 'ends_at' => optional($rate->ends_at)->format('Y-m-d\\TH:i'), 'active' => $rate->active, 'sort_order' => $rate->sort_order, 'weekdays' => $rate->weekdays ->pluck('weekday') ->values() ->all(), 'menu_category_ids' => $rate->menuCategories ->pluck('id') ->values() ->all(), 'age_prices' => $rate->agePrices ->map(function ($price) { return [ 'label' => $price->label, 'minimum_age' => $price->minimum_age, 'maximum_age' => $price->maximum_age, 'price' => $price->price, 'active' => $price->active, 'sort_order' => $price->sort_order, ]; }) ->values() ->all(), ]; @endphp
{{ $typeLabel }} {{ $rate->active ? 'Actief' : 'Inactief' }}

{{ $rate->name }}

{{ $rate->description ?: 'Nog geen beschrijving ingesteld.' }}

@php $weekdayLabels = [ 'monday' => 'Ma', 'tuesday' => 'Di', 'wednesday' => 'Wo', 'thursday' => 'Do', 'friday' => 'Vr', 'saturday' => 'Za', 'sunday' => 'Zo', ]; @endphp
@foreach($weekdayLabels as $weekdayKey => $weekdayLabel) {{ $weekdayLabel }} @endforeach
Sessieduur {{ $rate->session_duration_minutes }} min
@if($rate->includesFood())
Eten per ronde {{ $rate->food_items_per_person_per_round }} p.p.
@endif @if($rate->includesDrinks())
Drank per ronde {{ $rate->drink_items_per_person_per_round }} p.p.
@endif
Leeftijdsprijzen {{ $rate->agePrices->count() }}
@forelse($rate->menuCategories as $category) {{ $category->name }} @empty Geen categorieën gekoppeld @endforelse
@foreach($rate->agePrices->take(4) as $price)
{{ $price->label }} € {{ number_format((float) $price->price, 2, ',', '.') }}
@endforeach @if($rate->agePrices->count() > 4) + {{ $rate->agePrices->count() - 4 }} extra prijsregels @endif
@endforeach
@endif @if($errors->any()) @endif
@endsection @push('scripts') @endpush