Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> categoryResponse[0]  [in template "62757443695457#32456#108258" at line 10, column 27]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to 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 categoryId = categoryResponse...  [in template "62757443695457#32456#108258" at line 10, column 5]
----
1<#assign contents = []> 
2<#assign categoryName = ""> 
3<#assign peti = "/headless-delivery/v1.0/sites/" + groupId + "/content-structures?filter=name eq 'Hotel Card'"/> 
4<#assign structures = restClient.get("/headless-delivery/v1.0/sites/" + groupId + "/content-structures?filter=name eq 'Hotel Card'").items/> 
5<#if (structures?size > 0)> 
6    <#assign categoryName = (shortName.getData()!"")> 
7    <#assign vocabularyResponse = restClient.get("/headless-admin-taxonomy/v1.0/sites/" + groupId + "/taxonomy-vocabularies?filter=name eq 'Destinations'").items> 
8    <#assign vocabularyId = vocabularyResponse[0].id> 
9    <#assign categoryResponse = restClient.get("/headless-admin-taxonomy/v1.0/taxonomy-vocabularies/" + vocabularyId + "/taxonomy-categories?filter=name eq '" + categoryName + "'").items> 
10    <#assign categoryId = categoryResponse[0].id> 
11 
12    <#assign response = restClient.get("/headless-delivery/v1.0/content-structures/" + structures[0].id + "/structured-contents?filter=taxonomyCategoryIds/any(t:t eq " + categoryId + ")&pageSize=100")> 
13    <#assign contents = response.items> 
14</#if> 
15<#if (contents?size >0)> 
16    <section class="mp-max-width-section"> 
17        <div class="our-accomodations__wrapper"> 
18            <h2 class="mp-title-section mp-text-center"> 
19                <#if containsCircuits?? && getterUtil.getBoolean(containsCircuits.getData())> 
20                    Información adicional y alojamientos en ${categoryName?lower_case?cap_first} 
21                <#else> 
22                    Nuestros alojamientos en ${categoryName?lower_case?cap_first} 
23                </#if> 
24 
25            </h2> 
26            <div class="swiper"> 
27                <ul class="cards-list__wrapper swiper-wrapper" aria-label="Carousel"> 
28                    <#list contents as content> 
29 
30                    <li class="swiper-slide"> 
31                        <a href="/viajes/${content.friendlyUrlPath}"> 
32                            <div class="card-2__wrapper card-2__wrapper--resume"> 
33                                <div class="image-container"> 
34                                    <#assign imageField = getFieldByName(content.contentFields, "images")> 
35                                    <#if imageField?has_content && imageField.contentFieldValue.image?has_content> 
36                                        <img src="${imageField.contentFieldValue.image.contentUrl}" 
37                                             alt="${imageField.contentFieldValue.image.description}" 
38                                             loading="lazy"> 
39                                    </#if> 
40                                </div> 
41                                <div class="data__wrapper"> 
42                                    <#assign nameField = getFieldByName(content.contentFields, "name")> 
43                                    <#if nameField?has_content> 
44                                        <h3>${nameField.contentFieldValue.data}</h3> 
45                                    </#if> 
46                                    <#assign categoryField = getFieldByName(content.contentFields, "category")> 
47                                    <#if categoryField?has_content> 
48                                        <#assign category = categoryField.contentFieldValue.data> 
49                                        <#attempt> 
50                                            <#assign stars = category?split("*")[0]?number> 
51                                            <#recover> 
52                                                <#assign stars = 0> 
53                                        </#recover> 
54                                        <#if (stars > 0)> 
55                                            <ul class="stars__wrapper" role="img" aria-label="Rating: ${stars} de 5 estrellas"> 
56                                                <#list 1..stars as i> 
57                                                    <li aria-hidden="true"> 
58                                                        <svg width="16" height="16" viewBox="0 0 16 16" data-icon="star"> 
59                                                            <symbol id="ai:local:star"> 
60                                                                <path fill="currentColor" d="m8 12.689-3.89 2.346a.72.72 0 0 1-.436.107.79.79 0 0 1-.396-.147.84.84 0 0 1-.273-.332.648.648 0 0 1-.03-.453l1.032-4.417L.573 6.82a.737.737 0 0 1-.245-.388.702.702 0 0 1 .027-.428.845.845 0 0 1 .233-.34.807.807 0 0 1 .416-.171l4.532-.396L7.296.925a.68.68 0 0 1 .291-.344.819.819 0 0 1 .825 0 .68.68 0 0 1 .291.344l1.76 4.172 4.533.396a.807.807 0 0 1 .415.172.846.846 0 0 1 .233.34.703.703 0 0 1 .028.427.737.737 0 0 1-.245.388l-3.435 2.973 1.033 4.417a.648.648 0 0 1-.031.453.839.839 0 0 1-.273.332.79.79 0 0 1-.396.147.72.72 0 0 1-.435-.107L8 12.689Z"></path> 
61                                                            </symbol> 
62                                                            <use xlink:href="#ai:local:star"></use> 
63                                                        </svg> 
64                                                    </li> 
65                                                </#list> 
66                                            </ul> 
67                                        </#if> 
68                                    </#if> 
69                                    <div class="info__description"> 
70                                        <svg width="24" height="24" viewBox="0 0 12 20" data-icon="distance"> 
71                                            <symbol id="ai:local:distance"> 
72                                                <path fill="currentColor" 
73                                                      d="M6.441 19.5c-1.612 0-2.932-.231-3.96-.693C1.456 18.345.942 17.742.942 17c0-.391.168-.749.504-1.073.336-.324.8-.605 1.394-.842l.287.957c-.347.148-.619.303-.813.467-.195.163-.315.327-.36.491.114.446.598.808 1.452 1.085.854.276 1.866.415 3.036.415 1.158 0 2.168-.139 3.03-.415.862-.277 1.35-.639 1.465-1.085-.045-.164-.165-.325-.36-.482a3.956 3.956 0 0 0-.813-.476l.305-.957c.594.237 1.055.518 1.382.842.328.324.491.682.491 1.073 0 .742-.513 1.345-1.54 1.807-1.027.462-2.347.693-3.96.693Zm0-5.137c.3-.588.656-1.188 1.066-1.8.41-.613.831-1.198 1.263-1.755.643-.839 1.157-1.601 1.543-2.288.385-.686.578-1.543.578-2.57 0-1.228-.434-2.277-1.303-3.146C8.718 1.934 7.67 1.5 6.44 1.5c-1.228 0-2.277.435-3.146 1.304-.869.87-1.304 1.918-1.304 3.146 0 1.027.197 1.884.589 2.57a22.38 22.38 0 0 0 1.533 2.288c.432.557.853 1.142 1.263 1.755.41.612.765 1.212 1.065 1.8Zm0 1.522a.603.603 0 0 1-.403-.163 1.077 1.077 0 0 1-.287-.399c-.435-1.055-.924-1.94-1.47-2.658l-1.565-2.06a12.42 12.42 0 0 1-1.224-2.043c-.334-.707-.5-1.577-.5-2.612 0-1.526.526-2.815 1.58-3.87C3.626 1.028 4.916.5 6.442.5c1.525 0 2.815.527 3.869 1.58 1.053 1.055 1.58 2.344 1.58 3.87 0 1.035-.162 1.905-.488 2.612a10.973 10.973 0 0 1-1.237 2.044c-.482.656-1 1.343-1.552 2.06-.554.716-1.048 1.602-1.482 2.657a1.09 1.09 0 0 1-.287.4.603.603 0 0 1-.404.162Zm0-8.406c.43 0 .792-.148 1.087-.442.295-.295.442-.658.442-1.087 0-.43-.147-.792-.442-1.087a1.477 1.477 0 0 0-1.087-.442c-.43 0-.791.148-1.086.442a1.477 1.477 0 0 0-.442 1.087c0 .43.147.792.442 1.087a1.48 1.48 0 0 0 1.086.442Z"></path> 
74                                            </symbol> 
75                                            <use xlink:href="#ai:local:distance"></use> 
76                                        </svg> 
77                                        <#assign streetField = getFieldByName(content.contentFields, "street")> 
78                                        <#if streetField?has_content> 
79                                            <p>${streetField.contentFieldValue.data}</p> 
80                                        </#if> 
81                                    </div> 
82                                    <#assign codeField = getFieldByName(content.contentFields, "code")> 
83                                    <#assign dataHotel = ""> 
84                                    <#if codeField?has_content> 
85                                        <#assign dataHotel = "data-hotel='" + codeField.contentFieldValue.data + "'"> 
86                                        <div class="data__wrapper__footer d-none"> 
87                                            <p class="data__wrapper__footer__price"> 
88                                                <span class="price-line"> 
89                                                  Desde 
90                                                  <span ${dataHotel} class="price"></span> 
91                                                </span> 
92                                                <span class="extra-fees">por persona</span> 
93                                            </p> 
94                                        </div> 
95                                    </#if> 
96                                </div> 
97                            </div> 
98                        </a> 
99                    <li> 
100                        </#list> 
101                </ul> 
102            </div> 
103        </div> 
104    </section> 
105</#if> 
106 
107<#function getFieldByName contentFields, name> 
108    <#list contentFields as field> 
109        <#if field.name == name> 
110            <#return field> 
111        </#if> 
112    </#list> 
113    <#return ""> 
114</#function> 
115 
116<script> 
117  new Swiper(".our-accomodations__wrapper .swiper", { 
118    direction: 'horizontal', 
119    spaceBetween: 0, 
120    slidesPerView: 'auto', 
121    centeredSlides: true, 
122    breakpoints: { 
123      768: { 
124        allowTouchMove: false, 
125
126    }, 
127    navigation: { 
128      nextEl: '.swiper-button-next', 
129      prevEl: '.swiper-button-prev', 
130    }, 
131    pagination: { 
132      el: '.swiper-pagination', 
133    }, 
134    keyboard: { 
135      enabled: true, 
136      onlyInViewport: true, 
137    }, 
138  }); 
139 
140  async function fetchLiferayDocument(url) { 
141      return fetchLiferayApi("documents/d/guest/" + url); 
142
143 
144  function numberWithCommas (x){ 
145 
146      return x.toFixed(Number.isInteger(x) ? 0 : 2).toString().replace(".", ",").replace(/\B(?=(\d{3})+(?!\d))/g, "."); 
147
148 
149  async function loadHotelsPrice() { 
150      const hotelsResult = await fetchLiferayDocument("hotels"); 
151      const hotelsJson = await hotelsResult.json(); 
152 
153      const hotelElements = document.querySelectorAll("span[data-hotel]"); 
154      hotelElements.forEach(hotelElement => { 
155          const hotelCode = hotelElement.dataset.hotel; 
156          const hotel = hotelsJson.find(hotel => hotel.code === +hotelCode); 
157          if (!!hotel && !!hotel.bestPrice) { 
158              hotelElement.innerText = numberWithCommas(hotel.bestPrice) + "€"; 
159 
160              const parent = hotelElement.closest(".data__wrapper__footer"); 
161              parent.classList.remove("d-none"); 
162
163      }) 
164
165 
166  loadHotelsPrice(); 
167</script> 

Conoce Mercadillos Navideños Verona Y Trento

Un viaje entre ciudades románticas, mercadillos navideños y la magia del norte de Italia.

Descubre la magia de la Navidad en el norte de Italia con un recorrido único por el Véneto y el Trentino. Un viaje que combina la elegancia de Verona, la atmósfera incomparable de Venecia y el encanto alpino de Trento y Rovereto, donde los mercadillos navideños llenan las plazas de luces, artesanía y tradición.

Un itinerario pensado para disfrutar del espíritu navideño italiano, con tiempo para pasear entre calles históricas, degustar gastronomía local y vivir el ambiente festivo de algunas de las ciudades más bellas de Europa.

INFORMACIÓN DE INTERÉS

DOCUMENTACIÓN

Los ciudadanos españoles precisan llevar el documento de identidad válido o pasaporte en vigor.

CAMBIO

La moneda oficial es el Euro.

VESTUARIO

Se recomienda llevar ropa de abrigo, sobre todo guantes, gorros, calcetines de invierno e incluso orejeras.

ELECTRICIDAD

La corriente eléctrica es de 230 voltios.

REFERENCIA HORARIA

Se aplica la hora Central de Europa (CET), misma que en España.

TELÉFONO

Código de acceso desde España: (+39)

Código de acceso desde Italia: (+34)