← Back to Portfolio
B2B Product Design iOS · 2018–2019 Ride Hailing

On-Demand
Corporate
Ride Booking

A full-featured B2B ride-hailing iOS app for enterprise clients — designed end-to-end from booking flows and driver preferences to corporate expense management and scheduled trips.

Role
Lead Product Designer
Platform
iOS Mobile App
Duration
12 Months
Home screen
Car selection

A startup engaged me to design a B2B on-demand ride booking app — a corporate-first alternative to Uber. The platform needed to serve both everyday riders and enterprise travel coordinators managing fleets of employees.

iOS Design B2B / Enterprise Interaction Design UX Research Ride Hailing
The Challenge

Corporate mobility was stuck in the past

Enterprise teams relied on phone dispatch and paper expense reports. Consumer apps weren't built for business workflows. We needed to design something built from the ground up for corporate travel.

📞

Legacy Dispatch

Travel coordinators booked rides by phone — slow, error-prone, and completely untrackable at company scale.

🧾

Expense Friction

Employees manually logged receipts in spreadsheets. Finance teams wasted hours reconciling trip data every month-end.

🔒

Safety & Compliance

Enterprise HR required driver preferences, wheelchair accessibility, and full audit trails — none of which consumer apps offered.

My Role & Process

End-to-end product design

01
Research
User interviews with corporate travel managers and frequent business riders
02
Define
Journey mapping and personas for coordinators, regular riders, and drivers
03
Design
Wireframes through high-fidelity iOS screens across 65+ app states
04
Test
Moderated usability tests with 8 enterprise users across 3 companies
05
Ship
Iterative releases with dev team, analytics tracking, and feedback loops
Design Language

The visual system behind the app

Identified and codified from 65+ screens — the colour palette, type hierarchy, and component patterns that formed the app's visual DNA and kept every screen consistent.

Color Palette
Brand Purple
#4A1D96
Nav · Selected · Route
Action Yellow
#F5C518
CTA Buttons · Confirm
Dark Ink
#1A1130
Headings · Primary text
Body Grey
#757575
Addresses · Captions
Surface
#F5F5F5
Inputs · Cards · Sheets
Origin Green
#43A047
Pickup pin · Success
Drop-off Red
#E53935
Destination pin · Error
Canvas White
#FFFFFF
Screen bg · Bottom sheets
Type Scale
Display · 22px · Bold
Greetings · Screen intros
Good Morning, Jose Wood
Heading · 18px · Semibold
Screen titles · Modals
Cancel Booking? · Payment Options
Body · 15px · Regular
Descriptions · Options
Expected a shorter wait time · Unable to contact driver
Caption · 13px · Regular
Addresses · Timestamps
22733-020, Praça Seca, Rio De Janeiro · Wed, 7 Jun 11:20pm
Micro · 11px · Bold Caps
Labels · Tags · Category
Saved Places · Recent Search · Home
Core UI Components
Buttons
Confirm Mini Car
Don't Cancel
Disabled
Ghost
Input Fields
Home
Where to? (active)
Enter Promo Code Apply
Selection Controls
Radio — selected
Radio — unselected
Checkbox — checked
Checkbox — unchecked
Tags, Chips & Badges
Personal
Business
HOME WORK DEFAULT
PEDIJA15
12 Min|Home →
Fare is lower than normal.0.8×
Map & Navigation
Pickup pin
Origin · green circle
Drop-off pin
Destination · red teardrop
Route line
Purple dashed · active path
Shape Language
4px
Checkboxes · Badges
8px
Buttons · Inputs · Cards
16px
Sheets · Modals
Full pill
Toggles · Chips · Avatars
Spacing Scale
4
8
12
16
20
24
32
40
56
80
01 Core Booking Flow

From open to confirmed in under 60 seconds

The booking flow was designed around speed and clarity. A personalised map greeting on launch, instant destination search with saved places, real-time car type selection with passenger counts and ETAs, then a single confirm tap. No dead ends, no confusion.

Key Decision

"For Me" identity toggle at the top of the booking sheet — riders can instantly switch between personal and corporate accounts without navigating away.

Home
Home — Map
Search
Destination Search
Car types
Car Selection
Fare
Estimated Fare
Confirming
Confirming Ride
02 B2B Corporate Features

Built for how businesses actually travel

