{% extends 'base.html.twig' %} {% form_theme form 'default/form/theme.html.twig' %} {% block meta_robots %} {% if app.debug %}{% endif %} {% endblock %} {% block canonical_tag %}{% if app.debug %}{% endif %}{% endblock %} {% block body %}

Buchungsformular

{{ travel_program.title }}

{{ form_errors(form) }} {% spaceless %} {% if not form.vars.valid %}
    {% for error in form.vars.errors.form.getErrors(true) %}
  • {{ error.message }}
  • {% endfor %}
{% endif %} {% endspaceless %} {{ form_errors(form.email) }}
{# TODO folgendes evtl noch weiter verallgemeinern #} {% set priceTypeIds = [] %} {% set priceTypeChildIds = [] %} {% set extraDays = 0 %} {% for price in travel_date.prices %} {% if(price.available == "1") %} {% set priceTypeIds = priceTypeIds|merge([price.priceTypeId]) %} {% if(price.priceChildren > 0) %} {% set priceTypeChildIds = priceTypeChildIds|merge([price.priceTypeId]) %} {% endif %} {% if(price.extraPrice > 0) %} {% set extraDays = 1 %} {% endif %} {% if(price.extraPriceComfort > 0) %} {% set extraDays = 1 %} {% endif %} {% if(price.extraPriceChildren > 0) %} {% set extraDays = 1 %} {% endif %} {% endif %} {% endfor %} {% if "1" in priceTypeIds %} {% else %} {% endif %} {% if "1" in priceTypeChildIds %} {% else %} {% endif %} {% if "3" in priceTypeIds %} {% else %} {% endif %} {% if "3" in priceTypeChildIds %} {% else %} {% endif %} {% if "5" in priceTypeIds %} {% else %} {% endif %} {% if "5" in priceTypeChildIds %} {% else %} {% endif %} {% if extraDays == 1 and travel_program.drafts.count() > 0 %} {% else %} {% endif %}
Reiseprogramm {{ travel_program.title }} {#
(Reisebeschreibung aufrufen)#}
Kategorie Standard {# #TODO #}
Reisezeitraum {{ travel_date.start|date }} - {{ travel_date.end|date }} ({{ travel_date.name }})
{{ form_label(form.departure, 'Abflugort') }}
{{ form_widget(form.departure) }} {{ form_errors(form.departure) }}
{{ form_label(form.singleRoomCount, 'Einzelzimmer') }} {{ form_widget(form.singleRoomCount) }} {{ form_errors(form.singleRoomCount) }}
{{ form_label(form.singleRoomChildCount, 'Einzelzimmer mit Kind') }} {{ form_widget(form.singleRoomChildCount) }} {{ form_errors(form.singleRoomChildCount) }}
{{ form_label(form.doubleRoomCount, 'Doppelzimmer') }} {{ form_widget(form.doubleRoomCount) }} {{ form_errors(form.doubleRoomCount) }}
{{ form_label(form.doubleRoomChildCount, 'Doppelzimmer mit Kind') }} {{ form_widget(form.doubleRoomChildCount) }} {{ form_errors(form.doubleRoomChildCount) }}
{{ form_label(form.tripleRoomCount, 'Dreibettzimmer') }} {{ form_widget(form.tripleRoomCount) }} {{ form_errors(form.tripleRoomCount) }}
{{ form_label(form.tripleRoomChildCount, 'Dreibettzimmer mit Kind') }} {{ form_widget(form.tripleRoomChildCount) }} {{ form_errors(form.tripleRoomChildCount) }}
Zubuchbare Leistungen {% if form.comfort is defined %}
{{ form_widget(form.comfort) }} {% embed "default/components/embed/modal.html.twig" with { 'title': 'Komfort-Kategorie (4 Sterne)', 'id': 'comfort-booking-option' } %} {% block body %}

Aufpreise für Kategorie

    {% for price in travel_date.prices %} {# @var price \AppBundle\Entity\TravelPeriodPrice #}
  • p.P. {{ price.effectiveComfortPrice|number_format(2) }} € {{ price_type_by_id[price.priceType.id].name }}
  • {% endfor %}
{% endblock %} {% endembed %}
{% endif %} {% if form.travelOptions is defined %} {% for travelOptionForm in form.travelOptions %} {% include 'default/components/booking/travelOption.html.twig' with { 'travelOptionForm': travelOptionForm, 'travelOption': form.travelOptions.vars.choices[travelOptionForm.vars.value].data } %} {% endfor %} {% endif %}
Verlängerung buchen

{{ getContextBySlug('verlaengerung-vor') }}

{{ form_widget(form.extraBookingDaysBefore) }} {{ form_errors(form.extraBookingDaysBefore) }}

{{ getContextBySlug('verlaengerung-nach') }}

{{ form_widget(form.extraBookingDaysAfter) }} {{ form_errors(form.extraBookingDaysAfter) }}
Reiseversicherung
{% for insuranceForm in form.insurance %} {% include 'default/components/booking/insurance.html.twig' with { 'form': insuranceForm, 'insurance': form.insurance.vars.choices[insuranceForm.vars.value].data } %} {% endfor %} {{ form_errors(form.insurance) }}
Reiseversicherung


{{ getContextBySlug('reise-ruecktrittskosten-empfehlung')|raw }}

Ihr gewähltes Angebot

{% include 'default/components/booking/summary.html.twig' with { 'summary': summary, 'total_price': total_price, 'booking_price_info': booking_price_info, 'show_detail' : true, } %}

{{ getContextBySlug('gewuenschte-zahlungsart') }} {% if(travel_program.category.id != 1) %} {{ getContextBySlug('abweichende-anzahlungsbedingungen') }} {% endif %}

Flugdaten

Flugdaten einblenden

{% for departure in travel_date.departures %} {# @var departure \AppBundle\Entity\TravelDeparturePoint #} {% if departure.flightTime[travel_date.startWeekday] is defined %} {% if departure.flightTime[travel_date.startWeekday] != "" %} {% endif %} {% endif %} {% endfor %}
Reiseprogramm mit Anzeige der Reisetage
{% set travel_program_dates = travel_program.getTravelProgramDates(travel_date.start) %}
    {% for travel_program_date in travel_program_dates if travel_program_date.count < 1 %}
  • {{ travel_program_date.date }} : {{ travel_program_date.day|raw }} {% if travel_program_date.night is defined %}
    Übernachtung : {{ travel_program_date['night']|raw }} {% endif %}
  • {% endfor %}

    Reiseablauf mit Reisetagen einblenden

    {% for travel_program_date in travel_program_dates if travel_program_date.count > 0 %} {% if travel_program_dates|length != travel_program_date.count +1 %}
  • {{ travel_program_date.date }} : {{ travel_program_date.day|raw }} {% if travel_program_date.night is defined %}
    Übernachtung : {{ travel_program_date['night']|raw }} {% endif %}
  • {% else %}
  • {{ travel_program_date.date }} : {{ travel_program_date.day|raw }} {% if travel_program_date.night is defined %}
    Übernachtung : {{ travel_program_date['night']|raw }} {% endif %}
  • {% endif %} {% endfor %}
Reiseleistungen

Reiseleistungen einblenden

Eingeschlossene Leistungen

    {% for travel_program_service in travel_program.included|replace({'*': ''})|split('\n') %}
  • {{ travel_program_service|raw }}
  • {% endfor %}

Nicht eingeschlossene / zubuchbare Leistungen

    {% for travel_program_service in travel_program.excluded|split('\n') %}
  • {{ travel_program_service|raw }}
  • {% endfor %}
{% if (travel_program.advices is not empty) or (travel_program.generalnote is not empty) %}

Hinweise

    {% if travel_program.generalnote is not empty %} {% for notes in travel_program.generalnote.text|trim|split('\n') %} {% if notes is not empty %}
  • {{ notes|raw }}
  • {% endif %} {% endfor %} {% endif %} {% for travel_program_advice in travel_program.advices|trim|split('\n') %} {% if travel_program_advice is not empty %}
  • {{ travel_program_advice|raw }}
  • {% endif %} {% endfor %}
{% endif %}
Reiseanmelder
{{ form_field_pho(form.salutation, 'Anrede', {'label_attr': {class: 'sr-only'}}) }}
{{ form_field_pho(form.firstName, 'Vorname') }}
{{ form_field_pho(form.lastName, 'Nachname') }}
{{ form_field_pho(form.streetAddress, 'Straße, Hausnummer') }}
{{ form_field_pho(form.zipCode, 'PLZ') }}
{{ form_field_pho(form.city, 'Ort') }}
{{ form_field_pho(form.nation, 'Land') }}
{{ form_field_pho(form.phone, 'Telefon tagsüber') }}
{{ form_field_pho(form.fax, 'Fax (optional)') }}
{{ form_field_pho(form.email, 'E-Mail-Adresse') }}
Reiseteilnehmer

{{ getContextBySlug('namen-reisepass') }}

{% set currentIndex = 0 %} {% for room in form.rooms %} {% for traveler in room.travelers %} {#{{ dump(room.vars.value.roomType) }}#} {% set currentIndex = currentIndex + 1 %}
{% if traveler.vars.value.child %}
bis einschließlich 11 Jahre {% endif %}
{{ form_field_pho(traveler.sex, 'Geschlecht', { required: false }) }}
{{ form_field_pho(traveler.firstName, 'Vorname') }}
{{ form_field_pho(traveler.lastName, 'Nachname') }}
{{ form_field_pho(traveler.nationality, 'Nationalität') }}
{{ form_field_pho(traveler.birthDate, 'Geburtsdatum') }}
{{ form_widget(traveler.acceptEntryRequirements) }} {{ form_errors(traveler.acceptEntryRequirements) }}
{% endfor %} {% endfor %}

Hinweis

{{ getContextBySlug('hinweis-staatsbuergerschaft-1')|raw }} {% for nationalitie in nationalities %} {{ nationalitie.name }}{% if not loop.last %},{% endif %} {% endfor %} {{ getContextBySlug('hinweis-staatsbuergerschaft-2')|raw }}

Formblatt
{{ travel_program.organizer.legalRights|raw }} {{ getContextBySlug('informationen-formblatt') }}
{{ form_widget(form.acceptLegalRights) }} {{ form_errors(form.acceptLegalRights) }}
Reisebedingungen (ARB)
{{ form_widget(form.acceptTerms) }} {{ form_errors(form.acceptTerms) }}
Datenschutzerklärung
{{ form_widget(form.acceptPrivacy) }} {{ form_errors(form.acceptPrivacy) }}
Wichtiger Hinweis
{{ getContextBySlug('hinweis-bestellung')|raw }}
Unverbindliche Anmerkungen
{{ form_field(form.notes, 'Unverbindliche Anmerkungen', { 'label_attr': {'class': 'sr-only'}, 'attr': {'rows': '6'} }) }}
{{ form_rest(form) }}
{% endblock body %}