feat: split booking between participants and applicant

addresses #869f2q1vu
This commit is contained in:
fromme committed 2026-10-19 09:18:22 +02:00
1 parent 2d49212b08
commit 1ff293f41f
44 files changed
+2024 -316

No files matched your search

+39 -1
View File
@@ -116,6 +116,44 @@
</div>
{% endif %}
{% if not bookingCreateContext.bookingDto.applicantTravels
and bookingCreateContext.bookingDto.applicant is not null %}
{% set applicant = bookingCreateContext.bookingDto.applicant %}
<h3 class="text-xl font-semibold mb-4">
Anmelder:in
</h3>
<div class="border border-primary-bg mb-4" {{ qa_attribute('summary-applicant') }}>
<div class="p-2 bg-primary-bg uppercase font-semibold">
{{ applicant.firstName }} {{ applicant.lastName }}
<span class="text-sm font-normal normal-case">(reist nicht mit)</span>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-x-4 gap-y-2 p-2 text-sm">
{% if applicant.dateOfBirth %}
<div>
<span class="text-gray-600 font-semibold">Geburtsdatum:</span>
{{ applicant.dateOfBirth|date('d.m.Y') }}
</div>
{% endif %}
{% if applicant.address is not null %}
<div>
<span class="text-gray-600 font-semibold">Adresse:</span>
{{ applicant.address.street }}, {{ applicant.address.postCode }} {{ applicant.address.city }}
</div>
{% endif %}
<div>
<span class="text-gray-600 font-semibold">E-Mail:</span>
{{ applicant.email }}
</div>
{% if applicant.mobile %}
<div>
<span class="text-gray-600 font-semibold">Telefon (mobil):</span>
{{ applicant.mobile }}
</div>
{% endif %}
</div>
</div>
{% endif %}
{# Participants Summary #}
<h3 class="text-xl font-semibold mb-4">
Teilnehmer
@@ -126,7 +164,7 @@
<div class="p-2 bg-primary-bg uppercase font-semibold flex justify-between items-center">
<span>
{{ participant.firstName }} {{ participant.lastName }}
{% if loop.first and not bookingCreateContext.bookingDto.isInternalAgencyBooking() %}<span class="text-sm font-normal">(Anmelder:in)</span>{% endif %}
{% if loop.first and bookingCreateContext.bookingDto.isFirstParticipantApplicant() %}<span class="text-sm font-normal">(Anmelder:in)</span>{% endif %}
</span>
{% if bookingCreateContext.participantPrices is defined and bookingCreateContext.participantPrices[loop.index0] is defined %}
<span>{{ bookingCreateContext.participantPrices[loop.index0]|format_currency('EUR') }}</span>