← All work

First-party delivery fulfillment

Square · User research, strategy, UX, UI · 2021
First-party delivery fulfillment overview

The problem

Sellers wanted to offer delivery on their own sites, but could only do so by hacking Square Online’s shipping setup or using third-party services that charged high commissions.

They wanted to bring delivery in-house to protect their margins and own the customer relationship.

The opportunity

  • Let sellers take delivery orders on their own site, using their own or third-party couriers
  • Integrate delivery orders into Square Point of Sale, streamlining operations
  • Negotiate direct partnerships with delivery services for better commissions

Research and scoping

Delivery was new territory for Square in 2019, so I started by understanding the landscape and what sellers would expect.

After thorough competitive research, I listed every possible piece of functionality, then narrowed it to a core set that balanced value against effort to build.

I presented the proposed scope to stakeholders across product, engineering, business development, and support, and it was unanimously accepted.

Feature scope breakdown for seller-facing and buyer-facing delivery, split into V1 baseline features and future features
Scoping the baseline restaurant delivery experience, seller- and buyer-facing, with future functionality mapped out separately.

Design explorations

Square Online already supported pickup orders, which had similar setup requirements, so I explored how delivery and pickup setup could coexist.

I explored multiple approaches, ranging from a simple addition to the existing structure to a full setup wizard.

After feedback from the design team and my PM, we committed to the wizard, and I built a higher-fidelity prototype to test.

Pickup & delivery settings page with a Select locations call to action Select locations modal with pickup and delivery toggles per store location Location setup wizard step 1, setting time zone and pickup and delivery hours Location setup wizard step 2, configuring scheduled pickup options and customer instructions Location setup wizard step 3, configuring delivery radius, estimated time, fee, and instructions Redesigned Pickup & delivery page showing the location list and a detail panel with hours, blackout dates, and prep time
A sampling of my wireframe explorations

Prototype testing

We tested the setup flow with Square sellers who’d shown interest in delivery. I wrote the interview guide and ran the sessions myself.

View the prototype

The flow was easy for sellers to navigate, and testers surfaced a few useful refinements. Confident in the approach, I moved on to fleshing out every flow.

Full designs

We also needed to design the downstream effects on sellers’ published sites and checkout, so I flew to New York for a week to work with the Buyer Experience team’s designer.

Together we designed the end-to-end experience, covering:

  • Seller set up
  • How buyers place a delivery order
  • How sellers receive and fulfill it
  • Communication between buyer and seller

We presented the full journey to Square Online’s leadership to a positive reception, and began preparing the hand-off to engineering.

But then… COVID-19

By the time designs were done and engineering was ready to build, it was March 2020. In-person shopping and dining ended almost overnight, and delivery became existential for sellers.

The comprehensively designed feature we’d spent a month finalizing could now make or break sellers’ businesses. There was no time to waste.

I went back to the drawing board for a true minimum viable product—something engineers could ship in weeks, not months, and designed to allow fast iteration.

We shipped it in three weeks and saw immediate adoption.

We kept shipping additional functionality almost weekly over the following months, working our way back to the comprehensive product we’d originally envisioned.

Within a month, Square Online had processed almost 3,000 delivery orders worth nearly $500,000, and continued to grow exponentially.

Pickup & delivery location list with Set up actions for each location Set up wizard with Enable pickup and Enable delivery toggles both off Set up wizard with pickup and delivery enabled, showing curbside pickup and courier delivery options Hours step of the set up wizard, configuring pickup and delivery hours per day and time zone Item fulfillment step, defaulting items to shipping or pickup and delivery Pickup & delivery location list with Accept pickup and Accept delivery toggles live for set up locations Location detail panel showing address, hours, and blackout dates
The final pickup & delivery setup flow