{#- Prices only — travel dates and group size belong to _stay_details.html.twig and the PDF's own data block. Mirrors groups/booking/_offer_summary.html.twig, but with inline styles: neither the email layout nor dompdf ships table styling or Tailwind. Context: booking, priceBreakdown, currency (set in AccommodationBookingService and AccommodationBookingPdfGenerator). -#} {% 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;' %}
| 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) }} |