Buchungskalender eingefügt
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<section class="page-hero">
|
||||
<p class="eyebrow">Ablauf</p>
|
||||
<h1>Von der Anfrage bis zur Rückgabe klar geführt.</h1>
|
||||
<p>Die Seite ist so gebaut, dass Privatkunden und Firmenkunden denselben klaren Ablauf erleben.</p>
|
||||
<h1>So einfach mieten Sie Ihre Fotobox</h1>
|
||||
<p>Von der Anfrage bis zur Rückgabe: In wenigen Schritten zu Ihrer Fotobox.</p>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
@@ -22,21 +22,21 @@
|
||||
|
||||
<section class="section split-section">
|
||||
<article class="content-card">
|
||||
<h2>Abholung und Rückgabe</h2>
|
||||
<h2>Abholung oder Lieferung</h2>
|
||||
<ul class="check-list">
|
||||
<li><?= h($company['pickup_window']) ?></li>
|
||||
<li><?= h($company['return_window']) ?></li>
|
||||
<li>Bei der Abholung erhalten Sie eine kurze Einweisung in die Fotobox.</li>
|
||||
<li>Lieferung und Aufbau können im Anfrageprozess gewählt werden.</li>
|
||||
<li>Der Mietzeitraum wird immer über Übernachtungen berechnet.</li>
|
||||
</ul>
|
||||
</article>
|
||||
<article class="content-card">
|
||||
<h2>Verwaltung im Hintergrund</h2>
|
||||
<h2>Was nach Ihrer Anfrage passiert</h2>
|
||||
<ul class="check-list">
|
||||
<li>Anfragen werden im Backend geprüft und bestätigt.</li>
|
||||
<li>Für bestätigte Aufträge können Rechnungen mit Kundendaten erstellt werden.</li>
|
||||
<li>Zahlungsstatus und interne Notizen bleiben jederzeit nachvollziehbar.</li>
|
||||
<li>Wir prüfen die Verfügbarkeit Ihres Wunschtermins.</li>
|
||||
<li>Sie erhalten eine Rückmeldung zum Termin und zum weiteren Ablauf.</li>
|
||||
<li>Auf Wunsch erstellen wir eine Rechnung mit Ihren Kundendaten.</li>
|
||||
</ul>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
<section class="page-hero">
|
||||
<p class="eyebrow">Buchungsanfrage</p>
|
||||
<h1>Fotobox jetzt anfragen.</h1>
|
||||
<h1>Verfügbarkeit Ihrer Fotobox prüfen</h1>
|
||||
<p>
|
||||
Wählen Sie Ihren Zeitraum, legen Sie Leistungsart und Zahlungsart fest und senden Sie Ihre Anfrage direkt an die Verwaltung.
|
||||
Wählen Sie Abhol- und Rückgabetag und senden Sie uns Ihre unverbindliche Anfrage.
|
||||
Ein Miettag entspricht immer einer Übernachtung.
|
||||
Selbstabholung kostet <?= h(formatCurrency((int) $dayRate)) ?> pro Miettag, Lieferungen werden je nach Zielort berechnet.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="section split-section">
|
||||
<article class="content-card emphasis-card">
|
||||
<p class="eyebrow">Vor dem Absenden</p>
|
||||
<h2>Was wir für eine saubere Bearbeitung brauchen</h2>
|
||||
<p class="eyebrow">In 2 Minuten zur Anfrage</p>
|
||||
<h2>Diese Angaben benötigen wir für Ihre Anfrage</h2>
|
||||
<p>Mit Ihren Angaben prüfen wir den Termin, erfassen die Rechnungsdaten und melden uns zeitnah mit einer Bestätigung oder Rückfrage.</p>
|
||||
<ul class="check-list">
|
||||
<?php foreach ($bookingChecklist as $item): ?>
|
||||
<li><?= h($item) ?></li>
|
||||
@@ -25,4 +28,3 @@
|
||||
<?php require dirname(__DIR__) . '/partials/public-booking-form.php'; ?>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
<section class="page-hero">
|
||||
<p class="eyebrow">FAQ</p>
|
||||
<h1>Häufige Fragen vor der Anfrage.</h1>
|
||||
<p>Hier finden Sie die Punkte, die in Vermietung, Zahlung und Rückgabe am häufigsten geklärt werden müssen.</p>
|
||||
<h1>Häufige Fragen zur Fotobox-Miete</h1>
|
||||
<p>Hier finden Sie Antworten zu Mietdauer, Zahlung, Lieferung, Rückgabe und digitaler Bildübergabe.</p>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
@@ -14,4 +14,3 @@
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<section class="page-hero">
|
||||
<p class="eyebrow">Kontakt</p>
|
||||
<h1>Direkt erreichbar für Fragen zu Termin, Lieferung und Rechnung.</h1>
|
||||
<p>Wenn Sie vor der Anfrage noch etwas abstimmen möchten, erreichen Sie uns über die folgenden Kontaktwege.</p>
|
||||
<h1>Wir beraten Sie gerne persönlich.</h1>
|
||||
<p>Wenn Sie vor Ihrer Anfrage noch Fragen zu Termin, Lieferung oder Zahlungsart haben, erreichen Sie uns direkt über die folgenden Kontaktwege.</p>
|
||||
</section>
|
||||
|
||||
<section class="section split-section">
|
||||
@@ -16,14 +16,13 @@
|
||||
</div>
|
||||
</article>
|
||||
<article class="content-card emphasis-card">
|
||||
<h2>Was wir schnell beantworten können</h2>
|
||||
<h2>Wobei wir Sie unterstützen</h2>
|
||||
<ul class="check-list">
|
||||
<li>Prüfung von Wunschterminen</li>
|
||||
<li>Lieferung, Aufbau und regionale Einsatzorte</li>
|
||||
<li>Fragen zu Rechnung, Zahlungsart und Mietdauer</li>
|
||||
<li>Abstimmung von Firmenveranstaltungen und Sonderfällen</li>
|
||||
</ul>
|
||||
<a class="button-primary" href="<?= h(url('buchen')) ?>">Zur Buchungsanfrage</a>
|
||||
<a class="button-primary" href="<?= h(url('buchen')) ?>">Jetzt unverbindlich anfragen</a>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<section class="page-hero">
|
||||
<p class="eyebrow">Leistungen & Ausstattung</p>
|
||||
<h1>Eine Fotobox, die technisch überzeugt und organisatorisch mitdenkt.</h1>
|
||||
<p class="eyebrow">Fotobox & Leistungen</p>
|
||||
<h1>Professionelle Fotobox für Hochzeit, Geburtstag und Firmenfeier.</h1>
|
||||
<p>
|
||||
Diese Seite zeigt nicht nur die Technik, sondern den gesamten Service:
|
||||
Bildqualität, Bedienbarkeit, Logistik, digitale Übergabe und die kaufmännische Abwicklung.
|
||||
Hochwertige Bilder, einfache Bedienung und eine klare Abwicklung.
|
||||
Hier sehen Sie, was im Preis enthalten ist und welche Leistungen zusätzlich möglich sind.
|
||||
Von der Spiegelreflexkamera bis zum WLAN-Download ist alles auf eine einfache Nutzung ausgelegt.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
@@ -33,10 +34,9 @@
|
||||
|
||||
<section class="section cta-band">
|
||||
<div>
|
||||
<p class="eyebrow">Buchung</p>
|
||||
<h2>Sie wissen schon, was Sie brauchen?</h2>
|
||||
<p>Dann prüfen Sie direkt Ihren Zeitraum und senden Sie Ihre Anfrage digital.</p>
|
||||
<p class="eyebrow">Wunschtermin</p>
|
||||
<h2>Prüfen Sie direkt die Verfügbarkeit Ihrer Fotobox.</h2>
|
||||
<p>Senden Sie uns Ihre Anfrage unverbindlich online. Wir melden uns zeitnah zurück.</p>
|
||||
</div>
|
||||
<a class="button-primary" href="<?= h(url('buchen')) ?>">Jetzt anfragen</a>
|
||||
<a class="button-primary" href="<?= h(url('verfuegbarkeit')) ?>">Verfügbarkeit prüfen</a>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</article>
|
||||
<article class="legal-card">
|
||||
<h2>3. Zahlung</h2>
|
||||
<p>Zahlungen sind per Rechnung / Überweisung oder per PayPal möglich. Die gewählte Zahlungsart wird bei der Anfrage erfasst und kann im Verwaltungsprozess hinterlegt werden.</p>
|
||||
<p>Zahlungen sind per Rechnung / Überweisung oder per PayPal möglich. Die gewünschte Zahlungsart wird direkt in Ihrer Anfrage angegeben.</p>
|
||||
</article>
|
||||
<article class="legal-card">
|
||||
<h2>4. Übergabe und Rückgabe</h2>
|
||||
@@ -26,4 +26,3 @@
|
||||
<p>Bitte melden Sie Störungen oder Schäden unverzüglich. Für einen verbindlichen gewerblichen Einsatz sollten Haftungs- und Ausfallregelungen vor dem Live-Start individuell ergänzt werden.</p>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
+31
-21
@@ -1,36 +1,47 @@
|
||||
<section class="page-hero">
|
||||
<p class="eyebrow">Preise & Mietlogik</p>
|
||||
<h1>Klare Preise ohne versteckte Logik.</h1>
|
||||
<h1>Fotobox-Preise auf einen Blick</h1>
|
||||
<p>
|
||||
Der Standardpreis beträgt <strong><?= h(formatCurrency((int) $dayRate)) ?></strong> pro Miettag.
|
||||
Ein Miettag entspricht immer einer Übernachtung.
|
||||
<strong>Abholung ab <?= h(formatCurrency((int) $dayRate)) ?> pro Miettag.</strong>
|
||||
Lieferpreise richten sich nach dem Zielort. Ein Miettag entspricht immer einer Übernachtung.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="section split-section">
|
||||
<article class="content-card emphasis-card">
|
||||
<p class="eyebrow">Grundpreis</p>
|
||||
<h2><?= h(formatCurrency((int) $dayRate)) ?> pro Miettag</h2>
|
||||
<p>Montag bis Dienstag = 1 Miettag. Freitag bis Sonntag = 2 Miettage.</p>
|
||||
<p class="eyebrow">Preis je Liefergebiet</p>
|
||||
<h2>Abholung oder Lieferung nach Region</h2>
|
||||
<p>Ein Miettag entspricht einer Übernachtung. Montag bis Dienstag = 1 Miettag. Freitag bis Sonntag = 2 Miettage.</p>
|
||||
<ul class="check-list">
|
||||
<li>Technikpaket mit DSLR-Kamera, Blitz und Softbox</li>
|
||||
<li>Digitale Bildübergabe inklusive</li>
|
||||
<li>Zahlung per Rechnung, Überweisung oder PayPal</li>
|
||||
<li>Verbindlichkeit erst nach Bestätigung Ihrer Anfrage</li>
|
||||
<?php foreach ($pricingExamples as $example): ?>
|
||||
<li><strong><?= h($example['title']) ?>:</strong> <?= h($example['text']) ?></li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</article>
|
||||
<article class="content-card">
|
||||
<p class="eyebrow">Preisbeispiele</p>
|
||||
<p class="eyebrow">Was im Preis enthalten ist</p>
|
||||
<div class="pricing-example-list">
|
||||
<?php foreach ($pricingExamples as $example): ?>
|
||||
<article>
|
||||
<strong><?= h($example['title']) ?></strong>
|
||||
<span><?= h($example['text']) ?></span>
|
||||
</article>
|
||||
<?php endforeach; ?>
|
||||
<article>
|
||||
<strong>Technik</strong>
|
||||
<span>Fotobox, Spiegelreflexkamera, Studioblitz und Softbox</span>
|
||||
</article>
|
||||
<article>
|
||||
<strong>Bilder</strong>
|
||||
<span>Alle Fotos digital inklusive</span>
|
||||
</article>
|
||||
<article>
|
||||
<strong>Abwicklung</strong>
|
||||
<span>Zahlung per Rechnung / Überweisung oder PayPal</span>
|
||||
</article>
|
||||
<article>
|
||||
<strong>Anfrage</strong>
|
||||
<span>Verbindlich wird Ihre Buchung erst nach unserer Bestätigung</span>
|
||||
</article>
|
||||
</div>
|
||||
<p class="small-note">
|
||||
Lieferung, Aufbau oder Vor-Ort-Betreuung werden im Anfrageprozess passend zum Anlass abgestimmt.
|
||||
Hannover kostet <?= h(formatCurrency((int) $config['pricing']['delivery_rates']['hannover']['price_cents'])) ?>,
|
||||
die Region Hannover <?= h(formatCurrency((int) $config['pricing']['delivery_rates']['region_hannover']['price_cents'])) ?> und
|
||||
Hameln, Braunschweig, Hildesheim oder Celle <?= h(formatCurrency((int) $config['pricing']['delivery_rates']['extended_region']['price_cents'])) ?> pro Miettag.
|
||||
</p>
|
||||
</article>
|
||||
</section>
|
||||
@@ -39,7 +50,7 @@
|
||||
<div class="section-heading">
|
||||
<p class="eyebrow">Zahlung</p>
|
||||
<h2>Rechnung, Überweisung oder PayPal</h2>
|
||||
<p>Die gewünschte Zahlungsart wird bereits in der Anfrage hinterlegt und kann im Backend verwaltet werden.</p>
|
||||
<p>Die gewünschte Zahlungsart geben Sie direkt in Ihrer Anfrage an. Auf Wunsch erhalten Sie eine Rechnung mit vollständigen Kundendaten.</p>
|
||||
</div>
|
||||
<div class="trust-grid">
|
||||
<article class="trust-card">
|
||||
@@ -48,7 +59,7 @@
|
||||
</article>
|
||||
<article class="trust-card">
|
||||
<span>PayPal</span>
|
||||
<strong>Als Zahlungsart auswählbar</strong>
|
||||
<strong>Direkt in der Anfrage auswählbar</strong>
|
||||
</article>
|
||||
<article class="trust-card">
|
||||
<span>Steuerhinweis</span>
|
||||
@@ -56,4 +67,3 @@
|
||||
</article>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -1,27 +1,91 @@
|
||||
<section class="page-hero">
|
||||
<p class="eyebrow">Verfügbarkeit</p>
|
||||
<h1>Geblockte und bereits bestätigte Zeiträume im Blick.</h1>
|
||||
<h1>Prüfen Sie, ob Ihr Wunschtermin noch frei ist.</h1>
|
||||
<p>
|
||||
Die Übersicht zeigt aktuelle Belegungen aus dem Verwaltungssystem.
|
||||
Für Ihren Wunschtermin senden Sie am besten direkt eine Anfrage.
|
||||
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 ($bookings === []): ?>
|
||||
<?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 ($bookings as $booking): ?>
|
||||
<?php foreach ($availabilityBookings as $booking): ?>
|
||||
<article class="availability-card">
|
||||
<div>
|
||||
<strong><?= h($booking['reference']) ?></strong>
|
||||
<span><?= h(formatDate($booking['start_date'])) ?> bis <?= h(formatDate($booking['end_date'])) ?></span>
|
||||
<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>
|
||||
@@ -29,13 +93,18 @@
|
||||
</div>
|
||||
</article>
|
||||
<article class="content-card emphasis-card">
|
||||
<h2>Direkt zur Anfrage</h2>
|
||||
<h2>Jetzt unverbindlich anfragen</h2>
|
||||
<ul class="check-list">
|
||||
<li>Zeitraum nach Übernachtungen wählen</li>
|
||||
<li>Lieferart und Zahlungsart festlegen</li>
|
||||
<li>Kundendaten für Rechnung und Rückfragen erfassen</li>
|
||||
<li>Wunschtermin auswählen</li>
|
||||
<li>Leistungsart, Liefergebiet und Zahlungsart festlegen</li>
|
||||
<li>Kontaktdaten und Veranstaltungsort eintragen</li>
|
||||
</ul>
|
||||
<a class="button-primary button-block" href="<?= h(url('buchen')) ?>">Jetzt Termin anfragen</a>
|
||||
<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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user