Girona

Fachada exterior

Las estaciones son algo más que un lugar desde el que subir a un tren o desembarcar del mismo. Además de prestar sus servicios a los viajeros y usuarios, muchas de ellas constituyen una referencia en las localidades donde su ubican.

Aquí se pueden conocer los horarios de llegadas y salidas de la estación, así como los servicios que se ofrecen en su recinto e instalaciones. Para ello acceda a dicha información a través del selector que ponemos a su disposición.

x
Adif en tu móvil
Horarios en tiempo real
Descárgala ya
Instalar
Filtrar por
 

Salidas

Hora de salida Destino Tren Vía
No se ha podido recuperar información de circulación.
 

Llegadas

Hora de llegada Origen Tren Vía
20:47 20:52
RF - RODALIES-R1115820
20:47
RI - TGV INOUI09715
21:22
RF - RODALIES-R1115888
21:35
RF - RODALIES-R1115736
23:11
RF - MD15702
23:44
RF - AVANT34309
05:42
RF - AVE03302
Compartido: Avant 34302 Figueres Vilafant - Barcelona Sants
07:12
RF - RODALIES-R1115850
07:21
RF - EUROMED34609
08:17
RF - RODALIES-R1115776
08:45
RF - AVANT34737
08:55
RF - AVE09737
Compartido: Avant 34137 Barcelona Sants - Figueres-Vilafant
09:05
RF - RODALIES-R1115800
09:23
RF - EUROMED01101
Compartido: Avant 34201 Figueres-Vilafant - Barcelona Sants
09:38
RF - RODALIES-R1115854
10:07
RI - TGV INOUI09708
10:13
RF - AVANT08297
10:17
RF - RODALIES-R1115780
10:17
RF - INTERURBANO15906
11:06
RF - RODALIES-R1115804
11:38
RF - RODALIES-R1115858
11:45
RF - AVANT34730
11:51
RF - AVE09730
Compartido: Avant 34130 Figueres-Vilafant - Barcelona Sants
12:08
RF - AVE03073
Compartido: Avant 34073 Barcelona Sants - Figueres-Vilafant
12:17
RF - RODALIES-R1115860
No se ha podido recuperar información de circulación.

Informacion de la estación

  • Dirección

    Pza. de Espanya, s/n --- 17002 Girona --- GIRONA

  • Horario

    Diario: 05:15 a 23:45

  • Intermodalidad

    Taxi
    Autobús
    Líneas
    152
    41
    42
    601
    607 (conexión con el Aeropuerto de Girona)
    663
    E2
    E4
    Línea 151
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> .vars["serviciosFieldSet"].idFieldSet.idFieldSetFieldSet.descripcionServicios.getSiblings()[idx]  [in template "20101#20128#ADIF-SERVICIOS-ESTACION-TEMPLATE" at line 62, column 36]

