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
21:00 21:12
RF - MD78890
21:18 21:23
RF - REGIONAL EXPRES78830
21:40
RF - REGIONAL EXPRES78892
22:11
RF - MD78832
22:19
RF - MD78894
22:23
RF - MD78945
23:11
RF - MD78834
23:44
RF - AVANT34309
07:14
RF - MD78848
07:21
RF - EUROMED34609
07:48
RF - REGIONAL EXPRES78900
08:07
RF - AVE03092
Compartido: Avant 34092 Figueres-Vilafant - Barcelona Sants
08:10
RF - REGIONAL EXPRES78852
08:36
RF - MD78804
08:45
RF - AVANT34737
08:49
RF - MD78854
09:18
RF - REGIONAL EXPRES78902
09:23
RF - EUROMED01101
Compartido: Avant 34102 Figueres-Vilafant - Barcelona Sants
09:40
RF - REGIONAL EXPRES78856
10:13
RF - AVANT08297
10:48
RF - REGIONAL EXPRES78904
10:49
RF - MD78858
11:10
RF - REGIONAL EXPRES78860
11:36
RF - MD78808
11:45
RF - AVANT34730
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:
==> lista3[cur_elem?index+1].titulo  [in template "20101#20128#ADIF-SERVICIOS-ESTACION-TEMPLATE" at line 167, column 101]

----
Tip: It's the step after the last dot 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: #if (texto == "Adaptados" && esMayor(...  [in template "20101#20128#ADIF-SERVICIOS-ESTACION-TEMPLATE" in macro "orderServicesList" at line 166, column 41]
	- Reached through: @orderServicesList lista, texto  [in template "20101#20128#ADIF-SERVICIOS-ESTACION-TEMPLATE" in macro "listPaint" at line 49, column 9]
	- Reached through: @listPaint servicios.id.getSiblings()...  [in template "20101#20128#ADIF-SERVICIOS-ESTACION-TEMPLATE" at line 37, column 9]
