All industries

Retail & e-commerce

Conversation OS for retail and e-commerce

The linen shirt was in two places at once: a website cart and a Deansgate hold.

Oak & Thread is a small D2C label with two shops. The abandoned cart is not a metaphor here — it is a pipeline stage named Abandoned, sitting next to a Hold / pickup ticket with a clock. Associates talk to shoppers, not ticket IDs.

Illustrated walkthrough of the pack — not a named customer case study.

Firm
Oak & Thread
D2C apparel, illustrated walkthrough
Where
Manchester Deansgate + a canal-side outlet
Two stores, six associates, Shopify plus WhatsApp
A clothing shop interior with garments on display

Hold ticket · not a sticky note

OT-LINEN-041 oatmeal shirt

Size

M

Store

Deansgate

Hold until

Today 18:00

Loyalty

Gold

Site bag still open: Shirt + belt · site bag open

If the hold expires and the site still thinks the size is in the bag, we look careless on both channels.

Elena Rossi, Store associate

Saturday 10:12. Rain on Deansgate. A Gold-tier shopper left a linen shirt and a belt in the website bag. Two minutes later the same number asks WhatsApp to hold size M in-store until six.

Records on the person

Shopper Journey — New enquiry → Interested → Hold placed → Ready for pickup → Purchased (or Abandoned)

  • Store

    Deansgate · Open · Saturday hours on the record

  • Hold / pickup

    SKU OT-LINEN-041 · M · Held until 18:00

  • Shopper fields

    Loyalty Gold · usual size M · shops via Website + WhatsApp

  • Product

    Collection Spring linen · next restock Tuesday

Role the pack adds: Store Associate

The thread

AI answers what the pack knows. A human takes the same conversation when it needs judgement.

Nora Lindqvist

WhatsApp · same thread

Can you hold the oatmeal linen shirt, size M, Deansgate? I’ll come after 5.

AI

Deansgate has M. I can hold until 18:00 today. Reply 1 to confirm the hold.
1 — I still have it in my bag online too, sorry

Human

Elena at Deansgate. I’ll mark the site cart as held in-store so you are not charged twice. Pickup when you are ready — ask for Elena.

That day

  1. 10:12

    The cart that did not check out

    Website drop-off lands as a shopper in Abandoned if they never complete. Loyalty Gold is already on the person, so the recovery message is a restock tone, not a first-time discount.

  2. 10:14

    Hold ticket, not a sticky note

    WhatsApp becomes a Hold / pickup on the Deansgate store, SKU and size filled. Status Requested → Held. The associate sees the same person as the abandoned bag.

  3. 16:40

    Ready for pickup

    A template fires when status is Ready for pickup. RCS for the Gold segment that prefers rich cards; WhatsApp for everyone else. Opted-out numbers never leave the queue.

  4. 18:07

    The hold expires

    Nobody collected. Status Expired, pipeline Abandoned. Tomorrow’s journey offers the canal outlet if Deansgate sold the last M — one thread, two stores.

AI, journeys, campaigns

AI chatbot

Oak shopper

Size, store hours, hold-until, restock date. It does not promise markdowns that are not on the product.

“Have you got the linen shirt in M at Deansgate?” → yes/no + hold window.

Journeys

  • Cart still open

    Stage Abandoned, last site session < 24h, not opted out

    One recovery on the channel they used. Stops if a hold is already Held.

  • Hold expires tonight

    Hold until is today and status is still Held

    Afternoon WhatsApp. If they reply “extend”, associate takeover — automation pauses.

  • Restock Tuesday

    Product restockOn is tomorrow, shopper asked for that SKU

    SMS to usual-size match. Marketplace-only shoppers get email instead.

Campaigns & newsletters

  • Spring linen drop

    Email newsletter

    Loyalty Gold/Platinum, collection = Spring linen

  • Expired holds, 7 days

    WhatsApp

    Hold status Expired last week, not Purchased

  • Outlet Saturday

    RCS

    Shops via Store, city Manchester, not opted out

Abandoned cart — native here, not a slogan

What they almost lost

The pipeline stage is literally Abandoned. The person can also have an Expired hold. Oak & Thread treats both as the same shopper: one inbox, two reasons they did not pay.

24-hour cart journey, then a human if they asked a size question. Never a second blast the same day as a hold reminder.

Win-back · then scale

Lost customers, then mid-market

Platinum shoppers with no purchase in 90 days, and expired holds that never converted

Segment on loyalty tier + last hold SKU + restock date. Win-back is “your size is back”, not a generic 20% off. As they grow from two stores to a third city, the same Abandoned ageing shows which associates recover holds and which SKUs only convert on WhatsApp.

A small label stops losing Saturday stock to sticky notes. A mid-market retailer uses the same objects to see recovered revenue from Abandoned, not just campaign open rates.

Small now: One associate, one WhatsApp number, holds on paper.

Next: Two stores, site + WhatsApp + email, Gold vs none, restock journeys — still one shopper record.

A shopper browsing a fashion rail
Hands holding shopping bags on a city street

The pack adds Store, Hold / pickup, loyalty and size fields, the associate role and restock/pickup templates. It is not a warehouse WMS. Checkout still happens in the shop or on the site.