It’s a combination of shitty DB and system architecture design (or more likely, sensible DB and system architecture design that has moved ungracefully into a future it never envisioned) and risk modeling policy decisions.
For example, when I was working on one travel notification system (this would have involved debit cards, not credit cards). One of the systems involved, external to my company but one that absolutely had to be used had no ability to store future dates. Foreign travel notification is either simply on or off. I do not know why, but none of the people who work there are idiots so I assume there were good reasons for it at the time.
So the choice was to either:
- Find another vendor and spend millions of dollars switching to them.
- Try to insist that the vendor upgrade in this way and probably end up paying for that (and hope they do it right and on a schedule that is useful to us).
- Build an infrastructure on our side to store this information. Which sounds easy (and is, relatively speaking) but also would cost a lot more than you’d expect. For various stupid (though sensible intially) reasons there are actually a half dozen systems that can take travel notifications, each of which will need to be update and then it just becomes a permanent part of the ecosystem which has to be maintained, tested, etc., and is prone to breaking if that vendor ever changes their system in an unexpected way.
- Find the best customer tradeoff for working within the existing system. Which is even more attractive when the other options are compared against an issue with a very difficult business case (1% of customers will ever even submit a travel notification and only 5% of those will try to do so more than X days before travel and the risk monitoring will only reject Y% of transactions without a notification).
And so, “shitty DB design” results in a confusing policy decision to allow people to submit a travel notification only a week in advance since in reality that will immediately be transmitted to that vendor which will immediately apply it even though the customer said they won’t actually be traveling for another five days.
The customer experience isn’t as crappy as it could be (we didn’t require they wait until they’d landed at their destination), but not remotely close to ideal. And we were able to implement the ability to do even do it for a cost that allowed it to be done. And from the customer experience point of view it just ends up looking like thoughtless stupidity.
live with that or build a separate structure internally just for storing that information and then transmitting it at the appropriate time. Which isn’t a horribly complex proposal but also isn’t as cheap as most would expect. So a very short lead time limit was imposed because what would actually happen is the customer would say “I’ll be traveling internationally beginning on Monday” and it would get transmitted immediately to that system as “This person is now traveling internationally.”
That 3-day window was viewed as risk acceptable between having the fraud monitoring turned off excessively (and thus increasing our exposure) versus the customer experience hit. Another consideration is that while a small population will take the effort to inform us that they’ll be traveling, almost nobody will take the effort to inform us when those plans are canceled and keeping the window relatively short is a policy decision to minimize issues around that.
Like I said above, customer may not agree with the decisions, and there is a lot of stupidity (though often it wasn’t stupid when it was first created) on how core banking systems are architected because many of them are pretty old, and their hard to change in fundamental ways due to backwards compatibility requirements and there’s a certain reticence to risk even a transient failure of the risk monitoring system to give the 0.002% of the customer base that would use it the ability to submit travel notifications at an indefinite distance in the future. Sure that risk is very small, but so is the benefit (to anybody), and if realized the damage is potentially very large.
Then add to that a roadmap that makes it look like travel notifications won’t be needed at all in just a few years to that effort would be redundant.