templates/pages/partials/flight.html.twig line 1

Open in your IDE?
  1. <script id="flightTemplate" type="text/x-jsrender">
  2.      <div data-id="<%:tripId%>" class="flight">
  3.         <div class="row">
  4.             <div class="col-12 col-lg-10">
  5.                 <div class="row is-margin-bottom-25">
  6.                     <div class="col d-md-none">
  7.                         <div class="text-uppercase is-margin-bottom-15 font-weight-bold">Heenvlucht</div>
  8.                         <div class="flight-details">
  9.                             <span class="flight-time"><%:~toHuman(outbound.depart.Time)%></span>
  10.                             <span class="flight-steps">
  11.                                 <%if outbound.legs.length > 1 %>
  12.                                   <%= outbound.legs.length %>x overstap
  13.                                 <%else%>
  14.                                     Direct
  15.                                 <%/if%>
  16.                             </span>
  17.                             <span class="flight-carrier"><%:outbound.carrier.Name%></span>
  18.                         </div>
  19.                         <div class="flight-airports">
  20.                             <span class="flight-airport-departure"><%:outbound.depart.Airport.Name%></span>
  21.                             <span class="flight-airport-dash"> - </span>
  22.                             <span class="flight-airport-arrival"><%:outbound.arrive.Airport.Name%></span>
  23.                         </div>
  24.                     </div>
  25.                     <div class="col d-none d-md-block">
  26.                         <div class="text-uppercase is-margin-bottom-10 font-weight-bold">Heenvlucht (<%:outbound.flightNumber%> | <%:outbound.carrier.Name%> | <%if outbound.legs.length > 1 %><%= outbound.legs.length %>x overstap<%else%>Directe vlucht<%/if%>)</div>
  27.                         <p class="flight-details">
  28.                             <span class="flight-date">
  29.                                 (<%:~moment(outbound.depart.Date, 'YYYY-MM-DD').format('ddd').toLowerCase()%>)
  30.                                 <%:~moment(outbound.depart.Date, 'YYYY-MM-DD').format('L')%>
  31.                             </span>
  32.                             <span class="flight-time"><%:~toHuman(outbound.depart.Time)%></span>
  33.                             <span class="flight-airport"><%:outbound.depart.Airport.Name%></span>
  34.                             <span class="flight-dash"> — </span>
  35.                             <span class="flight-time"><%:~toHuman(outbound.arrive.Time)%></span>
  36.                             <span class="flight-airport"><%:outbound.arrive.Airport.Name%></span>
  37.                         </p>
  38.                         <p>
  39.                         </p>
  40.                     </div>
  41.                 </div>
  42.                 <div class="row is-margin-bottom-25">
  43.                     <div class="col d-md-none">
  44.                         <div class="text-uppercase is-margin-bottom-15 font-weight-bold">Terugvlucht</div>
  45.                         <div class="flight-details">
  46.                             <span class="flight-time"><%:~toHuman(inbound.depart.Time)%></span>
  47.                             <span class="flight-steps">
  48.                                 <%if inbound.legs.length > 1 %>
  49.                                   <%= inbound.legs.length %>x overstap
  50.                                 <%else%>
  51.                                     Direct
  52.                                 <%/if%>
  53.                             </span>
  54.                             <span class="flight-carrier"><%:inbound.carrier.Name%></span>
  55.                         </div>
  56.                         <div class="flight-airports">
  57.                             <span class="flight-airport-departure"><%:inbound.depart.Airport.Name%></span>
  58.                             <span class="flight-airport-dash"> - </span>
  59.                             <span class="flight-airport-arrival"><%:inbound.arrive.Airport.Name%></span>
  60.                         </div>
  61.                     </div>
  62.                     <div class="col d-none d-md-block">
  63.                         <div class="text-uppercase is-margin-bottom-10 font-weight-bold">Terugvlucht (<%:inbound.flightNumber%> | <%:inbound.carrier.Name%> | <%if outbound.legs.length > 1 %><%= inbound.legs.length %>x overstap<%else%>Directe vlucht<%/if%>)</div>
  64.                         <p class="flight-details">
  65.                             <span class="flight-date">
  66.                                 (<%:~moment(inbound.depart.Date, 'YYYY-MM-DD').format('ddd').toLowerCase()%>)
  67.                                 <%:~moment(inbound.depart.Date, 'YYYY-MM-DD').format('L')%>
  68.                             </span>
  69.                             <span class="flight-time"><%:~toHuman(inbound.depart.Time)%></span>
  70.                             <span class="flight-airport"><%:inbound.depart.Airport.Name%></span>
  71.                             <span class="flight-dash"> — </span>
  72.                             <span class="flight-time"><%:~toHuman(inbound.arrive.Time)%></span>
  73.                             <span class="flight-airport"><%:inbound.arrive.Airport.Name%></span>
  74.                         </p>
  75.                         <p>
  76.                         </p>
  77.                     </div>
  78.                 </div>
  79.             </div>
  80.             <div class="col-12 col-lg-2 d-flex is-justify-content-right is-align-items-center">
  81.                 <div class="price align-self-center vr-radio">
  82.                     <div class="vr-radio-default">
  83.                         <input type="radio" name="flight" data-action="select-flight"
  84.                                value="<%:tripId%>"
  85.                                id="<%:tripId%>">
  86.                         <label class="is-font-size-mobile-14 is-margin-bottom-0 text-nowrap" for="<%:tripId%>">+ <%:price%> p.p.</label>
  87.                     </div>
  88.                 </div>
  89.             </div>
  90.         </div>
  91.     </div>
  92. </script>
  93. <div class="component checkout-step-panel" data-type="flight-list" id="flightScroll" data-checkout-step="flightScroll"
  94.      {% if basket.flightList is empty %}style="display:none;"{% endif %}>
  95.     <form action="">
  96.         <div class="whitebox">
  97.             <div class="row">
  98.                 <div class="col-12">
  99.                     <h3 class="text-center strike">
  100.                         <span>Jouw <span>vlucht</span></span>
  101.                     </h3>
  102.                     <h4 class="pb-3 is-line-height-mobile-15 mb-4 mb-md-0">
  103.                         Kies je vlucht uit de beschikbare vluchten op jouw reisdata
  104.                     </h4>
  105.                     <div class="alert alert-info checkout-info-panel" role="alert">
  106.                         <p class="flight-helptext text-center mb-0 checkout-info-panel-text"><i class="fas fa-info-circle" aria-hidden="true"></i><strong>Geen vluchten gevonden? Selecteer een alternatief vliegveld.</strong></p>
  107.                     </div>
  108.                     <div class="alert alert-secondary checkout-offerte-alert mt-3" role="alert">
  109.                         Liever volledig ontzorgt? Vraag een <a href="/offerteaanvraag" class="alert-link">offerte aan</a>
  110.                     </div>
  111.                 </div>
  112.             </div>
  113.             <div class="row">
  114.                 <div class="form-group col-12 col-sm-6 select-airport">
  115.                     <div class="flex-even">
  116.                         <label>Vertrek</label>
  117.                         <select class="select-select2" name="airport">
  118.                             {% set countries = {'Nederland': 'NL', 'Duitsland': 'DE', 'België': 'BE'} %}
  119.                             {% for country, code in countries %}
  120.                                 <optgroup label="{{ country }}">
  121.                                     <option label="{{ country }}" value="{{ code }}">Alle vliegvelden
  122.                                         in {{ country }}</option>
  123.                                     {% for airport in airports if airport.airportCountryCode == code %}
  124.                                         <option label="{{ airport.airportName }}" value="{{ airport.airportId }}">
  125.                                             {{ airport.airportName }} ({{ airport.airportCode }})
  126.                                         </option>
  127.                                     {% endfor %}
  128.                                 </optgroup>
  129.                             {% endfor %}
  130.                         </select>
  131.                     </div>
  132.                 </div>
  133.                 <div class="form-group col-12 col-sm-6 select-airport">
  134.                     <div class="flex-even">
  135.                         <label>Aankomst</label>
  136.                         <select class="select-select2 select-airport" id="arriveAirportSelect" name="arrive_airport">
  137.                             {% for id,airport in arriveAirports %}
  138.                                 <option label="{{ airport.name }}"
  139.                                         value="{{ id }}" {{ basket.airport == id ? 'selected="selected"' : '' }}>
  140.                                     {{ airport.name }} ({{ airport.code }})
  141.                                 </option>
  142.                             {% endfor %}
  143.                         </select>
  144.                     </div>
  145.                 </div>
  146.             </div>
  147.             <div class="row">
  148.                 <div class="col-12">
  149.                     <div class="alert alert-success is-padding-20 is-margin-bottom-30 text-justify">
  150.                         <p class="is-margin-bottom-0"><strong>Tip!</strong> Indien de prijzen van de beschikbare
  151.                             vluchten op jouw reisdata hoog uitvallen of als je geen vlucht kunt vinden op een tijdstip
  152.                             dat je wenst, mogelijk is een vertrek vanaf een alternatieve luchthaven of op een andere
  153.                             datum dan een betere optie? Voor iedere keuze kun je 'live' de beschikbare opties en prijzen
  154.                             bekijken.</p>
  155.                     </div>
  156.                     <div style="display:none;" data-type="noFlight"
  157.                          class="alert alert-warning is-padding-20 is-rounded-5 is-margin-bottom-30 is-padding-left-50"
  158.                          role="alert">
  159.                         <p><i class="fas fa-exclamation-triangle icon-before"></i> <strong>Geen vluchten
  160.                                 gevonden.</strong></p>
  161.                         <p>Helaas zijn er geen vluchten beschikbaar die overeenkomen met je zoekcriteria.</p>
  162.                         <p>Dit kan ook komen doordat de verwachte aankomsttijd van de beschikbare heenvlucht(en) te kort
  163.                             op het (actuele) aanvangstijdstip van de wedstrijd ligt.
  164.                             Om te voorkomen dat je de aftrap zou missen tonen we in ons aanbod geen vluchten waarbij je
  165.                             korter dan 6 uur voor de aftrap pas in de speelstad aankomt.</p>
  166.                         <p class="mb-0">Wijzig je reisroute en/of je reisdata en probeer het opnieuw. Hulp nodig? Wij
  167.                             staan voor je klaar!</p>
  168.                     </div>
  169.                 </div>
  170.                 <div class="col-12">
  171.                     <div class="flightlist" data-list="flights">
  172.                         {% for trip in basket.flightListNormalized %}
  173.                             <div class="flight">
  174.                                 <div class="row">
  175.                                     <div class="col-12 col-lg-10">
  176.                                         <div class="row is-margin-bottom-25">
  177.                                             <div class="col d-md-none">
  178.                                                 <div class="text-uppercase is-margin-bottom-15 font-weight-bold">
  179.                                                     Heenvlucht
  180.                                                 </div>
  181.                                                 <div class="flight-details">
  182.                                                     <span class="flight-time">{{ trip.outbound.depart.Time|humanTime }}</span>
  183.                                                     <span class="flight-steps">
  184.                                                         {% if trip.outbound.legs|length > 1 %}
  185.                                                             {{ trip.outbound.legs|length }}x overstap
  186.                                                         {% else %}
  187.                                                             Direct
  188.                                                         {% endif %}
  189.                                                     </span>
  190.                                                     <span class="flight-carrier">{{ trip.outbound.carrier.name }}</span>
  191.                                                 </div>
  192.                                                 <div class="flight-airports">
  193.                                                     <span class="flight-airport-departure">{{ trip.outbound.depart.Airport.Name }}</span>
  194.                                                     <span class="flight-airport-dash"> - </span>
  195.                                                     <span class="flight-airport-arrival">{{ trip.outbound.arrive.Airport.Name }}</span>
  196.                                                 </div>
  197.                                             </div>
  198.                                             <div class="col d-none d-md-block">
  199.                                                 <div class="text-uppercase is-margin-bottom-10 font-weight-bold">
  200.                                                     Heenvlucht ({{ trip.outbound.flightNumber }}
  201.                                                     | {{ trip.outbound.carrier.name }} |
  202.                                                     {% if trip.outbound.legs|length > 1 %}{{ trip.outbound.legs|length }}x overstap{% else %}Directe vlucht{% endif %})
  203.                                                 </div>
  204.                                                 <p class="flight-details">
  205.                                                     <span class="flight-date">{{ trip.outbound.depart.Date|localizeddate('none', 'none', app.request.locale, null, '(eeeeee) dd-MM-YYYY') }}</span>
  206.                                                     <span class="flight-time">{{ trip.outbound.depart.Time|humanTime }}</span>
  207.                                                     <span class="flight-airport">{{ trip.outbound.depart.Airport.Name }}</span>
  208.                                                     <span class="flight-dash"> — </span>
  209.                                                     <span class="flight-time">{{ trip.outbound.arrive.Time|humanTime }}</span>
  210.                                                     <span class="flight-airport">{{ trip.outbound.arrive.Airport.Name }}</span>
  211.                                                     {#                                                    <span class="flight-number">{{ trip.outbound.flightNumber }}</span> #}
  212.                                                     {#                                                    <span class="flight-carrier">{{ trip.outbound.carrier.name }}</span> #}
  213.                                                 </p>
  214.                                             </div>
  215.                                         </div>
  216.                                         <div class="row is-margin-bottom-25">
  217.                                             <div class="col d-md-none">
  218.                                                 <div class="text-uppercase is-margin-bottom-15 font-weight-bold">
  219.                                                     Terugvlucht
  220.                                                 </div>
  221.                                                 <div class="flight-details">
  222.                                                     <span class="flight-time">{{ trip.inbound.depart.Time|humanTime }}</span>
  223.                                                     <span class="flight-steps">
  224.                                                         {% if trip.inbound.legs|length > 1 %}
  225.                                                             {{ trip.inbound.legs|length }}x overstap
  226.                                                         {% else %}
  227.                                                             Direct
  228.                                                         {% endif %}
  229.                                                     </span>
  230.                                                     <span class="flight-carrier">{{ trip.inbound.carrier.name }}</span>
  231.                                                 </div>
  232.                                                 <div class="flight-airports">
  233.                                                     <span class="flight-airport-departure">{{ trip.inbound.depart.Airport.Name }}</span>
  234.                                                     <span class="flight-airport-dash"> - </span>
  235.                                                     <span class="flight-airport-arrival">{{ trip.inbound.arrive.Airport.Name }}</span>
  236.                                                 </div>
  237.                                             </div>
  238.                                             <div class="col d-none d-md-block">
  239.                                                 <div class="text-uppercase is-margin-bottom-10 font-weight-bold">
  240.                                                     Terugvlucht ({{ trip.inbound.flightNumber }}
  241.                                                     | {{ trip.inbound.carrier.name }} | {% if trip.inbound.legs|length > 1 %}{{ trip.inbound.legs|length }}x overstap{% else %}Directe vlucht{% endif %})
  242.                                                 </div>
  243.                                                 <p class="flight-details">
  244.                                                     <span class="flight-date">{{ trip.inbound.depart.Date|localizeddate('none', 'none', app.request.locale, null, '(eeeeee) dd-MM-YYYY') }}</span>
  245.                                                     <span class="flight-time">{{ trip.inbound.depart.Time|humanTime }}</span>
  246.                                                     <span class="flight-airport">{{ trip.inbound.depart.Airport.Name }}</span>
  247.                                                     <span class="flight-dash"> — </span>
  248.                                                     <span class="flight-time">{{ trip.inbound.arrive.Time|humanTime }}</span>
  249.                                                     <span class="flight-airport">{{ trip.inbound.arrive.Airport.Name }}</span>
  250.                                                     {#                                                    <span class="flight-number">{{ trip.inbound.flightNumber }}</span> #}
  251.                                                     {#                                                    <span class="flight-carrier">{{ trip.inbound.carrier.name }}</span> #}
  252.                                                                                                     </p>
  253.                                             </div>
  254.                                         </div>
  255.                                     </div>
  256.                                     <div class="col-12 col-lg-2 d-flex is-justify-content-right is-align-items-center">
  257.                                         <div class="price align-self-center vr-radio">
  258.                                             <div class="vr-radio-default">
  259.                                                 <input type="radio" name="flight" data-action="select-flight"
  260.                                                        value="{{ trip.tripId }}"
  261.                                                        id="{{ trip.tripId }}" {{ basket.flight == trip.tripId ? 'checked' : '' }}>
  262.                                                 <label class="is-margin-bottom-0 text-nowrap"
  263.                                                        for="{{ trip.tripId }}">+ {{ trip.price }} p.p.</label>
  264.                                             </div>
  265.                                         </div>
  266.                                     </div>
  267.                                 </div>
  268.                             </div>
  269.                         {% endfor %}
  270.                     </div>
  271.                 </div>
  272.             </div>
  273.             <div class="row messageShowFlightpriceInformation"
  274.                  {% if basket.flightListNormalized %}style="display: block;"
  275.                  {% else %}style="display: none;"{% endif %}>
  276.                 <div class="col-12 text-center">
  277.                     <p><br/>Getoonde vluchtprijzen zijn vanaf-prijzen op retourbasis en per persoon.<br/>
  278.                         <br/>
  279.                         Prijzen kunnen nog wijzigen afhankelijk van beschikbaarheid op het moment van boeken.
  280.                     </p>
  281.                     <div class="d-flex align-items-center justify-content-center flex-wrap flight-buttons checkout-step-actions">
  282.                         <button type="button" class="is-btn mr-3 checkout-prev-step" data-scroll="roomsScroll">
  283.                             <span>Vorige</span> stap
  284.                         </button>
  285.                         <a class="is-btn is-background-color-base stroke-alt"
  286.                            href="{{ path('checkout', {'id': match.id}) }}?step=2">
  287.                             Vul <span>reizigersgegevens</span> in
  288.                         </a>
  289.                     </div>
  290.                 </div>
  291.             </div>
  292.         </div>
  293.     </form>
  294. </div>