836 lines
No EOL
51 KiB
Twig
836 lines
No EOL
51 KiB
Twig
{% extends 'base.html.twig' %}
|
|
{% form_theme form 'default/form/theme.html.twig' %}
|
|
|
|
{% block meta_robots %}
|
|
<meta name="robots" content="noindex,nofollow" />
|
|
{% if app.debug %}<!-- meta-robots wurde durch das Twig-Seitentemplate festgelegt -->{% endif %}
|
|
{% endblock %}
|
|
{% block canonical_tag %}{% if app.debug %}<!-- Die canonical URL wird für diese Seite bewusst nicht definiert, da sie vom Suchindex ausgeschlossen wurde (Siehe meta robots) -->{% endif %}{% endblock %}
|
|
|
|
|
|
{% block body %}
|
|
|
|
|
|
<section class="clearfix">
|
|
|
|
<div class="content-copy">
|
|
|
|
<h1>Buchungsformular</h1>
|
|
|
|
<div class="pull-right">
|
|
<a href="{{ page.urlPath }}" class="btn btn-primary btn-sm"><< zurück zu Termine und Preise</a>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
|
|
<h2 style="margin-top:10px">{{ travel_program.title }}</h2>
|
|
|
|
|
|
<div id="booking_form" class="booking_form">
|
|
|
|
<form class="st-booking-form" method="post" data-toggle="validator">
|
|
|
|
{{ form_errors(form) }}
|
|
{% spaceless %}
|
|
{% if not form.vars.valid %}
|
|
|
|
<ul>
|
|
{% for error in form.vars.errors.form.getErrors(true) %}
|
|
<li>{{ error.message }}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
|
|
|
|
{% endif %}
|
|
{% endspaceless %}
|
|
|
|
{{ form_errors(form.email) }}
|
|
|
|
<div id="message"></div>
|
|
|
|
<div class="form-box">
|
|
<div class="table-responsive" id="no-more-tables_first">
|
|
<table class="table first-table">
|
|
<tbody>
|
|
<tr>
|
|
<td>Reiseprogramm</td>
|
|
<td>
|
|
{{ travel_program.title }}
|
|
{#<br class="visible-xs"><a href="#" data-toggle="modal" data-target="#myModal">(Reisebeschreibung aufrufen)</a>#}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Kategorie</td>
|
|
<td>Standard {# #TODO #}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Reisezeitraum</td>
|
|
<td>{{ travel_date.start|date }} - {{ travel_date.end|date }} <br class="hidden visible-xs"> ({{ travel_date.name }})</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ form_label(form.departure, 'Abflugort') }}</td>
|
|
<td>
|
|
<div class="form-group" style="margin-bottom: 0px;">
|
|
{{ form_widget(form.departure) }}
|
|
{{ form_errors(form.departure) }}
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
{# 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 %}
|
|
<tr>
|
|
{% else %}
|
|
<tr style="display:none">
|
|
{% endif %}
|
|
<td>{{ form_label(form.singleRoomCount, 'Einzelzimmer') }}</td>
|
|
<td>
|
|
{{ form_widget(form.singleRoomCount) }}
|
|
{{ form_errors(form.singleRoomCount) }}
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
{% if "1" in priceTypeChildIds %}
|
|
<tr>
|
|
{% else %}
|
|
<tr style="display:none">
|
|
{% endif %}
|
|
<td>{{ form_label(form.singleRoomChildCount, 'Einzelzimmer mit Kind') }}</td>
|
|
<td>
|
|
{{ form_widget(form.singleRoomChildCount) }}
|
|
{{ form_errors(form.singleRoomChildCount) }}
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
{% if "3" in priceTypeIds %}
|
|
<tr>
|
|
{% else %}
|
|
<tr style="display:none">
|
|
{% endif %}
|
|
<td>{{ form_label(form.doubleRoomCount, 'Doppelzimmer') }}</td>
|
|
<td>
|
|
{{ form_widget(form.doubleRoomCount) }}
|
|
{{ form_errors(form.doubleRoomCount) }}
|
|
</td>
|
|
</tr>
|
|
{% if "3" in priceTypeChildIds %}
|
|
<tr>
|
|
{% else %}
|
|
<tr style="display:none">
|
|
{% endif %}
|
|
<td>{{ form_label(form.doubleRoomChildCount, 'Doppelzimmer mit Kind') }}</td>
|
|
<td>
|
|
{{ form_widget(form.doubleRoomChildCount) }}
|
|
{{ form_errors(form.doubleRoomChildCount) }}
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
{% if "5" in priceTypeIds %}
|
|
<tr>
|
|
{% else %}
|
|
<tr style="display:none">
|
|
{% endif %}
|
|
<td>{{ form_label(form.tripleRoomCount, 'Dreibettzimmer') }}</td>
|
|
<td>
|
|
{{ form_widget(form.tripleRoomCount) }}
|
|
{{ form_errors(form.tripleRoomCount) }}
|
|
</td>
|
|
</tr>
|
|
{% if "5" in priceTypeChildIds %}
|
|
<tr>
|
|
{% else %}
|
|
<tr style="display:none">
|
|
{% endif %}
|
|
<td>{{ form_label(form.tripleRoomChildCount, 'Dreibettzimmer mit Kind') }}</td>
|
|
<td>
|
|
{{ form_widget(form.tripleRoomChildCount) }}
|
|
{{ form_errors(form.tripleRoomChildCount) }}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Zubuchbare Leistungen</td>
|
|
<td>
|
|
{% if form.comfort is defined %}
|
|
<div class="checkbox">
|
|
{{ form_widget(form.comfort) }}
|
|
<label for="{{ form.comfort.vars.id }}">
|
|
Komfort-Kategorie (4 Sterne)
|
|
(<a href="#" data-toggle="modal" data-target="#st-comfort-booking-option-modal">Details</a>)
|
|
</label>
|
|
{% embed "default/components/embed/modal.html.twig" with {
|
|
'title': 'Komfort-Kategorie (4 Sterne)',
|
|
'id': 'comfort-booking-option'
|
|
} %}
|
|
{% block body %}
|
|
<h4>Aufpreise für Kategorie</h4>
|
|
<ul>
|
|
{% for price in travel_date.prices %}
|
|
{# @var price \AppBundle\Entity\TravelPeriodPrice #}
|
|
<li>
|
|
p.P. {{ price.effectiveComfortPrice|number_format(2) }} €
|
|
{{ price_type_by_id[price.priceType.id].name }}
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% endblock %}
|
|
{% endembed %}
|
|
</div>
|
|
{% 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 %}
|
|
</td>
|
|
</tr>
|
|
|
|
{% if extraDays == 1 and travel_program.drafts.count() > 0 %}
|
|
<tr>
|
|
{% else %}
|
|
<tr style="display:none;">
|
|
{% endif %}
|
|
<td>Verlängerung buchen</td>
|
|
<td>
|
|
{% for country in travel_program.countries %}
|
|
<p>{{ country.textBefore }}</p>
|
|
{% endfor %}
|
|
|
|
{{ form_widget(form.extraBookingDaysBefore) }}
|
|
{{ form_errors(form.extraBookingDaysBefore) }}
|
|
<br>
|
|
{% for country in travel_program.countries %}
|
|
<p>{{ country.textAfter }}</p>
|
|
{% endfor %}
|
|
{{ form_widget(form.extraBookingDaysAfter) }}
|
|
{{ form_errors(form.extraBookingDaysAfter) }}
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
<tr style="">
|
|
<td>Reiseversicherung</td>
|
|
<td>
|
|
<div class="radio">
|
|
<input id="st-no-insurance-opt" type="radio" value=""
|
|
name="{{ form.insurance.vars.full_name }}"
|
|
{% if form.insurance.vars.value == '' %}checked{% endif %}
|
|
>
|
|
<label for="st-no-insurance-opt">keine Reiseversicherung</label>
|
|
</div>
|
|
|
|
{% 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) }}
|
|
</td>
|
|
</tr>
|
|
<tr style="display: none">
|
|
<td>Reiseversicherung</td>
|
|
<td>
|
|
<p style="white-space: normal;">
|
|
<br>
|
|
{{ getContextBySlug('reise-ruecktrittskosten-empfehlung')|raw }}
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="col-xs-12">
|
|
<div class="panel">
|
|
<div class="panel-body">
|
|
<h3>Ihr gewähltes Angebot</h3>
|
|
<div class="st-booking-summary">
|
|
{% include 'default/components/booking/summary.html.twig' with {
|
|
'summary': summary,
|
|
'total_price': total_price,
|
|
'booking_price_info': booking_price_info,
|
|
'show_detail' : true,
|
|
} %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p>
|
|
{{ getContextBySlug('gewuenschte-zahlungsart') }}
|
|
{% if(travel_program.category.id != 1) %}
|
|
{{ getContextBySlug('abweichende-anzahlungsbedingungen') }}
|
|
{% endif %}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-box">
|
|
<div class="">
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<h5>Flugdaten</h5>
|
|
</div>
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<div class="accordion-toggle-2">
|
|
<div class="panel-group" id="accordion_fd">
|
|
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion_fd" href="#collapse_fd" aria-expanded="true">
|
|
<h3><span>Flugdaten einblenden</span><i class="indicator pull-right icon-plus"></i></h3>
|
|
</a>
|
|
<div id="collapse_fd" class="panel-collapse collapse" aria-expanded="true" style="">
|
|
<div class="panel-body">
|
|
{% 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] != "" %}
|
|
<div class="flight_times_ele" id="flight_time_{{ departure.id }}" style="display: none;">
|
|
<h3>Von {{ departure.name }}</h3>
|
|
{% for flightTime in departure.flightTime[travel_date.startWeekday]|split('\n') %}
|
|
{% if flightTime != "" %}
|
|
{{ flightTime|raw }}<br>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
<div class="" id="no_flight_time" style="display: none;">
|
|
<p>{{ getContextBySlug('keine-flugdaten') }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><!-- accordion -->
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="form-box">
|
|
<div class="">
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<h5>Reiseprogramm mit Anzeige der Reisetage</h5>
|
|
</div>
|
|
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
{% set travel_program_dates = travel_program.getTravelProgramDates(travel_date.start) %}
|
|
|
|
<ul class="c1">
|
|
{% for travel_program_date in travel_program_dates if travel_program_date.count < 1 %}
|
|
|
|
<div id="extraDaysProgramBefore_show" style="display: none;">
|
|
<li>
|
|
<span id="extraDaysProgramBefore_date" data-org-date="{{ travel_program_date.date }}">{{ travel_program_date.date }}</span> : Reiseverlängerung vor der Reise - {{ travel_program_date.day|raw }}
|
|
{% if travel_program_date.night is defined %}
|
|
<br> {{ getContextBySlug('uebernachtung-reiseverlaengerung') }}
|
|
{% endif %}
|
|
</li>
|
|
<li>
|
|
{{ travel_program_date.date }} : Start {{ travel_program.title }}
|
|
{% if travel_program_date.night is defined %}
|
|
<br>Übernachtung : {{ travel_program_date['night']|raw }}
|
|
{% endif %}
|
|
</li>
|
|
</div>
|
|
<div id="extraDaysProgramBefore_hide">
|
|
<li>
|
|
{{ travel_program_date.date }} : {{ travel_program_date.day|raw }}
|
|
{% if travel_program_date.night is defined %}
|
|
<br>Übernachtung : {{ travel_program_date['night']|raw }}
|
|
{% endif %}
|
|
</li>
|
|
</div>
|
|
|
|
{% endfor %}
|
|
<div class="accordion-toggle-2">
|
|
<div class="panel-group" id="accordion_pd">
|
|
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion_pd" href="#collapse_pd" aria-expanded="true">
|
|
<h3><span>Reiseablauf mit Reisetagen einblenden</span><i class="indicator pull-right icon-plus"></i></h3>
|
|
</a>
|
|
<div id="collapse_pd" class="panel-collapse collapse" aria-expanded="true" style="">
|
|
<div class="panel-body">
|
|
{% for travel_program_date in travel_program_dates if travel_program_date.count > 0 %}
|
|
{% if travel_program_dates|length != travel_program_date.count +1 %}
|
|
<li>
|
|
{{ travel_program_date.date }} : {{ travel_program_date.day|raw }}
|
|
{% if travel_program_date.night is defined %}
|
|
<br>Übernachtung : {{ travel_program_date['night']|raw }}
|
|
{% endif %}
|
|
</li>
|
|
{% else %}
|
|
<div id="extraDaysProgramAfter_show" style="display: none;">
|
|
<li>
|
|
{{ travel_program_date.date }} : Ende {{ travel_program.title }}
|
|
<br>{{ getContextBySlug('uebernachtung-reiseverlaengerung') }}
|
|
</li>
|
|
<li>
|
|
<span id="extraDaysProgramAfter_date" data-org-date="{{ travel_program_date.date }}">{{ travel_program_date.date }}</span> : Reiseverlängerung - {{ travel_program_date.day|raw }}
|
|
</li>
|
|
</div>
|
|
<div id="extraDaysProgramAfter_hide">
|
|
<li>
|
|
{{ travel_program_date.date }} : {{ travel_program_date.day|raw }}
|
|
{% if travel_program_date.night is defined %}
|
|
<br>Übernachtung : {{ travel_program_date['night']|raw }}
|
|
{% endif %}
|
|
</li>
|
|
</div>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</ul>
|
|
|
|
</div><!-- accordion -->
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-box">
|
|
<div class="">
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<h5>Reiseleistungen</h5>
|
|
</div>
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<div class="accordion-toggle-2">
|
|
<div class="panel-group" id="accordion">
|
|
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapse1" aria-expanded="true">
|
|
<h3><span>Reiseleistungen einblenden</span><i class="indicator pull-right icon-plus"></i></h3>
|
|
</a>
|
|
<div id="collapse1" class="panel-collapse collapse" aria-expanded="true" style="">
|
|
<div class="panel-body">
|
|
<h3>Eingeschlossene Leistungen</h3>
|
|
<ul class="c1">
|
|
{% for travel_program_service in travel_program.included|replace({'*': '<img src="/bundles/app/images/star-mini.png" >'})|split('\n') %}
|
|
<li>{{ travel_program_service|raw }}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
<h3>Nicht eingeschlossene / zubuchbare Leistungen</h3>
|
|
<ul class="c1">
|
|
{% for travel_program_service in travel_program.excluded|split('\n') %}
|
|
<li>{{ travel_program_service|raw }}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% if (travel_program.advices is not empty) or (travel_program.generalnote is not empty) %}
|
|
<h3>Hinweise</h3>
|
|
<ul class="c1">
|
|
{% if travel_program.generalnote is not empty %}
|
|
{% for notes in travel_program.generalnote.text|trim|split('\n') %}
|
|
{% if notes is not empty %}
|
|
<li>{{ notes|raw }}</li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% for travel_program_advice in travel_program.advices|trim|split('\n') %}
|
|
{% if travel_program_advice is not empty %}
|
|
<li>{{ travel_program_advice|raw }}</li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</ul>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><!-- accordion -->
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="form-box">
|
|
<div class="">
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<h5>Reiseanmelder</h5>
|
|
</div>
|
|
|
|
<div class="form-group col-md-12 col-sm-12 col-xs-12">
|
|
{{ form_field_pho(form.salutation, 'Anrede', {'label_attr': {class: 'sr-only'}}) }}
|
|
</div>
|
|
|
|
<div class="col-md-6 col-sm-6 col-xs-12">
|
|
<div class="form-group">
|
|
<div class="required">
|
|
{{ form_field_pho(form.firstName, 'Vorname') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-sm-6 col-xs-12">
|
|
<div class="form-group">
|
|
<div class="required">
|
|
{{ form_field_pho(form.lastName, 'Nachname') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<div class="required">
|
|
{{ form_field_pho(form.streetAddress, 'Straße, Hausnummer') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-sm-6 col-xs-12">
|
|
<div class="form-group">
|
|
<div class="required">
|
|
{{ form_field_pho(form.zipCode, 'PLZ') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-sm-6 col-xs-12">
|
|
<div class="form-group">
|
|
<div class="required">
|
|
{{ form_field_pho(form.city, 'Ort') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group col-md-12 col-sm-12 col-xs-12">
|
|
{{ form_field_pho(form.nation, 'Land') }}
|
|
</div>
|
|
|
|
<div class="col-md-6 col-sm-6 col-xs-12">
|
|
<div class="form-group">
|
|
<div class="required">
|
|
{{ form_field_pho(form.phone, 'Telefon tagsüber') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-sm-6 col-xs-12">
|
|
{{ form_field_pho(form.mobile, 'Handynummer (Bitte angeben)') }}
|
|
</div>
|
|
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<div class="required">
|
|
{{ form_field_pho(form.email, 'E-Mail-Adresse') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div><!-- end form-box -->
|
|
|
|
<style type="text/css">
|
|
.form-box-small .form-group {
|
|
margin-bottom: 5px;
|
|
}
|
|
.form-box-small .help-block {
|
|
margin-top: 0px;
|
|
margin-bottom: 0px;
|
|
}
|
|
.form-box-small .form-control{
|
|
margin-bottom: 8px;
|
|
}
|
|
.form-box.form-box-small .st-travelers div.required:before {
|
|
margin-right: 20px;
|
|
right: 0px;
|
|
top: 0px;
|
|
}
|
|
</style>
|
|
|
|
<div class="form-box form-box-small">
|
|
<div class="">
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<h5>Reiseteilnehmer</h5>
|
|
<p>{{ getContextBySlug('namen-reisepass') | raw }}</p>
|
|
</div>
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<div class="hidden">
|
|
{% for country in travel_program.countries %}
|
|
<input type="hidden" name="travel_program_countries_id[]" value="{{ country.id }}">
|
|
{% endfor %}
|
|
</div>
|
|
<div class="st-travelers">
|
|
{% set currentIndex = 0 %}
|
|
{% for room in form.rooms %}
|
|
{% for traveler in room.travelers %}
|
|
{#{{ dump(room.vars.value.roomType) }}#}
|
|
{% set currentIndex = currentIndex + 1 %}
|
|
|
|
<div class="row st-traveler st-traveler-{{ currentIndex }}"
|
|
data-st-traveler-index="{{ currentIndex }}"
|
|
data-room-index="{{ loop.parent.loop.index }}"
|
|
data-room-type="{{ room.vars.value.type }}"
|
|
style="display: ; border-bottom:2px solid #ffc926; margin-bottom: 20px; padding-bottom: 10px;">
|
|
|
|
<div class="col-md-12 col-sm-12 col-xs-12" style="margin-bottom:10px; padding-bottom:10px; border-bottom:1px solid #fff;">
|
|
<button class="btn btn-primary btn-sm border-radius st-traveller-index" type="button">
|
|
{% set roomType = "" %}
|
|
{% if loop.parent.loop.index is not null %}
|
|
{% if room.vars.value.type == "1" %}
|
|
{% set roomType = "Einzelzimmer" %}
|
|
{% elseif room.vars.value.type == "2" %}
|
|
{% set roomType = "Doppelzimmer" %}
|
|
{% elseif room.vars.value.type == "3" %}
|
|
{% set roomType = "Dreibettzimmer" %}
|
|
{% endif %}
|
|
{% endif %}
|
|
Reiseteilnehmer | {{ roomType }}
|
|
</button>
|
|
{% if traveler.vars.value.child %}
|
|
<br><i>bis einschließlich 11 Jahre</i>
|
|
{% endif %}
|
|
</div>
|
|
|
|
|
|
<div class="col-md-3 col-sm-12 col-xs-12">
|
|
<div class="form-group" style="margin-top:0px;">
|
|
<div class="">
|
|
{{ form_field_pho(traveler.sex, 'Geschlecht', {
|
|
required: false
|
|
}) }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<div class="">
|
|
{{ form_field_pho(traveler.firstName, 'Vorname') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-5 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<div class="">
|
|
{{ form_field_pho(traveler.lastName, 'Nachname') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-offset-3 col-md-4 col-sm-12 col-xs-12">
|
|
<div class="form-group" style="margin-top:0px;">
|
|
<div class="nationality_select" data-toggle="#nationality_entry_{{ currentIndex }}">
|
|
{{ form_field_pho(traveler.nationality, 'Nationalität') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="col-md-5 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<div class="">
|
|
{{ form_field_pho(traveler.birthDate, 'Geburtsdatum (04.01.1964)') }}
|
|
</div>
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
|
|
<div class="accordion-toggle-2" id="nationality_entry_{{ currentIndex }}" style="display:none;">
|
|
<div class="panel-group" id="accordion_entry_{{ currentIndex }}">
|
|
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion_entry_{{ currentIndex }}" href="#collapse_entry_{{ currentIndex }}" aria-expanded="true">
|
|
<h3><span>Einreise-, Visabestimmungen und gesundheitspolizeilichen Vorschriften</span><i class="indicator pull-right icon-plus"></i></h3>
|
|
</a>
|
|
<div id="collapse_entry_{{ currentIndex }}" class="panel-collapse collapse acc_nationality_panel" aria-expanded="true" style="">
|
|
<div class="panel-body set_nationality_country_text">
|
|
|
|
<hr>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><!-- accordion -->
|
|
|
|
<div class="form-group" style="margin-bottom: 15px;">
|
|
<div class="checkbox">
|
|
{{ form_widget(traveler.acceptEntryRequirements) }}
|
|
<label for="{{ traveler.acceptEntryRequirements.vars.id }}" style="line-height: 1.2em;">
|
|
{{ getContextBySlug('hinweise-einreisebestimmungen')|raw }}
|
|
</label>
|
|
<span class="checkbox_marker"></span>
|
|
{{ form_errors(traveler.acceptEntryRequirements) }}
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div> <!-- row -->
|
|
|
|
{% endfor %}
|
|
{% endfor %}
|
|
|
|
</div> <!-- st trav -->
|
|
<h2>Hinweis</h2>
|
|
<p>{{ getContextBySlug('hinweis-staatsbuergerschaft-1') | raw }}
|
|
{% for nationalitie in nationalities %}
|
|
{{ nationalitie.name }}{% if not loop.last %},{% endif %}
|
|
{% endfor %} {{ getContextBySlug('hinweis-staatsbuergerschaft-2')|raw }} </p>
|
|
|
|
|
|
</div> <!-- col -->
|
|
</div>
|
|
</div><!-- end form-box -->
|
|
|
|
<div class="form-box">
|
|
<div class="">
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<h5>Formblatt</h5>
|
|
|
|
<div class="well">
|
|
|
|
{{ travel_program.organizer.legalRights|raw }}
|
|
<a href="https://v2.sterntours.de/uploads/{{ travel_program.organizer.fileFormPage }}" target="_blank">
|
|
{{ getContextBySlug('informationen-formblatt') }}
|
|
|
|
</a>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="checkbox">
|
|
{{ form_widget(form.acceptLegalRights) }}
|
|
<label for="{{ form.acceptLegalRights.vars.id }}" style="line-height: 1.2em;">
|
|
{{ getContextBySlug('bestaetigung-formblatt') }}
|
|
</label>
|
|
<span class="checkbox_marker"></span>
|
|
{{ form_errors(form.acceptLegalRights) }}
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- end form-box -->
|
|
<div class="form-box">
|
|
<div class="">
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<h5>Reisebedingungen (ARB)</h5>
|
|
<div class="form-group">
|
|
<div class="checkbox">
|
|
{{ form_widget(form.acceptTerms) }}
|
|
<label for="{{ form.acceptTerms.vars.id }}" style="line-height: 1.2em;">
|
|
{{ getContextBySlug('reisebedingungen-check-1') }}
|
|
|
|
{% if travel_program.isMediated %}
|
|
<a href="https://v2.sterntours.de/uploads/{{ travel_program.organizer.fileName }}?t={{ travel_program.organizer.rulesUpdatedTime }}" target="_blank">
|
|
{{ getContextBySlug('reisebedingungen-link-1') }}
|
|
</a> {{ travel_program.organizer.name }}
|
|
{% else %}
|
|
<a href="https://v2.sterntours.de/uploads/{{ travel_program.organizer.formArb }}?t={{ travel_program.organizer.rulesUpdatedTime }}" target="_blank">
|
|
{{ getContextBySlug('reisebedingungen-link-2') }}
|
|
</a> {{ travel_program.organizer.name }}
|
|
{% endif %}
|
|
{{ getContextBySlug('reisebedingungen-check-2')|raw }}
|
|
</label>
|
|
<span class="checkbox_marker"></span>
|
|
{{ form_errors(form.acceptTerms) }}
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div><!-- end form-box -->
|
|
|
|
|
|
<div class="form-box">
|
|
<div class="">
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<h5>Datenschutzerklärung</h5>
|
|
<div class="form-group">
|
|
<div class="checkbox">
|
|
{{ form_widget(form.acceptPrivacy) }}
|
|
<label for="{{ form.acceptPrivacy.vars.id }}" style="line-height: 1.2em;">Ich habe die <a href="/datenschutz" target="_blank">Datenschutzerklärung</a> zur Kenntnis genommen.
|
|
</label>
|
|
<span class="checkbox_marker"></span>
|
|
{{ form_errors(form.acceptPrivacy) }}
|
|
<div class="help-block with-errors"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div><!-- end form-box -->
|
|
|
|
<div class="form-box">
|
|
<div class="">
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<h5>Wichtiger Hinweis</h5>
|
|
{{ getContextBySlug('hinweis-bestellung')|raw }}
|
|
</div>
|
|
</div>
|
|
</div><!-- end form-box -->
|
|
|
|
<div class="form-box">
|
|
<div class="">
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<h5>Unverbindliche Anmerkungen</h5>
|
|
</div>
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
{{ form_field(form.notes, 'Unverbindliche Anmerkungen', {
|
|
'label_attr': {'class': 'sr-only'},
|
|
'attr': {'rows': '6'}
|
|
}) }}
|
|
</div>
|
|
</div>
|
|
</div><!-- end form-box -->
|
|
|
|
|
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
<button type="submit" value="SEND" id="submit"
|
|
class="aligncenter btn btn-primary btn-lg border-radius btn-booking-form">
|
|
<span class="btn-booking-submit"><i class="fa fa-angle-double-right" style="margin-bottom:-1px!important;"></i> kostenpflichtig<br class="visible-xs"> buchen</span>
|
|
<span class="btn-booking-loading hide"><i class="fa fa-spinner" style="margin-bottom:-1px!important;"></i> Formular <br class="visible-xs"> wird gesendet</span>
|
|
</button>
|
|
</div>
|
|
|
|
{{ form_rest(form) }}
|
|
</form>
|
|
|
|
</div><!-- end contact-form -->
|
|
|
|
</div>
|
|
|
|
</section>
|
|
{% endblock body %} |