Se ha producido un error al procesar la plantilla.
Java method "com.liferay.portal.json.JSONFactoryImpl.looseDeserialize(String)" threw an exception when invoked on com.liferay.portal.json.JSONFactoryImpl object "com.liferay.portal.json.JSONFactoryImpl@3c58eb1f"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #return jsonFactoryUtil.looseDeserial...  [in template "fiesta-americana-theme_SERVLET_CONTEXT_/templates/utils/api-hotels.ftl" in function "getHotelWithRoomsByCodeAndBrandCode" at line 12, column 3]
	- Reached through: #assign dataHotel = getHotelWithRooms...  [in template "20115#20151#ROOM-DETAIL-HERO-TEMPLATE-1.0.0" at line 11, column 1]
----
1<#import "${fullTemplatesPath}/shared/cta-button.ftl" as cta> 
2 
3<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
4<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
5<#include "${fullTemplatesPath}/utils/api-hotels.ftl"> 
6<#include "${fullTemplatesPath}/utils/dictionary.ftl"> 
7<#include "${fullTemplatesPath}/utils/general.ftl"> 
8<#include "${fullTemplatesPath}/utils/media-links.ftl"> 
9<#include "${fullTemplatesPath}/utils/url.ftl"> 
10 
11<#assign dataHotel = getHotelWithRoomsByCodeAndBrandCode(HotelCode.getData(), BrandCode.getData())> 
12<#if dataHotel?? && dataHotel?has_content && dataHotel?size != 0> 
13  <#assign hotel = dataHotel[0]> 
14  <#if hotel.roomLinksContent?? && hotel.roomLinksContent?size != 0> 
15  <#if hotel.roomLinksContent?is_hash> 
16    <#assign dataRooms = [hotel.roomLinksContent]> 
17  <#else> 
18    <#assign dataRooms = hotel.roomLinksContent> 
19  </#if> 
20 
21  <#list dataRooms as Room> 
22    <#if Room.code == RoomCode.getData()> 
23      <#assign CurrentRoom = Room> 
24    </#if> 
25  </#list> 
26 
27<!-- partial: component/block/room-detail-hero/room-detail-hero.hbs --> 
28  <#if (CurrentRoom?has_content) > 
29  <section class="room-detail-hero content-spacing is-hidden" data-component="room-detail-hero" data-scroll-component> 
30    <div class="title-wrapper"> 
31      <div class="content-wrapper"> 
32        <span class="overline-type">${hotel.name}</span> 
33        <h2 class="heading-2 title"> 
34          <span>${CurrentRoom.name}</span> 
35          <span> 
36            <#--  [STATIC]Despierta con vistas al mar  --> 
37          </span> 
38        </h2> 
39      </div> 
40    </div> 
41 
42    <div class="content-wrapper"> 
43      <div class="info-wrapper"> 
44        <div class="facilities-desktop-wrapper"> 
45          <!-- repeated --> 
46          <ul class="facilities-list"> 
47            <#if CurrentRoom.totalCapacity?has_content> 
48            <li class="facility-item"> 
49              <!-- partial: component/general/icon/icon.hbs --> 
50              <span class="icon facility-icon" data-component="icon" data-icon="person-icon"></span> 
51              <!-- / component/general/icon/icon.hbs --> 
52              <span class="detail-type">${_CAPACITY[locale]?replace("%capacity%", CurrentRoom.totalCapacity)}</span> 
53            </li> 
54            </#if> 
55 
56            <#if CurrentRoom.beds?has_content> 
57            <li class="facility-item"> 
58              <!-- partial: component/general/icon/icon.hbs --> 
59              <span class="icon facility-icon" data-component="icon" data-icon="bed-icon"></span> 
60              <!-- / component/general/icon/icon.hbs --> 
61              <#if CurrentRoom.beds?is_string	> 
62              <span class="detail-type"></span> 
63              <#else> 
64              <span class="detail-type">${CurrentRoom.beds} ${_BED[locale]}${(CurrentRoom.beds != 1)?then("s", "")}</span> 
65              </#if> 
66            </li> 
67            </#if> 
68 
69            <#if CurrentRoom.dimension?has_content> 
70            <li class="facility-item"> 
71              <!-- partial: component/general/icon/icon.hbs --> 
72              <span class="icon facility-icon" data-component="icon" data-icon="size-icon"></span> 
73              <!-- / component/general/icon/icon.hbs --> 
74              <span class="detail-type">${CurrentRoom.dimension}</span> 
75            </li> 
76            </#if> 
77 
78            <#if CurrentRoom.amenities?has_content && CurrentRoom.amenities?size != 0> 
79            <li class="facility-item"> 
80              <!-- partial: component/general/icon/icon.hbs --> 
81              <span class="icon facility-icon" data-component="icon" data-icon="default-icon"></span> 
82              <!-- / component/general/icon/icon.hbs --> 
83              <span class="detail-type">${CurrentRoom.amenities[0]}</span> 
84            </li> 
85            </#if> 
86 
87          </ul> 
88        </div> 
89 
90        <div class="info-price-wrapper"> 
91 
92          <!-- partial: component/general/from-price/from-price.hbs --> 
93          <div class="from-price price-size-" data-component="from-price"> 
94            <span class="from-copy detail-type">${_STARTING_FROM[locale]}</span> 
95            <div class="price-wrapper"> 
96              <#--  TODO  grab from API  --> 
97              <span class="price-copy"> 
98                <#if hotel.startingFromHotel??> 
99                  ${hotel.startingFromHotel} 
100                <#else> 
101                  [data not available] 
102                </#if> 
103 
104              </span> 
105              <span class="currency-copy detail-type">${_CURRENCY[locale]}</span> 
106            </div> 
107          </div> 
108          <!-- / component/general/from-price/from-price.hbs --> 
109 
110          <!-- partial: component/general/cta-button/cta-button.hbs --> 
111          <@cta.button text="${_BOOK_HERE[locale]}" url=getBookingUrl(hotel) class="primary"/> 
112          <!-- / component/general/cta-button/cta-button.hbs --> 
113        </div> 
114      </div> 
115    </div> 
116 
117    <div class="visual-wrapper" data-carousel-container> 
118      <div class="visual-wrapper-overflow"> 
119        <ol class="visual-list" data-visual-carousel> 
120          <#assign images = [] /> 
121          <#if CurrentRoom.mediaLinks?? && CurrentRoom.mediaLinks?has_content> 
122            <#assign images = getRoomCarouselImageXL(CurrentRoom.mediaLinks)> 
123          </#if> 
124          <#list images as image> 
125          <li class="visual-item" data-visual-item> 
126            <!-- partial: component/general/picture/picture.hbs --> 
127            <picture class="main-visual" data-component="picture"> 
128              <#--  <source media="(min-width: 768px)" srcset="fiesta-americana/image/room-detail-hero/room-detail-hero-visual.jpg">  --> 
129              <img class="visual" src="${image.url}" alt="${image.title}"> 
130            </picture> 
131            <!-- / component/general/picture/picture.hbs --> 
132 
133          </li> 
134          </#list> 
135 
136        </ol> 
137      </div> 
138 
139      <div class="bullets-wrapper"> 
140 
141        <!-- partial: component/general/bullets/bullets.hbs --> 
142        <ol class="bullet-list" data-bullet-list data-component="bullets"> 
143          <#list images as image> 
144          <li class="bullet" data-bullet> 
145            <span class="icon"></span> 
146          </li> 
147          </#list> 
148        </ol> 
149        <!-- / component/general/bullets/bullets.hbs --> 
150      </div> 
151    </div> 
152 
153    <div class="caption-controls-wrapper content-wrapper"> 
154      <div class="counter-wrapper"> 
155        <div class="counter"> 
156          <span class="counter-number current" data-counter-current>01</span> 
157          <span class="counter-number total" data-counter-total>${(images?size < 10)?then('0', '')}${images?size}</span> 
158        </div> 
159        <span class="progress" data-progress></span> 
160      </div> 
161 
162      <div class="caption-controls"> 
163        <div class="description" data-carousel-list> 
164          <#list images as image> 
165            <p class="copy-1 copy" data-carousel-item>${image.title}</p> 
166          </#list> 
167        </div> 
168 
169        <div class="controls-wrapper"> 
170          <div class="button" data-button-previous> 
171 
172            <!-- partial: component/general/button-arrow/button-arrow.hbs --> 
173            <div class="button-arrow direction-left size-big outlined " data-component="button-arrow"> 
174 
175              <!-- partial: component/general/icon/icon.hbs --> 
176              <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span> 
177              <!-- / component/general/icon/icon.hbs --> 
178 
179              <!-- partial: component/general/icon/icon.hbs --> 
180              <span class="icon circle-icon" data-component="icon" data-icon="circle"></span> 
181              <!-- / component/general/icon/icon.hbs --> 
182              <div class="chevron-wrapper"> 
183 
184                <!-- partial: component/general/icon/icon.hbs --> 
185                <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span> 
186                <!-- / component/general/icon/icon.hbs --> 
187              </div> 
188            </div> 
189            <!-- / component/general/button-arrow/button-arrow.hbs --> 
190          </div> 
191          <div class="button" data-button-next> 
192 
193            <!-- partial: component/general/button-arrow/button-arrow.hbs --> 
194            <div class="button-arrow direction-right size-big outlined " data-component="button-arrow"> 
195 
196              <!-- partial: component/general/icon/icon.hbs --> 
197              <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span> 
198              <!-- / component/general/icon/icon.hbs --> 
199 
200              <!-- partial: component/general/icon/icon.hbs --> 
201              <span class="icon circle-icon" data-component="icon" data-icon="circle"></span> 
202              <!-- / component/general/icon/icon.hbs --> 
203              <div class="chevron-wrapper"> 
204 
205                <!-- partial: component/general/icon/icon.hbs --> 
206                <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span> 
207                <!-- / component/general/icon/icon.hbs --> 
208              </div> 
209            </div> 
210            <!-- / component/general/button-arrow/button-arrow.hbs --> 
211          </div> 
212        </div> 
213      </div> 
214    </div> 
215 
216    <div class="content-wrapper facilities-mobile-wrapper"> 
217      <!-- repeated --> 
218      <ul class="facilities-list"> 
219 
220        <#if CurrentRoom.totalCapacity?has_content> 
221        <li class="facility-item"> 
222          <!-- partial: component/general/icon/icon.hbs --> 
223          <span class="icon facility-icon" data-component="icon" data-icon="person-icon"></span> 
224          <!-- / component/general/icon/icon.hbs --> 
225          <span class="detail-type">${_CAPACITY[locale]?replace("%capacity%", CurrentRoom.totalCapacity)}</span> 
226        </li> 
227        </#if> 
228 
229        <#if CurrentRoom.beds?has_content> 
230        <li class="facility-item"> 
231          <!-- partial: component/general/icon/icon.hbs --> 
232          <span class="icon facility-icon" data-component="icon" data-icon="bed-icon"></span> 
233          <!-- / component/general/icon/icon.hbs --> 
234          <#if CurrentRoom.beds?is_string	> 
235              <span class="detail-type"></span> 
236              <#else> 
237              <span class="detail-type">${CurrentRoom.beds} ${_BED[locale]}${(CurrentRoom.beds != 1)?then("s", "")}</span> 
238              </#if> 
239        </li> 
240        </#if> 
241 
242 
243        <#if CurrentRoom.dimension?has_content> 
244        <li class="facility-item"> 
245          <!-- partial: component/general/icon/icon.hbs --> 
246          <span class="icon facility-icon" data-component="icon" data-icon="size-icon"></span> 
247          <!-- / component/general/icon/icon.hbs --> 
248          <span class="detail-type">${CurrentRoom.dimension}</span> 
249        </li> 
250        </#if> 
251 
252        <#if CurrentRoom.amenities?has_content && CurrentRoom.amenities?size != 0> 
253        <li class="facility-item"> 
254          <!-- partial: component/general/icon/icon.hbs --> 
255          <span class="icon facility-icon" data-component="icon" data-icon="default-icon"></span> 
256          <!-- / component/general/icon/icon.hbs --> 
257          <span class="detail-type">${CurrentRoom.amenities[0]}</span> 
258        </li> 
259        </#if> 
260      </ul> 
261    </div> 
262  </section> 
263  <#else> 
264    <h1>Error: no hay cuarto para la marca ${BrandCode.getData()}, hotel ${HotelCode.getData()}, cuarto ${RoomCode.getData()}</h1> 
265  </#if> 
266 
267  <#else> 
268    <h1>Error: No se encontraron habitaciones para la marca ${BrandCode.getData()}, hotel ${HotelCode.getData()}</h1> 
269  </#if> 
270<#else> 
271  <h1>Error: No se encontró hotel para la marca ${BrandCode.getData()}, hotel ${HotelCode.getData()}</h1> 
272</#if> 
273<!-- / component/block/room-detail-hero/room-detail-hero.hbs --> 
Se ha producido un error al procesar la plantilla.
Java method "com.liferay.portal.json.JSONFactoryImpl.looseDeserialize(String)" threw an exception when invoked on com.liferay.portal.json.JSONFactoryImpl object "com.liferay.portal.json.JSONFactoryImpl@3c58eb1f"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #return jsonFactoryUtil.looseDeserial...  [in template "fiesta-americana-theme_SERVLET_CONTEXT_/templates/utils/api-hotels.ftl" in function "getHotelWithRoomsByCodeAndBrandCode" at line 12, column 3]
	- Reached through: #assign dataHotel = getHotelWithRooms...  [in template "20115#20151#HOTEL-TABBED-CONTENT-TEMPLATE-1.0.0" at line 8, column 1]
