Busse von Montijo nach
Badajoz, zum besten Preis
Busfahrpläne und Haltestellen
Wie verläuft die Reise von ##origin## nach ##destination##?
Die Busse von ##origin## nach ##destination## verkehren ##times## Mal täglich und die Fahrtdauer beträgt ##durationMin##. Sie können Ihre Tickets nach ##destination## bereits ab nur ##Precio## € buchen
Die Busse von ##origin## nach ##destination## verkehren ##times## Mal täglich und die Fahrtdauer liegt zwischen ##durationMin## beim direktesten Service und ##durationMax## Stunden beim mit den meisten Zwischenstopps. Sie können Ihre Tickets nach ##destination## bereits ab nur ##Precio## € buchen
|
##Duracion## |
|
|
##firstBus## |
|
|
##lastBus## |
|
##Distancia##Km |
|
##times## Busse täglich |
1380
338
Beste Preise und Tage für Reisen von ##origin## nach ##destination##
In diesem Abschnitt können Sie die besten Preise und Tage für Reisen von ##origin## nach ##destination## einsehen. Finden Sie leicht die günstigste Option je nach Wochentag.
In den kommenden Monaten
Stationen
##origin##
##destination##
Häufig gestellte Fragen
Java method "com.sun.proxy.$Proxy842.getArticleResourcePrimKey(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy842 object "com.liferay.journal.service.impl.JournalArticleResourceLocalServiceImpl@f2b97dc"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign articleResourcePK = journalAr... [in template "10157#10197#77738740" at line 22, column 9]
----
1<#assign originId = Origen.route_id_origin.getData() />
2<#assign destinationId = Destino.route_id_destination.getData() />
3<#assign price = route_minimum_price.getData() />
4<#assign distance = route_distance.getData() />
5
6
7<#assign errorService = false>
8<#attempt>
9 <#assign busInformation = (restClient.get("/Alsa-SEO-rest/v1.0/bus-information?languageId=${themeDisplay.getLanguageId()}&originId=${originId}&destinationId=${destinationId}") )>
10<#recover>
11 <#assign errorService = true>
12</#attempt>
13<#if busInformation.status?? && busInformation.status =="INTERNAL_SERVER_ERROR">
14 <#assign errorService = true>
15
16</#if>
17
18 <#assign journalArticleId = .vars['reserved-article-id'].data>
19 <#assign journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")>
20 <#assign assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
21 <#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/>
22 <#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) >
23 <#assign journalArticle = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
24 <#assign encontrado = false>
25 <#assign articles = [] >
26 <#list categoryList as category>
27 <#if !encontrado>
28 <#assign urlTitle = "seo_faqs_" + category.getName()?lower_case>
29 <#attempt>
30 <#assign article = journalArticle.getArticleByUrlTitle(groupId, urlTitle)!>
31 <#if article??>
32 <#assign articles += [article]>
33 </#if>
34 <#recover>
35 </#attempt>
36
37 </#if>
38 </#list>
39
40 <#attempt>
41<#assign articleGenerico = journalArticle.getArticleByUrlTitle(groupId, "seo_faqs_genericas")!>
42 <#if articleGenerico??>
43 <#assign articles += [articleGenerico]>
44 </#if>
45 <#recover>
46 </#attempt>
47
48 <#assign faqs = []>
49 <#list articles as article>
50 <#assign document = saxReaderUtil.read(article.getContentByLocale(localeUtil.toLanguageId(themeDisplay.locale)))>
51 <#assign rootElement = document.getRootElement() />
52
53
54
55<#list rootElement.elements() as dinamicElement>
56
57 <#-- Inicializamos variables vacías para cada FAQ -->
58 <#assign titulo = "">
59 <#assign valorEvaluar = "">
60 <#assign respuesta = "">
61 <#assign respuestaGenerica = "">
62 <#assign respuestaSupra = "">
63 <#assign respuestaComfort = "">
64 <#assign respuestaSi = "">
65 <#assign respuestaNo = "">
66
67 <#foreach dinamicElementFill in dinamicElement.elements()>
68 <#assign fieldRef = dinamicElementFill.attributeValue("field-reference")>
69 <#if fieldRef == "tituloFaq">
70 <#assign titulo = dinamicElementFill.element("dynamic-content").getText()>
71 </#if>
72 <#if fieldRef == "valorEvaluar">
73 <#assign valorEvaluar = dinamicElementFill.element("dynamic-content").getText()>
74 </#if>
75 <#if fieldRef == "respuestaGenerica">
76 <#assign respuestaGenerica = dinamicElementFill.element("dynamic-content").getText()>
77 </#if>
78 <#if valorEvaluar == "tipoServcio" || valorEvaluar == "tipoServicioUltimo">
79 <#if fieldRef == "respuestaConfort">
80 <#assign respuestaComfort = dinamicElementFill.element("dynamic-content").getText()>
81 </#if>
82 <#if fieldRef == "respuestaSupra">
83 <#assign respuestaSupra = dinamicElementFill.element("dynamic-content").getText()>
84 </#if>
85 </#if>
86 <#if valorEvaluar == "Opción45855620" || valorEvaluar == "nocturno">
87
88 <#if fieldRef == "respuestaSi">
89 <#assign respuestaSi = dinamicElementFill.element("dynamic-content").getText()>
90
91 </#if>
92 <#if fieldRef == "respuestaNo">
93 <#assign respuestaNo = dinamicElementFill.element("dynamic-content").getText()>
94
95 </#if>
96 </#if>
97 </#foreach>
98
99 <#if !errorService>
100 <#if titulo?has_content || valorEvaluar?has_content || respuestaGenerica?has_content>
101 <#-- reemplazamos las variables en titulo -->
102 <#assign titulo = titulo?replace("[destino]", busInformation.destination)?replace("[origen]", busInformation.origin) />
103
104 <#-- reemplazamos las variables en respuestaGenericas -->
105 <#assign estacionesDesFormateadas = "">
106 <#assign estacionesOriFormateadas = "">
107 <#list busInformation.lastStopsOnItinerary as estacion>
108 <#assign estacionesDesFormateadas += "- ${estacion} <br>">
109 </#list>
110 <#list busInformation.firstStopsOnItinerary as estacion>
111 <#assign estacionesOriFormateadas += "- ${estacion} <br>">
112 </#list>
113 <#assign respuestaGenerica = respuestaGenerica?replace("[destino]", busInformation.destination)?replace("[origen]",
114 busInformation.origin)?replace("[numeroServicios]", busInformation.times)?replace("[tiempoViaje]", busInformation.durationMin)
115 ?replace("[estacionesDestino]", estacionesDesFormateadas)?replace("[estacionesOrigen]", estacionesOriFormateadas)
116 ?replace("[price]", price)?replace("[distance]", distance) />
117
118 <#if valorEvaluar == "tipoServcio" >
119
120 <#-- reemplazamos las variables en respuestaSupra -->
121 <#if busInformation.firstBusSupra?has_content>
122 <#assign respuestaSupra = respuestaSupra?replace("[destino]", busInformation.destination)?replace("[origen]",
123 busInformation.origin)?replace("[tipoServicio]", busInformation.firstBusSupra.serviceType)
124 ?replace("[horaPrimerAutoBusSupra]", busInformation.firstBusSupra.firstBusTime)
125 ?replace("[estacionOrigen]", busInformation.firstBusSupra.originStation)
126 ?replace("[estacionDestino]", busInformation.firstBusSupra.destinationStation)
127 ?replace("[horaLlegada]", busInformation.firstBusSupra.arrivalTime)/>
128 <#else>
129 <#assign respuestaSupra = "" />
130 </#if>
131
132 <#-- reemplazamos las variables en respuestaComfort -->
133 <#if busInformation.firstBusComfort?has_content>
134 <#assign respuestaComfort = respuestaComfort?replace("[destino]", busInformation.destination)?replace("[origen]",
135 busInformation.origin)?replace("[tipoServicio]", busInformation.firstBusComfort.serviceType)
136 ?replace("[horaPrimerAutoBusConfort]", busInformation.firstBusComfort.firstBusTime)
137 ?replace("[estacionOrigen]", busInformation.firstBusComfort.originStation)
138 ?replace("[estacionDestino]", busInformation.firstBusComfort.destinationStation)
139 ?replace("[horaLlegada]", busInformation.firstBusComfort.arrivalTime)/>
140 <#else>
141 <#assign respuestaComfort = "" />
142 </#if>
143 </#if>
144 <#if valorEvaluar == "tipoServicioUltimo" >
145
146 <#-- reemplazamos las variables en respuestaSupra ultimo bus-->
147 <#if busInformation.lastBusSupra?has_content>
148 <#assign respuestaSupra = respuestaSupra?replace("[destino]", busInformation.destination)?replace("[origen]",
149 busInformation.origin)?replace("[tipoServicio]", busInformation.lastBusSupra.serviceType)
150 ?replace("[horaPrimerAutoBusSupra]", busInformation.lastBusSupra.firstBusTime)
151 ?replace("[estacionOrigen]", busInformation.lastBusSupra.originStation)
152 ?replace("[estacionDestino]", busInformation.lastBusSupra.destinationStation)
153 ?replace("[horaLlegada]", busInformation.lastBusSupra.arrivalTime)/>
154 <#else>
155 <#assign respuestaSupra = "" />
156 </#if>
157
158 <#-- reemplazamos las variables en respuestaComfort ultimo bus-->
159 <#if busInformation.lastBusComfort?has_content>
160 <#assign respuestaComfort = respuestaComfort?replace("[destino]", busInformation.destination)?replace("[origen]",
161 busInformation.origin)?replace("[tipoServicio]", busInformation.lastBusComfort.serviceType)
162 ?replace("[horaPrimerAutoBusConfort]", busInformation.lastBusComfort.firstBusTime)
163 ?replace("[estacionOrigen]", busInformation.lastBusComfort.originStation)
164 ?replace("[estacionDestino]", busInformation.lastBusComfort.destinationStation)
165 ?replace("[horaLlegada]", busInformation.lastBusComfort.arrivalTime)/>
166 <#else>
167 <#assign respuestaComfort = "" />
168 </#if>
169</#if>
170 <#if valorEvaluar == "Opción45855620" >
171
172 <#if busInformation.travelEveryDay == "S">
173 <#assign respuestaSi = respuestaSi?replace("[destino]", busInformation.destination)?replace("[origen]",
174 busInformation.origin)?replace("[numeroServicios]", busInformation.times)?replace("[tiempoViaje]", busInformation.durationMin) />
175 <#assign respuestaNo = "" />
176 <#else>
177 <#assign respuestaNo = respuestaNo?replace("[destino]", busInformation.destination)?replace("[origen]",
178 busInformation.origin)?replace("[numeroServicios]", busInformation.times)?replace("[tiempoViaje]", busInformation.durationMin) />
179 <#assign respuestaSi = "" />
180
181 </#if>
182 </#if>
183 <#if valorEvaluar == "nocturno" >
184 <#if busInformation.firstNightService?has_content >
185 <#assign respuestaSi = respuestaSi?replace("[destino]", busInformation.destination)?replace("[origen]",
186 busInformation.origin)?replace("[numeroServicios]", busInformation.times)?replace("[tipoServicio]", busInformation.firstNightService.serviceType)
187 ?replace("[horaPrimerAutoBusNocturno]", busInformation.firstNightService.firstBusTime)
188 ?replace("[estacionOrigen]", busInformation.firstNightService.originStation)
189 ?replace("[estacionDestino]", busInformation.firstNightService.destinationStation)
190 ?replace("[horaLlegada]", busInformation.firstNightService.arrivalTime)/>
191 <#assign respuestaNo = "" />
192 <#else>
193 <#if busInformation.lastBusComfort?has_content>
194 <#assign respuestaNo = respuestaNo?replace("[destino]", busInformation.destination)?replace("[origen]",
195 busInformation.origin)?replace("[numeroServicios]", busInformation.times)?replace("[tipoServicio]", busInformation.lastBusComfort.serviceType)
196 ?replace("[horaPrimerAutoBusConfort]", busInformation.lastBusComfort.firstBusTime)
197 ?replace("[estacionOrigen]", busInformation.lastBusComfort.originStation)
198 ?replace("[estacionDestino]", busInformation.lastBusComfort.destinationStation)
199 ?replace("[horaLlegada]", busInformation.lastBusComfort.arrivalTime)/>
200 <#assign respuestaSi = "" />
201 <#else>
202 <#assign respuestaNo = respuestaNo/>
203 <#assign respuestaSi = "" />
204 </#if>
205 </#if>
206 </#if>
207 <#if (respuestaGenerica!="" || respuestaComfort!="" || respuestaSupra!="" || respuestaSi!="" || respuestaNo!="") >
208
209 <#assign faqs = faqs + [{"titulo": titulo, "valorEvaluar": valorEvaluar, "respuestaGenerica":
210 respuestaGenerica, "respuestaComfort": respuestaComfort, "respuestaSupra": respuestaSupra,
211 "respuestaSi": respuestaSi, "respuestaNo": respuestaNo}]>
212</#if>
213 </#if>
214 <#else>
215 <#if !titulo?contains("[") && (respuestaGenerica!="" || respuestaComfort!="" || respuestaSupra!="" || respuestaSi!="" || respuestaNo!="") >
216 <#assign faqs = faqs + [{"titulo": titulo, "valorEvaluar": valorEvaluar, "respuestaGenerica":
217 respuestaGenerica, "respuestaComfort": respuestaComfort, "respuestaSupra": respuestaSupra,
218 "respuestaSi": respuestaSi, "respuestaNo": respuestaNo}]>
219 </#if>
220 </#if>
221
222</#list>
223 </#list>
224
225<div class="dropdown2020 c-dropdown-with-info container-fluid">
226<#assign idAleatorioInicial = .now?long />
227 <div class="preguntas-frecuentes container">
228 <div id="accordion${idAleatorioInicial}" class="panel-group" role="tablist" aria-multiselectable="true">
229 <#if faqs?has_content>
230 <#assign idAleatorio = .now?long />
231 <#list faqs as faq>
232 <div class="panel panel-default">
233 <div class="panel-heading accordian" role="tab" id="heading_${idAleatorio}" aria-selected="false" aria-controls="collapse_${idAleatorio}"
234 aria-expanded="false" tabindex="-1">
235 <div class="pregunta-faq">
236 <a role="button" data-toggle="collapse" data-parent="#accordion${idAleatorioInicial}"
237 href="#collapse_${idAleatorio}" title="${faq.titulo}" aria-expanded="false" aria-controls="collapse_${idAleatorio}" class="collapsed">
238 <span class="container-displays-blinds h3">
239 ${faq.titulo}
240 </span>
241 </a>
242 </div>
243 </div>
244 <div id="collapse_${idAleatorio}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading_${idAleatorio}" aria-hidden="true" aria-expanded="false">
245 <div class="contenido-preguntas-frecuentes" tabindex="0">
246 <#if faq.valorEvaluar == "ninguno" >
247 ${faq.respuestaGenerica}
248 <#elseif faq.valorEvaluar == "tipoServcio">
249 ${faq.respuestaSupra}
250 ${faq.respuestaComfort}
251 <#elseif faq.valorEvaluar == "tipoServicioUltimo">
252 ${faq.respuestaSupra}
253 ${faq.respuestaComfort}
254 <#elseif faq.valorEvaluar == "Opción45855620">
255 ${faq.respuestaSi}
256 ${faq.respuestaNo}
257 <#elseif faq.valorEvaluar == "nocturno">
258 ${faq.respuestaSi}
259 ${faq.respuestaNo}
260 </#if>
261 </div>
262 </div>
263 <#assign idAleatorio-- />
264 </div>
265 </#list>
266 </#if>
267 </div>
268 </div>
269</div>
270
271
272<#if faqs?has_content>
273<script type="application/ld+json">
274<@compress single_line=true>
275{
276 "@context": "https://schema.org",
277 "@type": "FAQPage",
278 "mainEntity": [
279 <#list faqs as faq>
280 <#-- Determinar qué respuesta usar -->
281 <#assign respuesta = "">
282 <#if faq.respuestaGenerica?has_content>
283 <#assign respuesta = faq.respuestaGenerica>
284 <#elseif faq.respuestaComfort?has_content>
285 <#assign respuesta = faq.respuestaComfort>
286 <#elseif faq.respuestaSupra?has_content>
287 <#assign respuesta = faq.respuestaSupra>
288 <#elseif faq.respuestaSi?has_content>
289 <#assign respuesta = faq.respuestaSi>
290 <#elseif faq.respuestaNo?has_content>
291 <#assign respuesta = faq.respuestaNo>
292 </#if>
293
294 <#assign cleaned_answer = respuesta?replace("'", "’")>
295 <#assign cleaned_question = faq.titulo?replace("'", "’")>
296 {
297 "@type": "Question",
298 "name": "${cleaned_question?json_string}",
299 "acceptedAnswer": {
300 "@type": "Answer",
301 "text": "${cleaned_answer?json_string}"
302 }
303 }<#if faq_has_next>,</#if>
304 </#list>
305 ]
306}
307</@compress>
308</script>
309</#if>
Español
Català
Français
Galego
English
Italiano
Português
Euskara
