Files
fotobox-webspite/views/pages/verfuegbarkeit.php
T
2026-05-05 19:18:05 +02:00

111 lines
5.9 KiB
PHP

<section class="page-hero">
<p class="eyebrow">Verfügbarkeit</p>
<h1>Prüfen Sie, ob Ihr Wunschtermin noch frei ist.</h1>
<p>
Hier sehen Sie bereits belegte Termine im Monatskalender.
Ist Ihr Wunschtermin noch frei, senden Sie uns direkt Ihre unverbindliche Anfrage.
</p>
</section>
<section class="section">
<div class="section-heading">
<p class="eyebrow">Buchungskalender</p>
<h2>Belegte Termine auf einen Blick</h2>
<p>Die Kalenderansicht zeigt angefragte, reservierte und bestätigte Zeiträume für die nächsten Monate.</p>
</div>
<div class="calendar-legend" aria-label="Legende zur Verfügbarkeit">
<span class="status-pill status-requested">Anfrage</span>
<span class="status-pill status-reserved">Reserviert</span>
<span class="status-pill status-confirmed">Bestätigt</span>
</div>
<div class="public-calendar-grid">
<?php foreach ($availabilityCalendarMonths as $month): ?>
<article class="calendar-month-card">
<div class="calendar-month-header">
<h2><?= h($month['label']) ?></h2>
<span><?= h((string) $month['entry_count']) ?> Termine</span>
</div>
<div class="calendar-weekdays" aria-hidden="true">
<span>Mo</span>
<span>Di</span>
<span>Mi</span>
<span>Do</span>
<span>Fr</span>
<span>Sa</span>
<span>So</span>
</div>
<div class="calendar-days">
<?php foreach ($month['days'] as $day): ?>
<?php if (!empty($day['is_padding'])): ?>
<div class="calendar-day calendar-day-empty" aria-hidden="true"></div>
<?php else: ?>
<div class="calendar-day<?= !empty($day['is_booked']) ? ' is-booked calendar-day-' . h((string) $day['status']) : '' ?><?= !empty($day['is_today']) ? ' is-today' : '' ?>">
<span class="calendar-day-number"><?= h((string) $day['day']) ?></span>
<?php if (!empty($day['is_booked'])): ?>
<span class="calendar-day-state"><?= h((string) $day['status_label']) ?></span>
<?php endif; ?>
</div>
<?php endif; ?>
<?php endforeach; ?>
</div>
<div class="calendar-entry-list">
<?php if ($month['entries'] === []): ?>
<article class="calendar-entry">
<strong>Derzeit kein belegter Zeitraum.</strong>
<span>Dieser Monat ist aktuell noch frei.</span>
</article>
<?php else: ?>
<?php foreach ($month['entries'] as $entry): ?>
<article class="calendar-entry">
<div>
<strong><?= h($entry['date_label']) ?></strong>
<span><?= h($entry['delivery_label']) ?> · <?= h($entry['day_count_label']) ?></span>
</div>
<span class="<?= h(statusPillClass((string) $entry['status'])) ?>"><?= h($entry['status_label']) ?></span>
</article>
<?php endforeach; ?>
<?php endif; ?>
</div>
</article>
<?php endforeach; ?>
</div>
</section>
<section class="section split-section">
<article class="content-card">
<h2>Aktuelle Belegung</h2>
<div class="availability-list">
<?php if ($availabilityBookings === []): ?>
<article class="availability-card">
<strong>Momentan gibt es keine festen Einträge.</strong>
<span>Ihre Anfrage kann direkt neu aufgenommen werden.</span>
</article>
<?php endif; ?>
<?php foreach ($availabilityBookings as $booking): ?>
<article class="availability-card">
<div>
<strong><?= h(formatDate($booking['start_date'])) ?> bis <?= h(formatDate($booking['end_date'])) ?></strong>
<span><?= h((string) ($booking['delivery_zone_label'] ?: $booking['delivery_mode_label'])) ?> · <?= h((string) $booking['total_days']) ?> <?= $booking['total_days'] === 1 ? 'Miettag' : 'Miettage' ?></span>
</div>
<span class="<?= h(statusPillClass((string) $booking['status'])) ?>"><?= h($booking['status_label']) ?></span>
</article>
<?php endforeach; ?>
</div>
</article>
<article class="content-card emphasis-card">
<h2>Jetzt unverbindlich anfragen</h2>
<ul class="check-list">
<li>Wunschtermin auswählen</li>
<li>Leistungsart, Liefergebiet und Zahlungsart festlegen</li>
<li>Kontaktdaten und Veranstaltungsort eintragen</li>
</ul>
<p class="small-note">
Selbstabholung: <?= h(formatCurrency((int) $config['pricing']['delivery_rates']['self_pickup']['price_cents'])) ?> ·
Hannover: <?= h(formatCurrency((int) $config['pricing']['delivery_rates']['hannover']['price_cents'])) ?> ·
Region Hannover: <?= h(formatCurrency((int) $config['pricing']['delivery_rates']['region_hannover']['price_cents'])) ?> ·
Hameln, Braunschweig, Hildesheim oder Celle: <?= h(formatCurrency((int) $config['pricing']['delivery_rates']['extended_region']['price_cents'])) ?>
</p>
<a class="button-primary button-block" href="<?= h(url('buchen')) ?>">Wunschtermin anfragen</a>
</article>
</section>