{#if isExpanded && details}
{#if service.ct} Cancelled throughout {/if} {#if details.header.cr} {details.header.cr} {#if details.header.cl} {details.header.cn ? ' near ' : ' at '} {/if} {/if} {#if details.header.dr} {details.header.dr} {#if details.header.dl} {details.header.dn ? ' near ' : ' at '} {details.header.dl} {/if} {/if} {#if details.pis}
{details.pis.code}
{/if}

Times in yellow are estimates

{#each details.locations as loc} {#if loc.r == 'PASS'} {:else} {/if} {#if loc} {@const delay = calculateDelay(loc)} {/if} {#if loc.act && getRelevantActivities(loc.act).length > 0} {/if} {/each}
Arr Dep
Location Plat Sch Act Sch Act
{loc.t} {loc.p}Pass {formatUkTime(loc.wtp)} {formatUkTime(loc.atp || loc.etp || '--')}{formatUkTime(loc.pta || loc.wta || '--')} {formatUkTime(loc.ata || loc.eta || '--')} {formatUkTime(loc.ptd || loc.wtd || '--')} {formatUkTime(loc.atd || loc.etd || '--')}{delay.val}
{#each getRelevantActivities(loc.act) as note} {note} {/each}
{/if}