{#- Price breakdown for booking emails. Mirrors groups/booking/_offer_summary.html.twig, but with inline styles: the email layout ships no table styling and no Tailwind. Context: booking, priceBreakdown, currency (set in AccommodationBookingService). -#} {% if priceBreakdown is not null and currency is not null %} {% set cell = 'padding: 4px 0; text-align: left; vertical-align: top;' %} {% set amount = 'padding: 4px 0; text-align: right; vertical-align: top; white-space: nowrap;' %} {% set note = 'display: block; font-size: 12px; color: #6b7280; margin: 0;' %}
| Zeitraum | {{ booking.dateFrom|date('d.m.Y') }} – {{ booking.dateTo|date('d.m.Y') }}, {{ booking.nights }} {{ booking.nights != 1 ? 'Nächte' : 'Nacht' }} |
| Anzahl Personen | {{ booking.paxCount }} |
| davon Kinder (0–3 J.) | {{ booking.minorsCount }} |
| davon Kinder (4–{{ booking.accommodation.maxAdolescentAge }} J.) | {{ booking.childrenCount }} |
| Basispreis für {{ priceBreakdown.includedPax }} Pers. | {{ (priceBreakdown.basePrice / 100)|format_currency(currency) }} |
| Aufpreis Personenzahl für {{ priceBreakdown.effectivePax - priceBreakdown.includedPax }} Pers. | {{ (priceBreakdown.additionalPersonsPrice / 100)|format_currency(currency) }} |
| Aufpreis Kurzzeit | {{ (priceBreakdown.shortTermSurcharge / 100)|format_currency(currency) }} |
| Verpflegung{% if booking.boardServiceLabel %} ({{ booking.boardServiceLabel }}){% endif %} | {{ (priceBreakdown.boardPrice / 100)|format_currency(currency) }} |
| Verpflegungs-Aufschlag für Gruppen unter {{ priceBreakdown.undersubscriptionThreshold }} Pers. | {{ (priceBreakdown.undersubscriptionSurcharge / 100)|format_currency(currency) }} |
| {{ service.label }} | {{ (service.price / 100)|format_currency(currency) }} |
| Strom- und Abfallgebühren | {{ (priceBreakdown.runningCosts / 100)|format_currency(currency) }} |
| Gesamtpreis zzgl. ortsabhängiger Gebühren | {{ (priceBreakdown.total / 100)|format_currency(currency) }} |
| Rabatt {{ discount.label }} {{ discount.percent }} % | – {{ (discount.amount / 100)|format_currency(currency) }} |
| Gesamtpreis nach Rabatt | {{ (priceBreakdown.discountedTotal / 100)|format_currency(currency) }} |