An error occurred while processing the template.
The following has evaluated to null or missing:
==> getHotelByCodeAndBrandCode(HotelCode.getData(), BrandCode.getData())[0]  [in template "20115#20151#847631" at line 9, column 18]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign hotel = getHotelByCodeAndBran...  [in template "20115#20151#847631" at line 9, column 1]
----
1<#import "${fullTemplatesPath}/shared/cta-button.ftl" as cta> 
2 
3<#include "${fullTemplatesPath}/utils/dictionary.ftl"> 
4<#include "${fullTemplatesPath}/utils/constants.ftl"> 
5<#include "${fullTemplatesPath}/utils/api-hotels.ftl"> 
6<#include "${fullTemplatesPath}/utils/media-links.ftl"> 
7<#include "${fullTemplatesPath}/utils/json.ftl"> 
8 
9<#assign hotel = getHotelByCodeAndBrandCode(HotelCode.getData(), BrandCode.getData())[0] > 
10<#assign contentLarge = getHotelHeroImage(hotel.mediaLinks)> 
11<#assign contentSmall = getHotelHeroImageXS(hotel.mediaLinks)> 
12 
13 
14<section class="hotel-hero is-hidden" data-component="hotel-hero" data-scroll-component> 
15  <div class="hotel-hero-wrapper"> 
16    <div class="flex-wrapper"> 
17 
18      <div class="content-container"> 
19        <div class="title-wrapper"> 
20          <h2 class="title heading-2" data-transition-item> 
21            ${hotel.name} 
22          </h2> 
23        </div> 
24 
25        <div class="address-wrapper copy-1" data-transition-item> 
26            <div class="address"> 
27                <span class="score">${hotel.address} 
28</span> 
29            </div>        
30            <div class="phonenumber"> 
31                <span class="phones">${hotel.phones[0]}</span> 
32            </div> 
33        </div> 
34      </div> 
35      <div class="visual-container" data-transition-item> 
36        <div class="visual-wrapper"> 
37            <#if  (URLVideo?? && URLVideo.getData()?has_content)> 
38              <div class="video-wrapper"> 
39                <div class="video-main"> 
40                    <video src="${URLVideo.getData()}" class="video-player" class="video-player" data-video-player autoplay muted playsinline></video> 
41             
42                </div> 
43              </div> 
44            <#elseif contentLarge?matches(".*/.*.jpg.*") || contentSmall?matches(".*/.*.jpg.*")> 
45       
46                <picture class="main-visual" data-component="picture"> 
47                    <source media="(min-width: 768px)" srcset="${contentLarge}"> 
48                    <img class="visual" src="${contentSmall}" alt="${hotel.name}"> 
49                </picture> 
50           
51          </#if> 
52        </div> 
53      </div> 
54 
55    </div> 
56 
57    <div class="booking-wrapper" data-transition-item> 
58      <div class="booking-wrapper-container"> 
59        <div class="booking-content-wrapper"> 
60 
61          <!-- partial: component/block/hotel-booking-form/hotel-booking-form.hbs --> 
62          <div class="hotel-booking-form" data-component="hotel-booking-form" data-hotel="${jsonFactoryUtil.looseSerializeDeep(hotel)?html}"> 
63 
64            <div class="booking-form-content"> 
65              <form class="form" action="" data-booking-form> 
66              <input value="fiesta-americana" name="brand" type="hidden"> 
67                <div class="content-wrapper"> 
68                  <div class="date-picker-wrapper"> 
69 
70                    <!-- partial: component/general/date-range-picker/date-range-picker.hbs --> 
71                    <div class="date-range-picker" data-scroll-component data-component="date-range-picker" data-locale="${locale}" data-start-placeholder="${_SELECT[locale]}" data-end-placeholder="${_SELECT[locale]}" data-start-label="${_ARRIVAL_DATE[locale]}" data-end-label="${_DEPARTURE_DATE[locale]}" data-max-date-in-months-from-now="24" data-required="true" data-default-number-of-nights="2" data-minimum-nights="1"> 
72                    </div> 
73                    <!-- / component/general/date-range-picker/date-range-picker.hbs --> 
74                  </div> 
75                  <div class="totals-container"> 
76                    <div class="total-wrapper"> 
77 
78                      <!-- partial: component/form/custom-number-input/custom-number-input.hbs --> 
79                      <div class="custom-input number total-adults" data-component="custom-input-number" data-value="2" data-min="1" data-max="10"> 
80                        <div class="label-wrapper"> 
81                          <label class="label"> 
82                            ${_ADULTS[locale]} 
83                          </label> 
84                        </div> 
85                        <div class="input"> 
86                          <div class="placeholder-copy"> 
87                            <div class="button" data-minus-button> 
88 
89                              <!-- partial: component/general/icon/icon.hbs --> 
90                              <span class="icon total-adults" data-component="icon" data-icon="minus"></span> 
91                              <!-- / component/general/icon/icon.hbs --> 
92                            </div> 
93                            <input class="value" type="number" data-bind="value: String(value()).padStart(2, '0')" maxlength="2" min="1" max="10" value="2"> 
94                            <div class="button" data-plus-button> 
95 
96                              <!-- partial: component/general/icon/icon.hbs --> 
97                              <span class="icon total-adults" data-component="icon" data-icon="plus"></span> 
98                              <!-- / component/general/icon/icon.hbs --> 
99                            </div> 
100                          </div> 
101                        </div> 
102                        <input type="hidden" name="adults" min="1" max="10" value="2" data-bind="value: value"> 
103                      </div> 
104                      <!-- / component/form/custom-number-input/custom-number-input.hbs --> 
105                    </div> 
106                    <div class="total-wrapper"> 
107 
108                      <!-- partial: component/form/custom-number-input/custom-number-input.hbs --> 
109                      <div class="custom-input number total-children" data-component="custom-input-number" data-value="0" data-min="0" data-max="3"> 
110                        <div class="label-wrapper"> 
111                          <label class="label"> 
112                            ${_CHILDREN[locale]} 
113                          </label> 
114                        </div> 
115                        <div class="input"> 
116                          <div class="placeholder-copy"> 
117                            <div class="button" data-minus-button> 
118 
119                              <!-- partial: component/general/icon/icon.hbs --> 
120                              <span class="icon total-children" data-component="icon" data-icon="minus"></span> 
121                              <!-- / component/general/icon/icon.hbs --> 
122                            </div> 
123                            <input class="value" type="number" data-bind="value: String(value()).padStart(2, '0')" maxlength="2" min="0" max="3" value="0"> 
124                            <div class="button" data-plus-button> 
125 
126                              <!-- partial: component/general/icon/icon.hbs --> 
127                              <span class="icon total-children" data-component="icon" data-icon="plus"></span> 
128                              <!-- / component/general/icon/icon.hbs --> 
129                            </div> 
130                          </div> 
131                        </div> 
132                        <input type="hidden" name="children" min="0" max="3" value="0" data-bind="value: value"> 
133                      </div> 
134                      <!-- / component/form/custom-number-input/custom-number-input.hbs --> 
135                    </div> 
136                  </div> 
137                  <div class="price-submit-container"> 
138                    <div class="from-price-wrapper"> 
139 
140                      <!-- partial: component/general/from-price/from-price.hbs --> 
141                      <div class="from-price price-size-" data-component="from-price"> 
142                        <span class="from-copy detail-type">${_STARTING_FROM[locale]}</span> 
143                        <div class="price-wrapper"> 
144                          <span class="price-copy">${hotel.startingFromHotel}</span> 
145                          <span class="currency-copy detail-type">${_CURRENCY[locale]}</span> 
146                        </div> 
147                      </div> 
148                      <!-- / component/general/from-price/from-price.hbs --> 
149                    </div> 
150                    <div class="cta-wrapper"> 
151 
152                      <!-- partial: component/general/cta-button/cta-button.hbs --> 
153                      <@cta.button text="${_BOOK_HERE[locale]}" url="#" class="primary"/> 
154                      <!-- / component/general/cta-button/cta-button.hbs --> 
155                      <input type="submit" style="display: none"> 
156                    </div> 
157                  </div> 
158                </div> 
159              </form> 
160            </div> 
161 
162          </div> 
163          <!-- / component/block/hotel-booking-form/hotel-booking-form.hbs --> 
164        </div> 
165      </div> 
166    </div> 
167  </div> 
168</section> 
169<script type="text/javascript"> 
170	dataLayer.push({ 
171                'event': 'detailProduct',              
172                'name': '${hotel.name}',                             
173                'id': '${hotel.hotelCode}', 
174                'brand': 'Fiesta Americana' 
175	}); 
176</script> 

ERROR!

ERROR!

Other hotels

  1. Fiesta Americana México Toreo
  2. Fiesta Americana Viaducto Aeropuerto
  3. Fiesta Americana Monterrey Pabellón M
  4. Fiesta Americana Aguascalientes
  5. Fiesta Americana Hermosillo
  6. Fiesta Americana Punta Varadero All Inclusive
  7. Fiesta Americana Puerto Vallarta All Inclusive & Spa