The core B2B differentiator was a dual account system. Employees could toggle between Personal and Business billing mid-booking. Corporate accounts got automatic expense sync, itemised receipts, and a dedicated admin dashboard. Travel coordinators could book rides on behalf of any employee.

B2B Value Props
Automatic expense sync with accounting tools
Email receipts billed to corporate accounts
Book rides for any team member
Trip activity reports in one place
Business
Business Travel
Payment
Payment Options
Business billing
Business Billing
Book for others
Book for Others
03 Ride Customization

Preferences that go beyond "just a car"

Enterprise HR teams required more than a ride — they needed driver gender preferences, accessibility options, and corporate discount codes. Each preference added a flat fee, keeping pricing transparent. Promo codes could be pre-loaded by the company and applied with one tap.

Preferences
Preferences
Promo codes
Promo Codes
Promo applied
Promo Applied
Preference in-context
In-Context View
04 Trip Management

Plan ahead, adapt in the moment

Corporate travel rarely goes exactly to plan. We designed for flexibility: scheduled trips with fare ranges, saved home and work addresses, mid-trip stop additions, and geofenced pickup zones for airports and large venues — solving a major driver-locating problem for enterprise users.

Upcoming trip
Upcoming Trip
Geofence
Pickup Zone
Saved places
Saved Places
Add stop
Add Stop
05 Driver Relationships & Trust

Corporate clients want familiar faces

Enterprise travellers, especially frequent flyers, want reliability over randomness. We introduced a Favourite Drivers feature — riders could mark preferred drivers as favourites and request them on future bookings. Online favourites were surfaced first at booking time.

Favourite drivers
Favourite Drivers
Favourites near you
Favourites Near You
Driver selected
Driver Selected
06 Cancellation Experience

Reduce cancellations without blocking them

High cancellation rates hurt driver earnings and platform trust. The redesigned cancel flow required riders to select a reason before cancelling — capturing product intelligence — and clearly displayed the $10 late cancellation fee. A prominent "Don't Cancel" primary action reduced impulsive cancellations by 28%.

Outcome

Reason capture gave the operations team data to fix systemic issues (driver no-shows, wrong ETAs) rather than just blocking cancellations.

Cancel booking
Cancel Reasons
Cancel confirm
Confirmation
Key Design Decisions

Three choices that shaped the product

01

Personal / Business Toggle

Rather than separate apps, we put both modes in one — a simple Personal/Business pill toggle on the payment screen. This eliminated friction for users who mix personal and work rides, while giving finance teams clean data separation.

Result: 52% of rides booked via Business account within 3 months of launch
02

Fare Transparency Banner

Surge pricing is the #1 source of rider distrust. We showed a persistent contextual banner — "Fare is lower than normal · 0.8×" or "Fare is higher than normal · 1×" — directly on the booking map. No surprises, no abandoned bookings.

Tested against hidden surge: 34% reduction in booking abandonment
03

Geofenced Pickup Zones

Airports and large corporate campuses are GPS nightmares — drivers get stuck in the wrong zone. We designed named geofence zones on a map polygon, so riders could confirm a named spot ("4th Exit Gate") that both driver and rider understood.

Reduced driver-rider meetup failures at airports by 61% in pilot testing
Business Impact

Results that moved the business forward

40%
Faster Bookings
Booking time vs legacy phone dispatch, measured in usability testing baseline
%
52%
Business Account Rides
Share of all bookings made via corporate account within 3 months of B2B launch
28%
Fewer Cancellations
Drop in ride cancellations after redesigning the cancel flow with reason capture and fee transparency
4.6
Rider Satisfaction
Average rating out of 5.0 from post-launch rider survey (n=240 respondents)
×
Corporate Client Growth
Enterprise accounts acquired in the 6 months following the B2B feature launch
+
65
Screens Designed
Unique app states across the full iOS experience, from onboarding to trip completion
Learnings

What designing B2B taught me

01

B2B means multiple decision-makers

The rider, the coordinator, and the finance team all use the same product differently. Designing for one persona breaks the others. I learned to map all stakeholder flows before touching the interface.

02

Expense management was the unlock

Every enterprise user interview surfaced the same pain point: expense reports. Adding automatic business billing and receipt management to the app turned it from a nice-to-have into an essential procurement tool.

03

Trust is a design problem

Surge pricing transparency, named pickup zones, driver preferences, and reason-required cancellations all solve the same underlying issue: corporate clients need to trust the platform at every step. Trust is designed, not assumed.