Owned the problem framing, merchant and shopper flows, every app surface, delivery promise rules, payment experience, readiness states, and the final interaction decisions.
IMAGE UNAVAILABLEShopper promise and merchant setup composition.
IMAGE UNAVAILABLEDelivery rules, money flow, and readiness composition.
CASE 05Dated freight delivery inside Shopify
Warp Big & Bulky: You bought a couch
Shopify checkout handles parcels well, but a shopper buying a couch can still pay first and wait for a phone call to learn when it will arrive. Neel designed the experience that moves that decision into checkout: merchants configure eligibility and honest delivery rules once, shoppers choose a dated Warp rate in the native shipping pattern, and the same promise carries into booking, fulfillment hold, and tracking after purchase.
Troy and Rahul shaped product direction in weekly reviews. Warp's freight operation and underlying services remained team owned.
Verified on a Plus development store; not publicly listed, with no public merchant or shopper adoption to claim.
Checkout made a parcel promise for a freight problem
The shopper paid against a vague estimate while the decision that mattered, the delivery date, moved to a later phone call.
“I bought a couch, and now I wait for someone to call me” became the design problem. The app had to make a real delivery day legible without claiming precision Warp's operations could not support.
- The merchant, the first customer, deciding whether setup was worth finishing.
- The shopper choosing a delivery day without learning a new checkout pattern.
- Operations teams booking, holding, and tracking the freight after purchase.
- The richer card shown in checkout is available only on Shopify Plus, while dated rate labels can work across broader Shopify plans.
- The operation can promise a date and outside delivery bound, not a precise window of two hours.
- The app is free and freight cost is passed through without markup, so another card entry flow adds risk without product value.
- Plan support and incomplete optional inputs can affect what appears in checkout.
If the merchant cannot finish setup, no shopper sees Warp. If checkout overpromises, the first product failure happens after money has already changed hands.
Merchant setup carries the complexity; checkout carries one choice
The montage links the admin flow with seven steps to the shopper's dated rate and the operation after purchase that must keep the same promise.
IMAGE UNAVAILABLEShopper promise and merchant setup composition.
A dated delivery choice for the shopper sits beside the merchant's visible setup progress.
Six constraints shaped the experience
The strongest decisions came from separating merchant setup complexity from the shopper's single checkout choice.
Ten merchant and eight shopper screens mapped the full promise before visual polish began.
Early concepts that did not support the core journey were cut.Account, warehouse, eligibility, delivery rules, money flow, payment, and readiness stay legible as one setup journey.
The merchant can always see what remains before activation.The shopper chooses a delivery day through Shopify's familiar rate pattern instead of learning a separate scheduler.
The richer scheduler card is an enhancement, not the only path.The interface presents the real delivery window rather than a more attractive window of two hours that operations cannot keep.
Date certainty without false time precision.Product size, weight, and service range rules stop ineligible freight before checkout.
The promise is removed before it can fail after purchase.The delivery choice continues into freight booking, fulfillment hold, pickup confirmation, and shopper tracking.
One promise across checkout and operations after purchase.Merchant setup absorbed complexity so checkout could stay native
A dated shipping rate works across plans; the richer scheduler card remains a supported Plus enhancement.
Win the merchant's first five minutes in setup, then keep the shopper's checkout calm.
A merchant configures the app once and may rarely return; if setup fails, no shopper reaches the checkout surface.
REJECTED PATH Spend the majority of effort polishing the card shown to the shopper before the merchant can activate it.
Put the delivery date into the shipping rate label and treat the richer checkout card as an optional enhancement.
Shipping rates are a native Shopify pattern across plans and require nothing new from the shopper.
REJECTED PATH Make the Shopify Plus checkout widget the sole scheduling mechanism.
Offer a date with the real 1:30 PM to 8:30 PM delivery window, and show booking in progress until Warp has the job.
A slot lasting two hours or instant booking confirmation would claim operational precision that does not exist.
REJECTED PATH Display the designed picker with a window lasting two hours or an immediate state that confirms freight.
Keep the dated rate available when every required delivery detail is valid.
An empty optional input should not erase an otherwise valid shipping choice.
REJECTED PATH Treat every missing optional detail as a failed checkout request.
Use the merchant's Warp balance or a card already saved with Warp.
The free app adds no markup, so another payment setup adds friction without product value.
REJECTED PATH Maintain a separate card entry and payment flow inside the app.
The merchant configures once; the shopper makes one familiar choice
Warehouse, eligibility, delivery rules, payment, and readiness set the promise; a dated rate carries it through checkout into operations after purchase.
Seven visible steps before activation
The admin home makes account, warehouse, product, delivery, money flow, payment, and readiness work legible before a merchant can promise freight at checkout.
IMAGE UNAVAILABLEMerchant setup overview.
Merchant setup overview.
Collect what a real pickup needs, then show the configured state
The form captures address, contact, open hours, and an optional dispatch email bundle for the bill of lading, tracking link, and shipment sticker. Warp automatically limits service to 90 miles.
IMAGE UNAVAILABLEWarehouse creation form.
Warehouse creation form.
IMAGE UNAVAILABLEConfigured warehouse surface.
Configured warehouse surface.
A product tag by default, with manual and collection options
Merchants can identify eligible items by a private product tag, individual selection, or collection. Fixed size and weight limits stop ineligible freight before checkout instead of making a promise the operation cannot keep.
IMAGE UNAVAILABLEProduct eligibility path based on a default tag, with size and weight limits.
Product eligibility path based on a default tag, with size and weight limits.
IMAGE UNAVAILABLEManual product eligibility path.
Manual product eligibility path.
IMAGE UNAVAILABLEProduct eligibility path based on a collection.
Product eligibility path based on a collection.
Promise only the precision operations can keep
The merchant sees the operational day behind the label: a 12:30 PM cutoff, a 12:30 PM to 1:30 PM pickup window, and a 1:30 PM to 8:30 PM delivery window. Checkout offers a date, not a fabricated slot lasting two hours.
IMAGE UNAVAILABLEMerchant delivery rules configuration.
Merchant delivery rules configuration.
Warp balance or a card already saved with Warp
The app charges $0 and adds no markup. The merchant selects an existing method from their Warp account instead of entering payment details again.
IMAGE UNAVAILABLEWarp balance or saved card payment configuration.
Warp balance or saved card payment configuration.
Operational truths before activation
The Rules of the Road page names coverage, cutoff, date instead of a slot, handling, and other freight constraints before the merchant can mark setup complete.
IMAGE UNAVAILABLEOperational truths acknowledged before activation.
Operational truths acknowledged before activation.
Book, hold, confirm, and hand over tracking
After purchase, the app starts freight booking, holds Shopify fulfillment until pickup is confirmed, and exposes tracking. The shopper sees “booking in progress” until a real booking exists.
IMAGE UNAVAILABLEOrders and operations surface after purchase.
Orders and operations surface after purchase.
The dated rate had to stand on its own
Review clarified that the core shipping choice needed to survive incomplete optional inputs, while the richer scheduler card remained a Plus enhancement.
Separate the core rate from the richer enhancement
The dated shipping label carries the essential shopper promise across broader Shopify plans. The saved scheduler card adds context where Plus supports it.
IMAGE UNAVAILABLEDelivery rules, money flow, and readiness composition.
Delivery rules, money flow with no markup, and readiness states across the merchant setup.
Walk through the complete merchant setup and dated checkout choice together.
RESULT The saved scheduler card and four dated rates appeared together, confirming the intended hierarchy and handoff.
DESIGN LEARNING Merchant readiness and shopper choice depend on the same delivery rules.
Review eligibility, delivery precision, payment, booking, fulfillment hold, and tracking as one continuous promise.
RESULT The core dated rate remains useful without the Shopify Plus card, and states after purchase avoid confirming freight before booking exists.
DESIGN LEARNING Copy shown after purchase must stay provisional until a real booking exists.
What this case covers
- The merchant setup with seven steps, dated checkout choice, and handoff after purchase.
- A core shipping rate pattern across plans, with a richer Plus enhancement.
- Honest delivery precision, eligibility rules, payment choice, booking, and tracking states.
- Plan differences handled through progressive enhancement rather than separate shopper flows.
What changed in the practice
Design the essential promise for the broadest supported checkout, then enhance it where the platform allows.
Refuse false confirmation, impossible time precision, markup, and hidden payment state.
Validate surfaces that vary by plan earlier and treat the core rate as independently useful.
Treat operational truth as a design material whenever an interface makes a delivery promise.