----
1<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
2<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
3<#include "${fullTemplatesPath}/utils/api-hotels.ftl"> 
4<#include "${fullTemplatesPath}/utils/dictionary.ftl"> 
5<#include "${fullTemplatesPath}/utils/general.ftl"> 
6<#include "${fullTemplatesPath}/utils/media-links.ftl"> 
7<#include "${fullTemplatesPath}/utils/url.ftl"> 
8<#assign dataHotel = getHotelWithRoomsByCodeAndBrandCode(HotelCode.getData(), BrandCode.getData())> 
9 
10<!-- partial: component/block/tabbed-content/tabbed-content.hbs --> 
11<#if dataHotel?? && dataHotel?size != 0> 
12  <#if dataHotel[0].roomLinksContent?? && dataHotel[0].roomLinksContent?size != 0> 
13    <#if dataHotel[0].roomLinksContent?is_hash> 
14      <#assign rooms = [dataHotel[0].roomLinksContent]> 
15    <#else> 
16      <#assign rooms = dataHotel[0].roomLinksContent> 
17    </#if> 
18 
19    <#list rooms as room> 
20      <#if room.code == RoomCode.getData()> 
21        <#assign CurrentRoom = room> 
22      </#if> 
23    </#list> 
24 
25    <#if CurrentRoom?has_content > 
26    <section class="tabbed-content content-spacing is-hidden" data-component="tabbed-content" data-scroll-component> 
27      <div data-tabs> 
28 
29        <!-- partial: component/block/sticky-tab-header/sticky-tab-header.hbs --> 
30        <div class="sticky-tab-header is-hidden" data-component="sticky-tab-header" data-scroll-component> 
31          <div class="content-wrapper"> 
32            <div class="title-wrapper"> 
33              <h3 class="title" data-title> 
34                ${_DISCOVER_SUITE[locale]} 
35              </h3> 
36            </div> 
37            <div class="tabs-list-wrapper" data-tabs-header> 
38              <div class="drag-wrapper" data-drag-wrapper> 
39                <ul class="tabs-list" data-tabs-list> 
40                  <li class="tabs-item" data-tab-nav-item> 
41                    <span data-tab-label>Highlights</span> 
42                  </li> 
43                  <li class="tabs-item" data-tab-nav-item> 
44                    <span data-tab-label>${_COMMENTS[locale]}</span> 
45                  </li> 
46                  <li class="tabs-item" data-tab-nav-item> 
47                    <span data-tab-label>Facilities</span> 
48                  </li> 
49                </ul> 
50                <span class="underline" data-active-indicator></span> 
51              </div> 
52            </div> 
53          </div> 
54        </div> 
55        <!-- / component/block/sticky-tab-header/sticky-tab-header.hbs --> 
56        <div class="tab-content-container" data-tab-content-container> 
57          <div class="content-wrapper"> 
58            <div class="tab-content" data-tab-content> 
59              <div class="hightlight-wrapper"> 
60                <#if (dataHotel[0].highLights?? && !dataHotel[0].highLights?is_hash && dataHotel[0].highLights?size > 0)> 
61                <#list dataHotel[0].highLights as highLight> 
62                  <div class="hightlight-item"> 
63                    <span class="number">${highLight.value}</span> 
64                    <p class="copy-1 copy">${highLight.text}</p> 
65                  </div> 
66                </#list> 
67                </#if> 
68              </div> 
69 
70            </div> 
71          </div> 
72          <div class="content-wrapper"> 
73            <div class="tab-content" data-tab-content> 
74 
75              <!-- partial: component/block/quote-module/quote-module.hbs --> 
76              <#if ((dataHotel[0].quotes)?has_content)> 
77              <div class="quote-module is-hidden content-spacing is-carousel hide-bg" data-component="quote-module" data-scroll-component> 
78                <div class="content-wrapper" data-content-wrapper> 
79                  <div class="carousel-wrapper" data-carousel-wrapper> 
80                    <ol class="testimonial-list" data-testimonial-list> 
81                    <#if dataHotel[0].quotes?is_string> 
82                      <#assign quotes = [dataHotel[0].quotes] > 
83                    <#else> 
84                      <#assign quotes = dataHotel[0].quotes > 
85                    </#if> 
86                    <#list quotes as quote> 
87                    <#assign split = quote?split("|")> 
88                      <#if split?size == 3> 
89                      <li class="testimonial-item" data-testimonial-item> 
90                        <div class="quote-wrapper" data-quote-wrapper> 
91                          <div data-quote-element> 
92                            <!-- partial: component/general/icon/icon.hbs --> 
93                            <span class="icon quotes-icon" data-component="icon" data-icon="quotes"></span> 
94                            <!-- / component/general/icon/icon.hbs --> 
95                            <p class="quote copy-1"> 
96                            ${split[0]} 
97                            </p> 
98                          </div> 
99                          <div class="author copy-1" data-quote-element> 
100                            <span class="name">${split[1]}</span> 
101                            <span class="date">${split[2]}</span> 
102                          </div> 
103                        </div> 
104                      </li> 
105                      </#if> 
106                      </#list> 
107                    </ol> 
108                  </div> 
109 
110                  <div class="carousel-controls"> 
111                    <div class="button-wrapper" style="${(quotes?size > 1)?then('', 'visibility:"hidden"')}"> 
112                      <button class="button previous" data-prev-button> 
113 
114                        <!-- partial: component/general/button-arrow/button-arrow.hbs --> 
115                        <div class="button-arrow direction-left size-big outlined " data-component="button-arrow"> 
116 
117                          <!-- partial: component/general/icon/icon.hbs --> 
118                          <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span> 
119                          <!-- / component/general/icon/icon.hbs --> 
120 
121                          <!-- partial: component/general/icon/icon.hbs --> 
122                          <span class="icon circle-icon" data-component="icon" data-icon="circle"></span> 
123                          <!-- / component/general/icon/icon.hbs --> 
124                          <div class="chevron-wrapper"> 
125 
126                            <!-- partial: component/general/icon/icon.hbs --> 
127                            <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span> 
128                            <!-- / component/general/icon/icon.hbs --> 
129                          </div> 
130                        </div> 
131                        <!-- / component/general/button-arrow/button-arrow.hbs --> 
132                      </button> 
133                      <button class="button next" data-next-button> 
134 
135                        <!-- partial: component/general/button-arrow/button-arrow.hbs --> 
136                        <div class="button-arrow direction-right size-big outlined " data-component="button-arrow"> 
137 
138                          <!-- partial: component/general/icon/icon.hbs --> 
139                          <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span> 
140                          <!-- / component/general/icon/icon.hbs --> 
141 
142                          <!-- partial: component/general/icon/icon.hbs --> 
143                          <span class="icon circle-icon" data-component="icon" data-icon="circle"></span> 
144                          <!-- / component/general/icon/icon.hbs --> 
145                          <div class="chevron-wrapper"> 
146 
147                            <!-- partial: component/general/icon/icon.hbs --> 
148                            <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span> 
149                            <!-- / component/general/icon/icon.hbs --> 
150                          </div> 
151                        </div> 
152                        <!-- / component/general/button-arrow/button-arrow.hbs --> 
153                      </button> 
154                    </div> 
155 
156                    <div class="logo"> 
157 
158                      <!-- partial: component/general/icon/icon.hbs --> 
159                      <span class="icon " data-component="icon" data-icon="tripadvisor"></span> 
160                      <!-- / component/general/icon/icon.hbs --> 
161                    </div> 
162                  </div> 
163                </div> 
164              </div> 
165              <!-- / component/block/quote-module/quote-module.hbs --> 
166              </#if> 
167 
168            </div> 
169          </div> 
170          <div class="content-wrapper"> 
171            <div class="tab-content" data-tab-content> 
172 
173              <ul class="facilities-list"> 
174                <#list CurrentRoom.amenities as amenity> 
175                  <li class="copy-1 facilities-item">${amenity}</li> 
176                </#list> 
177              </ul> 
178            </div> 
179          </div> 
180        </div> 
181      </div> 
182    </section> 
183    <#else> 
184      <h1>Error: no hay cuarto para la marca ${BrandCode.getData()}, hotel ${HotelCode.getData()}, cuarto ${RoomCode.getData()}</h1> 
185    </#if> 
186 
187  <#else> 
188  <h1>Error: No se encontraron habitaciones para la marca ${BrandCode.getData()}, hotel ${HotelCode.getData()}</h1> 
189  </#if> 
190<#else> 
191  <h1>Error: No se encontró hotel para la marca ${BrandCode.getData()}, hotel ${HotelCode.getData()}</h1> 
192</#if> 
193<!-- / component/block/tabbed-content/tabbed-content.hbs --> 
Se ha producido un error al procesar la plantilla.
Java method "com.liferay.portal.json.JSONFactoryImpl.looseDeserialize(String)" threw an exception when invoked on com.liferay.portal.json.JSONFactoryImpl object "com.liferay.portal.json.JSONFactoryImpl@3c58eb1f"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #return jsonFactoryUtil.looseDeserial...  [in template "fiesta-americana-theme_SERVLET_CONTEXT_/templates/utils/api-hotels.ftl" in function "getHotelWithRoomsByCodeAndBrandCode" at line 12, column 3]
	- Reached through: #assign dataHotel = getHotelWithRooms...  [in template "20115#20151#ROOM-CARD-SLIDER-MODULE-TEMPLATE-1.0.0" at line 8, column 1]
