Could even do offline simple verification of payment with the debit/credit happening at a later time.
I think you'll find that it varies throughout the world. In Sweden, I've been to a couple of restaurants when their payment network was down and had it not been for them also being hooked up to the Swish app (which is connected to a separate payment network), no one during those lunch seatings would've been able to pay at all (both of these were cash-less restaurants, which are super common in Sweden, where almost no one uses cash anymore, sadly*).
Just to give you a picture of how seldom we come into contact with cash here: The Swedish Central Bank redesigned the artwork and form factor of the hard currency here, I think even introduced some new denominations, back in 2015. 6 years later, I still haven't seen or touched one of these new bills or coins out in the wild. That's how much people use cash here.
*: I may lament it, but I'm the same. It's so damn convenient, but I am of course aware of the drawbacks.
The modern ones have these portable card terminals that are chip+PIN only. These customers would have to come back another day to pay.
Visa and MasterCard EMV have offline transactions baked in. Your bank could disable it on your card, but then you wouldn’t be able to buy a beer on an airplane.
I’m not sure if all terminals can be configured this way (or more likely, if anyone nearby would know how), but the functionality is baked into the visa and MasterCard standards.
But it seems like there’s only a few manufacturers of payment terminals out there and they just interface to the POS.
Here’s a popular US/Canadian restaurant software with instructions on how to put your payment terminal into store-and-forward mode when network/wifi goes down: https://www.touchbistro.com/help-articles/offline-payments-i...
I guess the cryptographic verification is slow, at least for that particular implementation.
So, in the former, catching up is much harder - you might need to take an inventory if the outage is lengthy, which is a PITA. The requirements probably didn't include offline mode.
It isn't that long since i've seen Norwegian cashier machines running in offline mode. While Norway isn't Sweden. I'm under the impression that our payments systems are almost identical.
But as we see here it doesn’t matter whether I use cash since stores close when the systems go offline anyway. I doubt they’d even set up a cash fallback if this continues for months.
When you buy food/beer on a plane/train, this is probably happening. Ryanair would rather eat the cost of a fraudulent payment than pay for data and slow down their salespeople.
[1]. https://www.coop.se/butiker-erbjudanden/vara-butiker/
[2]. https://sv.wikipedia.org/wiki/Coop_Butiker_%26_Stormarknader
offline-first PWA
Manual fallback option when the most predictable failure scenario happens (only backend server fails)
[1] https://www.youtube.com/watch?v=a7wutgAlNHk
A few years ago, during a power outage, a stores clerk actually used one of these for/on me. I was pretty shocked ;)
They did the same thing in the 70's if your card was worn down. This is a solved problem.
2. Have clerks write down what is needed on the shelfs.
But Swish (mobile payments) could work.
They'd have to make that very clear at the entrance to the store. This is just a guess, but I think most Swedes don't carry enough cash to even pay for groceries when they go shopping. I haven't had any paper money in years, just a few coins.
I think you're underestimating how little we use cash. There aren't even ATMs in some parts of town and there are plenty of villages without one for tens of miles. Nobody uses cash anymore. It's all either debit cards or direct transfers (either via and app or the bank.)
Unlike other distributed databases you don't have one store selling an item of food from another store (especially if your online system is down) and need to do a split brain recomp.
There are a couple of approaches that could involve multiple payment providers over redundant networks so switch to something else.
For inventory, since it’s likely only temporary transactions can be stored locally and then synced when back online.
Theoretically the design could be distributed all the time and just keep working the same while disconnected with some potential reorders and restocks slowed down or delayed.
Or, you know, blockchain inventory or something.