CINXE.COM
Bus help | Transport for Wales
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# "> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("http://web.archive.org/web"); __wm.wombat("https://tfw.wales/help-and-contact/bus","20231211215346","http://web.archive.org/","web","/_static/", "1702331626"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"/><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.eu01.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"538476161",accountID:"3139283",trustKey:"3139283",xpid:"VwcEWFRbCxAFV1FQAgcCV1c=",licenseKey:"NRJS-34dae6faa52b003b8b9",applicationID:"530256513"};;/*! For license information please see nr-loader-spa-1.248.0.min.js.LICENSE.txt */ (()=>{var e,t,r={234:(e,t,r)=>{"use strict";r.d(t,{P_:()=>g,Mt:()=>v,C5:()=>s,DL:()=>A,OP:()=>D,lF:()=>N,Yu:()=>x,Dg:()=>m,CX:()=>c,GE:()=>w,sU:()=>j});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o);const r=(0,n.ek)(e);r&&(r.info=a[e])}const u=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(7056),l=r(50);const f=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{feature_flags:[],proxy:{assets:void 0,beacon:void 0},privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:d.oD,inactiveMs:d.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},metrics:{enabled:!0,autoStart:!0},page_action:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1,autoStart:!0},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},harvest:{tooManyRequestsDelay:60},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,sampling_rate:50,error_sampling_rate:50,collect_fonts:!1,inline_images:!1,inline_stylesheet:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector=t+",[data-nr-mask]":null===t?e.mask_selector=t:(0,l.Z)("An invalid session_replay.mask_selector was provided and will not be used",t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){u(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.Z)("An invalid session_replay.block_selector was provided and will not be used",t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.Z)("An invalid session_replay.mask_input_option was provided and will not be used",t)}},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0}}},h={},p="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(p);if(!h[e])throw new Error("Configuration for ".concat(e," was never set"));return h[e]}function m(e,t){if(!e)throw new Error(p);h[e]=(0,i.D)(t,f());const r=(0,n.ek)(e);r&&(r.init=h[e])}function v(e,t){if(!e)throw new Error(p);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}const b={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},y={};function A(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!y[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return y[e]}function w(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");y[e]=(0,i.D)(t,b);const r=(0,n.ek)(e);r&&(r.loader_config=y[e])}const x=(0,n.mF)().o;var E=r(385),_=r(6818);const T={buildEnv:_.Re,customTransaction:void 0,disabled:!1,distMethod:_.gF,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,offset:Math.floor(E._A?.performance?.timeOrigin||E._A?.performance?.timing?.navigationStart||Date.now()),onerror:void 0,origin:""+E._A.location,ptid:void 0,releaseIds:{},session:void 0,xhrWrappable:"function"==typeof E._A.XMLHttpRequest?.prototype?.addEventListener,version:_.q4,denyList:void 0},S={};function D(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!S[e])throw new Error("Runtime for ".concat(e," was never set"));return S[e]}function j(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");S[e]=(0,i.D)(t,T);const r=(0,n.ek)(e);r&&(r.runtime=S[e])}function N(e){return function(e){try{const t=s(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}(e)}},9567:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{"use strict";r.d(t,{Re:()=>i,gF:()=>o,lF:()=>a,q4:()=>n});const n="1.248.0",i="PROD",o="CDN",a="2.0.0-alpha.11"},385:(e,t,r)=>{"use strict";r.d(t,{FN:()=>c,IF:()=>l,LW:()=>a,Nk:()=>h,Tt:()=>u,_A:()=>o,cv:()=>p,iS:()=>s,il:()=>n,ux:()=>d,v6:()=>i,w1:()=>f});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a="complete"===o?.document?.readyState,s=Boolean("hidden"===o?.document?.visibilityState),c=""+o?.location,u=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Boolean(n&&window.document.documentMode),h=!!o.navigator?.sendBeacon,p=Math.floor(o?.performance?.timeOrigin||o?.performance?.timing?.navigationStart||Date.now())},1117:(e,t,r)=>{"use strict";r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{"use strict";r.d(t,{L:()=>d,R:()=>c});var n=r(8325),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u<s.length;++u)l(s[u],c);(0,i.D)(c,(function(e,t){(0,i.D)(t,(function(t,r){r[0].on(e,r[1])}))}))}delete a[t],r.backlog[t]=null,r.emit("drain-"+t,[])}}r.every((e=>{let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((t=>{let[r]=t;s[e].delete(r),a(r)})))}function l(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},8325:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,ee:()=>u});var n=r(8632),i=r(2210),o=r(234);class a{constructor(e){this.contextId=e}}var s=r(3117);const c="nr@context:".concat(s.a),u=function e(t,r){var n={},s={},d={},f=!1;try{f=16===r.length&&(0,o.OP)(r).isolatedBacklog}catch(e){}var h={on:g,addEventListener:g,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=p(n),c=m(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var f=b()[s[e]];f&&f.push([h,e,r,a]);return a},get:v,listeners:m,context:p,buffer:function(e,t){const r=b();if(t=t||"feature",h.aborted)return;Object.entries(e||{}).forEach((e=>{let[n,i]=e;s[i]=t,t in r||(r[t]=[])}))},abort:l,aborted:!1,isBuffering:function(e){return!!b()[s[e]]},debugId:r,backlog:f?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return h;function p(e){return e&&e instanceof a?e:e?(0,i.X)(e,c,(()=>new a(c))):new a(c)}function g(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(h,t)}function b(){return h.backlog}}(void 0,"globalEE"),d=(0,n.fP)();function l(){u.aborted=!0,u.backlog={}}d.ee||(d.ee=u)},5546:(e,t,r)=>{"use strict";r.d(t,{E:()=>n,p:()=>i});var n=r(8325).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{"use strict";r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{"use strict";r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},3117:(e,t,r)=>{"use strict";r.d(t,{a:()=>n});const n=(0,r(4402).Rl)()},4402:(e,t,r)=>{"use strict";r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s<e;s++)a.push(o(r,++i).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},7056:(e,t,r)=>{"use strict";r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{"use strict";function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{"use strict";r.d(t,{e:()=>i});var n=r(385);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n._A?.location?.protocol&&t.host===n._A?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},50:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2825:(e,t,r)=>{"use strict";r.d(t,{N:()=>d,T:()=>l});var n=r(8325),i=r(5546),o=r(3325),a=r(385);const s="newrelic";const c={stn:[o.D.sessionTrace],err:[o.D.jserrors,o.D.metrics],ins:[o.D.pageAction],spa:[o.D.spa],sr:[o.D.sessionReplay,o.D.sessionTrace]},u=new Set;function d(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(u.has(t)||(Object.entries(e).forEach((e=>{let[t,n]=e;c[t]?c[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),l[t]=Boolean(n)})),Object.keys(c).forEach((e=>{void 0===l[e]&&(c[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),l[e]=!1)})),u.add(t),function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{a._A.dispatchEvent(new CustomEvent(s,{detail:e}))}catch(e){}}({loaded:!0})))}const l={}},2210:(e,t,r)=>{"use strict";r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{"use strict";r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{"use strict";r.d(t,{P:()=>o});var n=r(8325);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{"use strict";r.d(t,{KB:()=>a,b2:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{"use strict";r.d(t,{EZ:()=>d,ce:()=>o,ek:()=>u,fP:()=>a,gG:()=>l,h5:()=>c,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,n.z)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{"use strict";r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{"use strict";r.d(t,{em:()=>b,u5:()=>D,QU:()=>C,_L:()=>I,Gm:()=>H,Lg:()=>L,BV:()=>G,Kf:()=>K});var n=r(8325),i=r(3117);const o="nr@original:".concat(i.a);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}var l=r(2210),f=r(385);const h={},p=f._A.XMLHttpRequest,g="addEventListener",m="removeEventListener",v="nr@wrapped:".concat(n.A);function b(e){var t=function(e){return(e||n.ee).get("events")}(e);if(h[t.debugId]++)return t;h[t.debugId]=1;var r=c(t,!0);function i(e){r.inPlace(e,[g,m],"-",o)}function o(e,t){return e[1]}return"getPrototypeOf"in Object&&(f.il&&y(document,i),y(f._A,i),y(p.prototype,i)),t.on(g+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,l.X)(n,v,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(m+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function y(e,t){let r=e;for(;"object"==typeof r&&!Object.prototype.hasOwnProperty.call(r,g);)r=Object.getPrototypeOf(r);for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];r&&t(r,...i)}var A="fetch-",w=A+"body-",x=["arrayBuffer","blob","json","text","formData"],E=f._A.Request,_=f._A.Response,T="prototype";const S={};function D(e){const t=function(e){return(e||n.ee).get("fetch")}(e);if(!(E&&_&&f._A.fetch))return t;if(S[t.debugId]++)return t;function r(e,r,i){var o=e[r];"function"==typeof o&&(e[r]=function(){var e,r=[...arguments],a={};t.emit(i+"before-start",[r],a),a[n.A]&&a[n.A].dt&&(e=a[n.A].dt);var s=o.apply(this,r);return t.emit(i+"start",[r,e],s),s.then((function(e){return t.emit(i+"end",[null,e],s),e}),(function(e){throw t.emit(i+"end",[e],s),e}))})}return S[t.debugId]=1,x.forEach((e=>{r(E[T],e,w),r(_[T],e,w)})),r(f._A,"fetch",A),t.on(A+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(A+"done",[null,r],n)}else t.emit(A+"done",[e],n)})),t}const j={},N=["pushState","replaceState"];function C(e){const t=function(e){return(e||n.ee).get("history")}(e);return!f.il||j[t.debugId]++||(j[t.debugId]=1,c(t).inPlace(window.history,N,"-")),t}var R=r(3239);const O={},P=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!f.il||O[t.debugId])return t;O[t.debugId]=!0;var r=c(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function s(e,t){if(!e)return t;const r=e.match(a),n=r[1];return s(r[3],t[n])}return r.inPlace(Node.prototype,P,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,c=a.match(i),c?c[1]:null);var a,c;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:s(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,R.m$)(!1)),e.removeEventListener("error",f,(0,R.m$)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,R.m$)(!1)),e.removeEventListener("error",f,(0,R.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,R.m$)(!1)),e.addEventListener("error",f,(0,R.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const k={};function H(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!f.il||k[t.debugId])return t;k[t.debugId]=!0;var r=c(t),i=f._A.MutationObserver;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function L(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=t.context,i=c(t),a=f._A.Promise;return a&&function(){function e(r){var n=t.context(),o=i(r,"executor-",n,null,!1);const s=Reflect.construct(a,[o],e);return t.context(s).getCtx=function(){return n},s}f._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,o=r(e);o.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];s[0]=i(s[0],"cb-",o,null,!1),s[1]=i(s[1],"cb-",o,null,!1);const u=n.apply(this,s);return o.nextPromise=u,t.emit("propagate",[e,!0],u,!1,!1),u},a.prototype.then[o]=n,t.on("executor-start",(function(e){e[0]=i(e[0],"resolve-",this,null,!1),e[1]=i(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const M={},F="setTimeout",B="setInterval",U="clearTimeout",Z="-start",V="-",q=[F,"setImmediate",B,U,"clearImmediate"];function G(e){const t=function(e){return(e||n.ee).get("timer")}(e);if(M[t.debugId]++)return t;M[t.debugId]=1;var r=c(t);return r.inPlace(f._A,q.slice(0,2),F+V),r.inPlace(f._A,q.slice(2,3),B+V),r.inPlace(f._A,q.slice(3),U+V),t.on(B+Z,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(F+Z,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}var W=r(50);const X={},Y=["open","send"];function K(e){var t=e||n.ee;const r=function(e){return(e||n.ee).get("xhr")}(t);if(X[r.debugId]++)return r;X[r.debugId]=1,b(t);var i=c(r),o=f._A.XMLHttpRequest,a=f._A.MutationObserver,s=f._A.Promise,u=f._A.setInterval,d="readystatechange",l=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],h=[],p=f._A.XMLHttpRequest=function(e){const t=new o(e),n=r.context(t);try{r.emit("new-xhr",[t],n),t.addEventListener(d,(a=n,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,l,"fn-",w)}),(0,R.m$)(!1))}catch(e){(0,W.Z)("An error occurred while intercepting XHR",e);try{r.emit("internal-error",[e])}catch(e){}}var a;return t};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",w)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,Y,"-xhr-",w),r.on("send-xhr-start",(function(e,t){g(e,t),function(e){h.push(e),a&&(m?m.then(A):u?u(A):(v=-v,y.data=v))}(t)})),r.on("open-xhr-start",g),a){var m=s&&s.resolve();if(!u&&!s){var v=1,y=document.createTextNode(v);new a(A).observe(y,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e<h.length;e++)g(0,h[e]);h.length&&(h=[])}function w(e,t){return t}return r}},7825:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.jserrors},3081:(e,t,r)=>{"use strict";r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewEvent},9251:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},7144:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.sessionReplay},3614:(e,t,r)=>{"use strict";r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{"use strict";r.d(t,{BODY:()=>x,CB_END:()=>E,CB_START:()=>u,END:()=>w,FEATURE_NAME:()=>i,FETCH:()=>T,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>g,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>f,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>p,JS_TIME:()=>_,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>l,SPA_NODE:()=>h,START:()=>A,originalSetTimeout:()=>y});var n=r(234);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,A="-start",w="-end",x="-body",E="cb"+w,_="jsTime",T="fetch"},5938:(e,t,r)=>{"use strict";r.d(t,{W:()=>i});var n=r(8325);class i{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=n.ee.get(e),this.featureName=r,this.blocked=!1}}},7530:(e,t,r)=>{"use strict";r.d(t,{j:()=>b});var n=r(3325),i=r(234),o=r(5546),a=r(8325),s=r(7894),c=r(8e3),u=r(3960),d=r(385),l=r(50),f=r(3081),h=r(8632);function p(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start","recordReplay","pauseReplay"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];let o=[];return Object.values(e.initializedAgents).forEach((e=>{e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var g=r(2825);const m=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let v=!1;function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},b=arguments.length>2?arguments[2]:void 0,y=arguments.length>3?arguments[3]:void 0,{init:A,info:w,loader_config:x,runtime:E={loaderType:b},exposed:_=!0}=t;const T=(0,h.gG)();w||(A=T.init,w=T.info,x=T.loader_config),(0,i.Dg)(e.agentIdentifier,A||{}),(0,i.GE)(e.agentIdentifier,x||{}),w.jsAttributes??={},d.v6&&(w.jsAttributes.isWorker=!0),(0,i.CX)(e.agentIdentifier,w);const S=(0,i.P_)(e.agentIdentifier),D=[w.beacon,w.errorBeacon];v||(S.proxy.assets&&(m(S.proxy.assets),D.push(S.proxy.assets)),S.proxy.beacon&&D.push(S.proxy.beacon),p(),(0,h.EZ)("activatedFeatures",g.T)),E.denyList=[...S.ajax.deny_list||[],...S.ajax.block_internal?D:[]],(0,i.sU)(e.agentIdentifier,E),void 0===e.api&&(e.api=function(e,t){t||(0,c.R)(e,"api");const h={};var p=a.ee.get(e),g=p.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),w(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","addRelease"].forEach((e=>{h[e]=w(m,e,!0,"api")})),h.addPageAction=w(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=w(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://web.archive.org/web/20231211215346/http://custom.transaction")+t,w(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,l.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string, number or boolean type, but a type of <".concat(typeof t,"> was provided."))}else(0,l.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,l.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return b("application.version",e,"setApplicationVersion",!1);(0,l.Z)("Failed to execute setApplicationVersion. Expected <String | null>, but got <".concat(typeof e,">."))},h.start=e=>{try{const t=e?"defined":"undefined";(0,o.p)(f.xS,["API/start/".concat(t,"/called")],void 0,n.D.metrics,p);const r=Object.values(n.D);if(void 0===e)e=r;else{if((e=Array.isArray(e)&&e.length?e:[e]).some((e=>!r.includes(e))))return(0,l.Z)("Invalid feature name supplied. Acceptable feature names are: ".concat(r));e.includes(n.D.pageViewEvent)||e.push(n.D.pageViewEvent)}e.forEach((e=>{p.emit("".concat(e,"-opt-in"))}))}catch(e){(0,l.Z)("An unexpected issue occurred",e)}},h.recordReplay=function(){(0,o.p)(f.xS,["API/recordReplay/called"],void 0,n.D.metrics,p),(0,o.p)("recordReplay",[],void 0,n.D.sessionReplay,p)},h.pauseReplay=function(){(0,o.p)(f.xS,["API/pauseReplay/called"],void 0,n.D.metrics,p),(0,o.p)("pauseReplay",[],void 0,n.D.sessionReplay,p)},h.interaction=function(){return(new y).get()};var A=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(f.xS,["API/createTracer/called"],void 0,n.D.metrics,p),(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,p),function(){if(g.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw g.emit("fn-err",[arguments,this,e],r),e}finally{g.emit("fn-end",[(0,s.z)()],r)}}}};function w(e,t,r,i){return function(){return(0,o.p)(f.xS,["API/"+t+"/called"],void 0,n.D.metrics,p),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,p),r?void 0:this}}function x(){r.e(111).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,l.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{A[e]=w(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(f.xS,["API/noticeError/called"],void 0,n.D.metrics,p),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,p)},d.il?(0,u.b2)((()=>x()),!0):x(),h}(e.agentIdentifier,y)),void 0===e.exposed&&(e.exposed=_),v=!0}},1926:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},3325:(e,t,r)=>{"use strict";r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({111:"nr-spa",164:"nr-spa-compressor",433:"nr-spa-recorder"}[e]+"-1.248.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.248.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),s.integrity=i.sriHashes[a],s.crossOrigin="anonymous"),e[r]=[n];var f=(t,n)=>{s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="http://web.archive.org/web/20231211215346/https://js-agent.newrelic.com/",i.sriHashes={111:"sha512-ZwkW/wLO65ZnBcPIJO2VJVqTtRyXCRZiimLidZm1CYZfRiDwnchDLGFiEKDNkhfy/b1cgD3SElt5YjVudzleDQ=="},(()=>{var e={801:0,92:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.248.0.PROD"]=self["webpackChunk:NRBA-1.248.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(1926);var e=i(50);class t{addPageAction(t,r){(0,e.Z)("Call to agent api addPageAction failed. The page action feature is not currently initialized.")}setPageViewName(t,r){(0,e.Z)("Call to agent api setPageViewName failed. The page view feature is not currently initialized.")}setCustomAttribute(t,r,n){(0,e.Z)("Call to agent api setCustomAttribute failed. The js errors feature is not currently initialized.")}noticeError(t,r){(0,e.Z)("Call to agent api noticeError failed. The js errors feature is not currently initialized.")}setUserId(t){(0,e.Z)("Call to agent api setUserId failed. The js errors feature is not currently initialized.")}setApplicationVersion(t){(0,e.Z)("Call to agent api setApplicationVersion failed. The agent is not currently initialized.")}setErrorHandler(t){(0,e.Z)("Call to agent api setErrorHandler failed. The js errors feature is not currently initialized.")}finished(t){(0,e.Z)("Call to agent api finished failed. The page action feature is not currently initialized.")}addRelease(t,r){(0,e.Z)("Call to agent api addRelease failed. The js errors feature is not currently initialized.")}start(t){(0,e.Z)("Call to agent api addRelease failed. The agent is not currently initialized.")}recordReplay(){(0,e.Z)("Call to agent api recordReplay failed. The agent is not currently initialized.")}pauseReplay(){(0,e.Z)("Call to agent api pauseReplay failed. The agent is not currently initialized.")}}var r=i(3325),n=i(234);const o=Object.values(r.D);function a(e){const t={};return o.forEach((r=>{t[r]=function(e,t){return!1!==(0,n.Mt)(t,"".concat(e,".enabled"))}(r,e)})),t}var s=i(7530);var c=i(8e3),u=i(5938),d=i(3960),l=i(385);class f extends u.W{constructor(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=i,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===(0,n.Mt)(this.agentIdentifier,"".concat(this.featureName,".autoStart"))&&(this.auto=!1),this.auto&&(0,c.R)(e,r)}importAggregator(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate)return;if(!this.auto)return void this.ee.on("".concat(this.featureName,"-opt-in"),(()=>{(0,c.R)(this.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator()}));const r=l.il&&!0===(0,n.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let o;this.onAggregateImported=new Promise((e=>{o=e}));const a=async()=>{let n;try{if(r){const{setupAgentSession:e}=await i.e(111).then(i.bind(i,3228));n=e(this.agentIdentifier)}}catch(t){(0,e.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",t)}try{if(!this.shouldImportAgg(this.featureName,n))return(0,c.L)(this.agentIdentifier,this.featureName),void o(!1);const{lazyFeatureLoader:e}=await i.e(111).then(i.bind(i,8582)),{Aggregate:r}=await e(this.featureName,"aggregate");this.featAggregate=new r(this.agentIdentifier,this.aggregator,t),o(!0)}catch(t){(0,e.Z)("Downloading and initializing ".concat(this.featureName," failed..."),t),this.abortHandler?.(),(0,c.L)(this.agentIdentifier,this.featureName),o(!1)}};l.il?(0,d.b2)((()=>a()),!0):a()}shouldImportAgg(e,t){return e!==r.D.sessionReplay||!!n.Yu.MO&&(!1!==(0,n.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!t?.isNew||!!t?.state.sessionReplayMode))}}var h=i(7633);class p extends f{static featureName=h.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,h.t,r),this.importAggregator()}}var g=i(1117),m=i(1284);class v extends g.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,m.D)(e,(function(e,r){t[e]=b(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,m.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=b(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=y(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=b(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i<e.length;i++)t[r=e[i]]=A(this.aggregatedData[r]),t[r].length&&(n=!0),delete this.aggregatedData[r];return n?t:null}}function b(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=y(t.t)),t.c+=1,t.t+=e,t.sos+=e*e,e>t.max&&(t.max=e),e<t.min&&(t.min=e),t):{t:e}}function y(e){return{t:e,min:e,max:e,sos:e*e,c:1}}function A(e){return"object"!=typeof e?[]:(0,m.D)(e,w)}function w(e,t){return t}var x=i(8632),E=i(4402),_=i(4351);var T=i(5546),S=i(7956),D=i(3239),j=i(7894),N=i(9251);class C extends f{static featureName=N.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,N.t,r),l.il&&((0,S.N)((()=>(0,T.p)("docHidden",[(0,j.z)()],void 0,N.t,this.ee)),!0),(0,D.bP)("pagehide",(()=>(0,T.p)("winPagehide",[(0,j.z)()],void 0,N.t,this.ee))),this.importAggregator())}}var R=i(3081);class O extends f{static featureName=R.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,R.t9,r),this.importAggregator()}}var P=i(6660);class I{constructor(e,t,r,n){this.name="UncaughtError",this.message=e,this.sourceURL=t,this.line=r,this.column=n}}class k extends f{static featureName=P.t;#e=new Set;constructor(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t,n);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("fn-err",((e,t,n)=>{this.abortHandler&&!this.#e.has(n)&&(this.#e.add(n),(0,T.p)("err",[this.#t(n),(0,j.z)()],void 0,r.D.jserrors,this.ee))})),this.ee.on("internal-error",(e=>{this.abortHandler&&(0,T.p)("ierr",[this.#t(e),(0,j.z)(),!0],void 0,r.D.jserrors,this.ee)})),l._A.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,T.p)("err",[this.#r(e),(0,j.z)(),!1,{unhandledPromiseRejection:1}],void 0,r.D.jserrors,this.ee)}),(0,D.m$)(!1,this.removeOnAbort?.signal)),l._A.addEventListener("error",(e=>{this.abortHandler&&(this.#e.has(e.error)?this.#e.delete(e.error):(0,T.p)("err",[this.#n(e),(0,j.z)()],void 0,r.D.jserrors,this.ee))}),(0,D.m$)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#i,this.importAggregator()}#i(){this.removeOnAbort?.abort(),this.#e.clear(),this.abortHandler=void 0}#t(e){return e instanceof Error?e:void 0!==e?.message?new I(e.message,e.filename||e.sourceURL,e.lineno||e.line,e.colno||e.col):new I("string"==typeof e?e:(0,_.P)(e))}#r(e){let t="Unhandled Promise Rejection: ";if(e?.reason instanceof Error)try{return e.reason.message=t+e.reason.message,e.reason}catch(t){return e.reason}if(void 0===e.reason)return new I(t);const r=this.#t(e.reason);return r.message=t+r.message,r}#n(e){return e.error instanceof Error?e.error:new I(e.message,e.filename,e.lineno,e.colno)}}var H=i(2210);let z=1;const L="nr@id";function M(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===l._A?0:(0,H.X)(e,L,(function(){return z++}))}function F(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,_.P)(e).length}catch(e){return}}}var B=i(1214),U=i(7243);class Z{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,n.DL)(this.agentIdentifier);if(!t)return null;var r=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!r||!i)return null;var a=(0,E.M)(),s=(0,E.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,r,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,r,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof l._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,_.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,n.Mt)(this.agentIdentifier,"distributed_tracing")&&(r=(0,n.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var i=0;i<r.allowed_origins.length;i++){var o=(0,U.e)(r.allowed_origins[i]);if(e.hostname===o.hostname&&e.protocol===o.protocol&&e.port===o.port){t=!0;break}}return t}isDtEnabled(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var V=i(7825),q=["load","error","abort","timeout"],G=q.length,W=n.Yu.REQ,X=n.Yu.XHR;class Y extends f{static featureName=V.t;constructor(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(e,t,V.t,i),(0,n.OP)(e).xhrWrappable){this.dt=new Z(e),this.handler=(e,t,r,n)=>(0,T.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};l._A?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const n={status:t.responseStatus},i={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};K(n,t.name),this.handler("xhr",[n,i,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,r.D.ajax)}}))}catch(e){}(0,B.u5)(this.ee),(0,B.Kf)(this.ee),function(e,t,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,D.m$)(!1)),l.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,D.m$)(!1))}function s(e){this.params={method:e[0]},K(this,e[1]),this.metrics={}}function c(t,r){var i=(0,n.DL)(e);i.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(r.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(r.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&r.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function u(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=F(i);a&&(n.txSize=a)}this.startTime=(0,j.z)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<G;s++)r.addEventListener(q[s],this.listener,(0,D.m$)(!1))}function d(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function f(e,t){var r=""+M(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function h(e,t){var r=""+M(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function p(){this.endTime=(0,j.z)()}function g(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function m(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function v(e,t,r){t instanceof X&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,j.z)()))}function b(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,j.z)()-this.xhrCbStart,this.onload,r],r)}function y(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&l.il&&(t=""+l._A.location.href):e[0]&&e[0].url?t=e[0].url:l._A?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,U.e)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=o.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,n)&&(this.dt=n);else{var i={};for(var a in r)i[a]=r[a];i.headers=new Headers(r.headers||{}),s(i.headers,n)&&(this.dt=n),e.length>1?e[1]=i:e.push(i)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function A(e,t){this.params={},this.metrics={},this.startTime=(0,j.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof W?r=i.url:l._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),K(this,r);var o=(""+(i&&i instanceof W&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=F(n.body)||0}function w(e,t){var n;this.endTime=(0,j.z)(),this.params||(this.params={}),this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,j.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,r.D.ajax)}function x(e){var t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o<G;o++)e.removeEventListener(q[o],this.listener,!1);t.aborted||(n.duration=(0,j.z)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,i("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,r.D.ajax))}}function E(e,t){e.params.status=t.status;var r=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?F(e.response):"text"===r||""===r||void 0===r?F(e.responseText):void 0}(t,e.lastSize);if(r&&(e.metrics.rxSize=r),e.sameOrigin){var n=t.getResponseHeader("X-NewRelic-App-Data");n&&(e.params.cat=n.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",a),t.on("open-xhr-start",s),t.on("open-xhr-end",c),t.on("send-xhr-start",u),t.on("xhr-cb-time",d),t.on("xhr-load-added",f),t.on("xhr-load-removed",h),t.on("xhr-resolved",p),t.on("addEventListener-end",g),t.on("removeEventListener-end",m),t.on("fn-end",b),t.on("fetch-before-start",y),t.on("fetch-start",A),t.on("fn-start",v),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator()}}}function K(e,t){var r=(0,U.e)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Q=i(3614);const{BST_RESOURCE:J,RESOURCE:ee,START:te,END:re,FEATURE_NAME:ne,FN_END:ie,FN_START:oe,PUSH_STATE:ae}=Q;var se=i(7144);class ce extends f{static featureName=se.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,se.t,r),this.importAggregator()}}var ue=i(7836);const{FEATURE_NAME:de,START:le,END:fe,BODY:he,CB_END:pe,JS_TIME:ge,FETCH:me,FN_START:ve,CB_START:be,FN_END:ye}=ue;var Ae=i(4649);class we extends f{static featureName=Ae.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,Ae.t,r),this.importAggregator()}}new class extends t{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,E.ky)(16);super(),l._A?(this.agentIdentifier=r,this.sharedAggregator=new v({agentIdentifier:this.agentIdentifier}),this.features={},(0,x.h5)(r,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(p),(0,s.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,n.C5)(this.agentIdentifier),init:(0,n.P_)(this.agentIdentifier),loader_config:(0,n.DL)(this.agentIdentifier),runtime:(0,n.OP)(this.agentIdentifier)}}run(){try{const t=a(this.agentIdentifier),n=[...this.desiredFeatures];n.sort(((e,t)=>r.p[e.featureName]-r.p[t.featureName])),n.forEach((n=>{if(t[n.featureName]||n.featureName===r.D.pageViewEvent){const i=function(e){switch(e){case r.D.ajax:return[r.D.jserrors];case r.D.sessionTrace:return[r.D.ajax,r.D.pageViewEvent];case r.D.sessionReplay:return[r.D.sessionTrace];case r.D.pageViewTiming:return[r.D.pageViewEvent];default:return[]}}(n.featureName);i.every((e=>t[e]))||(0,e.Z)("".concat(n.featureName," is enabled but one or more dependent features has been disabled (").concat((0,_.P)(i),"). This may cause unintended consequences or missing data...")),this.features[n.featureName]=new n(this.agentIdentifier,this.sharedAggregator)}}))}catch(t){(0,e.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,x.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}addToTrace(t){(0,e.Z)("Call to agent api addToTrace failed. The session trace feature is not currently initialized.")}setCurrentRouteName(t){(0,e.Z)("Call to agent api setCurrentRouteName failed. The spa feature is not currently initialized.")}interaction(){(0,e.Z)("Call to agent api interaction failed. The spa feature is not currently initialized.")}}({features:[Y,p,C,class extends f{static featureName=ne;constructor(e,t){if(super(e,t,ne,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;const n=this.ee;let i;(0,B.QU)(n),this.eventsEE=(0,B.em)(n),this.eventsEE.on(oe,(function(e,t){this.bstStart=(0,j.z)()})),this.eventsEE.on(ie,(function(e,t){(0,T.p)("bst",[e[0],t,this.bstStart,(0,j.z)()],void 0,r.D.sessionTrace,n)})),n.on(ae+te,(function(e){this.time=(0,j.z)(),this.startPath=location.pathname+location.hash})),n.on(ae+re,(function(e){(0,T.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,r.D.sessionTrace,n)}));try{i=new PerformanceObserver((e=>{const t=e.getEntries();(0,T.p)(J,[t],void 0,r.D.sessionTrace,n)})),i.observe({type:ee,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},ce,O,we,k,class extends f{static featureName=de;constructor(e,t){if(super(e,t,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;if(!(0,n.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,i=0;const o=this.ee.get("tracer"),a=(0,B._L)(this.ee),s=(0,B.Lg)(this.ee),c=(0,B.BV)(this.ee),u=(0,B.Kf)(this.ee),d=this.ee.get("events"),f=(0,B.u5)(this.ee),h=(0,B.QU)(this.ee),p=(0,B.Gm)(this.ee);function g(e,t){h.emit("newURL",[""+window.location,t])}function m(){i++,r=window.location.hash,this[ve]=(0,j.z)()}function v(){i--,window.location.hash!==r&&g(0,!0);var e=(0,j.z)();this[ge]=~~this[ge]+e-this[ve],this[ye]=e}function b(e,t){e.on(t,(function(){this[t]=(0,j.z)()}))}this.ee.on(ve,m),s.on(be,m),a.on(be,m),this.ee.on(ye,v),s.on(pe,v),a.on(pe,v),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),d.buffer([ve],this.featureName),c.buffer(["setTimeout"+fe,"clearTimeout"+le,ve],this.featureName),u.buffer([ve,"new-xhr","send-xhr"+le],this.featureName),f.buffer([me+le,me+"-done",me+he+le,me+he+fe],this.featureName),h.buffer(["newURL"],this.featureName),p.buffer([ve],this.featureName),s.buffer(["propagate",be,pe,"executor-err","resolve"+le],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),b(f,me+le),b(f,me+"-done"),b(a,"new-jsonp"),b(a,"jsonp-end"),b(a,"cb-start"),h.on("pushState-end",g),h.on("replaceState-end",g),window.addEventListener("hashchange",g,(0,D.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",g,(0,D.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){g(0,i>1)}),(0,D.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#i,this.importAggregator()}#i(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})()})();</script> <link rel="canonical" href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/bus"/> <meta property="og:url" content="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/bus"/> <meta property="og:title" content="Bus help | Transport for Wales"/> <meta property="og:description" content="Transport for Wales | Buy Cheap Train Tickets and Check Train Times"/> <meta property="og:image" content="http://web.archive.org/web/20231211215346im_/https://tfw.wales/sites/default/files/2021-06/transport-for-wales-og-social.jpg"/> <meta name="twitter:title" content="Bus help | Transport for Wales"/> <meta name="twitter:url" content="http://web.archive.org/web/20231211215346im_/https://tfw.wales/help-and-contact/bus"/> <meta name="MobileOptimized" content="width"/> <meta name="HandheldFriendly" content="true"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <script src="http://web.archive.org/web/20231211215346js_/https://www.google.com/recaptcha/api.js?hl=en" async defer></script> <link rel="icon" href="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/tfw-favicon-32x32.png" type="image/png"/> <link rel="alternate" hreflang="en" href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/bus"/> <link rel="alternate" hreflang="cy" href="http://web.archive.org/web/20231211215346/https://trc.cymru/cymorth-a-chysylltu/bws"/> <title>Bus help | Transport for Wales</title> <link rel="stylesheet" media="all" href="/web/20231211215346cs_/https://tfw.wales/sites/default/files/css/css_5QOhQVR9tQBLvkrsxZRrkGIw_VHHm0Mmricp9-bRQUU.css?delta=0&language=en&theme=one_domain&include=eJyFU-F6gyAMfCEHD7MH4IuYUlogjERb337xq27tatc_xiTHeXIJzyyYbQ-MHRV0A2WIxYZEPaQPljnFEnY6J-48NbRDGyukTxRRHHeJPCS00qBwAolUFhydI7ILAsEujy4QhYTulufHVNt3xKY2Cg2Z_4IMnOD6gDxQy90F-yXaNZoejzBFag9qDQsI8hP4RXmX2DObM1KK7DwVAS9uZLcLxYQZi5gBBWJiwzDhW5BQ0N_t1k-sKEcTtkuLqtI-l0yKfYM2_z3EFbKrDSflV0Ps_23jj-jPPV1fSsxqBwTsPFTxR7jNzhuwieVAOh1fesP2plNHwlQPBoZhMdjoRGm6ybIbwV3tHvrkB-VKrNfwUgnV2zhu_V8Vp68R22wEr-JpLILtJcm7PuuLly7BTKO4IbJf_JmtLpCntK2CXeOJmzKWw059M3Fl6nWxzrxY91HjMOx3E5Qw6mU7vkR1Bn9IMgYoMNnHdJuXb4RgktQ"/> <link rel="stylesheet" media="all" href="http://web.archive.org/web/20231211215346cs_/https://services.postcodeanywhere.co.uk/css/address-3.91.css"/> <link rel="stylesheet" media="all" href="/web/20231211215346cs_/https://tfw.wales/sites/default/files/css/css_avCOTgdBCWAPa4YRhTLr04pwCtG6gIek2YAQDUv2z_M.css?delta=2&language=en&theme=one_domain&include=eJyFU-F6gyAMfCEHD7MH4IuYUlogjERb337xq27tatc_xiTHeXIJzyyYbQ-MHRV0A2WIxYZEPaQPljnFEnY6J-48NbRDGyukTxRRHHeJPCS00qBwAolUFhydI7ILAsEujy4QhYTulufHVNt3xKY2Cg2Z_4IMnOD6gDxQy90F-yXaNZoejzBFag9qDQsI8hP4RXmX2DObM1KK7DwVAS9uZLcLxYQZi5gBBWJiwzDhW5BQ0N_t1k-sKEcTtkuLqtI-l0yKfYM2_z3EFbKrDSflV0Ps_23jj-jPPV1fSsxqBwTsPFTxR7jNzhuwieVAOh1fesP2plNHwlQPBoZhMdjoRGm6ybIbwV3tHvrkB-VKrNfwUgnV2zhu_V8Vp68R22wEr-JpLILtJcm7PuuLly7BTKO4IbJf_JmtLpCntK2CXeOJmzKWw059M3Fl6nWxzrxY91HjMOx3E5Qw6mU7vkR1Bn9IMgYoMNnHdJuXb4RgktQ"/> <link rel="stylesheet" media="all" href="/web/20231211215346cs_/https://tfw.wales/webform/css/keolis_contact_us_form?s4h95w"/> <link rel="stylesheet" media="all" href="/web/20231211215346cs_/https://tfw.wales/sites/default/files/css/css_tbjQfLARwwLoaomhZYlNUNf5fKsHTSblRxdKsG5087o.css?delta=4&language=en&theme=one_domain&include=eJyFU-F6gyAMfCEHD7MH4IuYUlogjERb337xq27tatc_xiTHeXIJzyyYbQ-MHRV0A2WIxYZEPaQPljnFEnY6J-48NbRDGyukTxRRHHeJPCS00qBwAolUFhydI7ILAsEujy4QhYTulufHVNt3xKY2Cg2Z_4IMnOD6gDxQy90F-yXaNZoejzBFag9qDQsI8hP4RXmX2DObM1KK7DwVAS9uZLcLxYQZi5gBBWJiwzDhW5BQ0N_t1k-sKEcTtkuLqtI-l0yKfYM2_z3EFbKrDSflV0Ps_23jj-jPPV1fSsxqBwTsPFTxR7jNzhuwieVAOh1fesP2plNHwlQPBoZhMdjoRGm6ybIbwV3tHvrkB-VKrNfwUgnV2zhu_V8Vp68R22wEr-JpLILtJcm7PuuLly7BTKO4IbJf_JmtLpCntK2CXeOJmzKWw059M3Fl6nWxzrxY91HjMOx3E5Qw6mU7vkR1Bn9IMgYoMNnHdJuXb4RgktQ"/> <link rel="stylesheet" media="all" href="/web/20231211215346cs_/https://tfw.wales/sites/default/files/css/css_LawvuLjLLHuxkzoq3zNPJGrULeu4syzBbf40n2fprPk.css?delta=5&language=en&theme=one_domain&include=eJyFU-F6gyAMfCEHD7MH4IuYUlogjERb337xq27tatc_xiTHeXIJzyyYbQ-MHRV0A2WIxYZEPaQPljnFEnY6J-48NbRDGyukTxRRHHeJPCS00qBwAolUFhydI7ILAsEujy4QhYTulufHVNt3xKY2Cg2Z_4IMnOD6gDxQy90F-yXaNZoejzBFag9qDQsI8hP4RXmX2DObM1KK7DwVAS9uZLcLxYQZi5gBBWJiwzDhW5BQ0N_t1k-sKEcTtkuLqtI-l0yKfYM2_z3EFbKrDSflV0Ps_23jj-jPPV1fSsxqBwTsPFTxR7jNzhuwieVAOh1fesP2plNHwlQPBoZhMdjoRGm6ybIbwV3tHvrkB-VKrNfwUgnV2zhu_V8Vp68R22wEr-JpLILtJcm7PuuLly7BTKO4IbJf_JmtLpCntK2CXeOJmzKWw059M3Fl6nWxzrxY91HjMOx3E5Qw6mU7vkR1Bn9IMgYoMNnHdJuXb4RgktQ"/> <link rel="stylesheet" media="print" href="/web/20231211215346cs_/https://tfw.wales/sites/default/files/css/css_EFkMexotDh4ZqVb31MBR7WgcRwnhvj-H-ik_d65EChQ.css?delta=6&language=en&theme=one_domain&include=eJyFU-F6gyAMfCEHD7MH4IuYUlogjERb337xq27tatc_xiTHeXIJzyyYbQ-MHRV0A2WIxYZEPaQPljnFEnY6J-48NbRDGyukTxRRHHeJPCS00qBwAolUFhydI7ILAsEujy4QhYTulufHVNt3xKY2Cg2Z_4IMnOD6gDxQy90F-yXaNZoejzBFag9qDQsI8hP4RXmX2DObM1KK7DwVAS9uZLcLxYQZi5gBBWJiwzDhW5BQ0N_t1k-sKEcTtkuLqtI-l0yKfYM2_z3EFbKrDSflV0Ps_23jj-jPPV1fSsxqBwTsPFTxR7jNzhuwieVAOh1fesP2plNHwlQPBoZhMdjoRGm6ybIbwV3tHvrkB-VKrNfwUgnV2zhu_V8Vp68R22wEr-JpLILtJcm7PuuLly7BTKO4IbJf_JmtLpCntK2CXeOJmzKWw059M3Fl6nWxzrxY91HjMOx3E5Qw6mU7vkR1Bn9IMgYoMNnHdJuXb4RgktQ"/> <link rel="stylesheet" media="all" href="http://web.archive.org/web/20231211215346cs_/https://dk5vcnqsuunkv.cloudfront.net/dist/build/tailwind.css"/> </head> <body class="page--page is_confirmation_webform"> <a href="#main-content" class="visually-hidden focusable"> Skip to main content </a> <noscript><iframe src="http://web.archive.org/web/20231211215346if_/https://www.googletagmanager.com/ns.html?id=GTM-T34X6QX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <header id="siteHeader" class="site-header"> <div class="mdc-layout-grid site-header__compass-bar"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-12 site-header__nav-inner"> <a class="mobile-nav-toggle" href="#"> <object style="width: 20px; height: 16px;" tabindex="-1" type="image/svg+xml" data="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/hamburger.svg"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/hamburger.svg" alt=""> </object> <span style="vertical-align: text-bottom;">Menu</span> </a> <div class="site-header__logo-container w-[65px]"> <a href="/web/20231211215346/https://tfw.wales/"><img class="site-header__logo" style="width: 59px; height: 59px" src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/logo.svg" alt="Transport for Wales Logo"/></a> </div> <nav role="navigation" aria-labelledby="block-mainmenu-menu" id="block-mainmenu" class="site-header__filter-wrapper flex flex-auto !justify-between md:ml-[10px]"> <h2 class="visually-hidden" id="block-mainmenu-menu">Main Menu</h2> <div class="mobile-nav-controls"> <a href="/web/20231211215346/https://tfw.wales/search"> <object tabindex="-1" type="image/svg+xml" data="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-search.svg"> <img alt="Search" src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-search.svg"> </object> </a> <a class="mobile-nav-close" href="#"> <object tabindex="-1" type="image/svg+xml" data="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-close.svg"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-close.svg"> </object> </a> </div> <ul class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px]"> <li class="!ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/plan-a-journey" data-drupal-link-system-path="node/33251">Plan a journey</a> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel" data-drupal-link-system-path="node/28526">Ways to travel</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Ways to travel</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/rail" title="Rail" data-drupal-link-system-path="node/28871">Rail</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/cycling" data-drupal-link-system-path="node/28561">Cycling</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/bus" data-drupal-link-system-path="node/28566">Bus</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/walking-and-wheeling" title="Walking" data-drupal-link-system-path="node/29531">Walking</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/road" title="Travel by Road" data-drupal-link-system-path="node/28551">Road</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/water" data-drupal-link-system-path="node/28581">Water</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/air" data-drupal-link-system-path="node/28591">Air</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/bus/fflecsi" data-drupal-link-system-path="node/28306">fflecsi</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for" data-drupal-link-system-path="node/28531">Info for...</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Info for...</span> <ul class="child-nav-cols-4"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/passengers/travel-safer" data-drupal-link-system-path="node/28281">Travel Safer</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/passengers" data-drupal-link-system-path="node/28661">Passengers</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/young-travellers" data-drupal-link-system-path="node/28666">Young travellers</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/passengers/accessible-travel" data-drupal-link-system-path="node/29526">Accessible travel</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/over-60s" data-drupal-link-system-path="node/28671">Over 60s</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/kids-and-schools" data-drupal-link-system-path="node/28676">Kids and schools</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/communities" data-drupal-link-system-path="node/28681">Communities</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/job-hunters" data-drupal-link-system-path="node/28686">Job hunters</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/business" data-drupal-link-system-path="node/28691">Businesses</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/visitors-and-tourists" data-drupal-link-system-path="node/28696">Visitors and tourists</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/government-and-councils" data-drupal-link-system-path="node/28701">Government and councils</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/suppliers-and-partners" data-drupal-link-system-path="node/28711">Suppliers and partners</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/press-and-media" data-drupal-link-system-path="node/29316">Press and media</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status" data-drupal-link-system-path="node/28536">Service status</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span title="Service status">Service status</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/live-arrivals-and-departures" data-drupal-link-system-path="node/2341">Live arrivals and departures</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/live-route-status" data-drupal-link-system-path="node/116">Live route status</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/check-your-journey" data-drupal-link-system-path="node/29556">Check your journey</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/capacity-checker" data-drupal-link-system-path="node/19301">Capacity Checker</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/timetables" data-drupal-link-system-path="node/16506">Timetables</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/projects/metro/service-changes" data-drupal-link-system-path="node/19291">Metro: changes to train services</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/planned-improvement-works" data-drupal-link-system-path="node/111">Planned improvement works</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/weekend-travel-marches" data-drupal-link-system-path="node/39791">Weekend travel on the Marches</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact" data-drupal-link-system-path="node/51791">Help and contact</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span title="Help and contact ">Help and contact </span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/rail" data-drupal-link-system-path="node/51961">Rail help</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/bus" data-drupal-link-system-path="node/51956" class="is-active">Bus help</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/concessionary" data-drupal-link-system-path="node/35486">Concessionary card help</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/recruitment" data-drupal-link-system-path="node/35496">Recruitment help</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/rail/delay-repay" data-drupal-link-system-path="node/821">Delay Repay</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/get-in-touch" data-drupal-link-system-path="node/50026">Contact us</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us" data-drupal-link-system-path="node/28546">About</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>About</span> <ul class="child-nav-cols-3"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/our-story" data-drupal-link-system-path="node/1606">Our story</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/our-culture" data-drupal-link-system-path="node/29261">Our culture</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/transparency" data-drupal-link-system-path="node/29281">Transparency</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/sustainable-development" data-drupal-link-system-path="node/32041">Sustainability</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/careers" data-drupal-link-system-path="node/27061">Careers</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/our-team" data-drupal-link-system-path="node/27086">Our team</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/advertising-filming-and-partnerships" data-drupal-link-system-path="node/856">Advertising with us</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/whats-happening" data-drupal-link-system-path="node/27131">What's happening</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/press-and-media" data-drupal-link-system-path="node/29316">Latest news</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places" data-drupal-link-system-path="node/29241">Places</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Places</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/attractions" data-drupal-link-system-path="node/45836">Attractions</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/destinations" data-drupal-link-system-path="node/39676">Destinations</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/events" data-drupal-link-system-path="node/38621">Events</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/popular-routes" data-drupal-link-system-path="node/17486">Popular routes</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/stations" data-drupal-link-system-path="node/26">Stations</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/our-network-map" data-drupal-link-system-path="node/171">Our network map</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/projects" data-drupal-link-system-path="node/29246">Projects</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Projects</span> <ul class="child-nav-cols-1"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/projects/metro" data-drupal-link-system-path="node/38526">Metro</a> </li> </ul> </li> </ul> </div> </li> </ul> <div class="more-menu ml-4" tabindex="0"> <a class="more-menu__nav-toggle" href="#" tabindex="-1"> <object style="width: 20px; height: 16px;" tabindex="-1" type="image/svg+xml" data="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/hamburger.svg"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/hamburger.svg" alt=""> </object> <span style="vertical-align: text-bottom;">More</span> </a> <ul class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px]"> <li class="!ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/plan-a-journey" data-drupal-link-system-path="node/33251">Plan a journey</a> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel" data-drupal-link-system-path="node/28526">Ways to travel</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Ways to travel</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/rail" title="Rail" data-drupal-link-system-path="node/28871">Rail</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/cycling" data-drupal-link-system-path="node/28561">Cycling</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/bus" data-drupal-link-system-path="node/28566">Bus</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/walking-and-wheeling" title="Walking" data-drupal-link-system-path="node/29531">Walking</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/road" title="Travel by Road" data-drupal-link-system-path="node/28551">Road</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/water" data-drupal-link-system-path="node/28581">Water</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/air" data-drupal-link-system-path="node/28591">Air</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/bus/fflecsi" data-drupal-link-system-path="node/28306">fflecsi</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for" data-drupal-link-system-path="node/28531">Info for...</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Info for...</span> <ul class="child-nav-cols-4"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/passengers/travel-safer" data-drupal-link-system-path="node/28281">Travel Safer</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/passengers" data-drupal-link-system-path="node/28661">Passengers</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/young-travellers" data-drupal-link-system-path="node/28666">Young travellers</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/passengers/accessible-travel" data-drupal-link-system-path="node/29526">Accessible travel</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/over-60s" data-drupal-link-system-path="node/28671">Over 60s</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/kids-and-schools" data-drupal-link-system-path="node/28676">Kids and schools</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/communities" data-drupal-link-system-path="node/28681">Communities</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/job-hunters" data-drupal-link-system-path="node/28686">Job hunters</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/business" data-drupal-link-system-path="node/28691">Businesses</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/visitors-and-tourists" data-drupal-link-system-path="node/28696">Visitors and tourists</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/government-and-councils" data-drupal-link-system-path="node/28701">Government and councils</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/suppliers-and-partners" data-drupal-link-system-path="node/28711">Suppliers and partners</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/press-and-media" data-drupal-link-system-path="node/29316">Press and media</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status" data-drupal-link-system-path="node/28536">Service status</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span title="Service status">Service status</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/live-arrivals-and-departures" data-drupal-link-system-path="node/2341">Live arrivals and departures</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/live-route-status" data-drupal-link-system-path="node/116">Live route status</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/check-your-journey" data-drupal-link-system-path="node/29556">Check your journey</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/capacity-checker" data-drupal-link-system-path="node/19301">Capacity Checker</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/timetables" data-drupal-link-system-path="node/16506">Timetables</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/projects/metro/service-changes" data-drupal-link-system-path="node/19291">Metro: changes to train services</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/planned-improvement-works" data-drupal-link-system-path="node/111">Planned improvement works</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status/weekend-travel-marches" data-drupal-link-system-path="node/39791">Weekend travel on the Marches</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact" data-drupal-link-system-path="node/51791">Help and contact</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span title="Help and contact ">Help and contact </span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/rail" data-drupal-link-system-path="node/51961">Rail help</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/bus" data-drupal-link-system-path="node/51956" class="is-active">Bus help</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/concessionary" data-drupal-link-system-path="node/35486">Concessionary card help</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/recruitment" data-drupal-link-system-path="node/35496">Recruitment help</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/rail/delay-repay" data-drupal-link-system-path="node/821">Delay Repay</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact/get-in-touch" data-drupal-link-system-path="node/50026">Contact us</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us" data-drupal-link-system-path="node/28546">About</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>About</span> <ul class="child-nav-cols-3"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/our-story" data-drupal-link-system-path="node/1606">Our story</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/our-culture" data-drupal-link-system-path="node/29261">Our culture</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/transparency" data-drupal-link-system-path="node/29281">Transparency</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/sustainable-development" data-drupal-link-system-path="node/32041">Sustainability</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/careers" data-drupal-link-system-path="node/27061">Careers</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/our-team" data-drupal-link-system-path="node/27086">Our team</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/advertising-filming-and-partnerships" data-drupal-link-system-path="node/856">Advertising with us</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/whats-happening" data-drupal-link-system-path="node/27131">What's happening</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/press-and-media" data-drupal-link-system-path="node/29316">Latest news</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places" data-drupal-link-system-path="node/29241">Places</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Places</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/attractions" data-drupal-link-system-path="node/45836">Attractions</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/destinations" data-drupal-link-system-path="node/39676">Destinations</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/events" data-drupal-link-system-path="node/38621">Events</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/popular-routes" data-drupal-link-system-path="node/17486">Popular routes</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/stations" data-drupal-link-system-path="node/26">Stations</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/our-network-map" data-drupal-link-system-path="node/171">Our network map</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/projects" data-drupal-link-system-path="node/29246">Projects</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Projects</span> <ul class="child-nav-cols-1"> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/projects/metro" data-drupal-link-system-path="node/38526">Metro</a> </li> </ul> </li> </ul> </div> </li> </ul> </div> <div class="site-header__anc-links ml-auto flex-shrink-0"> <div id="block-languageswitcher-1"> <div class="languages"> <a href="http://web.archive.org/web/20231211215346/http://trc.cymru/cymorth-a-chysylltu/bws" class="site-header__language-switcher" data-key="cy">Cymraeg</a> </div> </div> <a aria-label="Your Account" href="http://web.archive.org/web/20231211215346/https://tickets.trc.cymru/#/login-redirect"> <img role="presentation" src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/account-icon-desktop.svg"> </a> </div> <div class="site-header__mobile-anc-links"> <a class="my-account" aria-label="Your Account" href="http://web.archive.org/web/20231211215346/https://tickets.trc.cymru/#/login-redirect"> <span class="my-account-icon"></span> Your account </a> <div id="block-languageswitcher-2"> <div class="languages"> <a href="http://web.archive.org/web/20231211215346/http://trc.cymru/cymorth-a-chysylltu/bws" class="site-header__language-switcher" data-key="cy">Cymraeg</a> </div> </div> </div> </nav> </div> </div> </div> <div> <div id="block-disruptionbanner"> <script type="text/javascript"> window.keo = window.keo || {}; window.keo.pidd = { 'labels': {"read_more":"Read more"} }; </script> <div id="pidd_js" class="disruption-banner is-pidd" v-bind:data-disruption-id="item.id" v-bind:data-retrieved="item.retrieved" v-bind:class="{ 'is-shown': item.heading != null && !item.isHidden }"> <div class="container"> <div class="disruption disruption--major"> <div> <div class="heading"> <span class="disruption-header" v-text="item.heading"></span> <button type="button" class="bg-transparent border-0 read-more-link"> Read more </button> </div> <div class="read-more" v-html="item.copy"></div> </div> <div class="close" role="button" aria-label="Close"></div> </div> </div> </div> </div> </div> <!-- END IF --> <div class="site-header__banner" style="background-color: #AE1C0F;"> <div class="mdc-layout-grid"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-9-desktop mdc-layout-grid__cell--span-4-phone mdc-layout-grid__cell--span-5-tablet text-container"> <div class="text-inner"> <div class="site-header__category"> <p>Help and contact</p> </div> <h1 class="site-header__title">Bus help</h1> </div> </div> <div class="mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-3-tablet site-header__search-form"> <form action="/web/20231211215346/https://tfw.wales/search" method="get"> <label class="sr-only" for="search">Search</label> <input type="search" id="search" name="search" placeholder="Search..."> <button><img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-search.svg" alt="Search"></button> </form> </div> </div> </div> </div> <nav class="breadcrumb" role="navigation" aria-labelledby="system-breadcrumb"> <h2 id="system-breadcrumb" class="visually-hidden">Breadcrumb</h2> <ol> <li> <a aria-label="Home" href="/web/20231211215346/https://tfw.wales/"> <svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M14.7389 7.88336L7.90068 1.05016C7.85145 1.00082 7.79296 0.961685 7.72858 0.934981C7.6642 0.908277 7.59519 0.894531 7.52549 0.894531C7.45579 0.894531 7.38677 0.908277 7.32239 0.934981C7.25801 0.961685 7.19953 1.00082 7.15029 1.05016L0.312109 7.88336C0.112891 8.08258 0 8.35318 0 8.63541C0 9.22145 0.476465 9.69791 1.0625 9.69791H1.78301V14.5738C1.78301 14.8676 2.02041 15.105 2.31426 15.105H6.46299V11.3863H8.32236V15.105H12.7367C13.0306 15.105 13.268 14.8676 13.268 14.5738V9.69791H13.9885C14.2707 9.69791 14.5413 9.58668 14.7405 9.3858C15.1539 8.97076 15.1539 8.2984 14.7389 7.88336Z" fill="#003DA6"/> </svg> </a> <svg class="breadcrumb__separator" width="8" height="13" viewbox="0 0 8 13" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.57749 0.106119C7.07749 0.339119 7.31749 0.883119 7.11449 1.32112L1.93549 12.4241C1.73149 12.8621 1.16049 13.0281 0.659486 12.7941C0.159486 12.5611 -0.0805143 12.0161 0.123486 11.5781L5.30149 0.476119C5.50549 0.0381192 6.07649 -0.127881 6.57749 0.106119Z" fill="#333"/> </svg> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/help-and-contact">Help and contact</a> <svg class="breadcrumb__separator" width="8" height="13" viewbox="0 0 8 13" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.57749 0.106119C7.07749 0.339119 7.31749 0.883119 7.11449 1.32112L1.93549 12.4241C1.73149 12.8621 1.16049 13.0281 0.659486 12.7941C0.159486 12.5611 -0.0805143 12.0161 0.123486 11.5781L5.30149 0.476119C5.50549 0.0381192 6.07649 -0.127881 6.57749 0.106119Z" fill="#333"/> </svg> </li> <li> Bus help </li> </ol> </nav> </header> <div class="layout-container"> <main role="main"> <a id="main-content" tabindex="-1"></a> <div class="mdc-layout-grid"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-12"> <div class="layout-content"> <div> <div data-drupal-messages-fallback class="hidden"></div><div id="block-cookiesui"> <div id="cookiesjsr"></div> </div> <article data-history-node-id="51956" about="https://tfw.wales/help-and-contact/bus"> <div> <div class="layout layout--onecol"> <div class="layout__region layout__region--content"> <div> <h2 class=""> Get in touch with our bus support teams </h2> <div class="m-0 no-underline text-black"> <p class="intro-large">What you can do online</p> <p>There鈥檚 lots you can do online. It鈥檚 usually faster and saves you a phone call.</p> </div> </div> </div> </div> <div class="sm:flex"> <div class="px-4 py-4 w-96 layout__region col1" style="width:40rem;"> <div> <div class="rounded-tfw border-solid border-black-at25"> <a class="no-underline ..." href="http://web.archive.org/web/20231211215346/https://www.traveline.cymru/"> <div class="flex bg-black-at25 border-0 rounded-2xl items-center justify-center px-4 py-4"> <div class="flex shrink-0 grow-0 items-center justify-center rounded-full text-green-700" style="height: 56px; width: 56px;"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Journey.svg"/> </div> </div> <div class="bg-none pl-8 no-underline"> <h1 class="text-3xl pt-4 pb-2 m-0 no-underline" style="color: rgb(175, 30, 14);"> Plan a journey </h1> <p class="m-0 pb-6 pt-4 pr-14 text no-underline text-black"> Travelling by train and bus and perhaps bike as well? Use our journey planning tool to find the best route. </p> </div> </div> </a> </div> </div> <div class="px-4 py-4 w-96 ... layout__region col2" style="width:40rem;"> <div> <div class="rounded-tfw border-solid border-black-at25"> <a class="no-underline ..." href="http://web.archive.org/web/20231211215346/https://www.traveline.cymru/disruptions/"> <div class="flex bg-black-at25 border-0 rounded-2xl items-center justify-center px-4 py-4"> <div class="flex shrink-0 grow-0 items-center justify-center rounded-full text-green-700" style="height: 56px; width: 56px;"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Warning.svg"/> </div> </div> <div class="bg-none pl-8 no-underline"> <h1 class="text-3xl pt-4 pb-2 m-0 no-underline" style="color: rgb(175, 30, 14);"> Check before travelling </h1> <p class="m-0 pb-6 pt-4 pr-14 text no-underline text-black"> Check for any service updates about disruption, cancellations or industrial action. </p> </div> </div> </a> </div> </div> <div class="px-4 py-4 w-96 ... layout__region col3" style="width:40rem;"> <div> <div class="px-10"> <h2 class="!text-3xl pt-4 pb-2 m-0 text-black"> Do it online </h2> <ul class="m-0 p-0 pb-6 pt-2"> <li class="flex py-1"> <a class="" href="http://web.archive.org/web/20231211215346/https://portal.tfw.wales/en"> <div class="h-12 w-12 shrink-0"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Concessionary-card.svg"/> </div> <div class="pl-4 font-normal"> Apply for a concessionary card </div> </a> </li> <li class="flex py-1"> <a class="" href="http://web.archive.org/web/20231211215346/https://www.traveline.cymru/bus-fares/#h_165546424331631626859107"> <div class="h-12 w-12 shrink-0"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Bus-fares.svg"/> </div> <div class="pl-4 font-normal"> Check bus fares </div> </a> </li> <li class="flex py-1"> <a class="" href="http://web.archive.org/web/20231211215346/https://www.traveline.cymru/timetables/"> <div class="h-12 w-12 shrink-0"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Timetables.svg"/> </div> <div class="pl-4 font-normal"> Find timetables </div> </a> </li> </ul> </div> </div> </div> </div> <div class="sm:flex"> <div class="px-4 py-4 w-96 layout__region col1" style="width:40rem;"> <div> <div class="rounded-tfw overflow-hidden shadow-lg"> <a class="no-underline ..." href="http://web.archive.org/web/20231211215346/https://www.fflecsi.wales/"> <img class="rounded-tfw object-cover h-40 w-full" src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/fflecsi%20logo.jpg" alt=""/> <div class="px-6 pb-4 no-underline"> <h2 class=" m-0 py-2 no-underline" style="color: rgb(175, 30, 14);"> Find out about fflecsi </h2> <div class="m-0 no-underline text-black"> <p>Find your local service and download the app for simpler local bus journeys.</p> </div> </div> </div> </a> </div> </div> <div class="px-4 py-4 w-96 ... layout__region col2" style="width:40rem;"> <div> <div class="rounded-tfw overflow-hidden shadow-lg"> <a class="no-underline ..." href="http://web.archive.org/web/20231211215346/https://traws.cymru/en"> <img class="rounded-tfw object-cover h-40 w-full" src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/TrawsCymrulogo.jpg" alt=""/> <div class="px-6 pb-4 no-underline"> <h2 class=" m-0 py-2 no-underline" style="color: rgb(175, 30, 14);"> TrawsCymru tickets </h2> <div class="m-0 no-underline text-black"> <p>Plan your journey, check for service updates and buy tickets.</p> </div> </div> </div> </a> </div> </div> <div style="width:40rem;"> </div> </div> <div class="layout layout--onecol"> <div class="layout__region layout__region--content"> <div> <h2 class=""> </h2> <div class="m-0 no-underline text-black"> <p class="intro-large">Contact Traveline</p> <p><strong>Get help with planning your journeys and have your questions about public transport answered.</strong></p> </div> </div> </div> </div> <div class="sm:flex"> <div class="px-4 py-4 w-96 layout__region col1" style="width:40rem;"> <div> <div class="rounded-tfw"> <div class="flex rounded-tfw px-4"> <div class="flex items-center justify-center rounded-full bg-warm-grey-at50 text-green-700" style="height: 56px; width:56px"> <div class="h-14 w-14"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Phone.svg"/> </div> </div> <div class=""> <h2 class="pl-3 m-0 pt-2"> Freephone </h2> </div> </div> <p class="ml-10 mt-0 pl-16"> <div class="pl-16 ml-4"> <p><a href="tel:08004640000">08004 640 000</a></p> <p>7am - 8pm daily throughout the year.</p> <p>There鈥檚 a limited service on Christmas Eve, Christmas Day, Boxing Day and New Year鈥檚 Day.</p> </div> </p> </div> </div> </div> <div class="px-4 py-4 w-96 ... layout__region col2" style="width:40rem;"> <div> <div class="rounded-tfw"> <div class="flex rounded-tfw px-4"> <div class="flex items-center justify-center rounded-full bg-warm-grey-at50 text-green-700" style="height: 56px; width:56px"> <div class="h-14 w-14"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Email.svg"/> </div> </div> <div class=""> <h2 class="pl-3 m-0 pt-2"> Email </h2> </div> </div> <p class="ml-10 mt-0 pl-16"> <div class="pl-16 ml-4"> <p><a href="http://web.archive.org/web/20231211215346/mailto:feedbacktraveline@tfw.wales">feedbacktraveline@tfw.wales</a></p> <p>We aim to get back to you within five working days.</p> </div> </p> </div> </div> </div> <div style="width:40rem;"> </div> </div> <div class="layout layout--onecol"> <div class="layout__region layout__region--content"> <div> <h2 class=""> </h2> <div class="m-0 no-underline text-black"> <p class="intro-large">Contact fflecsi</p> <p><strong>Get help with planning your fflecsi journeys and have your queries answered.</strong><br/> </p> </div> </div> </div> </div> <div class="sm:flex"> <div class="px-4 py-4 w-96 layout__region col1" style="width:40rem;"> <div> <div class="rounded-tfw"> <div class="flex rounded-tfw px-4"> <div class="flex items-center justify-center rounded-full bg-warm-grey-at50 text-green-700" style="height: 56px; width:56px"> <div class="h-14 w-14"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Phone.svg"/> </div> </div> <div class=""> <h2 class="pl-3 m-0 pt-2"> Bookings line </h2> </div> </div> <p class="ml-10 mt-0 pl-16"> <div class="pl-16 ml-4"> <p><a href="tel:03002340300">03002 340 300</a></p> <p>Monday to Saturday: 07:00 - 19:00<br/> Sunday: 09:00 - 17:00</p> </div> </p> </div> </div> </div> <div class="px-4 py-4 w-96 ... layout__region col2" style="width:40rem;"> <div> <div class="rounded-tfw"> <div class="flex rounded-tfw px-4"> <div class="flex items-center justify-center rounded-full bg-warm-grey-at50 text-green-700" style="height: 56px; width:56px"> <div class="h-14 w-14"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Email.svg"/> </div> </div> <div class=""> <h2 class="pl-3 m-0 pt-2"> Email </h2> </div> </div> <p class="ml-10 mt-0 pl-16"> <div class="pl-16 ml-4"> <p><a href="http://web.archive.org/web/20231211215346/mailto:helo@fflecsi.wales">helo@fflecsi.wales</a></p> <p>We aim to get back to you within five working days.</p> </div> </p> </div> </div> </div> <div style="width:40rem;"> </div> </div> <div class="layout layout--onecol"> <div class="layout__region layout__region--content"> <div> <h2 class=""> </h2> <div class="m-0 no-underline text-black"> <p class="intro-large">Contact TrawsCymru</p> <p><strong>Get help with planning your TrawsCymru journeys and have your queries answered.</strong></p> </div> </div> </div> </div> <div class="sm:flex"> <div class="px-4 py-4 w-96 layout__region col1" style="width:40rem;"> <div> <div class="rounded-tfw"> <div class="flex rounded-tfw px-4"> <div class="flex items-center justify-center rounded-full bg-warm-grey-at50 text-green-700" style="height: 56px; width:56px"> <div class="h-14 w-14"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Phone.svg"/> </div> </div> <div class=""> <h2 class="pl-3 m-0 pt-2"> Phone </h2> </div> </div> <p class="ml-10 mt-0 pl-16"> <div class="pl-16 ml-4"> <p><a href="tel:03002002233">03002 002 233</a></p> <p>7am - 8pm daily throughout the year.</p> <p>There鈥檚 a limited service on Christmas Eve, Christmas Day, Boxing Day and New Year鈥檚 Day.</p> </div> </p> </div> </div> </div> <div class="px-4 py-4 w-96 ... layout__region col2" style="width:40rem;"> <div> <div class="rounded-tfw"> <div class="flex rounded-tfw px-4"> <div class="flex items-center justify-center rounded-full bg-warm-grey-at50 text-green-700" style="height: 56px; width:56px"> <div class="h-14 w-14"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/Email.svg"/> </div> </div> <div class=""> <h2 class="pl-3 m-0 pt-2"> Email </h2> </div> </div> <p class="ml-10 mt-0 pl-16"> <div class="pl-16 ml-4"> <p><a href="http://web.archive.org/web/20231211215346/maito:trawscymrufeedback@tfw.wales">trawscymrufeedback@tfw.wales</a></p> <p>We鈥檒l aim to get back to you within three working days.</p> </div> </p> </div> </div> </div> <div class="px-4 py-4 w-96 ... layout__region col3" style="width:40rem;"> <div> <div class="rounded-tfw"> <div class="flex rounded-tfw px-4"> <div class="flex items-center justify-center rounded-full bg-warm-grey-at50 text-green-700" style="height: 56px; width:56px"> <div class="h-14 w-14"> <img src="/web/20231211215346im_/https://tfw.wales/sites/default/files/2023-09/House.svg"/> </div> </div> <div class=""> <h2 class="pl-3 m-0 pt-2"> Post </h2> </div> </div> <p class="ml-10 mt-0 pl-16"> <div class="pl-16 ml-4"> <p>TrawsCymru <br/> Contact Centre Cymru<br/> PO Box 52<br/> Penrhyndeudraeth<br/> Gwynedd<br/> LL49 0AU</p> </div> </p> </div> </div> </div> </div> <div class="container"> <main class="main layout__region"> <div> <form class="webform-submission-form webform-submission-add-form webform-submission-keolis-contact-us-form-form webform-submission-keolis-contact-us-form-add-form webform-submission-keolis-contact-us-form-node-51956-form webform-submission-keolis-contact-us-form-node-51956-add-form js-webform-details-toggle webform-details-toggle keolis_webform_lang_english" data-drupal-selector="webform-submission-keolis-contact-us-form-node-51956-add-form" action="/web/20231211215346/https://tfw.wales/help-and-contact/bus" method="post" id="webform-submission-keolis-contact-us-form-node-51956-add-form" accept-charset="UTF-8"> <script type="text/javascript"> window.keo = window.keo || {}; window.keo.captcha_error_message = 'Please check reCaptcha before submitting.'; </script> <div id="edit-processed-text" class="js-form-item form-item js-form-type-processed-text form-item- js-form-item- form-no-label"> <h2>Contact us form</h2> <p>Use our online and we'll get back to you as soon as possible - we aim to respond within 10 working days, but at very busy periods it may take up to 20 working days.</p> </div> <div class="js-form-item form-item js-form-type-select form-item-what-is-the-nature-of-your-contact js-form-item-what-is-the-nature-of-your-contact"> <div class="mdc-select mdc-select--outlined demo-width-class"> <div class="mdc-select__anchor"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span id="outlined-select-label-what_is_the_nature_of_your_contact" class="mdc-floating-label">I'd like to ...</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <span class="mdc-select__selected-text-container"> <span id="selected-text-what_is_the_nature_of_your_contact" class="mdc-select__selected-text"></span> </span> <span class="mdc-select__dropdown-icon"> <svg class="mdc-select__dropdown-icon-graphic" viewbox="7 10 10 5" focusable="false"> <polygon class="mdc-select__dropdown-icon-inactive" stroke="none" fill-rule="evenodd" points="7 10 12 15 17 10"> </polygon> <polygon class="mdc-select__dropdown-icon-active" stroke="none" fill-rule="evenodd" points="7 15 12 10 17 15"> </polygon> </svg> </span> </div> <label for="edit-i'd-like-to-..." class="visually-hidden"> I'd like to ...</label> <select data-drupal-selector="edit-what-is-the-nature-of-your-contact" id="edit-what-is-the-nature-of-your-contact" name="what_is_the_nature_of_your_contact" class="form-select required visually-hidden" required="required" aria-required="true"><option value="" selected="selected"></option><option value="Get help with journey planning or timetables">Get help with journey planning or timetables</option><option value="Find out about stations or trains">Find out about stations or trains</option><option value="Apply for ticket refund or change my ticket">Apply for ticket refund or change my ticket</option><option value="Book assisted travel">Book assisted travel</option><option value="Enquire/Book business travel">Enquire/Book business travel</option><option value="Report a crime">Report a crime</option><option value="Report a fault on a train or railway station">Report a fault on a train or railway station</option><option value="Suggest Metro improvement work">Suggest Metro improvement work</option><option value="Enquire about a commercial space">Enquire about a commercial space</option><option value="Make a complaint">Make a complaint</option><option value="Other">Other</option></select><div class="mdc-select__menu mdc-menu mdc-menu-surface mdc-menu-surface--fullwidth"><ul class="mdc-list" role="listbox" aria-label="Food picker listbox"><li class="mdc-list-item mdc-list-item--selected" aria-selected="true" data-value="" role="option"><span class="mdc-list-item__ripple"></span></li><li class="mdc-list-item mdc-list-item--selected" aria-selected="false" data-value="" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"></span></li><li class="mdc-list-item " aria-selected="false" data-value="Get help with journey planning or timetables" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Get help with journey planning or timetables </span></li><li class="mdc-list-item " aria-selected="false" data-value="Find out about stations or trains" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Find out about stations or trains </span></li><li class="mdc-list-item " aria-selected="false" data-value="Apply for ticket refund or change my ticket" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Apply for ticket refund or change my ticket </span></li><li class="mdc-list-item " aria-selected="false" data-value="Book assisted travel" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Book assisted travel </span></li><li class="mdc-list-item " aria-selected="false" data-value="Enquire/Book business travel" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Enquire/Book business travel </span></li><li class="mdc-list-item " aria-selected="false" data-value="Report a crime" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Report a crime </span></li><li class="mdc-list-item " aria-selected="false" data-value="Report a fault on a train or railway station" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Report a fault on a train or railway station </span></li><li class="mdc-list-item " aria-selected="false" data-value="Suggest Metro improvement work" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Suggest Metro improvement work </span></li><li class="mdc-list-item " aria-selected="false" data-value="Enquire about a commercial space" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Enquire about a commercial space </span></li><li class="mdc-list-item " aria-selected="false" data-value="Make a complaint" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Make a complaint </span></li><li class="mdc-list-item " aria-selected="false" data-value="Other" role="option"><span class="mdc-list-item__ripple"></span><span class="mdc-list-item__text"> Other </span></li></ul></div> </div> </div> <div class="js-webform-states-hidden js-form-wrapper" data-drupal-states="{"visible":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Make a complaint"}}}"> <div class="js-form-item form-item js-form-type-processed-text form-item- js-form-item- form-no-label" id="edit-processed-text-01"> <h3>Make a complaint</h3> <p>If you're looking to make a complaint please use our complaint form</p> <p><a href="/web/20231211215346/https://tfw.wales/complaint-submission" style="font-weight:700; border:none; outline:none; background-color: #FF0000; color:#fff; border-radius:18px; font-size:16px; padding:18px 32px 18px;">Complaint form</a></p> </div> </div><div class="js-webform-states-hidden js-form-wrapper" data-drupal-states="{"invisible":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"I\u0027d like to apply for refund"}}}"> <div class="js-form-item form-item js-form-type-processed-text form-item- js-form-item- form-no-label" id="edit-compensation"> </div> </div><div class="js-webform-states-hidden js-form-wrapper" data-drupal-states="{"visible":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Apply for ticket refund or change my ticket"}}}"> <div class="js-form-item form-item js-form-type-processed-text form-item- js-form-item- form-no-label" id="edit-refund"> <h3>Ticket changes and refunds</h3> <p>If you''re looking to change your ticket or get a refund please visit our refunds page.</p> <p><a href="/web/20231211215346/https://tfw.wales/ticket-refunds" style="font-weight:700; border:none; outline:none; background-color: #FF0000; color:#fff; border-radius:18px; font-size:16px; padding:18px 32px 18px;">Ticket changes and refunds</a></p> </div> </div><div class="js-webform-states-hidden js-form-wrapper" data-drupal-states="{"visible":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Suggest Metro improvement work"}}}"> <div class="js-form-item form-item js-form-type-processed-text form-item- js-form-item- form-no-label" id="edit-cvl-safety"> <h3>Suggest Metro improvement work</h3> <p>If there is an immediate safety threat such as:</p> <ul><li>People, animals or objects on or near the track</li> <li>Damage or fault at a level crossing</li> <li>A vehicle has hit a bridge</li> <li>A broken fence or open gateway allowing access to the track</li> </ul><p>Please call us immediately on <a href="http://web.archive.org/web/20231211215346/tel: 03457 11 41 41">03457 11 41 41</a></p> </div> </div><div class="js-webform-states-hidden js-form-wrapper form-wrapper" data-drupal-selector="edit-container" data-drupal-states="{"visible":[{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Report a fault on a train or railway station"}},"or",{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Suggest Metro improvement work"}},"or",{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Other"}}]}" id="edit-container"> <div class="js-form-item form-item js-form-type-textarea form-item-your-comments js-form-item-your-comments"> <label class="mdc-text-field mdc-text-field--outlined mdc-text-field--textarea mdc-text-field--with-internal-counter"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-your_comments">Your comments</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <span class="mdc-text-field__resizer"> <textarea data-counter-type="character" data-counter-maximum="4000" class="js-webform-counter webform-counter form-textarea mdc-text-field__input" data-drupal-selector="edit-your-comments" data-drupal-states="{"required":[{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Report a fault on a train or railway station"}},"or",{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Suggest Metro improvement work"}},"or",{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Other"}}]}" id="edit-your-comments" name="your_comments" rows="5" cols="60" maxlength="4000"></textarea> <span class="mdc-text-field-character-counter">0 / 140</span> </span> </label> </div> <div id="edit-your-details" class="js-form-item form-item js-form-type-processed-text form-item- js-form-item- form-no-label"> <p class="intro-large">Your details</p> </div> <fieldset data-drupal-selector="edit-how-would-you-like-a-response-to-this-feedback-" id="edit-how-would-you-like-a-response-to-this-feedback---wrapper" class="radios--wrapper fieldgroup form-composite webform-composite-visible-title js-webform-type-radios webform-type-radios js-form-item form-item js-form-wrapper form-wrapper" data-drupal-states="{"required":[{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Report a fault on a train or railway station"}},"or",{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Suggest Metro improvement work"}},"or",{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Other"}}]}"> <legend id="edit-how-would-you-like-a-response-to-this-feedback---wrapper-legend"> <span class="fieldset-legend">How would you like a response to this feedback?</span> </legend> <div class="fieldset-wrapper"> <div id="edit-how-would-you-like-a-response-to-this-feedback-" class="js-webform-radios webform-options-display-one-column"> <div class="js-form-item form-item js-form-type-radio form-item-how-would-you-like-a-response-to-this-feedback- js-form-item-how-would-you-like-a-response-to-this-feedback-"> <div class="mdc-form-field"> <div class="mdc-radio mdc-radio--touch"> <input data-drupal-selector="edit-how-would-you-like-a-response-to-this-feedback-by-email" type="radio" id="edit-how-would-you-like-a-response-to-this-feedback-by-email" name="how_would_you_like_a_response_to_this_feedback_" value="By email" class="form-radio mdc-radio__native-control"/> <div class="mdc-radio__background"> <div class="mdc-radio__outer-circle"></div> <div class="mdc-radio__inner-circle"></div> </div> <div class="mdc-radio__ripple"></div> </div> <label for="edit-how-would-you-like-a-response-to-this-feedback-by-email" class="option">By email</label> </div> </div> <div class="js-form-item form-item js-form-type-radio form-item-how-would-you-like-a-response-to-this-feedback- js-form-item-how-would-you-like-a-response-to-this-feedback-"> <div class="mdc-form-field"> <div class="mdc-radio mdc-radio--touch"> <input data-drupal-selector="edit-how-would-you-like-a-response-to-this-feedback-by-phone" type="radio" id="edit-how-would-you-like-a-response-to-this-feedback-by-phone" name="how_would_you_like_a_response_to_this_feedback_" value="By phone" class="form-radio mdc-radio__native-control"/> <div class="mdc-radio__background"> <div class="mdc-radio__outer-circle"></div> <div class="mdc-radio__inner-circle"></div> </div> <div class="mdc-radio__ripple"></div> </div> <label for="edit-how-would-you-like-a-response-to-this-feedback-by-phone" class="option">By phone</label> </div> </div> <div class="js-form-item form-item js-form-type-radio form-item-how-would-you-like-a-response-to-this-feedback- js-form-item-how-would-you-like-a-response-to-this-feedback-"> <div class="mdc-form-field"> <div class="mdc-radio mdc-radio--touch"> <input data-drupal-selector="edit-how-would-you-like-a-response-to-this-feedback-by-post" type="radio" id="edit-how-would-you-like-a-response-to-this-feedback-by-post" name="how_would_you_like_a_response_to_this_feedback_" value="By post" class="form-radio mdc-radio__native-control"/> <div class="mdc-radio__background"> <div class="mdc-radio__outer-circle"></div> <div class="mdc-radio__inner-circle"></div> </div> <div class="mdc-radio__ripple"></div> </div> <label for="edit-how-would-you-like-a-response-to-this-feedback-by-post" class="option">By post</label> </div> </div> <div class="js-form-item form-item js-form-type-radio form-item-how-would-you-like-a-response-to-this-feedback- js-form-item-how-would-you-like-a-response-to-this-feedback-"> <div class="mdc-form-field"> <div class="mdc-radio mdc-radio--touch"> <input data-drupal-selector="edit-how-would-you-like-a-response-to-this-feedback-i-dont-require-a-response" type="radio" id="edit-how-would-you-like-a-response-to-this-feedback-i-dont-require-a-response" name="how_would_you_like_a_response_to_this_feedback_" value="I don't require a response" class="form-radio mdc-radio__native-control"/> <div class="mdc-radio__background"> <div class="mdc-radio__outer-circle"></div> <div class="mdc-radio__inner-circle"></div> </div> <div class="mdc-radio__ripple"></div> </div> <label for="edit-how-would-you-like-a-response-to-this-feedback-i-dont-require-a-response" class="option">I don't require a response</label> </div> </div> </div> </div> </fieldset> <div class="js-webform-states-hidden js-form-wrapper" data-drupal-states="{"visible":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":{"pattern":"By"}}},"required":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":{"pattern":"By"}}}}"><fieldset data-drupal-selector="edit-name" class="webform-name--wrapper fieldgroup form-composite webform-composite-hidden-title js-webform-type-webform-name webform-type-webform-name js-form-item form-item js-form-wrapper form-wrapper" id="edit-name--wrapper"> <legend> <span class="visually-hidden fieldset-legend">Name</span> </legend> <div class="fieldset-wrapper"> <div class="js-form-item form-item js-form-type-textfield form-item-name-first js-form-item-name-first"> <label class="mdc-text-field mdc-text-field--outlined"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-name[first]">First name</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input data-drupal-selector="edit-name-first" type="text" id="edit-name-first" name="name[first]" value="" size="60" maxlength="255" class="form-text mdc-text-field__input" data-drupal-states="{"required":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":{"pattern":"By"}}}}"/> </label> </div> <div class="js-form-item form-item js-form-type-textfield form-item-name-last js-form-item-name-last"> <label class="mdc-text-field mdc-text-field--outlined"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-name[last]">Surname</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input data-drupal-selector="edit-name-last" type="text" id="edit-name-last" name="name[last]" value="" size="60" maxlength="255" class="form-text mdc-text-field__input" data-drupal-states="{"required":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":{"pattern":"By"}}}}"/> </label> </div> </div> </fieldset> </div><div class="js-webform-states-hidden js-form-wrapper" data-drupal-states="{"visible":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":"By email"}},"required":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":"By email"}}}"><fieldset class="webform-email-confirm--wrapper fieldgroup form-composite webform-composite-hidden-title js-webform-type-webform-email-confirm webform-type-webform-email-confirm js-form-item form-item js-form-wrapper form-wrapper" id="edit-email"> <legend> <span class="visually-hidden fieldset-legend">Email</span> </legend> <div class="fieldset-wrapper"> <div class="js-form-item form-item js-form-type-email form-item-email-mail-1 js-form-item-email-mail-1"> <label class="mdc-text-field mdc-text-field--outlined"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-email[mail_1]">Email</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input data-drupal-selector="edit-email-mail-1" class="webform-email form-email mdc-text-field__input" type="email" id="edit-email-mail-1" name="email[mail_1]" value="" size="60" maxlength="254"/> </label> </div> <div class="js-form-item form-item js-form-type-email form-item-email-mail-2 js-form-item-email-mail-2"> <label class="mdc-text-field mdc-text-field--outlined"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-email[mail_2]">Confirm email</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input data-drupal-selector="edit-email-mail-2" class="webform-email-confirm form-email mdc-text-field__input" type="email" id="edit-email-mail-2" name="email[mail_2]" value="" size="60" maxlength="254"/> </label> </div> </div> </fieldset> </div> <div class="js-webform-states-hidden js-form-item form-item js-form-type-tel form-item-phone-number js-form-item-phone-number"> <label class="mdc-text-field mdc-text-field--outlined"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-phone_number">Phone number</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input data-drupal-selector="edit-phone-number" type="tel" id="edit-phone-number" name="phone_number" value="" size="30" maxlength="128" class="form-tel mdc-text-field__input" data-drupal-states="{"visible":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":"By phone"}},"required":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":"By phone"}}}"/> </label> </div> <div class="js-webform-states-hidden js-form-wrapper" data-drupal-states="{"visible":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":"By post"}}}"><fieldset data-drupal-selector="edit-address" class="webform-address-loqate--wrapper fieldgroup form-composite webform-composite-hidden-title address-lookup js-webform-type-webform-address-loqate webform-type-webform-address-loqate js-form-item form-item js-form-wrapper form-wrapper" id="edit-address--wrapper"> <legend> <span class="visually-hidden fieldset-legend">Address</span> </legend> <div class="fieldset-wrapper"> <div class="address-lookup__field--initial address-lookup__field js-form-item form-item js-form-type-textfield form-item-address-address js-form-item-address-address" data-key="address"> <label class="mdc-text-field mdc-text-field--outlined"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-address[address]">Address</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input data-drupal-selector="edit-address-address" type="text" id="edit-address-address" name="address[address]" value="" size="60" maxlength="255" class="form-text mdc-text-field__input" data-drupal-states="{"required":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":"By post"}}}"/> </label> </div> <div class="address-lookup__field--initial address-lookup__field js-form-item form-item js-form-type-textfield form-item-address-address-2 js-form-item-address-address-2" data-key="address"> <label class="mdc-text-field mdc-text-field--outlined"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-address[address_2]">Address 2</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input data-drupal-selector="edit-address-address-2" type="text" id="edit-address-address-2" name="address[address_2]" value="" size="60" maxlength="255" class="form-text mdc-text-field__input"/> </label> </div> <div class="address-lookup__field--initial address-lookup__field js-form-item form-item js-form-type-textfield form-item-address-city js-form-item-address-city" data-key="address"> <label class="mdc-text-field mdc-text-field--outlined"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-address[city]">City/Town</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input data-drupal-selector="edit-address-city" type="text" id="edit-address-city" name="address[city]" value="" size="60" maxlength="255" class="form-text mdc-text-field__input" data-drupal-states="{"required":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":"By post"}}}"/> </label> </div> <div class="address-lookup__field js-form-item form-item js-form-type-textfield form-item-address-postal-code js-form-item-address-postal-code" data-key="address"> <label class="mdc-text-field mdc-text-field--outlined"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-address[postal_code]">Postcode (address lookup)</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input data-drupal-selector="edit-address-postal-code" type="text" id="edit-address-postal-code" name="address[postal_code]" value="" size="60" maxlength="255" class="form-text mdc-text-field__input" data-drupal-states="{"required":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022how_would_you_like_a_response_to_this_feedback_\u0022]":{"value":"By post"}}}"/> </label> </div> </div> </fieldset> </div> <div class="wrapper--long-description webform-element--title-inline js-form-item form-item js-form-type-checkbox form-item-agree js-form-item-agree"> <div class="mdc-touch-target-wrapper onedomain-checkbox"> <div class="mdc-checkbox mdc-checkbox--touch"> <input data-drupal-selector="edit-agree" aria-describedby="edit-agree--description" type="checkbox" id="edit-agree" name="agree" value="1" class="form-checkbox mdc-checkbox__native-control"/> <div class="mdc-checkbox__background"> <svg class="mdc-checkbox__checkmark" viewbox="0 0 24 24"> <path class="mdc-checkbox__checkmark-path" fill="none" d="M1.73,12.91 8.1,19.28 22.79,4.59"/> </svg> <div class="mdc-checkbox__mixedmark"></div> </div> <div class="mdc-checkbox__ripple"></div> </div> <label for="edit-agree" class="option">We may need to share details of your form with other parts of the Transport for Wales Group or other train operators if your claim or comments relate to another company. Please tick this box if you are happy for us to share these details. <br/><br/>It will not affect your right to make a claim and give comments but may make it more difficult for us to resolve your case quickly. Please note - we will not share your information for marketing purposes. Completion of this form confirms that the information provided is correct to the best of your knowledge. Transport for Wales reserves the right to share your personal details with other Train Operators and relevant third parties to prevent fraud and we may prosecute any individual making fraudulent claims.</label> <div class="description"> <div id="edit-agree--description" class="webform-element-description"><br/> </div> </div> </div> </div> <div style="text-align: right" data-drupal-selector="edit-captcha-message" class="webform-message js-webform-message js-form-wrapper form-wrapper" id="edit-captcha-message"><div data-drupal-messages> <div role="contentinfo" aria-label="Information message"> <h2 class="visually-hidden">Information message</h2> We use this test to help prevent spam from being submitted to our site </div> </div> </div> <div data-drupal-selector="edit-captcha" class="captcha captcha-type-challenge--recaptcha"> <div class="captcha__element"> <input data-drupal-selector="edit-captcha-sid" type="hidden" name="captcha_sid" value="5628666"/> <input data-drupal-selector="edit-captcha-token" type="hidden" name="captcha_token" value="BbZVfNyX56yRAHZRtB3Vr5celaxtz_jSNA_Zj13TOOQ"/> <input data-drupal-selector="edit-captcha-response" type="hidden" name="captcha_response" value="Google no captcha"/> <div class="g-recaptcha" data-sitekey="6LcJA0AcAAAAAPlUbUppG7l4jQdZJRmi7czT9YM_" data-theme="light" data-type="image"></div> <input data-drupal-selector="edit-captcha-cacheable" type="hidden" name="captcha_cacheable" value="1"/> </div> <div class="captcha__description description">This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.</div> </div> <div class="js-webform-states-hidden form-actions webform-actions js-form-wrapper form-wrapper" data-drupal-selector="edit-actions" data-drupal-states="{"invisible":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"I\u0027d like to make a complaint"}}}" id="edit-actions"> <input class="webform-button--submit button button--primary js-form-submit form-submit" data-drupal-selector="edit-actions-submit" type="submit" id="edit-actions-submit" name="op" value="Submit"/> </div> </div> <div class="js-form-item form-item js-form-type-checkbox form-item-empty-checkbox js-form-item-empty-checkbox"> <div class="mdc-touch-target-wrapper onedomain-checkbox"> <div class="mdc-checkbox mdc-checkbox--touch"> <input data-drupal-selector="edit-empty-checkbox" type="checkbox" id="edit-empty-checkbox" name="empty_checkbox" value="1" class="form-checkbox mdc-checkbox__native-control"/> <div class="mdc-checkbox__background"> <svg class="mdc-checkbox__checkmark" viewbox="0 0 24 24"> <path class="mdc-checkbox__checkmark-path" fill="none" d="M1.73,12.91 8.1,19.28 22.79,4.59"/> </svg> <div class="mdc-checkbox__mixedmark"></div> </div> <div class="mdc-checkbox__ripple"></div> </div> <label for="edit-empty-checkbox" class="option">hidden checkbox (for spam prevention)</label> </div> </div> <input data-drupal-selector="edit-form-open-time" type="hidden" name="form_open_time" value="MTcwMjMzMTYyNQ=="/> <div class="js-webform-states-hidden js-form-wrapper" data-drupal-states="{"visible":{".webform-submission-keolis-contact-us-form-node-51956-add-form :input[name=\u0022what_is_the_nature_of_your_contact\u0022]":{"value":"Get help with journey planning or timetables"}}}"> <div class="js-form-item form-item js-form-type-processed-text form-item- js-form-item- form-no-label" id="edit-journey-planning"> <h3>Get help with journey planning or timetables</h3> <p>The best way to get a quick answer to journey planning questions is get in touch with us on:</p> <ul><li>Whatsapp chat <a href="http://web.archive.org/web/20231211215346/tel: 07790 952 507">07790 952 507</a></li> <li>Twiter <a href="<https://twitter.com/tfwrail">@tfwrail</a></li>> <li>or to phone our customer support team on <a href="http://web.archive.org/web/20231211215346/tel: 03333 211 202">03333 211 202</a></li> </ul><p>You can see our opening times above<br/>聽</p> </div> </div> <input data-drupal-selector="edit-honeypot-time" type="hidden" name="honeypot_time" value="EWL26p0JZIR6HZR5xL_HaW1GHnsDtxO3ndrPNqB9JHM"/> <input autocomplete="off" data-drupal-selector="form-zncckhz3at0zc8tvcqgbxvomo8g70qtfxeoqn1uwgma" type="hidden" name="form_build_id" value="form-znCCkhZ3aT0zc8tvCqgBxvoMO8G70qTfXEoQn1uwGmA"/> <input data-drupal-selector="edit-webform-submission-keolis-contact-us-form-node-51956-add-form" type="hidden" name="form_id" value="webform_submission_keolis_contact_us_form_node_51956_add_form"/> <div class="url-textfield js-form-wrapper form-wrapper" style="display: none !important;"> <div class="js-form-item form-item js-form-type-textfield form-item-url js-form-item-url"> <label class="mdc-text-field mdc-text-field--outlined"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label" id="label-url">Leave this field blank</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input autocomplete="off" data-drupal-selector="edit-url" type="text" id="edit-url" name="url" value="" size="20" maxlength="128" class="form-text mdc-text-field__input"/> </label> </div> </div> </form> </div> </main> <aside> </aside> </div> </div> </article> </div> </div> </div> </div> </div> </main> <div class="mdc-layout-grid"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-12 site-footer__lower-container mobile-only"> <div class="site-footer__btt-section"> <a class="social-link" aria-label="Back to Top" href="#siteHeader"> <img role="presentation" src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-btt.svg"> <span>Back to top</span></a> </div> </div> </div> </div> <div class="mdc-layout-grid"> <section class="logo-bar desktop-only-flex"> <div class="logo-container tfw-logo"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/tfw.svg" alt="tfw"/> </div> <div class="logo-container wg-logo"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/wg-logo.svg" alt="" role="presentation"> </div> <div class=" logo-container dft-logo-en"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/DfT_3298_SML_AW.png" alt="" role="presentation"> </div> <div class=" logo-container er-logo"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/erdf-logo.png" alt="" role="presentation"> </div> </section> </div> <footer class="site-footer" role="contentinfo"> <div class="mdc-layout-grid footer-menus-container"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-2-tablet mdc-layout-grid__cell--span-4-phone"> <div> <nav role="navigation" aria-labelledby="block-ticketsandrailcards-menu" id="block-ticketsandrailcards"> <h2 id="block-ticketsandrailcards-menu">Top areas</h2> <ul> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/careers" data-drupal-link-system-path="node/27061">Careers</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel" data-drupal-link-system-path="node/28526">Ways to travel</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/service-status" data-drupal-link-system-path="node/28536">Service status</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us" data-drupal-link-system-path="node/28546">About Transport for Wales</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/projects" data-drupal-link-system-path="node/29246">Projects</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places" data-drupal-link-system-path="node/29241">Places and routes</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/stations" data-drupal-link-system-path="node/26">Find a station</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/popular-routes" data-drupal-link-system-path="node/17486">Popular routes</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/transparency/publications" data-drupal-link-system-path="node/27956">Publications</a> </li> </ul> </nav> </div> </div> <div class="mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-2-tablet mdc-layout-grid__cell--span-4-phone"> <div> <nav role="navigation" aria-labelledby="block-travelupdates-menu" id="block-travelupdates"> <h2 id="block-travelupdates-menu">Info for...</h2> <ul> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/passengers" data-drupal-link-system-path="node/28661">Passengers and travellers</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/young-travellers" data-drupal-link-system-path="node/28666">Young travellers</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/passengers/accessible-travel" data-drupal-link-system-path="node/29526">Accessible travel</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/over-60s" data-drupal-link-system-path="node/28671">Over 60s</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/kids-and-schools" data-drupal-link-system-path="node/28676">Kids and schools</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/visitors-and-tourists" data-drupal-link-system-path="node/28696">Visitors and tourists</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/communities" data-drupal-link-system-path="node/28681">Communities</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/job-hunters" data-drupal-link-system-path="node/28686">Job hunters</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/government-and-councils" data-drupal-link-system-path="node/28701">Government and councils</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/suppliers-and-partners" data-drupal-link-system-path="node/28711">Suppliers and partners</a> </li> </ul> </nav> </div> </div> <div class="mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-2-tablet mdc-layout-grid__cell--span-4-phone"> <div> <nav role="navigation" aria-labelledby="block-topdestinations-menu" id="block-topdestinations"> <h2 id="block-topdestinations-menu">Top destinations</h2> <ul> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/popular-routes" data-drupal-link-system-path="node/17486">Popular routes</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/destinations/aberystwyth" data-drupal-link-system-path="node/1086">Trains to Aberystwyth</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/destinations/cardiff" data-drupal-link-system-path="node/261">Trains to Cardiff</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/destinations/liverpool" data-drupal-link-system-path="node/1031">Trains to Liverpool</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/destinations/manchester" data-drupal-link-system-path="node/271">Trains to Manchester</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/destinations/shrewsbury" data-drupal-link-system-path="node/276">Trains to Shrewsbury</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/places/destinations/swansea" data-drupal-link-system-path="node/726">Trains to Swansea</a> </li> </ul> </nav> </div> </div> <div class="mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-2-tablet mdc-layout-grid__cell--span-4-phone"> <div> <nav role="navigation" aria-labelledby="block-policiesforpeople-menu" id="block-policiesforpeople"> <h2 id="block-policiesforpeople-menu">Policies for people</h2> <ul> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/accessibility-statement-tfwwales" data-drupal-link-system-path="node/31931">Accessibility statement</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/passengers/accessible-travel/policies-and-information" data-drupal-link-system-path="node/931">Accessible travel</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/bilingual-policy" data-drupal-link-system-path="node/461">Bilingual policy</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/our-culture/equality" data-drupal-link-system-path="node/27651">Equality and diversity</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/gender-pay-gap-report" data-drupal-link-system-path="node/31361">Gender Pay Gap report</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/modern-slavery-statement" data-drupal-link-system-path="node/30216">Modern Slavery Statement</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/sustainable-development-and-environment-policy" data-drupal-link-system-path="node/52771">Sustainable development and environment policy</a> </li> </ul> </nav> <nav role="navigation" aria-labelledby="block-usefullinks-menu" id="block-usefullinks"> <h2 id="block-usefullinks-menu">Useful links</h2> <ul> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/cycling/bikes-on-board" data-drupal-link-system-path="node/371">Bikes on board</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/info-for/passengers/accessible-travel/booking-assistance" data-drupal-link-system-path="node/361">Booking assisted travel</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/ways-to-travel/road/car-parks" data-drupal-link-system-path="node/221">Car parking</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us" data-drupal-link-system-path="node/28546">Corporate info</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/about-us/our-culture/safety/security" data-drupal-link-system-path="node/20906">Security</a> </li> </ul> </nav> </div> </div> </div> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-12 site-footer__lower-container"> <div class=""> <a class="social-link" aria-label="Social Media Link" href="/web/20231211215346/https://tfw.wales/social-media"> <div> <a aria-label="Social Media Link" href="/web/20231211215346/https://tfw.wales/social-media"> <div class="flex items-center"> <img role="presentation" src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-social-group.svg"> <span class="flex items-center pl-4 !text-[16px]">Connect with us on social media </span> </div> </a> </div> </div> <div> <div class="sm:flex sm:flex-row-reverse sm:justify-center sm:m-auto"> <span class="flex justify-center pb-4 sm:items-center sm:pb-0"> <h2 class="m-0 !text-[16px] font-normal text-black">Download our rail app</h2> </span> <div class="flex gap-4 justify-center px-4 max-w-sm mx-[auto]"> <div> <a href="http://web.archive.org/web/20231211215346/https://apps.apple.com/us/app/trc-tfw-cheap-train-tickets/id1589080838" rel="nofollow"> <img class="block" aria-hidden="true" src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/assets/images/apple-app-icon.png" alt="Download our TfW Rail App on the Apple App Store"> <span class="sr-only"> Download our TfW Rail App on the Apple App Store </span> </a> </div> <div> <a href="http://web.archive.org/web/20231211215346/https://play.google.com/store/apps/details?id=wales.tfw.rail.app" rel="nofollow"> <img class="block" aria-hidden="true" src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/assets/images/google-app-icon.png" alt="Download our TfW Rail App on the Google Play Store"> <span class="sr-only"> Download our TfW Rail App on the Google Play Store </span> </a> </div> </div> </div> </div> <div class="desktop-only"> <a class="" aria-label="Back to top" href="#siteHeader"> <div class="flex items-center justify-end"> <div class=""> <svg class="rounded-full shadow" xmlns="http://www.w3.org/2000/svg" width="40" height="40"><g fill="none"><path d="M0 20C0 8.954 8.954 0 20 0s20 8.954 20 20-8.954 20-20 20S0 31.046 0 20z" fill="#FFFFFF"/><path fill="#333" d="M12 20l1.41 1.41L19 15.83V28h2V15.83l5.58 5.59L28 20l-8-8z"/></g></svg> </div> <span class="px-4">Back to top</span> </div> </a> </div> </div> </div> </div> <section class="logo-bar mobile-only-flex"> <div class="logo-container tfw-logo"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/tfw.svg" alt="tfw"/> </div> <div class="logo-container wg-logo"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/wg-logo.svg" alt="" role="presentation"> </div> <div class=" logo-container dft-logo-en"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/DfT_3298_SML_AW.png" alt="" role="presentation"> </div> <div class=" logo-container er-logo"> <img src="/web/20231211215346im_/https://tfw.wales/themes/custom/one_domain/dist/img/erdf-logo.png" alt="" role="presentation"> </div> </section> <div class="site-footer__bottom-container"> <div class="mdc-layout-grid"> <div class="mdc-layout-grid__inner"> <div class="copyright mdc-layout-grid__cell--span-7-desktop mdc-layout-grid__cell--span-4-tablet mdc-layout-grid__cell--span-4-phone "> <p>漏 2023 TfW</p> <a class="legal-text" href="/web/20231211215346/https://tfw.wales/transport-wales" rel="nofollow">Transport for Wales Ltd - Registered in England and Wales under number 09476013 at Llys Cadwyn, Pontypridd, CF37 4TH</a> </div> <div class="menu-cont mdc-layout-grid__cell--span-5-desktop mdc-layout-grid__cell--span-4-tablet mdc-layout-grid__cell--span-4-phone "> <div class="bottom-footer-menu"> <div> <nav role="navigation" aria-labelledby="block-bottomfootermenu-menu" id="block-bottomfootermenu"> <h2 class="visually-hidden" id="block-bottomfootermenu-menu">Bottom Footer Menu</h2> <ul> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/cookie-policy" data-drupal-link-system-path="node/476">Cookie policy</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/website-privacy-statement" data-drupal-link-system-path="node/30291">Privacy policy</a> </li> <li> <a href="http://web.archive.org/web/20231211215346/https://tfw.wales/terms-and-conditions" data-drupal-link-system-path="node/30296">Terms and conditions</a> </li> </ul> </nav> </div> </div> </div> </div> </div> </div> </footer> </div> </div> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","scriptPath":null,"pathPrefix":"","currentPath":"node\/51956","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"gtm":{"tagId":null,"settings":{"data_layer":"dataLayer","include_classes":false,"allowlist_classes":"","blocklist_classes":"","include_environment":false,"environment_id":"","environment_token":""},"tagIds":["GTM-T34X6QX"]},"gtag":{"tagId":"","otherIds":[],"events":[],"additionalConfigInfo":[]},"ajaxPageState":{"libraries":"captcha\/base,cookies\/cookiesjsr,cookies_gtag\/gtag,core\/drupal.states,google_tag\/gtag,google_tag\/gtag.ajax,google_tag\/gtm,keolis_layout_blocks\/keo-pidd,keolis_layout_blocks\/language_switcher,keolis_meganav\/keolis_meganav.library,keolis_webform_overwrites\/webform_overwrites.library,keolis_webform_spam_prevention\/keolis_webform_spam_prevention.checkbox,layout_discovery\/onecol,one_domain\/global-js,one_domain\/global-styling,pca_webform\/element.pca_webform.address.js,system\/base,webform\/webform.composite,webform\/webform.css.keolis_contact_us_form,webform\/webform.element.counter,webform\/webform.element.details.save,webform\/webform.element.details.toggle,webform\/webform.element.message,webform\/webform.element.message.info,webform\/webform.element.options,webform\/webform.element.select,webform\/webform.form","theme":"one_domain","theme_token":null},"ajaxTrustedUrl":{"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM":true},"feature_toggle":{"enabled":["send_nre_station_data_to_xtm"]},"loqate":{"loqate":{"key":"UH78-AZ19-UA44-GG75"}},"cookies":{"cookiesjsr":{"config":{"cookie":{"name":"cookiesjsr","expires":31536000000,"domain":"","sameSite":"Lax","secure":false},"library":{"libBasePath":"\/libraries\/cookiesjsr\/dist","libPath":"\/libraries\/cookiesjsr\/dist\/cookiesjsr.min.js","scrollLimit":0},"callback":{"method":"post","url":"\/cookies\/example\/callback.json","headers":[]},"interface":{"openSettingsHash":"#editCookieSettings","showDenyAll":true,"denyAllOnLayerClose":false,"settingsAsLink":false,"availableLangs":["en","cy"],"defaultLang":"en","groupConsent":true,"cookieDocs":true}},"services":{"default":{"id":"default","services":[{"key":"base","type":"default","name":"Required cookies","info":{"value":"\u003Ctable\u003E\r\n\t\u003Cthead\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Cth width=\u002215%\u0022\u003ECookie name\u003C\/th\u003E\r\n\t\t\t\u003Cth width=\u002215%\u0022\u003EDefault expiration time\u003C\/th\u003E\r\n\t\t\t\u003Cth\u003EDescription\u003C\/th\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\u003C\/thead\u003E\r\n\t\u003Ctbody\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Ctd\u003E\u003Ccode dir=\u0022ltr\u0022 translate=\u0022no\u0022\u003ESSESS\u0026lt;ID\u0026gt;\u003C\/code\u003E\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003E1 month\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003EIf you are logged in to this website, a session cookie is required to identify and connect your browser to your user account in the server backend of this website.\u003C\/td\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Ctd\u003E\u003Ccode dir=\u0022ltr\u0022 translate=\u0022no\u0022\u003Ecookiesjsr\u003C\/code\u003E\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003E1 year\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003EWhen you visited this website for the first time, you were asked for your permission to use several services (including those from third parties) that require data to be saved in your browser (cookies, local storage). Your decisions about each service (allow, deny) are stored in this cookie and are reused each time you visit this website.\u003C\/td\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\u003C\/tbody\u003E\r\n\u003C\/table\u003E\r\n","format":"full_html"},"uri":"","needConsent":false}],"weight":1},"tracking":{"id":"tracking","services":[{"key":"recaptcha","type":"tracking","name":"reCAPTCHA","info":{"value":"","format":"full_html"},"uri":"","needConsent":true}],"weight":10},"performance":{"id":"performance","services":[{"key":"gtag","type":"performance","name":"Google Tag Manager","info":{"value":"","format":"full_html"},"uri":"","needConsent":true}],"weight":30}},"translation":{"_core":{"default_config_hash":"C8aQz-3d6YpwuU4QQc1iaWHb3RDkc_C9qcEsgR7HR74"},"langcode":"en","bannerText":"In order to give you the best experience we have set our website to allow cookies. By continuing, you agree that you are happy for us to use these cookies.\r\n\r\nTo change your cookie settings for our website please select \u201cCookie settings\u201d","privacyPolicy":"Privacy policy","privacyUri":"http:\/\/web.archive.org\/web\/20231211215346\/https:\/\/tfw.wales\/website-privacy-statement","imprint":"","imprintUri":"","cookieDocs":"","cookieDocsUri":"","denyAll":"","alwaysActive":"Always active","settings":"Cookie settings","acceptAll":"Accept all","requiredCookies":"Required cookies","cookieSettings":"Cookie settings","close":"Close","readMore":"Read more","allowed":"allowed","denied":"denied","settingsAllServices":"Settings for all services","saveSettings":"Save","default_langcode":"en","disclaimerText":"All cookie information is subject to change by the service providers. We update this information regularly.","disclaimerTextPosition":"above","processorDetailsLabel":"Processor Company Details","processorLabel":"Company","processorWebsiteUrlLabel":"Company Website","processorPrivacyPolicyUrlLabel":"Company Privacy Policy","processorCookiePolicyUrlLabel":"Company Cookie Policy","processorContactLabel":"Data Protection Contact Details","placeholderAcceptAllText":"Accept All Cookies","officialWebsite":"View official website","default":{"title":"What are Cookies?","details":"Cookies are small text files that are placed by your browser on your device in order to store certain information. Using the information that is stored and returned, a website can recognize that you have previously accessed and visited it using the browser on your end device. We use this information to arrange and display the website optimally in accordance with your preferences. Within this process, only the cookie itself is identified on your device. Personal data is only stored following your express consent or where this is absolutely necessary to enable use the service provided by us and accessed by you."},"tracking":{"title":"Tracking cookies","details":"Marketing cookies come from external advertising companies (\u0022third-party cookies\u0022) and are used to collect information about the websites visited by the user. The purpose of this is to create and display target group-oriented content and advertising for the user."},"performance":{"title":"Performance Cookies","details":"Performance cookies collect aggregated information about how our website is used. The purpose of this is to improve its attractiveness, content and functionality. These cookies help us to determine whether, how often and for how long particular sub-pages of our website are accessed and which content users are particularly interested in. Search terms, country, region and (where applicable) the city from which the website is accessed are also recorded, as is the proportion of mobile devices that are used to access the website. We use this information to compile statistical reports that help us tailor the content of our website to your needs and optimize our offer."}}},"cookiesTexts":{"_core":{"default_config_hash":"C8aQz-3d6YpwuU4QQc1iaWHb3RDkc_C9qcEsgR7HR74"},"langcode":"en","bannerText":"In order to give you the best experience we have set our website to allow cookies. By continuing, you agree that you are happy for us to use these cookies.\r\n\r\nTo change your cookie settings for our website please select \u201cCookie settings\u201d","privacyPolicy":"Privacy policy","privacyUri":"\/node\/30291","imprint":"","imprintUri":"","cookieDocs":"","cookieDocsUri":"","denyAll":"","alwaysActive":"Always active","settings":"Cookie settings","acceptAll":"Accept all","requiredCookies":"Required cookies","cookieSettings":"Cookie settings","close":"Close","readMore":"Read more","allowed":"allowed","denied":"denied","settingsAllServices":"Settings for all services","saveSettings":"Save","default_langcode":"en","disclaimerText":"All cookie information is subject to change by the service providers. We update this information regularly.","disclaimerTextPosition":"above","processorDetailsLabel":"Processor Company Details","processorLabel":"Company","processorWebsiteUrlLabel":"Company Website","processorPrivacyPolicyUrlLabel":"Company Privacy Policy","processorCookiePolicyUrlLabel":"Company Cookie Policy","processorContactLabel":"Data Protection Contact Details","placeholderAcceptAllText":"Accept All Cookies","officialWebsite":"View official website"},"services":{"base":{"uuid":"0fbacba6-203d-4fe9-9b5d-6aebbf42a275","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"XM4JB6AQPEeejASzikI0SZ5bJNvp4j6qJ9Ri1kK7vyw"},"id":"base","label":"Required cookies","group":"default","info":{"value":"\u003Ctable\u003E\r\n\t\u003Cthead\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Cth width=\u002215%\u0022\u003ECookie name\u003C\/th\u003E\r\n\t\t\t\u003Cth width=\u002215%\u0022\u003EDefault expiration time\u003C\/th\u003E\r\n\t\t\t\u003Cth\u003EDescription\u003C\/th\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\u003C\/thead\u003E\r\n\t\u003Ctbody\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Ctd\u003E\u003Ccode dir=\u0022ltr\u0022 translate=\u0022no\u0022\u003ESSESS\u0026lt;ID\u0026gt;\u003C\/code\u003E\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003E1 month\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003EIf you are logged in to this website, a session cookie is required to identify and connect your browser to your user account in the server backend of this website.\u003C\/td\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Ctd\u003E\u003Ccode dir=\u0022ltr\u0022 translate=\u0022no\u0022\u003Ecookiesjsr\u003C\/code\u003E\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003E1 year\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003EWhen you visited this website for the first time, you were asked for your permission to use several services (including those from third parties) that require data to be saved in your browser (cookies, local storage). Your decisions about each service (allow, deny) are stored in this cookie and are reused each time you visit this website.\u003C\/td\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\u003C\/tbody\u003E\r\n\u003C\/table\u003E\r\n","format":"full_html"},"consentRequired":false,"purpose":"","processor":"","processorContact":"","processorUrl":"","processorPrivacyPolicyUrl":"","processorCookiePolicyUrl":"","placeholderMainText":"This content is blocked because Required cookies cookies have not been accepted.","placeholderAcceptText":"Only accept Required cookies cookies."},"gtag":{"uuid":"13110851-6ce2-4d67-bb04-4334cd8d41cf","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"cqbQDWvg17Bh-c7-1_WxErWNtcOfbeS70HdFPseBTKE"},"id":"gtag","label":"Google Tag Manager","group":"performance","info":{"value":"","format":"full_html"},"consentRequired":true,"purpose":"","processor":"","processorContact":"","processorUrl":"","processorPrivacyPolicyUrl":"","processorCookiePolicyUrl":"","placeholderMainText":"This content is blocked because Google Tag Manager cookies have not been accepted.","placeholderAcceptText":"Only accept Google Tag Manager cookies."},"recaptcha":{"uuid":"94a086b8-df63-4ddd-aa70-cffdf34a76ce","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"KjF0zxDenAn5XBAqISi0iAaVN9XTCDtOoMez23BR7rM"},"id":"recaptcha","label":"reCAPTCHA","group":"tracking","info":{"value":"","format":"full_html"},"consentRequired":true,"purpose":"","processor":"","processorContact":"","processorUrl":"","processorPrivacyPolicyUrl":"","processorCookiePolicyUrl":"","placeholderMainText":"This content is blocked because reCAPTCHA cookies have not been accepted.","placeholderAcceptText":"Only accept reCAPTCHA cookies."}},"groups":{"default":{"uuid":"234f6dd4-df58-40ba-aeef-5d1057756794","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"MWjA0PCPcQbODMR7UjJxq4hK8JzyYy4zZeQmmQVjC3M"},"id":"default","label":"Default","weight":1,"title":"What are Cookies?","details":"Cookies are small text files that are placed by your browser on your device in order to store certain information. Using the information that is stored and returned, a website can recognize that you have previously accessed and visited it using the browser on your end device. We use this information to arrange and display the website optimally in accordance with your preferences. Within this process, only the cookie itself is identified on your device. Personal data is only stored following your express consent or where this is absolutely necessary to enable use the service provided by us and accessed by you."},"functional":{"uuid":"c3964d03-f05d-4e69-a3db-08430c7d4ed2","langcode":"en","status":true,"dependencies":[],"id":"functional","label":"Functional","weight":1,"title":"Functional","details":"Cookies are small text files that are placed by your browser on your device in order to store certain information. Using the information that is stored and returned, a website can recognize that you have previously accessed and visited it using the browser on your end device. We use this information to arrange and display the website optimally in accordance with your preferences. Within this process, only the cookie itself is identified on your device. Personal data is only stored following your express consent or where this is absolutely necessary to enable use the service provided by us and accessed by you."},"performance":{"uuid":"5bce227e-59c8-4532-81c7-82a1756bd1da","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"Jv3uIJviBj7D282Qu1ZpEQwuOEb3lCcDvx-XVHeOJpw"},"id":"performance","label":"Performance","weight":30,"title":"Performance Cookies","details":"Performance cookies collect aggregated information about how our website is used. The purpose of this is to improve its attractiveness, content and functionality. These cookies help us to determine whether, how often and for how long particular sub-pages of our website are accessed and which content users are particularly interested in. Search terms, country, region and (where applicable) the city from which the website is accessed are also recorded, as is the proportion of mobile devices that are used to access the website. We use this information to compile statistical reports that help us tailor the content of our website to your needs and optimize our offer."},"social":{"uuid":"b99946bc-fede-449c-9ae7-ca5eb7653081","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"vog2tbqqQHjVkue0anA0RwlzvOTPNTvP7_JjJxRMVAQ"},"id":"social","label":"Social Plugins","weight":20,"title":"Social Plugins","details":"Comments managers facilitate the filing of comments and fight against spam."},"tracking":{"uuid":"75bf8cce-ebe2-48c0-af09-67327ed54a0a","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"_gYDe3qoEc6L5uYR6zhu5V-3ARLlyis9gl1diq7Tnf4"},"id":"tracking","label":"Tracking","weight":10,"title":"Tracking cookies","details":"Marketing cookies come from external advertising companies (\u0022third-party cookies\u0022) and are used to collect information about the websites visited by the user. The purpose of this is to create and display target group-oriented content and advertising for the user."},"video":{"uuid":"ccbe796b-48c5-4b52-afd5-c46abf7befd0","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"w1WnCmP2Xfgx24xbx5u9T27XLF_ZFw5R0MlO-eDDPpQ"},"id":"video","label":"Videos","weight":40,"title":"Video","details":"Video sharing services help to add rich media on the site and increase its visibility."}}},"qtt":{"promo":""},"user":{"uid":0,"permissionsHash":"27d4f3b560eda86e6fa9ae6f7d9ed095200e8ffad89621c936f0b6370d569b8f"}}</script> <script src="/web/20231211215346js_/https://tfw.wales/sites/default/files/js/js_KSh890BR6kS385rWjQR9BbL6PS8XMtS2viw3W2FBlpQ.js?scope=footer&delta=0&language=en&theme=one_domain&include=eJyFU-F6gyAMfCEHD7MH4IuYUlogjERb337xq27tatc_xiTHeXIJzyyYbQ-MHRV0A2WIxYZEPaQPljnFEnY6J-48NbRDGyukTxRRHHeJPCS00qBwAolUFhydI7ILAsEujy4QhYTulufHVNt3xKY2Cg2Z_4IMnOD6gDxQy90F-yXaNZoejzBFag9qDQsI8hP4RXmX2DObM1KK7DwVAS9uZLcLxYQZi5gBBWJiwzDhW5BQ0N_t1k-sKEcTtkuLqtI-l0yKfYM2_z3EFbKrDSflV0Ps_23jj-jPPV1fSsxqBwTsPFTxR7jNzhuwieVAOh1fesP2plNHwlQPBoZhMdjoRGm6ybIbwV3tHvrkB-VKrNfwUgnV2zhu_V8Vp68R22wEr-JpLILtJcm7PuuLly7BTKO4IbJf_JmtLpCntK2CXeOJmzKWw059M3Fl6nWxzrxY91HjMOx3E5Qw6mU7vkR1Bn9IMgYoMNnHdJuXb4RgktQ"></script> <script src="/web/20231211215346js_/https://tfw.wales/modules/custom/keolis_layout_blocks/js/vendor/vue.min.js?s4h95w"></script> <script src="/web/20231211215346js_/https://tfw.wales/sites/default/files/js/js__xlekBt84MP9OeXo8teqJ57tfLpMLviSPr_HRMhJVoE.js?scope=footer&delta=2&language=en&theme=one_domain&include=eJyFU-F6gyAMfCEHD7MH4IuYUlogjERb337xq27tatc_xiTHeXIJzyyYbQ-MHRV0A2WIxYZEPaQPljnFEnY6J-48NbRDGyukTxRRHHeJPCS00qBwAolUFhydI7ILAsEujy4QhYTulufHVNt3xKY2Cg2Z_4IMnOD6gDxQy90F-yXaNZoejzBFag9qDQsI8hP4RXmX2DObM1KK7DwVAS9uZLcLxYQZi5gBBWJiwzDhW5BQ0N_t1k-sKEcTtkuLqtI-l0yKfYM2_z3EFbKrDSflV0Ps_23jj-jPPV1fSsxqBwTsPFTxR7jNzhuwieVAOh1fesP2plNHwlQPBoZhMdjoRGm6ybIbwV3tHvrkB-VKrNfwUgnV2zhu_V8Vp68R22wEr-JpLILtJcm7PuuLly7BTKO4IbJf_JmtLpCntK2CXeOJmzKWw059M3Fl6nWxzrxY91HjMOx3E5Qw6mU7vkR1Bn9IMgYoMNnHdJuXb4RgktQ"></script> <script src="/web/20231211215346js_/https://tfw.wales/modules/contrib/google_tag/js/gtm.js?s4h95w" type="text/plain" id="cookies_gtag_gtm" data-cookieconsent="gtag"></script> <script src="/web/20231211215346js_/https://tfw.wales/modules/contrib/google_tag/js/gtag.js?s4h95w" type="text/plain" id="cookies_gtag_gtag" data-cookieconsent="gtag"></script> <script src="/web/20231211215346js_/https://tfw.wales/sites/default/files/js/js_uqD-R-O8OIeQxWPxzx8hyWurCXOjuOCI7WOsCmioj7E.js?scope=footer&delta=5&language=en&theme=one_domain&include=eJyFU-F6gyAMfCEHD7MH4IuYUlogjERb337xq27tatc_xiTHeXIJzyyYbQ-MHRV0A2WIxYZEPaQPljnFEnY6J-48NbRDGyukTxRRHHeJPCS00qBwAolUFhydI7ILAsEujy4QhYTulufHVNt3xKY2Cg2Z_4IMnOD6gDxQy90F-yXaNZoejzBFag9qDQsI8hP4RXmX2DObM1KK7DwVAS9uZLcLxYQZi5gBBWJiwzDhW5BQ0N_t1k-sKEcTtkuLqtI-l0yKfYM2_z3EFbKrDSflV0Ps_23jj-jPPV1fSsxqBwTsPFTxR7jNzhuwieVAOh1fesP2plNHwlQPBoZhMdjoRGm6ybIbwV3tHvrkB-VKrNfwUgnV2zhu_V8Vp68R22wEr-JpLILtJcm7PuuLly7BTKO4IbJf_JmtLpCntK2CXeOJmzKWw059M3Fl6nWxzrxY91HjMOx3E5Qw6mU7vkR1Bn9IMgYoMNnHdJuXb4RgktQ"></script> <script src="http://web.archive.org/web/20231211215346js_/https://services.postcodeanywhere.co.uk/js/address-3.91.js"></script> <script src="/web/20231211215346js_/https://tfw.wales/sites/default/files/js/js_S4awT6kwPkAQKCuHW-tYOiuAw4yEhp-VAY4BSRCLPZs.js?scope=footer&delta=7&language=en&theme=one_domain&include=eJyFU-F6gyAMfCEHD7MH4IuYUlogjERb337xq27tatc_xiTHeXIJzyyYbQ-MHRV0A2WIxYZEPaQPljnFEnY6J-48NbRDGyukTxRRHHeJPCS00qBwAolUFhydI7ILAsEujy4QhYTulufHVNt3xKY2Cg2Z_4IMnOD6gDxQy90F-yXaNZoejzBFag9qDQsI8hP4RXmX2DObM1KK7DwVAS9uZLcLxYQZi5gBBWJiwzDhW5BQ0N_t1k-sKEcTtkuLqtI-l0yKfYM2_z3EFbKrDSflV0Ps_23jj-jPPV1fSsxqBwTsPFTxR7jNzhuwieVAOh1fesP2plNHwlQPBoZhMdjoRGm6ybIbwV3tHvrkB-VKrNfwUgnV2zhu_V8Vp68R22wEr-JpLILtJcm7PuuLly7BTKO4IbJf_JmtLpCntK2CXeOJmzKWw059M3Fl6nWxzrxY91HjMOx3E5Qw6mU7vkR1Bn9IMgYoMNnHdJuXb4RgktQ"></script> <script src="/web/20231211215346js_/https://tfw.wales/modules/contrib/cookies/js/cookiesjsr.conf.js?v=10.1.6"></script> <script src="/web/20231211215346js_/https://tfw.wales/libraries/cookiesjsr/dist/cookiesjsr-preloader.min.js?v=10.1.6" defer></script> <script src="/web/20231211215346js_/https://tfw.wales/sites/default/files/js/js_N0Hxe5cZ3yXGRh-vr9lCTD0xrQll9VSPRZfFOTDOI0w.js?scope=footer&delta=10&language=en&theme=one_domain&include=eJyFU-F6gyAMfCEHD7MH4IuYUlogjERb337xq27tatc_xiTHeXIJzyyYbQ-MHRV0A2WIxYZEPaQPljnFEnY6J-48NbRDGyukTxRRHHeJPCS00qBwAolUFhydI7ILAsEujy4QhYTulufHVNt3xKY2Cg2Z_4IMnOD6gDxQy90F-yXaNZoejzBFag9qDQsI8hP4RXmX2DObM1KK7DwVAS9uZLcLxYQZi5gBBWJiwzDhW5BQ0N_t1k-sKEcTtkuLqtI-l0yKfYM2_z3EFbKrDSflV0Ps_23jj-jPPV1fSsxqBwTsPFTxR7jNzhuwieVAOh1fesP2plNHwlQPBoZhMdjoRGm6ybIbwV3tHvrkB-VKrNfwUgnV2zhu_V8Vp68R22wEr-JpLILtJcm7PuuLly7BTKO4IbJf_JmtLpCntK2CXeOJmzKWw059M3Fl6nWxzrxY91HjMOx3E5Qw6mU7vkR1Bn9IMgYoMNnHdJuXb4RgktQ"></script> <script src="/web/20231211215346js_/https://tfw.wales/themes/custom/one_domain/src/js/flatpickr.js"></script> <script src="/web/20231211215346js_/https://tfw.wales/themes/custom/one_domain/dist/scripts.min.js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.eu01.nr-data.net","licenseKey":"NRJS-34dae6faa52b003b8b9","applicationID":"530256513","transactionName":"MhBSZQoZCkRQWkdZXgtacVIMEQtZHn1BRUEEGWxfFxwBa3JWXURDChlcVAokKlhVXGVZVBI2X18MCgtbXVxBHQ8THFVG","queueTime":5,"applicationTime":1059,"atts":"HldRE0IDGUo=","errorBeacon":"bam.eu01.nr-data.net","agent":""}</script></body> </html> <!-- FILE ARCHIVED ON 21:53:46 Dec 11, 2023 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 04:47:46 Nov 27, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.572 exclusion.robots: 0.026 exclusion.robots.policy: 0.015 esindex: 0.011 cdx.remote: 18.171 LoadShardBlock: 167.265 (3) PetaboxLoader3.datanode: 94.552 (4) PetaboxLoader3.resolve: 3241.852 (3) load_resource: 3199.013 -->