{% extends 'layout_booking.html.twig' %} {% set htmx_change_trigger = 'change delay:300ms' %} {% macro stepFormField(form) %}
{{ form.vars.label_room }} {% if form.vars.is_inquiry %}(nur auf Anfrage){% endif %}
{% if form.vars.label_price_amount is defined and form.vars.label_price_amount is not null %} {{ form.vars.label_price_amount|format_currency('EUR') }} pro Person {% endif %}
{{ form_row(form, { 'attr': { 'hx-post': path('app_booking_create_step_1_refresh'), 'hx-swap': 'none', 'hx-trigger': htmx_change_trigger, } }) }}
{% endmacro %} {% block content %} {{ form_start(form, { 'attr': { 'class': 'flex-1 flex flex-col min-h-0' } }) }} {# Pagination - mobile only (above summary) #}
{% include 'booking/_pagination.html.twig' with { 'current_step': 1 } %}
{% block booking_summary %}
{% include 'booking/_summary.html.twig' with { 'bookingDto': bookingCreateContext.bookingDto, 'summaryData': bookingCreateContext.summaryData } %}
{% endblock %} {% block form %}
{# Flash messages - must be inside form-wrapper for HTMX swap to display them #} {% include '_partials/_flashes.html.twig' %} {# Pagination - desktop only (fixed above scrollable content) #}

Unterkunft

{% do form.roomSelections.setRendered %} {% block room_selection_form %}
{{ form_errors(form) }} {% if bookingCreateContext.groupedRooms.byRoom is not empty %}

Zimmer

{% for roomId, room in bookingCreateContext.groupedRooms.byRoom %} {{ _self.stepFormField(form.roomSelections[roomId]) }} {% endfor %} {% endif %} {% if bookingCreateContext.groupedRooms.byPax is not empty %}

Betten

{% for roomId, room in bookingCreateContext.groupedRooms.byPax %} {{ _self.stepFormField(form.roomSelections[roomId]) }} {% endfor %} {% endif %}
{% endblock %}
{% endblock %}
{% include '_partials/_cancel_button.html.twig' %}
{{ form_rest(form) }} {{ form_end(form) }} {% endblock %} {% block data_layer %} {% include '_partials/_tracking.html.twig' with { 'url': '/trichter_Z1/schritt1_zimmerauswahl', 'title': 'Zimmerauswahl' } %} {% endblock %}