It turns out that the future of in-person ordering has a lot in common with the current challenges we face.

Square has such incredible (and affordable) hardware and robust APIs; I wanted to build something that could help the ordering process. Many businesses have moved to pick-up style operations and even businesses that are operating with less restrictions still want to invite more orders -- safely.

How can software help customers order faster and more easily, using the exciting hardware they already own? Thanks to discussions with real employees, owners, and customers; plus using the latest pre-release integrations, I was able to achieve a customizable, self-ordering experience to help employees, customers, and more businesses during these trying times as we enter a new frontier of in-person ordering.

What it does

With Customer Experiences customers can walk up and immediately select items (from the catalog) and any customizations (modifiers). Customers can order and pay in as few as two taps. Screens and instructions are customizable per business and they look gorgeous! After providing a phone number, customers will receive a text notification when their order is ready. This means less lines and less congestion with faster ordering. Optionally tip and no signature required. No more swiveling necessary!

Businesses can easily get started by signing into Square. Behind the counter, employees will use Square Orders on another tablet/computer to fulfill and manage orders as they come in. Not only does this consolidate where orders are coming from, there's also no limit to the amount of in-person ordering anymore! Businesses can easily purchase additional Square stands and even distance them using empty counter space to better comply with CDC guidelines. Thanks to Square and Customer Experiences, businesses accept orders more safely and efficiently.

How I built it

I was able to take advantage of the latest pre-release integrations from Square from the ReaderSDK2 to the brand-spanking-new webhooks monitoring fulfillment state. I used Swift, Objective-C, and NodeJS.

Challenges I ran into

There's a long list. All new releases have limitations (see changelog) plus there is a significant amount of work getting software into the App Store that uses third party hardware. Nonetheless, thanks to the helpful crew at Square and a little determination I'm proud to say any business can get started with Customer Experiences today that currently uses Square in the US.

Accomplishments that I'm proud of

Automatically using the existing catalog/inventory a business has, beautiful custom branding, supporting item customizations "modifiers", multiple per-item taxes, built-from-scratch tipping controls... building something that solves real & tough aspects of in-person ordering today -- that's what I'm proud of.

What I learned

  1. That the current pipeline and developer support Square has is fantastic.
  2. Businesses are willing to pay for real solutions to real problems.
  3. That NSURLConnection can be problematic!

What's next for Customer Experiences

I can't wait to support more hardware from Square like the new Terminal API and provide a web-based ordering experience with the same ease of use so businesses can just sign-in and get started!

Built With

Share this project: