A Coruña

Fachada exterior
Desde el 14 de diciembre de 2024 Adif Alta Velocidad abre la terminal provisional de A Coruña, un paso clave en la remodelación y creación de la nueva estación intermodal.
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
15:19 16:19
RF - MD09132
2
16:43
RF - AVANT09550
1
17:17 17:28
RF - MD12538
5
17:53
RF - AVANT09160
12
17:59
RF - MD09162
1
18:17
RF - AVE04345
1B
Compartido: Avant 34345 Ourense - A Coruña
19:00
RF - MD12685
3
19:08
RF - MD09172
10
19:44
RF - MD09182
12B
20:13
RF - AVANT09590
2
20:54
RF - AVE04375
1B
21:06
RF - MD09192
10
21:58
RF - MD12687
1B
22:35
RF - MD12554
3
22:54
RF - AVE04395
2
Compartido: Avant 34395 Ourense - A Coruña
23:29
RF - MD09212
12
23:31
RF - MD12646
10B
23:49
RF - REGIONAL12560
12B
00:00
RF - AVLO04405
1
Compartido: Avant 34405 Ourense - A Coruña
06:47
RF - MD12689
3
08:18
RF - MD09072
09:03
RF - AVANT09480
09:29
RF - MD09082
2
10:13
RF - MD12641
3
10:27
RF - MD12681
5
No se ha podido recuperar información de circulación.

Informacion de la estación

  • Dirección

    Avenida do Ferrocarril, 22, Bis --- 15008 A Coruña --- A CORUÑA

  • Horario

    Diario: 04:30 a 00:30

  • Intermodalidad

    Taxi
    Autobús
    Lineas Autobuses urbanas
    Líneas A (aeropuerto y alrededores): A2, A4, A6.
    Línea UDC: Conecta la estación con la zona universitaria.
    Líneas XG846MT: Pasan cerca de la estación, incluyendo la parada de A Coruña E.A
    Líneas 5, 11, 12, 12A y 22: Son líneas urbanas que conectan la estación con el centro y otras zonas de la ciudad.
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 Café Café

Café Café

www.areas.es

Número de local: Vestíbulo

Logo Alamo Enterprise National

Alamo Enterprise National

+34 902 111 902

www.enterprise.es

Número de local: Zona Exterior

Logo FeuVert

FeuVert

www.feuvert.es

Número de local: Zona Exterior

Logo Photo ME

Photo ME

+34 900 101 149

www.tecnotron.es

Número de local: Vestíbulo

Logo Europcar

Europcar

http://www.europcar.es

Número de local: Zona Exterior

Logo Cajero automático Abanca

Cajero automático Abanca

Número de local: Vestíbulo