New Page

 Olo · Enterprise · Menu/POS Integration

Dynamic Pricing by Handoff Mode

Enabling restaurant brands to set different menu prices for delivery vs. pickup, helping them recoup delivery costs without harming the guest experience.

Role: Product designer

Team: Menu / POS Integration

Scope: End-to-end

Status: Shipped · 2024 Q3

▪️ User interviews

▪️ Brainstorming

▪️ Design iterations

▪️ Story mapping

▪️ Implementation planning

▪️ User interviews ▪️ Brainstorming ▪️ Design iterations ▪️ Story mapping ▪️ Implementation planning


The problem

Online food delivery was growing rapidly, but delivery orders cost restaurants more, DSP fees, packaging, logistics. Olo's menu system had no way for brands to reflect this in their pricing. Every menu item had a single price regardless of how the order was fulfilled.

  • Menu admin supported only one price per item, with no handoff mode awareness

  • The existing workaround — duplicating menu items per handoff mode — was fragile and required significant manual effort to maintain

  • A flat global markup didn't work either, because price elasticity varies across items on a menu

  • Brands needed control at their level, but Olo's dashboard spans brand, company, channel, and store — making configuration complex and high-stakes


Research findings

We interviewed brand admins and worked closely with POS specialists to understand how brands set up and manage their menus. Three key findings shaped the design direction:

  1. Brand-level control was the right entry point

    Admins wanted to enable or disable this feature at the brand level, not per store. This drove where in the dashboard the feature needed to live.

  2. Menu inheritance made this deceptively complex

    Company menus cascade down to store menus, but stores can override items locally. A price change at the company level doesn't always flow down, and users needed to understand that without being overwhelmed by it.

  3. No single solution fits all brands

    Brands differ in how their menus are structured. Some have deep POS integration; others manage pricing more manually. The design had to work across this spectrum without requiring brands to restructure their setup.


The solution

Rather than a one-size-fits-all approach, we designed two paths under a new Dynamic Pricing Settings section — giving brand admins the right tool for their menu setup. Both paths include store selection with all stores on by default.

POS mappings: Use delivery POS mappings

For brands with POS infrastructure. Adds a second POS mapping scoped to delivery at the company menu level. Precise, item-by-item control.

Menu markup: Use menu price markup

For brands who want a simpler approach. Apply a delivery markup percentage across the menu, with optional rounding to $0.05 or $0.09.

MVP was scoped to Olo-native platforms (Serve mobile, web, Kiosk) for Q3 — reusing existing Rails inflation UI patterns to ship faster. Rails Marketplace integrations (DoorDash, UberEats, etc.) were planned as a follow-on enhancement.


Impact

Adoption: Significant brand adoption within 3 months of launch

Revenue: Measurable increase in weekly delivery GMV across adopting brands

Guest experience: No increase in handoff switching or basket abandonment on Serve

Guardrail metrics tracked weekly: handoff mode switching rate and basket conversion rate for delivery orders on Serve — confirming the price increase did not negatively impact guests.