273 lines
12 KiB
PHP
273 lines
12 KiB
PHP
<?php
|
|
$dayRate = $config['pricing']['default_day_rate_cents'];
|
|
$company = $config['company'];
|
|
?>
|
|
<section class="hero-section">
|
|
<div class="hero-copy">
|
|
<p class="eyebrow">Fotobox-Vermietung neu gedacht</p>
|
|
<h1>Die Fotobox fuer Hochzeiten, Geburtstage und Firmenevents</h1>
|
|
<p class="hero-text">
|
|
Unkompliziert mieten, schnell aufbauen, kinderleicht bedienen und alle Bilder direkt digital sichern.
|
|
Unsere Fotobox verbindet hochwertige Technik mit einem klaren Buchungsprozess ohne Shop-Chaos.
|
|
</p>
|
|
<div class="hero-actions">
|
|
<a class="button-primary" href="#buchung">Verfuegbarkeit pruefen</a>
|
|
<a class="button-secondary" href="#ablauf">So funktioniert die Miete</a>
|
|
</div>
|
|
<ul class="hero-points">
|
|
<li>Spiegelreflexkamera, Studioblitz und Softbox</li>
|
|
<li>WLAN-Download direkt aufs Handy</li>
|
|
<li>Selbstabholung oder Lieferung mit Aufbau</li>
|
|
<li>99,99 EUR pro Kalendertag</li>
|
|
</ul>
|
|
</div>
|
|
<div class="hero-card">
|
|
<div class="hero-card-panel hero-card-panel-top">
|
|
<span>Eventbereit in wenigen Minuten</span>
|
|
<strong>Abholung ab 17:00 Uhr</strong>
|
|
</div>
|
|
<div class="hero-card-visual">
|
|
<div class="camera-glow"></div>
|
|
<div class="camera-body">
|
|
<div class="camera-lens"></div>
|
|
<div class="camera-screen"></div>
|
|
</div>
|
|
</div>
|
|
<div class="hero-card-panel">
|
|
<span>Digitale Galerie inklusive</span>
|
|
<strong>Rueckgabe bis 13:00 Uhr</strong>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="feature-strip" id="leistungen">
|
|
<article>
|
|
<h2>Technik, die nicht zickt</h2>
|
|
<p>Spiegelreflexkamera, Bildschirm und Studioblitz mit Softbox sorgen fuer helle, scharfe Bilder bei jedem Anlass.</p>
|
|
</article>
|
|
<article>
|
|
<h2>Direkt aufs Handy</h2>
|
|
<p>Per WLAN koennen deine Gaeste ihre Fotos sofort laden und teilen. Nach dem Event gibt es alle Bilder digital.</p>
|
|
</article>
|
|
<article>
|
|
<h2>Flexible Logistik</h2>
|
|
<p>Selbst abholen, liefern lassen oder auf Wunsch mit Aufbau und Vor-Ort-Unterstuetzung buchen.</p>
|
|
</article>
|
|
</section>
|
|
|
|
<section class="content-grid" id="ablauf">
|
|
<div class="content-block">
|
|
<p class="eyebrow">Ablauf</p>
|
|
<h2>So laeuft die Miete ab</h2>
|
|
<ol class="step-list">
|
|
<li>
|
|
<strong>1. Zeitraum waehlen</strong>
|
|
<span>Du waehlst Mietbeginn und Mietende und siehst sofort die voraussichtlichen Kosten.</span>
|
|
</li>
|
|
<li>
|
|
<strong>2. Leistung festlegen</strong>
|
|
<span>Selbstabholung, Lieferung mit Aufbau oder Vor-Ort-Betreuung passend zu deinem Event.</span>
|
|
</li>
|
|
<li>
|
|
<strong>3. Anfrage absenden</strong>
|
|
<span>Wir speichern alle Kundendaten und bereiten auf Wunsch direkt die Rechnungsabwicklung vor.</span>
|
|
</li>
|
|
<li>
|
|
<strong>4. Fotos geniessen</strong>
|
|
<span>Am Eventtag steht die Box bereit und danach bekommst du alle Bilder digital zur Weitergabe.</span>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
<div class="content-block equipment-block">
|
|
<p class="eyebrow">Ausstattung</p>
|
|
<h2>Alles drin fuer einen reibungslosen Party-Hit</h2>
|
|
<ul class="check-list">
|
|
<li>Spiegelreflexkamera fuer gestochen scharfe Aufnahmen</li>
|
|
<li>Bildschirm mit einfacher Bedienung per Touch</li>
|
|
<li>Studioblitz mit grosser Softbox fuer gleichmaessiges Licht</li>
|
|
<li>Digitale Uebergabe aller Fotos nach dem Event</li>
|
|
<li>Optionaler Hintergrund und Betreuung vor Ort</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="pricing-panel">
|
|
<div>
|
|
<p class="eyebrow">Preis und Logistik</p>
|
|
<h2>Transparent statt versteckt</h2>
|
|
<p>
|
|
Standardmaessig berechnen wir <strong><?= h(formatCurrency($dayRate)) ?></strong> pro Kalendertag.
|
|
Mietbeginn und Mietende zaehlen beide mit. Selbstabholung spart Zeit in der Abstimmung,
|
|
Lieferung und Aufbau machen es vor Ort noch entspannter.
|
|
</p>
|
|
</div>
|
|
<div class="pricing-aside">
|
|
<div>
|
|
<span>Tagespreis</span>
|
|
<strong><?= h(formatCurrency($dayRate)) ?></strong>
|
|
</div>
|
|
<div>
|
|
<span>Zahlungsarten</span>
|
|
<strong>Rechnung / Ueberweisung und PayPal</strong>
|
|
</div>
|
|
<div>
|
|
<span>Servicefenster</span>
|
|
<strong>Abholung ab 17:00 Uhr, Rueckgabe bis 13:00 Uhr</strong>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="availability-section">
|
|
<div>
|
|
<p class="eyebrow">Online-Verfuegbarkeit</p>
|
|
<h2>Bereits reservierte Zeitraeume</h2>
|
|
<p>Diese Liste zeigt geblockte oder bestaetigte Termine aus dem Verwaltungssystem.</p>
|
|
</div>
|
|
<div class="availability-list">
|
|
<?php if ($bookings === []): ?>
|
|
<article class="availability-card availability-card-empty">
|
|
<strong>Aktuell sind keine festen Reservierungen hinterlegt.</strong>
|
|
<span>Du kannst direkt eine neue Anfrage senden.</span>
|
|
</article>
|
|
<?php endif; ?>
|
|
<?php foreach ($bookings as $booking): ?>
|
|
<article class="availability-card">
|
|
<strong><?= h($booking['reference']) ?></strong>
|
|
<span><?= h(formatDate($booking['start_date'])) ?> bis <?= h(formatDate($booking['end_date'])) ?></span>
|
|
<small><?= h($booking['status_label']) ?></small>
|
|
</article>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="booking-section" id="buchung">
|
|
<div class="booking-copy">
|
|
<p class="eyebrow">Buchungsanfrage</p>
|
|
<h2>Fotobox jetzt anfragen</h2>
|
|
<p>
|
|
Zwei Termine auswaehlen, Wunschleistung festlegen und Kundendaten hinterlegen.
|
|
Die Verwaltung kann deine Anfrage danach direkt bestaetigen, als Kundenbestellung uebernehmen und eine Rechnung erzeugen.
|
|
</p>
|
|
<div class="booking-info-card">
|
|
<strong>Kontakt fuer Rueckfragen</strong>
|
|
<span><?= h($company['email']) ?></span>
|
|
<span><?= h($company['phone']) ?></span>
|
|
</div>
|
|
</div>
|
|
<div class="booking-form-card">
|
|
<?php if (!empty($flashSuccess)): ?>
|
|
<div class="flash flash-success"><?= h((string) $flashSuccess) ?></div>
|
|
<?php endif; ?>
|
|
<?php if (!empty($flashError)): ?>
|
|
<div class="flash flash-error"><?= h((string) $flashError) ?></div>
|
|
<?php endif; ?>
|
|
|
|
<form method="post" action="/book" class="booking-form" data-day-rate="<?= h((string) $dayRate) ?>">
|
|
<div class="form-grid">
|
|
<label>
|
|
<span>Name</span>
|
|
<input type="text" name="customer_name" value="<?= h((string) ($old['customer_name'] ?? '')) ?>" required>
|
|
</label>
|
|
<label>
|
|
<span>Firma</span>
|
|
<input type="text" name="company" value="<?= h((string) ($old['company'] ?? '')) ?>">
|
|
</label>
|
|
<label>
|
|
<span>E-Mail</span>
|
|
<input type="email" name="email" value="<?= h((string) ($old['email'] ?? '')) ?>" required>
|
|
</label>
|
|
<label>
|
|
<span>Telefon</span>
|
|
<input type="text" name="phone" value="<?= h((string) ($old['phone'] ?? '')) ?>" required>
|
|
</label>
|
|
<label>
|
|
<span>Strasse</span>
|
|
<input type="text" name="street" value="<?= h((string) ($old['street'] ?? '')) ?>" required>
|
|
</label>
|
|
<label>
|
|
<span>PLZ</span>
|
|
<input type="text" name="postal_code" value="<?= h((string) ($old['postal_code'] ?? '')) ?>" required>
|
|
</label>
|
|
<label>
|
|
<span>Ort</span>
|
|
<input type="text" name="city" value="<?= h((string) ($old['city'] ?? '')) ?>" required>
|
|
</label>
|
|
<label>
|
|
<span>Anlass</span>
|
|
<input type="text" name="event_type" value="<?= h((string) ($old['event_type'] ?? '')) ?>" placeholder="z. B. Hochzeit oder Sommerfest">
|
|
</label>
|
|
<label>
|
|
<span>Veranstaltungsort</span>
|
|
<input type="text" name="event_location" value="<?= h((string) ($old['event_location'] ?? '')) ?>" placeholder="Location oder Stadt">
|
|
</label>
|
|
<label>
|
|
<span>Mietbeginn</span>
|
|
<input type="date" name="start_date" data-booking-start value="<?= h((string) ($old['start_date'] ?? '')) ?>" required>
|
|
</label>
|
|
<label>
|
|
<span>Mietende</span>
|
|
<input type="date" name="end_date" data-booking-end value="<?= h((string) ($old['end_date'] ?? '')) ?>" required>
|
|
</label>
|
|
<label>
|
|
<span>Lieferart</span>
|
|
<select name="delivery_mode">
|
|
<option value="self_pickup" <?= selected((string) ($old['delivery_mode'] ?? 'self_pickup'), 'self_pickup') ?>>Selbstabholung</option>
|
|
<option value="delivery_setup" <?= selected((string) ($old['delivery_mode'] ?? ''), 'delivery_setup') ?>>Lieferung und Aufbau</option>
|
|
<option value="on_site_support" <?= selected((string) ($old['delivery_mode'] ?? ''), 'on_site_support') ?>>Lieferung, Aufbau und Vor-Ort-Betreuung</option>
|
|
</select>
|
|
</label>
|
|
<label>
|
|
<span>Zahlungsart</span>
|
|
<select name="payment_method">
|
|
<option value="invoice_transfer" <?= selected((string) ($old['payment_method'] ?? 'invoice_transfer'), 'invoice_transfer') ?>>Rechnung / Ueberweisung</option>
|
|
<option value="paypal" <?= selected((string) ($old['payment_method'] ?? ''), 'paypal') ?>>PayPal</option>
|
|
</select>
|
|
</label>
|
|
</div>
|
|
<label>
|
|
<span>Nachricht</span>
|
|
<textarea name="notes_customer" rows="4" placeholder="Sonderwuensche, Lieferdetails oder Aufbauhinweise"><?= h((string) ($old['notes_customer'] ?? '')) ?></textarea>
|
|
</label>
|
|
|
|
<div class="price-summary">
|
|
<div>
|
|
<span>Mietdauer</span>
|
|
<strong data-summary-days>Noch nicht gewaehlt</strong>
|
|
</div>
|
|
<div>
|
|
<span>Gesamtpreis</span>
|
|
<strong data-summary-total><?= h(formatCurrency($dayRate)) ?></strong>
|
|
</div>
|
|
</div>
|
|
|
|
<button type="submit" class="button-primary button-block">Anfrage absenden</button>
|
|
<p class="form-note">Mit dem Absenden wird eine verwaltbare Anfrage angelegt. Die finale Bestaetigung erfolgt durch den Verwalter.</p>
|
|
</form>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="faq-section" id="faq">
|
|
<div>
|
|
<p class="eyebrow">FAQ</p>
|
|
<h2>Wichtige Fragen auf einen Blick</h2>
|
|
</div>
|
|
<div class="faq-list">
|
|
<article>
|
|
<h3>Wie schnell ist die Fotobox einsatzbereit?</h3>
|
|
<p>Durch den einfachen Aufbau und die kurze Einweisung ist die Box in wenigen Minuten startklar.</p>
|
|
</article>
|
|
<article>
|
|
<h3>Bekommen wir alle Fotos?</h3>
|
|
<p>Ja. Alle Bilder werden nach dem Event digital zur Verfuegung gestellt. Auf Wunsch koennen Gaeste sie schon vor Ort aufs Handy laden.</p>
|
|
</article>
|
|
<article>
|
|
<h3>Kann ich auch Lieferung und Betreuung buchen?</h3>
|
|
<p>Ja. Du kannst zwischen Selbstabholung, Lieferung mit Aufbau oder zusaetzlicher Vor-Ort-Unterstuetzung waehlen.</p>
|
|
</article>
|
|
<article>
|
|
<h3>Ist PayPal schon moeglich?</h3>
|
|
<p>Ja, PayPal ist als Zahlungsart im Ablauf vorgesehen. Sobald du echte MySQL- und PayPal-Daten hinterlegst, laesst sich der operative Betrieb direkt anbinden.</p>
|
|
</article>
|
|
</div>
|
|
</section>
|