----
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 item = {"id": idNodo.getData(...  [in template "20101#20128#ADIF-SERVICIOS-ESTACION-TEMPLATE" in macro "listPaint" at line 59, column 17]
	- Reached through: @listPaint servicios.id.getSiblings()...  [in template "20101#20128#ADIF-SERVICIOS-ESTACION-TEMPLATE" at line 39, column 5]
----
1<script type="text/javascript"> 
2 
3 
4function cierraDetalles(){ 
5   var detalles = $("div[id^='detalleServicio']"); 
6   var iconos = $("[id^='button-detalleServicio']"); 
7   for (let detalle of detalles) { 
8    detalle.style.display = 'none' 
9
10    for (let icono of iconos) { 
11      icono.setAttribute('aria-expanded', 'false'); 
12
13
14 
15  function toggle(id, id2) { 
16 
17     
18        var n = document.getElementById(id); 
19if (n.style.display != 'none')  
20
21	  n.style.display = 'none'; 
22      document.getElementById(id2).setAttribute('aria-expanded', 'false'); 
23
24  else 
25
26  cierraDetalles(); 
27  n.style.display = ''; 
28  document.getElementById(id2).setAttribute('aria-expanded', 'true'); 
29
30
31   
32 
33  </script> 
34 
35<#if servicios?? && servicios.id?? && servicios.id.getSiblings()?has_content> 
36	<div class="title-servicios"> 
37    	<h3><@liferay.language key="es.adif.estacion.servicios"/></h3> 
38	</div> 
39    <@listPaint servicios.id.getSiblings() ""/>	 
40</#if> 
41 
42<#if serviciosAdaptados?? && serviciosAdaptados.idAdaptados?? && serviciosAdaptados.idAdaptados.getSiblings()?has_content> 
43	<div class="title-servicios"> 
44    	<h3><@liferay.language key="es.adif.estacion.servicios-adaptados"/></h3> 
45	</div> 
46    <@listPaint serviciosAdaptados.idAdaptados.getSiblings() "Adaptados"/>	 
47</#if> 
48 
49<#macro listPaint listaIds texto> 
50    <#-- 1. Creamos una lista limpia combinando los datos por su índice --> 
51    <#assign listaTipada = [] /> 
52     
53    <#list listaIds as idNodo> 
54        <#assign idx = idNodo?index /> 
55         
56        <#if texto != "Adaptados"> 
57            <#-- Acceso seguro navegando la estructura exacta del XML usando las variables de Liferay --> 
58            <#if .vars["serviciosFieldSet"].idFieldSet.idFieldSetFieldSet.titulo.getSiblings()[idx]??> 
59                <#assign item = { 
60                    "id": idNodo.getData(), 
61                    "titulo": .vars["serviciosFieldSet"].idFieldSet.idFieldSetFieldSet.titulo.getSiblings()[idx].getData(), 
62                    "descripcion": .vars["serviciosFieldSet"].idFieldSet.idFieldSetFieldSet.descripcionServicios.getSiblings()[idx].getData(), 
63                    "icono": .vars["serviciosFieldSet"].idFieldSet.idFieldSetFieldSet.icono.getSiblings()[idx].getData(), 
64                    "pop": .vars["serviciosFieldSet"].idFieldSet.idFieldSetFieldSet.popServicios.getSiblings()[idx].getData() 
65                } /> 
66                <#assign listaTipada = listaTipada + [item] /> 
67            </#if> 
68        <#else> 
69            <#-- Ruta exacta para los servicios adaptados --> 
70            <#if .vars["serviciosAdaptadosFieldSet"].idAdaptadosFieldSet.idAdaptadosFieldSetFieldSet.tituloAdaptados.getSiblings()[idx]??> 
71                <#assign item = { 
72                    "id": idNodo.getData(), 
73                    "titulo": .vars["serviciosAdaptadosFieldSet"].idAdaptadosFieldSet.idAdaptadosFieldSetFieldSet.tituloAdaptados.getSiblings()[idx].getData(), 
74                    "descripcion": .vars["serviciosAdaptadosFieldSet"].idAdaptadosFieldSet.idAdaptadosFieldSetFieldSet.descripcionAdaptados.getSiblings()[idx].getData(), 
75                    "icono": .vars["serviciosAdaptadosFieldSet"].idAdaptadosFieldSet.idAdaptadosFieldSetFieldSet.iconoAdaptados.getSiblings()[idx].getData(), 
76                    "pop": .vars["serviciosAdaptadosFieldSet"].idAdaptadosFieldSet.idAdaptadosFieldSetFieldSet.popAdaptados.getSiblings()[idx].getData() 
77                } /> 
78                <#assign listaTipada = listaTipada + [item] /> 
79            </#if> 
80        </#if> 
81    </#list> 
82 
83    <#-- 2. Ordenamos nativamente por el título de los mapas creados --> 
84    <#if listaTipada?has_content> 
85        <#assign listaOrdenada = listaTipada?sort_by("titulo") /> 
86         
87        <#-- 3. Pintamos en filas de 3 usando la lista ya ordenada --> 
88        <#list listaOrdenada as cur_item> 
89            <#if cur_item?index % 3 == 0> 
90                <#assign 
91                    hay1 = listaOrdenada[cur_item?index + 1]?? 
92                    hay2 = listaOrdenada[cur_item?index + 2]?? 
93                /> 
94                <div class="servicios-estacion" id="servicios-estacion"> 
95                    <@boxPaint cur_item cur_item?index texto/> 
96                    <#if hay1> 
97                        <@boxPaint listaOrdenada[cur_item?index + 1] cur_item?index + 1 texto/> 
98                        <#if hay2> 
99                            <@boxPaint listaOrdenada[cur_item?index + 2] cur_item?index + 2 texto/> 
100                        </#if> 
101                    </#if> 
102                </div> 
103                <@detailPaint cur_item cur_item?index texto/> 
104                <#if hay1> 
105                    <@detailPaint listaOrdenada[cur_item?index + 1] cur_item?index + 1 texto/> 
106                    <#if hay2> 
107                        <@detailPaint listaOrdenada[cur_item?index + 2] cur_item?index + 2 texto/> 
108                    </#if> 
109                </#if> 
110            </#if> 
111        </#list> 
112    </#if> 
113</#macro> 
114 
115<#macro boxPaint elem index texto> 
116	<#if elem.pop ?? && elem.pop != ""> 
117		<button class="linkServiciosDesp" id="button-detalleServicio${texto}-${index}" aria-expanded="false" aria-controls="detalleServicio${texto}-${index}" onclick="toggle('detalleServicio${texto}-${index}', 'button-detalleServicio${texto}-${index}')"> 
118	</#if> 
119	<div class="servicio-estacion" id="iconoServicio${texto}-${index}"> 
120		<div class="servicio-estacion-icono" style="background-image:url('${elem.icono}')"></div> 
121		<div class="servicio-estacion-datos"> 
122			<h4>${elem.titulo}</h4> 
123			<p class="descripcion-servicios">${elem.descripcion}</p> 
124			<#if elem.pop ?? && elem.pop != ""> 
125				<p class="detalle-mas-informacion"> 
126				    <span class="texto_servicios_responsive" data-desktoptext="Más información" data-phonetext="+"></span> 
127				</p> 
128			</#if> 
129		</div> 
130	</div> 
131	<#if elem.pop ?? && elem.pop != ""> 
132		</button> 
133	</#if> 
134</#macro> 
135 
136<#macro detailPaint elem index texto> 
137	<div role="region" aria-labelledby="button-detalleServicio${texto}-${index}" class="servicios-estacion" id="detalleServicio${texto}-${index}" style="display:none"> 
138		<div class="servicio-estacion servicio-estacion-detalle servicio-estacion-detalle-${index%3} "> 
139			<div class="servicio-estacion-icono" style="background-image:url('${elem.icono}')"></div> 
140			<div class="servicio-estacion-datos"> 
141				<h4>${elem.titulo}</h4> 
142				${elem.pop} 
143				<p> 
144					<button aria-label="<@liferay.language key="navigation.cerrar" /> ${elem.titulo}" class="btn-close-adif" type="button" onclick="toggle('detalleServicio${texto}-${index}', 'button-detalleServicio${texto}-${index}')">&times;</button> 
145				</p> 
146			</div> 
147		</div> 
148	</div> 
149</#macro> 
150 
151 
152 
153<#function esMayor string1 string2> 
154    <#assign strings = [string1,string2]?sort> 
155    <#return strings[0]==string2> 
156</#function> 

Viajes El Corte Inglés

Número de local: Vestíbulo

Logo Ale-Hop

Ale-Hop

www.ale-hop.net

Número de local: Vestíbulo

Logo La Pausa

La Pausa

Número de local: Vestíbulo

Logo Café pans

Café pans

Número de local: Vestíbulo

Logo Eureka!

Eureka!

Número de local: Planta -1

Logo Estanco

Estanco

Número de local: Vestíbulo

Logo Alamo Enterprise National

Alamo Enterprise National

www.enterprise.es

Número de local: Vestíbulo

Logo El vagó d´or

El vagó d´or

+34 680 531 966

Número de local: Vestíbulo

Logo Hertz

Hertz

Número de local: Vestíbulo