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

Open in your IDE?
  1. <script id="roomsLayout" type="text/x-jsrender">
  2.       <div class="col-12 col-md-6 col-lg-4 " id="room-<%:key %>">
  3.         <div class="form-group">
  4.             <label class="d-block">Aantal personen in Kamer <%:key%></label>
  5.               <select name="personsInRoom<%:key%>" class="select-select2-hide-search ml-0 mr-3 roomlayout" style="width:250px; height: 50px; padding: 5px; text-align: left;">
  6.                 <option value="1" <%if chosenunit["numberpersons"] == 1 %> selected="selected" <%/if%>>1</option>
  7.                 <option value="2" <%if chosenunit["numberpersons"] == 2 %> selected="selected" <%/if%>>2</option>
  8.                 <option value="3" <%if chosenunit["numberpersons"] == 3 %> selected="selected" <%/if%>>3</option>
  9.                 <option value="4" <%if chosenunit["numberpersons"] == 4 %> selected="selected" <%/if%>>4</option>
  10.             </select>
  11.         </div>
  12.       </div>
  13.         <div class="col-12 col-md-6 col-lg-4 rooms-amount-wrapper is-margin-bottom-15">
  14.             <div class="form-group rooms-amount">
  15.                 <label></label>
  16.                 <a href="#" data-scroll="matchComposer" class="small is-color-blue">Aantal kamers wijzigen</a>
  17.             </div>
  18.         </div>
  19. </script>
  20. <script id="roomsTemplate" type="text/x-jsrender">
  21.     <div class="room-option" id="room-<%:key%>">
  22.         <div class="col-12 d-flex rooms-table-header">
  23.             <div class="descr"><strong>Kamer <%:key%></strong></div>
  24.             <div class="boards pl-4"><strong>Verzorging</strong></div>
  25.             <div class="price"><strong>Meerprijs</strong></div>
  26.         </div>
  27.         <div class="col-12 rooms">
  28.             <%for units %>
  29.                 <%if Occupancy.Maximal >= #parent.parent.data.chosenunit["numberpersons"] %>
  30.                     <div class="roomline d-flex flex-wrap" data-maxoccupation="<%: Occupancy.Maximal %>" data-boards="<%for Boards%><%:Name%><%/for%>">
  31.                         <div class="vr-radio">
  32.                             <div class="input form-check pl-0 vr-radio-default hover-color">
  33.                                 <input type="radio" id="" name="room<%:#parent.parent.parent.data.key%>" id="" value="<%:~stripspaces(Description) %><%:~stripspaces(Type) %><%for Boards%><%:~stripspaces(Name)%><%/for%>" class="roomSelection form-check-input" <%if #parent.parent.parent.data.chosenunit["roomtype"] == gnid %> checked="checked" <%/if%>>
  34.                                 <label for="" class="form-check-label vr-stadion-check d-flex">
  35.                                     <span class="room-descr"><%:~stripspaces(Description) %></span>
  36.                                     <span class="room-boards"><%for Boards%><%:Name%><%/for%></span>
  37.                                     <span class="price">
  38.                                         <%for Prices%>
  39.                                             <%:~formatPriceDifference7(Price.Value,#parent.parent.parent.parent.parent.data.chosenunit["numberpersons"],#parent.parent.parent.parent.parent.data.chosenunit["original"])%>,-
  40.                                         <%/for%>
  41.                                          p.p.</span>
  42.                                     </span>
  43.                                 </label>
  44.                             </div>
  45.                         </div>
  46.                     </div>
  47.                 <%/if%>
  48.             <%/for %>
  49.         </div>
  50.     </div>
  51.     <div class="col-12 mb-5">
  52.         <a data-toggle="modal" data-target="#room-info" href="#"><i class="fas fa-info-circle blue mr-2"></i>Uitleg kamertypes</a>
  53.     </div>
  54. </script>
  55. <div style="display:none;" data-type="noRooms"
  56.      class="alert alert-warning is-padding-20 is-rounded-5 is-margin-bottom-30 is-padding-left-50" role="alert">
  57.     <i class="fas fa-exclamation-triangle icon-before"></i> Er konden helaas geen kamers gevonden worden.
  58. </div>
  59. <div class="component checkout-step-panel" data-type="rooms" id="roomsScroll" data-checkout-step="roomsScroll"
  60.      {% if accommodation is empty %}style="display:none;"{% endif %}>
  61.     <div class="whitebox">
  62.         <div class="row">
  63.             <div class="col-12">
  64.                 <h3 class="text-center strike">
  65.                     <span>Jouw <span>kamer(s)</span></span>
  66.                 </h3>
  67.                 <h4 class="is-line-height-mobile-15" data-list="hotelroomname">
  68.                     {% if accommodation is empty %}
  69.                         Selecteer eerst je hotel
  70.                     {% else %}
  71.                         Kies je kamerindeling in {{ accommodation.Name }}
  72.                     {% endif %}
  73.                 </h4>
  74.                 <div class="alert alert-info checkout-info-panel" role="alert">
  75.                     <p class="rooms-helptext text-left mb-0 checkout-info-panel-text"><i class="fas fa-info-circle" aria-hidden="true"></i>Meerdere personen? Kies meerdere kamers om beschikbaarheid te zien.</p>
  76.                 </div>
  77.                 <div class="alert alert-secondary checkout-offerte-alert mt-3" role="alert">
  78.                     Liever volledig ontzorgt? Vraag een <a href="/offerteaanvraag" class="alert-link">offerte aan</a>
  79.                 </div>
  80.             </div>
  81.         </div>
  82.         <div class="row roomslist" data-list="rooms-layout">
  83.             {% for i in range(1,basket.rooms) %}
  84.                 {% if chosenUnits and chosenUnits[i] is defined %}
  85.                     <div class="col-12 col-md-6 col-lg-4" id="room-{{ i }}">
  86.                         <div class="form-group">
  87.                             <label class="d-block">Aantal personen in Kamer {{ i }}</label>
  88.                             <select name="personsInRoom{{ i }}" class="select-select2-hide-search ml-0 mr-3 roomlayout">
  89.                                 <option value="1"
  90.                                         {% if chosenUnits[i]['numberpersons'] == 1 %}selected="selected"{% endif %}>1
  91.                                 </option>
  92.                                 <option value="2"
  93.                                         {% if chosenUnits[i]['numberpersons'] == 2 %}selected="selected"{% endif %}>2
  94.                                 </option>
  95.                                 <option value="3"
  96.                                         {% if chosenUnits[i]['numberpersons'] == 3 %}selected="selected"{% endif %}>3
  97.                                 </option>
  98.                                 <option value="4"
  99.                                         {% if chosenUnits[i]['numberpersons'] == 4 %}selected="selected"{% endif %}>4
  100.                                 </option>
  101.                             </select>
  102.                         </div>
  103.                     </div>
  104.                 {% endif %}
  105.             {% endfor %}
  106.             <div class="col-12 col-md-6 col-lg-4 is-margin-bottom-15">
  107.                 <div class="form-group rooms-amount">
  108.                     <a href="#" data-scroll="matchComposer" class="small is-color-blue">Aantal kamers wijzigen</a>
  109.                 </div>
  110.             </div>
  111.         </div>
  112.         <div class="row roomresetbutton">
  113.             <div class="col-12 mb-5">
  114.                 <button class="is-btn mr-3 reset-room-layout small is-background-color-base stroke">
  115.                     Kamerindeling <span>wijzigen</span>
  116.                 </button>
  117.             </div>
  118.         </div>
  119.         <div class="row roomslist boardtype roomboardstype hide-on-room-change">
  120.             <div class="col-12">
  121.                 <h4 class="is-margin-bottom-10 is-line-height-mobile-15">Kies je type verzorging en kamer</h4>
  122.             </div>
  123.             <div class="col-12 col-md-6 col-lg-4 mb-5">
  124.                 <div class="form-group">
  125.                     <label class="d-block">Verzorging</label>
  126.                     <select name="boardtype" class="select-select2-hide-search boardtype">
  127.                         {% set boards = [] %}
  128.                         {% if accommodation is not empty %}
  129.                             {% for room in accommodation.Units %}
  130.                                 {% if room.Boards.0.Name not in boards  %}
  131.                                     <option value="{{ room.Boards.0.Name }}">{{ room.Boards.0.Name }}</option>
  132.                                     {% set boards = boards|merge([room.Boards.0.Name]) %}
  133.                                 {%  endif %}
  134.                             {% endfor %}
  135.                         {% endif %}
  136.                     </select>
  137.                 </div>
  138.             </div>
  139.         </div>
  140.         <div class="row roomslist hide-on-room-change" data-list="rooms">
  141.             {% for i in range(1,basket.rooms) %}
  142.                 {% if chosenUnits and chosenUnits[i] is defined %}
  143.                     <div class="room-option" id="room-{{ loop.index }}">
  144.                         <div class="col-12 d-flex rooms-table-header">
  145.                             <div class="descr"><strong>Kamer {{ i }}</strong></div>
  146.                             <div class="boards pl-4"><strong>Verzorging</strong></div>
  147.                             <div class="price"><strong>Meerprijs</strong></div>
  148.                         </div>
  149.                         <div class="col-12 rooms">
  150.                             {% if accommodation is not empty %}
  151.                                 {% for room in accommodation.Units %}
  152.                                     {% if room.Occupancy.Maximal >= chosenUnits[i]['numberpersons'] %}
  153.                                         <div class="roomline d-flex flex-wrap"
  154.                                              data-maxoccupation="{{ room.Occupancy.Maximal }}" data-boards="{{ room.Boards.0.Name }}">
  155.                                             <div class="vr-radio">
  156.                                                 <div class="input form-check pl-0 vr-radio-default hover-color">
  157.                                                     <input type="radio" id="" name="room{{ i }}" id=""
  158.                                                            value="{{ room.Description }}{{ room.Type }}{{ room.Boards.0.Name }}"
  159.                                                            class="roomSelection form-check-input"
  160.                                                            {% if chosenUnits[i]['roomtype'] == room.gnid %}checked="checked"{% endif %}>
  161.                                                     <label for="" class="form-check-label vr-stadion-check d-flex">
  162.                                                         <span class="room-descr">{{ room.Description }}</span>
  163.                                                         <span class="room-boards">{{ room.Boards.0.Name }}</span>
  164.                                                         <span class="price">
  165.                                                         {{ (((room.Prices.0.Price.Value/chosenUnits[i]['numberpersons'])-chosenUnits[i]['original'])/100)|round(0, 'ceil') < 0 ? '-' : '+' }} {{ (((room.Prices.0.Price.Value/chosenUnits[i]['numberpersons'])-chosenUnits[i]['original'])/100)|round(0, 'ceil')|replace({'-': ""}) }},- p.p.
  166.                                                     </span>
  167.                                                     </label>
  168.                                                 </div>
  169.                                             </div>
  170.                                         </div>
  171.                                     {% endif %}
  172.                                 {% endfor %}
  173.                             {% endif %}
  174.                         </div>
  175.                     </div>
  176.                 {% endif %}
  177.             {% endfor %}
  178.             <div class="col-12 mb-5">
  179.                 <a data-toggle="modal" data-target="#room-info" href="#" class="room-info-link"><i
  180.                             class="fas fa-info-circle mr-2"></i>Uitleg kamertypes</a>
  181.             </div>
  182.         </div>
  183.         <button class="is-btn mr-3 is-margin-bottom-45 small save-rooms hide-on-room-change is-background-color-base stroke">
  184.             Kamerselectie <span>opslaan</span>
  185.         </button>
  186.         <br>
  187.         <div class="alert alert-success is-padding-20 is-rounded-5 is-margin-bottom-30 is-padding-left-50 mt-0 alert-succes-room"
  188.              role="alert">
  189.             {% if match.hasFlight == 0 %}
  190.                 <p><i class="fas fa-check-circle icon-before"></i> <strong>Gelukt! Je kamerselectie is succesvol
  191.                         opgeslagen.</strong></p>
  192.                 <p>Je hebt je reis nu op maat samengesteld en kunt verder gaan met invullen van de
  193.                     reizigersgegevens.</p>
  194.                 <p>Boek je reis direct om beschikbaarheid te garanderen en prijswijzigingen te voorkomen.</p>
  195.             {% else %}
  196.                 <p><i class="fas fa-check-circle icon-before "></i> <strong>Gelukt! Je kamerselectie is succesvol
  197.                         opgeslagen.</strong></p>
  198.                 <p>Je hebt je reis nu op maat samengesteld en kunt verder gaan met invullen van de
  199.                     reizigersgegevens.</p>
  200.                 <p>Wil je ook direct je vlucht via ons bijboeken? Klik dan op <strong>Vlucht bijboeken</strong> en wij
  201.                     tonen je de actuele beschikbaarheid en prijzen van vluchten vanuit Nederland, België en Duitsland
  202.                     naar jouw bestemming.</p>
  203.                 <p>Boek je reis direct om beschikbaarheid te garanderen en prijswijzigingen te voorkomen.</p>
  204.             {% endif %}
  205.         </div>
  206.         <div class="alert alert-danger is-padding-20 is-rounded-5 is-margin-bottom-30 is-padding-left-50 mt-0 alert-danger-room"
  207.              role="alert">
  208.             <p><i class="fas fa-times-circle"></i> <strong>Mislukt! Deze kamerindeling is niet beschikbaar in dit
  209.                     hotel.</strong></p>
  210.             <p>Helaas is deze kamerindeling in het geselecteerde hotel niet mogelijk en zijn er geen kamers (meer)
  211.                 beschikbaar voor
  212.                 deze kamerindeling. Wellicht dat een andere verdeling van het aantal personen over de beschikbare kamers
  213.                 wel nog
  214.                 mogelijk is in dit hotel? Pas hiervoor het aantal personen in een kamer aan.</p>
  215.             <p>Kies voor een andere kamerindeling of selecteer een ander hotel en probeer het opnieuw.</p>
  216.         </div>
  217.         <div class="row mt-0">
  218.             <div class="col-12 d-flex flex-column flex-sm-row flex-wrap justify-content-center align-items-center hotel-button-wrapper checkout-step-actions">
  219.                 <button type="button" class="is-btn checkout-prev-step mr-3" data-scroll="stadiumCategories">
  220.                     <span>Vorige</span> stap
  221.                 </button>
  222.                 <!--(begin) Zichtbaar maken wanneer reis met vlucht beschikbaar is (backend optie vlucht aan/uit). -->
  223.                 {% if match.hasFlight == 1 %}
  224.                     <button class="select-flight is-btn hide-on-room-change is-background-color-black stroke-alt"
  225.                             data-scroll="flightScroll">
  226.                         <span>Vlucht</span> bijboeken
  227.                         <i class="fas fa-plane-departure icon-right"></i>
  228.                     </button>
  229.                 {% endif %}
  230.                 <!-- (eind) zichtbaar maken wanneer reis met vlucht beschikbaar is (backend optie vlucht aan/uit) -->
  231.                 <!-- Bij deze knop class ml-5 weghalen als er geen vlucht optie is -->
  232.                 <a class="is-btn next-step hide-on-room-change is-background-color-base stroke"
  233.                    href="{{ path('checkout', {'id': match.id}) }}?step=2">
  234.                     Vul <span>reizigersgegevens</span> in</i>
  235.                 </a>
  236.             </div>
  237.         </div>
  238.     </div>
  239. </div>
  240. <div class="modal fade" id="room-info" tabindex="-1" role="dialog" aria-hidden="true">
  241.     <div class="modal-dialog modal-lg" role="document">
  242.         <div class="modal-content">
  243.             <div class="modal-header">
  244.                 <h5 class="modal-title">
  245.                     Uitleg kamertypes
  246.                 </h5>
  247.                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  248.                     <span aria-hidden="true">&times;</span>
  249.                 </button>
  250.             </div>
  251.             <div class="modal-body text-justify">
  252.                 <p>De beschikbare kamertypes kunnen op verschillende manieren in deze lijst worden weergegeven.</p>
  253.                 <p>Middels deze uitleg geven we je graag meer informatie over de verschillende type kamers die er
  254.                     zijn.</p>
  255.                 <p><strong>Kamertype op basis van KAMERINDELING</strong>
  256.                 <p>Het kamertype op basis van kamerindeling zegt iets over de hoeveelheid ruimte en de faciliteiten van
  257.                     de kamer. De volgende kamertypes op basis van kamerindeling komen het meeste voor:</p>
  258.                 <p><strong>Budget of economy room:</strong> Dit zijn de voordeligste kamers in een hotel. De
  259.                     voorzieningen en faciliteiten in een economy kamer zijn vaak eenvoudiger dan bij een standaard of
  260.                     luxueuzere kamer. Venzelfsprekend verschillen de exacte kenmerken van een economy kamer per hotel.
  261.                 </p>
  262.                 <p><strong>Standard room:</strong> Het kamertype waar er wereldwijd het meest van zijn in een hotel.
  263.                     Vaak een één- of tweepersoonskamer met een tweepersoonsbed of twee aparte eenpersoonsbedden en
  264.                     standaard faciliteiten op de kamer.</p>
  265.                 <p><strong>Comfort room:</strong> Dit kamertype biedt dezelfde faciliteiten als de standard room, maar
  266.                     is groter qua oppervlakte.</p>
  267.                 <p><strong>Deluxe of superior room:</strong> De luxere versie van de standaard kamer. Dit kamertype is
  268.                     vaak wat ruimer en heeft bijvoorbeeld een zithoek, een ruimere badkamer of mooier uitzicht. Het
  269.                     verschil tussen deluxe of superior is het bedtype. Superior gaat vaak gepaard met een queen-bed,
  270.                     deluxe met een king-bed.</p>
  271.                 <p><strong>Studio:</strong> Een studio is een accommodatietype dat doorgaans bestaat uit een
  272.                     eenkamerverblijf met een bed, woonkamergedeelte, keukengedeelte, badkamer en toilet.</p>
  273.                 <p><strong>Suite:</strong> Het kenmerk van een suite is dat deze bestaat uit meerdere verblijfsruimtes,
  274.                     meestal met een aparte slaap- en leefruimte. De exacte voorzieningen hangen af van het betreffende
  275.                     hotel. Een suite is altijd luxueuzer dan de andere (standaard) hotelkamers.</p>
  276.                 <p><strong>Apartment / Aparthotel:</strong> Een appartement functioneert als een volledig zelfstandige
  277.                     woning en gaat vaak gepaard met een kitchenette of zelfs een volledige keuken. In een aparthotel
  278.                     zijn de kamers vaak groter, deze kamers lijken op een appartement, met veelal de hiervoor genoemde
  279.                     voorzieningen op de kamer. Het ontbijt dient meestal zelf verzorgd te worden.</p>
  280.                 <p><strong>Kamertype op basis van BEZETTING</strong>
  281.                 <p>Het kamertype op basis van bezetting geeft aan voor hoeveel personen de kamer ruimte biedt.</p>
  282.                 <p><strong>Eenpersoonskamer (Single-room):</strong> Een hotelkamer met een eenpersoonsbed, geschikt voor
  283.                     één persoon. Afhankelijk van de standaard van het hotel kan de kamergrootte variëren van 8 tot 14
  284.                     m². Een eenpersoonskamer kan een kwalitatief minder en/of minder gunstig gelegen kamer zijn dan
  285.                     bijvoorbeeld een tweepersoonskamer in dezelfde accommodatie.</p>
  286.                 <p><strong>Tweepersoonskamer voor alleengebruik (Double room for single use):</strong> Een standaard
  287.                     tweepersoonskamer voor één persoon. Deze kamers zijn ruimer dan de single-room en de prijs van de
  288.                     kamer is gebaseerd op gebruik door slechts één persoon. In de kamer kan een tweepersoonsbed of twee
  289.                     aparte bedden staan. </p>
  290.                 <p><strong>Tweepersoonskamer met 2 aparte bedden (Twin-room):</strong> Een standaard tweepersoonskamer
  291.                     waarin twee eenpersoonsbedden staan. </p>
  292.                 <p><strong>Tweepersoonskamer (Double-room):</strong> Een standaard tweepersoonskamer, maar dan met één
  293.                     tweepersoonsbed op de kamer. Dit kamertype komt wereldwijd het vaakst voor in de hotels. </p>
  294.                 <p><strong>Driepersoonskamer (Triple room):</strong> Een kamer voor drie personen, in veel gevallen een
  295.                     tweepersoonskamer met een extra eenpersoonsbed of slaapbank op de kamer.</p>
  296.                 <p><strong>Vierpersoonskamer (Quad room):</strong> Een kamer voor vier personen, waarin twee
  297.                     tweepersoonsbedden, een tweepersoonsbed en twee losse bedden, vier losse bedden of een
  298.                     tweepersoonsbed en een slaapbank kunnen staan.</p>
  299.                 <p><strong>Familiekamer:</strong> Een kamer voor maximaal twee volwassenen en twee kinderen. Afhankelijk
  300.                     van de accommodatie kan dit ook een twee- of driepersoonskamer zijn waar een extra eenpersoonsbed,
  301.                     bedbank, opklapbed of stapelbed voor de 3e en/of 4e persoon wordt bijgeplaatst.</p>
  302.                 <p><strong>Kamertype op basis van BEDTYPE</strong></p>
  303.                 <p>Een kamer op basis van bedtype omschrijft welk soort bed je kunt aantreffen in de hotelkamer.
  304.                     De meest voorkomende bedtypes voor hotelkamers zijn:</p>
  305.                 <p><strong>Single:</strong> Een kamer met een eenpersoonsbed</p>
  306.                 <p><strong>Twin:</strong> Een kamer met twee eenpersoonsbedden</p>
  307.                 <p><strong>Double:</strong> Een kamer met een tweepersoonsbed</p>
  308.                 <p><strong>Queen:</strong> Een kamer met een queen-size bed (groot tweepersoonsbed met een matrasmaat
  309.                     van ongeveer 153-160 x 203 cm)</p>
  310.                 <p><strong>King:</strong> Een kamer met een king-size bed (groot tweepersoonsbed, groter dan een
  311.                     queensize bed, met een matras van ongeveer 200-203 x 210 cm)</p>
  312.                 <p><i><strong>Belangrijk!</strong> Heb je een speciaal verzoek ten aanzien van je kamerreservering neem
  313.                         dan voorafgaand aan je vertrek zelf (telefonisch of per e-mail) contact op met het
  314.                         desbetreffende hotel om jouw verzoek door hen te laten bevestigen. Kamervoorkeuren, bijv. voor
  315.                         een bepaald bedtype (tweepersoonsbed / twee aparte bedden op de kamer), dienen ondanks de keuze
  316.                         die je in onze lijst met beschikbare kamertypes maakt door het hotel bevestigd te worden. Vele
  317.                         hotels hanteren namelijk het beleid dat een kamervoorkeur voor een bepaald bedtype niet 100% kan
  318.                         worden gegarandeerd en onderhevig is aan beschikbaarheid bij het inchecken in het hotel. Dit
  319.                         geldt ook voor eventuele andere speciale verzoeken die je zou kunnen hebben zoals vroege / late
  320.                         in- en/of uitcheck, rokers- / niet-rokerskamer, zeezicht, ligging kamer et cetera. Eventuele
  321.                         toeslagen kunnen van toepassing zijn.</i></p>
  322.             </div>
  323.             <div class="modal-footer">
  324.                 <button type="button" class="is-btn is-background-color-black stroke is-margin-bottom-15"
  325.                         data-dismiss="modal">Sluiten
  326.                 </button>
  327.             </div>
  328.         </div>
  329.     </div>
  330. </div>