----
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 
15function toggle(id, id2) { 
16 
17 
18	var n = document.getElementById(id); 
19	if (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  </script> 
32 
33<#if servicios?? && servicios.id?? && servicios.id.getSiblings()?has_content> 
34	<div class="title-servicios"> 
35    	<h3><@liferay.language key="es.adif.estacion.servicios"/></h3> 
36	</div> 
37	<@listPaint servicios.id.getSiblings() ""/> 
38</#if> 
39 
40<#if serviciosAdaptados?? && serviciosAdaptados.idAdaptados?? && serviciosAdaptados.idAdaptados.getSiblings()?has_content> 
41	<div class="title-servicios"> 
42    	<h3><@liferay.language key="es.adif.estacion.servicios-adaptados"/></h3> 
43	</div> 
44	<@listPaint serviciosAdaptados.idAdaptados.getSiblings() "Adaptados"/> 
45</#if> 
46 
47<#macro listPaint lista texto> 
48 
49	<@orderServicesList lista texto/> 
50 
51	<#list listaOrdenada as cur_id> 
52 
53		<#if cur_id?index %3 == 0> 
54			<#assign 
55			hay1 = listaOrdenada[cur_id?index+1]?? 
56			hay2 = listaOrdenada[cur_id?index+2]?? 
57			/> 
58			<div class="servicios-estacion" id="servicios-estacion"> 
59	        <@boxPaint cur_id cur_id?index texto/> 
60				<#if hay1> 
61					<@boxPaint listaOrdenada[cur_id?index+1] cur_id?index+1 texto/> 
62					<#if hay2> 
63						<@boxPaint listaOrdenada[cur_id?index+2] cur_id?index+2 texto/> 
64					</#if> 
65				</#if> 
66	         </div> 
67			<@detailPaint cur_id cur_id?index texto/> 
68			<#if hay1> 
69				<@detailPaint listaOrdenada[cur_id?index+1] cur_id?index+1 texto/> 
70				<#if hay2> 
71					<@detailPaint  listaOrdenada[cur_id?index+2] cur_id?index+2 texto/> 
72				</#if> 
73			</#if> 
74		</#if> 
75 
76	</#list> 
77 
78</#macro> 
79 
80<#macro boxPaint elem index texto> 
81	<#if texto!="Adaptados"> 
82		<#if elem.popServicios.getData() ?? && elem.popServicios.getData() != ""> 
83			<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}')"> 
84		</#if> 
85		<div class="servicio-estacion" id="iconoServicio${texto}-${index}"> 
86			<div class="servicio-estacion-icono" style="background-image:url('${elem.icono.getData()}')"></div><!-- /.servicio-estacion-icono --> 
87			<div class="servicio-estacion-datos"> 
88				<h4>${elem.titulo.getData()}</h4> 
89				<p class="descripcion-servicios">${elem.descripcionServicios.getData()}</p> 
90				<#if elem.popServicios.getData() ?? && elem.popServicios.getData() != ""> 
91					<p class="detalle-mas-informacion"> 
92					<span class="texto_servicios_responsive" data-desktoptext="Más información" data-phonetext="+"></span> 
93					</p> 
94				</#if> 
95			</div> 
96		</div> 
97		<#if elem.popServicios.getData() ?? && elem.popServicios.getData() != ""> 
98			</button> 
99		</#if> 
100	<#else> 
101		<#if elem.popAdaptados.getData() ?? && elem.popAdaptados.getData() != ""> 
102			<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}')"> 
103		</#if> 
104		<div class="servicio-estacion" id="iconoServicio${texto}-${index}"> 
105			<div class="servicio-estacion-icono" style="background-image:url('${elem.iconoAdaptados.getData()}'"></div><!-- /.servicio-estacion-icono --> 
106			<div class="servicio-estacion-datos"> 
107				<h4>${elem.tituloAdaptados.getData()}</h4> 
108				<p class="descripcion-servicios">${elem.descripcionAdaptados.getData()}</p> 
109				<#if elem.popAdaptados.getData() ?? && elem.popAdaptados.getData() != ""> 
110					<p class="detalle-mas-informacion"> 
111						<span class="texto_servicios_responsive" data-desktoptext="Más información" data-phonetext="+"></span> 
112					</p> 
113				</#if> 
114			</div> 
115		</div> 
116		<#if elem.popAdaptados.getData() ?? && elem.popAdaptados.getData() != ""> 
117			</button> 
118		</#if> 
119	</#if> 
120</#macro> 
121 
122<#macro detailPaint elem index texto> 
123	<#if texto!="Adaptados"> 
124		<div role="region" aria-labelledby="button-detalleServicio${texto}-${index}" class="servicios-estacion" id="detalleServicio${texto}-${index}" style="display:none"> 
125		<div class="servicio-estacion servicio-estacion-detalle servicio-estacion-detalle-${index%3} "> 
126			<div class="servicio-estacion-icono" style="background-image:url('${elem.icono.getData()}')"></div><!-- /.servicio-estacion-icono --> 
127			<div class="servicio-estacion-datos"> 
128				<h4>${elem.titulo.getData()}</h4> 
129				${elem.popServicios.getData()} 
130				<p> 
131					<button aria-label="<@liferay.language key="navigation.cerrar" /> ${elem.titulo.getData()}" class="btn-close-adif"  type="button" onclick="toggle('detalleServicio${texto}-${index}', 'button-detalleServicio${texto}-${index}')">&times;</button> 
132 
133				</p> 
134			</div> 
135		</div> 
136	</div> 
137	<#else> 
138		<div role="region" aria-labelledby="button-detalleServicio${texto}-${index}" class="servicios-estacion" id="detalleServicio${texto}-${index}" style="display:none"> 
139		<div class="servicio-estacion servicio-estacion-detalle servicio-estacion-detalle-${index%3}"> 
140			<div class="servicio-estacion-icono" style="background-image:url('${elem.iconoAdaptados.getData()}'"></div><!-- /.servicio-estacion-icono --> 
141			<div class="servicio-estacion-datos"> 
142				<h4>${elem.tituloAdaptados.getData()}</h4> 
143				${elem.popAdaptados.getData()} 
144				<p> 
145					<button class="btn-close-adif" aria-label="<@liferay.language key="navigation.cerrar" /> ${elem.tituloAdaptados.getData()}" type="button" onclick="toggle('detalleServicio${texto}-${index}', 'button-detalleServicio${texto}-${index}')">&times;</button> 
146				</p> 
147			</div> 
148		</div> 
149	</div> 
150	</#if> 
151 
152</#macro> 
153 
154<#macro orderServicesList lista texto> 
155	<#assign lista2 = []> 
156	<#assign lista3 = lista> 
157	<#assign stop = true> 
158	<#assign run = true> 
159	<#assign iteraciones = lista3?size*lista3?size> 
160	<#list 0..iteraciones as i> 
161		<#assign run = false> 
162		<#assign saltarSiguiente = false> 
163		<#list lista3 as cur_elem> 
164			<#if !saltarSiguiente> 
165				<#if !cur_elem?is_last > 
166					<#if (texto=="Adaptados" && esMayor(cur_elem.tituloAdaptados.getData(),lista3[cur_elem?index+1].tituloAdaptados.getData())) 
167					|| (texto!="Adaptados" && esMayor(cur_elem.titulo.getData(),lista3[cur_elem?index+1].titulo.getData()))> 
168						<#assign run = true> 
169						<#assign lista2 = lista2 + [lista3[cur_elem?index+1], cur_elem]> 
170						<#assign saltarSiguiente = true> 
171					<#else> 
172						<#assign lista2 = lista2 + [cur_elem]/> 
173					</#if> 
174				<#else> 
175					<#assign lista2 = lista2 + [cur_elem]> 
176				</#if> 
177			<#else> 
178				<#assign saltarSiguiente = false/> 
179			</#if> 
180		</#list> 
181		<#if !run> 
182			<#break> 
183		</#if> 
184		<#assign lista3 = lista2> 
185		<#assign lista2 = []> 
186	</#list> 
187 
188	<#assign listaOrdenada = lista3> 
189</#macro> 
190 
191<#function esMayor string1 string2> 
192	<#assign strings = [string1,string2]?sort> 
193	<#return strings[0]==string2> 
194</#function> 
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