{% extends 'layout.html.twig' %} {% block title %}Buchung bestätigen{% endblock %} {% block content %}

Neue Buchung

{% include '_partials/_flashes.html.twig' %}

Buchung bestätigen

{# Travel Summary #}

Reise

Reiseziel
{{ bookingCreateDto.travel.label }}
Zeitraum
{{ bookingCreateDto.travel.dateFrom|date('d.m.Y') }} - {{ bookingCreateDto.travel.dateTo|date('d.m.Y') }}
{# Detailed Pricing Breakdown #}

Preisübersicht

{# Rooms Section #} {% if pricingData.rooms is not empty %}

Unterkunft

{% for roomPricing in pricingData.rooms %}
{{ roomPricing.quantity }}x {{ roomPricing.label }} {% if assignmentCounts is defined and assignmentCounts[roomPricing.roomId] is defined %} {{ assignmentCounts[roomPricing.roomId] }} Person(en) belegt {% endif %}
€{{ roomPricing.totalPrice|number_format(2, ',', '.') }}
€{{ roomPricing.unitPrice|number_format(2, ',', '.') }} pro Person
{% endfor %}
{% endif %} {# Services Section #} {% if pricingData.services is not empty %}

Leistungen

{% for serviceGroup in pricingData.services %}
{{ serviceGroup.groupName }}
{% for servicePricing in serviceGroup.services %}
{{ servicePricing.participantCount }}x {{ servicePricing.label }} {% if servicePricing.unitPrice is not null %} (€{{ servicePricing.unitPrice|number_format(2, ',', '.') }} pro Person) {% endif %} €{{ servicePricing.totalPrice|number_format(2, ',', '.') }}
{% endfor %}
{% endfor %}
{% endif %} {# Grand Total #} {% if pricingData.grandTotal is defined and pricingData.grandTotal > 0 %}
Gesamtpreis: €{{ pricingData.grandTotal|number_format(2, ',', '.') }}
{% endif %}
{# Participants Summary #}

Teilnehmer ({{ participantsCount }})

{% for participant in bookingCreateDto.participants %}

{{ participant.firstName }} {{ participant.lastName }} {% if loop.first %}(Anmelder){% endif %}

{% if participantPrices is defined and participantPrices[loop.index0] is defined %}
Preis
€{{ participantPrices[loop.index0]|number_format(2, ',', '.') }}
{% endif %}
{# Personal Data #} {% if participant.dateOfBirth %}
Geburtsdatum
{{ participant.dateOfBirth|date('d.m.Y') }}
{% endif %} {% if participant.gender %}
Geschlecht
{{ participant.gender == 'M' ? 'Männlich' : 'Weiblich' }}
{% endif %} {% if participant.email %}
E-Mail
{{ participant.email }}
{% endif %} {% if participant.mobile %}
Telefon
{{ participant.mobile }}
{% endif %} {% if participant.nationality %}
Nationalität
{{ participant.nationality }}
{% endif %} {# Address #} {% if participant.address and (participant.address.street or participant.address.city) %}
Adresse
{% if participant.address.street %}{{ participant.address.street }}
{% endif %} {% if participant.address.postCode or participant.address.city %} {{ participant.address.postCode }} {{ participant.address.city }}
{% endif %} {% if participant.address.country %}{{ participant.address.country }}{% endif %}
{% endif %} {# Room Assignment #} {% set assignedRoom = bookingCreateDto.travel.getRoomById(participant.assignedRoomId) %} {% if assignedRoom %}
Zimmer
{{ assignedRoom.label }} {% if assignedRoom.price is not null and assignedRoom.price != 0 %} (€{{ assignedRoom.price|number_format(2, ',', '.') }}) {% endif %}
{% endif %} {# Room Remarks #} {% if participant.remarksRoom %}
Zimmerwunsch
{{ participant.remarksRoom }}
{% endif %} {# Transportation Services #} {% if participant.transportationOutbound %}
Anreise
{{ participant.transportationOutbound.label }} {% if participant.transportationOutbound.price is not null and participant.transportationOutbound.price != 0 %} (€{{ participant.transportationOutbound.price|number_format(2, ',', '.') }}) {% endif %}
{% endif %} {% if participant.transportationInbound %}
Abreise
{{ participant.transportationInbound.label }} {% if participant.transportationInbound.price is not null and participant.transportationInbound.price != 0 %} (€{{ participant.transportationInbound.price|number_format(2, ',', '.') }}) {% endif %}
{% endif %} {# Pickup Location #} {% if participant.pickup %}
Zu- und Ausstieg
{{ participant.pickup.label }} {% if participant.pickup.price is not null and participant.pickup.price != 0 %} (€{{ participant.pickup.price|number_format(2, ',', '.') }}) {% endif %}
{% endif %} {# Parking & License Plate #} {% if participant.parking %}
Parkplatz
Ja {% if participant.parkingService is not null and participant.parkingService.price is not null and participant.parkingService.price != 0 %} (€{{ participant.parkingService.price|number_format(2, ',', '.') }}) {% endif %}
{% endif %} {% if participant.licensePlate %}
Kennzeichen
{{ participant.licensePlate }}
{% endif %} {# Board Services #} {% if participant.board is not empty %}
Verpflegung
    {% for boardItem in participant.board %}
  • {{ boardItem.label }} {% if boardItem.price is not null and boardItem.price != 0 %} (€{{ boardItem.price|number_format(2, ',', '.') }}) {% endif %}
  • {% endfor %}
{% endif %} {# Ski Pass #} {% if participant.skiPass %}
Skipass
{{ participant.skiPass.label }} {% if participant.skiPass.price is not null and participant.skiPass.price != 0 %} (€{{ participant.skiPass.price|number_format(2, ',', '.') }}) {% endif %}
{% endif %} {# Rentals #} {% if participant.rentals is not empty %}
Ausrüstung
    {% for rental in participant.rentals %}
  • {{ rental.label }} {% if rental.price is not null and rental.price != 0 %} (€{{ rental.price|number_format(2, ',', '.') }}) {% endif %}
  • {% endfor %}
{% endif %} {# Rental Insurance #} {% if participant.rentalInsuranceSelected and participant.rentalInsurance %}
Leihmaterial-Versicherung
{{ participant.rentalInsurance.label }} {% if participant.rentalInsurance.price is not null and participant.rentalInsurance.price != 0 %} (€{{ participant.rentalInsurance.price|number_format(2, ',', '.') }}) {% endif %}
{% endif %} {# Body Dimensions (if rentals selected) #} {% if participant.rentals is not empty %} {% if participant.height or participant.weight or participant.shoeSize %}
Körpermaße
{% if participant.height %}Größe: {{ participant.height }} cm{% endif %} {% if participant.weight %}{% if participant.height %}, {% endif %}Gewicht: {{ participant.weight }} kg{% endif %} {% if participant.shoeSize %}{% if participant.height or participant.weight %}, {% endif %}Schuhgröße: {{ participant.shoeSize }}{% endif %}
{% endif %} {% endif %} {# Courses #} {% if participant.courses is not empty %}
Kurse
    {% for course in participant.courses %}
  • {{ course.label }} {% if course.price is not null and course.price != 0 %} (€{{ course.price|number_format(2, ',', '.') }}) {% endif %}
  • {% endfor %}
{% endif %} {# Additional Services #} {% if participant.additionalServices is not empty %}
Zusatzleistungen
    {% for service in participant.additionalServices %}
  • {{ service.label }} {% if service.price is not null and service.price != 0 %} (€{{ service.price|number_format(2, ',', '.') }}) {% endif %}
  • {% endfor %}
{% endif %} {# Insurance #} {% if participant.insurance %}
Reiseversicherung
{{ participant.insurance.label }} {% if participant.insurance.price is not null and participant.insurance.price != 0 %} (€{{ participant.insurance.price|number_format(2, ',', '.') }}) {% endif %}
{% endif %}
{% endfor %}
{# Payment Summary #}

Zahlungsart

Gewählte Zahlungsart
{% if bookingCreateDto.paymentMethod == constant('App\\BusProNet\\Constants::PAYMENT_METHOD_DEBIT') %} Lastschrift (Einzugsermächtigungsverfahren) {% else %} Überweisung {% endif %}
{% if bookingCreateDto.paymentMethod == constant('App\\BusProNet\\Constants::PAYMENT_METHOD_DEBIT') and bookingCreateDto.bankAccount %}
IBAN
{{ bookingCreateDto.bankAccount.iban }}
Kontoinhaber
{{ bookingCreateDto.bankAccount.accountHolder }}
{% endif %}
{# Confirmation Form #} {{ form_start(form, { 'attr': { 'novalidate': 'novalidate', 'hx-post': path('app_booking_create_step_4'), 'hx-target': '#form-wrapper', 'hx-select': '#form-wrapper', 'hx-swap': 'outerHTML' } }) }}
{{ form_row(form.confirmationAccepted, { 'label_attr': {'class': 'text-base font-semibold'} }) }}
Zurück
{{ form_end(form) }}
{% endblock %}