----
1<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
2<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
3<#include "${fullTemplatesPath}/utils/api-hotels.ftl"> 
4<#include "${fullTemplatesPath}/utils/dictionary.ftl"> 
5<#include "${fullTemplatesPath}/utils/media-links.ftl"> 
6<#include "${fullTemplatesPath}/utils/general.ftl"> 
7<#include "${fullTemplatesPath}/utils/url.ftl"> 
8<#assign dataHotel = getHotelWithRoomsByCodeAndBrandCode(HotelCode.getData(), BrandCode.getData())> 
9 
10<#if dataHotel?? && dataHotel?size != 0> 
11  <#if dataHotel[0].roomLinksContent?? && dataHotel[0].roomLinksContent?size != 0> 
12    <#if dataHotel[0].roomLinksContent?is_hash> 
13      <#assign dataRooms = [dataHotel[0].roomLinksContent]> 
14    <#else> 
15      <#assign dataRooms = dataHotel[0].roomLinksContent> 
16    </#if> 
17 
18    <!-- partial: component/block/cards-slider-module/cards-slider-module.hbs --> 
19    <section class="cards-slider-module content-spacing is-hidden" data-component="cards-slider-module" data-scroll-component> 
20      <div class="content-wrapper"> 
21        <div class="title-controls-wrapper"> 
22          <h2 class="heading-2 title">${_OTHER_SUITES[locale]}</h2> 
23          <div class="controls-wrapper"> 
24            <button class="prev-control-button control-button" data-control-button-prev> 
25 
26              <!-- partial: component/general/button-arrow/button-arrow.hbs --> 
27              <div class="button-arrow direction-left size-big outlined " data-component="button-arrow"> 
28 
29                <!-- partial: component/general/icon/icon.hbs --> 
30                <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span> 
31                <!-- / component/general/icon/icon.hbs --> 
32 
33                <!-- partial: component/general/icon/icon.hbs --> 
34                <span class="icon circle-icon" data-component="icon" data-icon="circle"></span> 
35                <!-- / component/general/icon/icon.hbs --> 
36                <div class="chevron-wrapper"> 
37 
38                  <!-- partial: component/general/icon/icon.hbs --> 
39                  <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span> 
40                  <!-- / component/general/icon/icon.hbs --> 
41                </div> 
42              </div> 
43              <!-- / component/general/button-arrow/button-arrow.hbs --> 
44            </button> 
45            <button class="next-control-button control-button" data-control-button-next> 
46 
47              <!-- partial: component/general/button-arrow/button-arrow.hbs --> 
48              <div class="button-arrow direction-right size-big outlined " data-component="button-arrow"> 
49 
50                <!-- partial: component/general/icon/icon.hbs --> 
51                <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span> 
52                <!-- / component/general/icon/icon.hbs --> 
53 
54                <!-- partial: component/general/icon/icon.hbs --> 
55                <span class="icon circle-icon" data-component="icon" data-icon="circle"></span> 
56                <!-- / component/general/icon/icon.hbs --> 
57                <div class="chevron-wrapper"> 
58 
59                  <!-- partial: component/general/icon/icon.hbs --> 
60                  <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span> 
61                  <!-- / component/general/icon/icon.hbs --> 
62                </div> 
63              </div> 
64              <!-- / component/general/button-arrow/button-arrow.hbs --> 
65            </button> 
66          </div> 
67        </div> 
68 
69        <div class="cards-gallery-wrapper" data-cards-wrapper> 
70          <div class="cards-gallery-overflow"> 
71            <div class="cards-gallery" data-gallery> 
72              <#list dataRooms as Room> 
73              <#if Room.code != RoomCode.getData() > 
74              <div class="card" data-gallery-item> 
75 
76                <!-- partial: component/general/picture/picture.hbs --> 
77                <picture class="card-visual" data-component="picture"> 
78                  <#--  <source media="(min-width: 768px)" srcset="fiesta-americana/image/cards-slider/room-card-01.jpg">  --> 
79                  <#assign image = getRoomPreviewImageXS(Room.mediaLinks) > 
80                  <img class="visual" src="${image}" alt="${Room.name}"> 
81                </picture> 
82                <!-- / component/general/picture/picture.hbs --> 
83                <div class="detail-wrapper"> 
84                  <#--  TODO grab from API  --> 
85                  <span class="overline-type caption"> 
86                    <#if Room.category == "standardRoom" > 
87                      ${_ROOMS[locale]} 
88                    <#else> 
89                      Suite 
90                    </#if> 
91                  </span> 
92                  <h3 class="heading-5 name">${Room.name}</h3> 
93 
94                  <div class="facilities-list"> 
95                    <ul> 
96                      <#if Room.totalCapacity?has_content > 
97                      <li class="facilities-item"> 
98 
99                        <!-- partial: component/general/icon/icon.hbs --> 
100                        <span class="icon facility-icon" data-component="icon" data-icon="person-icon"></span> 
101                        <!-- / component/general/icon/icon.hbs --> 
102                        <span class="copy-1 copy">${_CAPACITY[locale]?replace("%capacity%", Room.totalCapacity)}</span> 
103                      </li> 
104                      </#if> 
105 
106                      <#if Room.beds?has_content> 
107                      <li class="facilities-item"> 
108 
109                        <!-- partial: component/general/icon/icon.hbs --> 
110                        <span class="icon facility-icon" data-component="icon" data-icon="bed-icon"></span> 
111                        <!-- / component/general/icon/icon.hbs --> 
112                        <#if Room.beds?is_string > 
113                        <span class="copy-1 copy"></span> 
114                        <#else> 
115                        <span class="copy-1 copy">${Room.beds} ${_BED[locale]}${(Room.beds != 1)?then("s", "")}</span> 
116                        </#if> 
117                      </li> 
118                      </#if> 
119 
120                      <#if Room.dimension?has_content> 
121                      <li class="facilities-item"> 
122                        <#--  TODO, CHANGE ICON  --> 
123                        <!-- partial: component/general/icon/icon.hbs --> 
124                        <span class="icon facility-icon" data-component="icon" data-icon="size-icon"></span> 
125                        <!-- / component/general/icon/icon.hbs --> 
126                        <span class="copy-1 copy">${Room.dimension}</span> 
127                      </li> 
128                      </#if> 
129 
130                    </ul> 
131                  </div> 
132 
133                  <#--  TODO, Are we gonna use description?  --> 
134                  <#if false> 
135                  <div class="description"> 
136                      <div class="copy-1 copy">${Room.descriptions[0]}</div> 
137                  </div> 
138                  </#if> 
139 
140 
141                  <div class="bottom-wrapper"> 
142                    <div class="price"> 
143 
144                      <!-- partial: component/general/from-price/from-price.hbs --> 
145                      <div class="from-price price-size-" data-component="from-price"> 
146                      <#-- 
147                        <span class="from-copy detail-type">${_STARTING_FROM[locale]}</span> 
148                        <div class="price-wrapper"> 
149                          <span class="price-copy">${dataHotel[0].startingFromHotel}</span> 
150                          <span class="currency-copy detail-type">${_CURRENCY[locale]}</span> 
151                        </div> 
152                        --> 
153                      </div> 
154                      <!-- / component/general/from-price/from-price.hbs --> 
155                    </div> 
156                    <a href="${getRoomBaseUrl(dataHotel[0].friendlyUrlHotel, Room.friendlyUrlRoom)}" class="button view-more-button"> 
157 
158                      <!-- partial: component/general/button-arrow/button-arrow.hbs --> 
159                      <div class="button-arrow direction-right size-big outlined " data-component="button-arrow"> 
160 
161                        <!-- partial: component/general/icon/icon.hbs --> 
162                        <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span> 
163                        <!-- / component/general/icon/icon.hbs --> 
164 
165                        <!-- partial: component/general/icon/icon.hbs --> 
166                        <span class="icon circle-icon" data-component="icon" data-icon="circle"></span> 
167                        <!-- / component/general/icon/icon.hbs --> 
168                        <div class="chevron-wrapper"> 
169 
170                          <!-- partial: component/general/icon/icon.hbs --> 
171                          <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span> 
172                          <!-- / component/general/icon/icon.hbs --> 
173                        </div> 
174                      </div> 
175                      <!-- / component/general/button-arrow/button-arrow.hbs --> 
176                    </a> 
177                  </div> 
178                </div> 
179              </div> 
180              </#if> 
181              </#list> 
182            </div> 
183          </div> 
184        </div> 
185 
186        <div class="bullets-wrapper"> 
187 
188          <!-- partial: component/general/bullets/bullets.hbs --> 
189          <ol class="bullet-list" data-bullet-list data-component="bullets"> 
190            <#list dataRooms as Room> 
191            <#if Room.code != RoomCode.getData() > 
192            <li class="bullet" data-bullet> 
193              <span class="icon"></span> 
194            </li> 
195            </#if> 
196            </#list> 
197          </ol> 
198          <!-- / component/general/bullets/bullets.hbs --> 
199        </div> 
200      </div> 
201    </section> 
202    <!-- / component/block/cards-slider-module/cards-slider-module.hbs --> 
203  <#else> 
204  <h1>Error: No se encontraron habitaciones para la marca ${BrandCode.getData()}, hotel ${HotelCode.getData()}</h1> 
205  </#if> 
206<#else> 
207  <h1>Error: No se encontró hotel para la marca ${BrandCode.getData()}, hotel ${HotelCode.getData()}</h1> 
208</#if>