Held for you
A checkout concept for Zara where a piece you choose stays yours for five minutes, and urgency only shows up when it's real.
The problem in one line
A piece becomes unavailable between selecting it and paying for it.
- Project
- Zara checkout, concept project (no affiliation with Zara)
- Role
- UX/UI designer: research, prototyping, interaction design
- Method
- Shopper interviews, industry research (AlixPartners, Baymard) and public Zara reviews
- Tools
- Figma, Claude (research support and writing)
- Duration
- 1 week, part-time
Drag to compare
Drag the line across the screen to see the same moment before and after my redesign. The tabs switch between the two problems I worked on: the timer and the refund.
Two frustrations worth solving
Removing a piece from the basket
“The payment wouldn't go through, and some items turned out to be unavailable, even though they still showed as available. I had to delete them myself so I gave up.”Mariana, shopper
Waiting for an order that never arrives
“I bought a piece on sale with only a few sizes left, then waited for the delivery. After a few days there was still no update on my order, so I checked and saw the piece had gone back to the store. I had to call Zara, and customer service told me it was no longer available and that they would refund me.”Evie, shopper
These are signals from shopper interviews rather than statistics. Screens are recreated for this project.
Is this a real problem?
of fashion shoppers leave for another retailer when an item is out of stock.
of carts are abandoned on average.
Public reviews mention orders split across deliveries, with a fee for each.
Many shoppers browse, build looks and check the total before deciding.
On a low-stock piece they love, a real hold gives a reason to decide now.
Extra costs are the top documented reason for abandonment (40%, Baymard).
Shoppers can order several times and pay delivery once.
Public reviews of Zara describe orders that never arrived and refunds that came late, with little communication in between.
The order status says the piece did not ship, what was refunded and the total, so you never have to call support.
No public study measures how clearer stock information changes abandonment, so this is a hypothesis to test.
Sources: AlixPartners 2024; Baymard Institute; Trustpilot, Zara UK; MacroMakers.
The piece that disappears
Different moments, same root problem: a piece isn't really yours until it arrives, and nothing protects it along the way. Before checkout, a piece can sell out while it's in the basket, and the customer only finds out at payment. After payment, the order is confirmed, but the piece was never actually available.
I focused on the first with a five-minute hold (05 · The idea), and added a clearer refund message for the second (02 · Before and after). Ideally, Zara's system would also detect that the piece can't be delivered, refund the order and notify the customer right away, so they never have to contact support. That depends on the system behind the screens, so it's a next step (10 · Next steps).
A hold, not a rush
How might we protect a piece while the customer decides, without adding pressure?
When a piece is almost sold out, it is held for the customer for five minutes after it's added to the basket. Urgency appears only when it's real. Try it.
The hold starts as soon as the piece is in the basket. Only the hold reserves a piece. A piece sitting in a basket is not reserved. Secure this piece takes the customer to payment. If the time ends first, the piece goes back on sale and the customer can keep shopping.
When the timer appears. It appears only when a shopper adds a piece that is almost sold out, because that shopper is buying now. A basket left waiting never gets a timer. If its piece sells out, the basket says so when it's opened.
Added to your basket
This piece is almost sold out.
Pay to secure it. Anything you order in the next 24 hours shares the same delivery fee.
Taking you to payment…
Your hold has ended.
This piece is back on sale.
Behind the scenes
What has to happen behind the screens for the hold to be real.
“This piece is almost sold out.”
Check the real stock and reserve the piece for this shopper.
A 5:00 timer: “Held for you.”
Keep the piece blocked for other shoppers while the timer runs.
Taps Secure this piece and goes to payment.
Turn the hold into an order. Deliveries within 24 hours share one fee.
“Your hold has ended.” The shopper can keep shopping.
Release the piece back on sale.
What the system would need to do. This is the design’s assumption, not how Zara works today.
Has this been done before?
Yes, in ticketing
Ticketmaster limits how long a fan can hold tickets before paying. When the time runs out, the tickets leave the cart and go back on sale. The length of the timer depends on demand. It is the same idea as my hold, in a system where thousands of people compete for the same seats.
It is a documented pattern
In stock systems it is called a reservation with an expiry: the item is held for a set time, and if the order isn’t completed, the system releases it automatically.
What I found about Zara
In its own help center, Zara states that items in the basket are not reserved. If one becomes unavailable, the shopper is notified and has to remove it before buying. Zara also says that the store stock shown online is only approximate.
A real risk, and how my design avoids it
If every basket reserved its pieces, holds could add up to more than the stock available. So, like Zara today, my design does not reserve a piece when it is added to the basket. A hold only starts when the shopper adds a piece that is almost sold out, and it goes to whoever acts first.
What I can’t know from outside
Whether Zara’s own systems support this. That is the first thing I would check with the engineering team.
A refund that explains itself
How might we tell a shopper what happened to their order, before they have to ask?
When a piece sells out after payment, the order status can say only that it was returned to the store, with no word about a refund. I designed a message that says what happened and what comes next.
What the customer sees. Your order did not ship. The item and the delivery are refunded, with the total, and there is no need to call support.
What the system would need. Detect that the piece can’t be delivered, cancel it and start the refund by itself. That part depends on Zara’s systems (10 · Next steps).
Behind the scenes
What has to happen for the refund to be automatic.
The order is confirmed.
Check that every piece is really available at the moment of payment.
“Your order did not ship.”
Detect it, cancel that piece and start the refund automatically.
The item and delivery refunded, with the total.
Notify the shopper right away, without waiting for a call to support.
What the system would need to do. This is the design’s assumption, not how Zara works today.
Has this been done before?
Yes, in store-fulfilment systems
When online orders are picked in stores, the system checks each line. If a piece can’t be found, only that line is sent to another store or cancelled, and the rest of the order goes on. The shopper is not left waiting for the whole order.
Cancelling and refunding is standard
Commerce platforms such as Shopify can cancel an order, refund the original payment method and notify the customer. The notification is off by default, so telling the shopper right away is a design choice. That choice is the heart of my refund screen.
Late news is a known problem
One industry article describes shoppers learning about a cancellation about 36 hours after paying. My design tells them at the moment it happens, with the refund amount.
What I can’t know from outside
How Zara detects a piece that can’t be delivered, or starts the refund. I found nothing public about it. It is one more thing I would check with the engineering team.
What I chose, and what I gave up
Real urgency over persuasive urgency
- Chose
- The countdown only appears when a piece is actually held.
- Gave up
- Extra conversions from constant "low stock" messaging.
- Why
- Pressure that isn't real erodes trust.
A 5-minute hold
- Chose
- A short hold, long enough to pay.
- Gave up
- A longer, more relaxed window.
- Why
- Longer holds block pieces for other shoppers.
Two actions, no Checkout button
- Chose
- "Secure this piece" and "Continue shopping".
- Gave up
- A familiar shortcut.
- Why
- Fewer choices make the next step clearer.
24-hour shared delivery fee
- Chose
- One fee for all orders within 24 hours of the first payment.
- Gave up
- Tighter cost control for the store.
- Why
- Simple, generous, and it rewards securing the low-stock piece first.
One fee, not one parcel
- Chose
- Promise a single fee, never a single package.
- Gave up
- A more appealing but less reliable promise.
- Why
- Orders can already ship in separate parcels.
When every piece is held
- Chose
- Show that the remaining pieces are being held by other shoppers, with a way to check again.
- Gave up
- A plain "sold out" message, which is simpler.
- Why
- A hold can expire in minutes, so "sold out" would not be true.
First to act, not first in the basket
- Chose
- The hold goes to whoever adds or reserves the piece while stock is low. A piece sitting in a basket is not reserved, but it is never removed without telling the shopper.
- Gave up
- Honoring the order in which pieces were added to baskets.
- Why
- Holding every basket as soon as stock gets low would run timers for people who aren't on the site. Instead, the basket shows the piece's real status when it's opened: still available, low stock, or no longer available.
Customer and store
Decides without pressure: the piece is really held, and everything ordered within 24 hours shares one delivery fee.
The goals this design is built for: fewer abandoned purchases, fewer refund requests to support, and more orders per customer.
From product page to payment
What I would validate
The hold duration, the 24-hour window and the impact on orders, with product, logistics and finance teams, using real usage data. I would also survey Zara app users about how they use the basket. Every value here is a design proposal.
How I would measure it. Fewer orders lost to pieces that sell out at payment, fewer refund requests, and no drop in completed purchases. How often the hold expires unused would show whether five minutes is the right length.
What depends on the system. Refunding automatically needs Zara to know real availability at the moment of payment, and to reserve a piece for one shopper at a time. Inditex tags garments with RFID in its stores, but I couldn't confirm that this data reaches the app in real time. This case assumes it could.
Key learnings
Urgency only works when it's true
A timer helps when it reflects a real hold, and manipulates when it doesn't.
A small interface fix can't replace a system fix
The refund message helps, but the real solution lives in how stock is checked.
The end of a flow deserves as much design as the start
The moment the hold expires needed its own screen, so the customer isn't left with a dead end.
Not everyone who leaves has given up
Many shoppers use the basket to browse and take their time. The design should help them decide, not push them, which is why the hold is real and only appears on low-stock pieces.
Know what is evidence and what is hypothesis
Industry data shows availability and extra costs drive people away, but no public study measures how clearer stock information changes abandonment. I kept the claims I could source apart from the ones I still need to test.
A good idea still has to fit the system
I looked at how ticketing and store-fulfilment systems handle holds and refunds, and said plainly what I couldn’t confirm about Zara. A design is stronger when it shows where it could break.