Adam Williams
Established Member
I wanted somewhere to rant about this Delay Repay portal, because it's bloody awful and public shaming can occasionally be effective in persuading suppliers to get their act together. I have had no luck complaining to train operators about how bad the portal is.
Broken email links
"Delay Repay Claim Review - Action Required" emails include a journey history link. These include a claimrefno query string parameter - great, it saves the customer re-typing it! Except, the page itself is expecting a base64-encoded "Claim Reference Number" (example) rather than what the email template is using. It still tries to decode it and fill in the textarea nonetheless, leading to binary garbage in the input field.
Customers must waste their time backspacing the data in the field and re-entering it because Tracsis are not capable of generating a link in the format their own system accepts.

There really is no reason for it to be base64 encoded. I suspect it was done because the claim reference numbers include forward slashes, but we fixed this problem decades ago with %-encoding.
Not asking customers for details, and then gaslighting them by complaining that details are missing the next day
This one does my head in. You've spent ten minutes filling in all the details the form asks for, you submit it with the uploaded ticket PDF and then afterwards you get this email back:


All of this data is literally encoded in the barcode/stored in LSM (the Ticket on Departure Live Sales Management System). Why the **** are you wasting my time asking me to provide it? Why the **** didn't you require me to provide them when I first filled out the form...?
A cynic would suggest that this is all just a deliberate strategy to cause customer claims to be abandoned because the whole thing is SO MUCH EFFORT for no reason.
Why are you making me enter the UTN (the Unique Ticket Number)? It's literally in the payload of the barcode in the PDF I just uploaded.

Stop being so bloody lazy and outsourcing data-entry work to the paying passenger. It would be less than half a day of work to extract this from the Aztec payload.
Why is there a 6 ticket limit for Delay Repay claims?

No database index for UTN lookups?
If the customer, quite legitimately, claims for a ticket that was issued on the same day of the claim, the details won't have been written to LENNON, the sales system, yet. This is quite normal.
Why though, does the util.getsalesDataFromSales call sometimes take tens of seconds to return back a response to the user? What on earth is it doing (other than wasting my time) - is it doing a full table scan? This shouldn't take more than 500ms.

Is this really the best experience the industry has to offer to customers who have already been inconvenienced? Have some pride in your work.
Broken email links
"Delay Repay Claim Review - Action Required" emails include a journey history link. These include a claimrefno query string parameter - great, it saves the customer re-typing it! Except, the page itself is expecting a base64-encoded "Claim Reference Number" (example) rather than what the email template is using. It still tries to decode it and fill in the textarea nonetheless, leading to binary garbage in the input field.
Customers must waste their time backspacing the data in the field and re-entering it because Tracsis are not capable of generating a link in the format their own system accepts.

There really is no reason for it to be base64 encoded. I suspect it was done because the claim reference numbers include forward slashes, but we fixed this problem decades ago with %-encoding.
Not asking customers for details, and then gaslighting them by complaining that details are missing the next day
This one does my head in. You've spent ten minutes filling in all the details the form asks for, you submit it with the uploaded ticket PDF and then afterwards you get this email back:


All of this data is literally encoded in the barcode/stored in LSM (the Ticket on Departure Live Sales Management System). Why the **** are you wasting my time asking me to provide it? Why the **** didn't you require me to provide them when I first filled out the form...?
A cynic would suggest that this is all just a deliberate strategy to cause customer claims to be abandoned because the whole thing is SO MUCH EFFORT for no reason.
Why are you making me enter the UTN (the Unique Ticket Number)? It's literally in the payload of the barcode in the PDF I just uploaded.

Stop being so bloody lazy and outsourcing data-entry work to the paying passenger. It would be less than half a day of work to extract this from the Aztec payload.
Why is there a 6 ticket limit for Delay Repay claims?

No database index for UTN lookups?
If the customer, quite legitimately, claims for a ticket that was issued on the same day of the claim, the details won't have been written to LENNON, the sales system, yet. This is quite normal.
Why though, does the util.getsalesDataFromSales call sometimes take tens of seconds to return back a response to the user? What on earth is it doing (other than wasting my time) - is it doing a full table scan? This shouldn't take more than 500ms.

Is this really the best experience the industry has to offer to customers who have already been inconvenienced? Have some pride in your work.
Last edited:














