Step 2 Onboarding Proeprty Selection
Purpose (Product)
This step lets landlords choose how to bring properties into Hububb, shaping the rest of their onboarding.
Import properties from Airbnb: For landlords who already host on Airbnb. They connect their Airbnb account, and all “Listed” (active) Airbnb properties are imported into Hububb so they can manage properties, bookings, inventory, calendar, guest messages, and services in one place.
Create new property: For landlords who have properties not listed anywhere yet and prefer Hububb to list for them. After creating the property in Hububb and selecting distribution channels (OTAs), Hububb’s team will create accounts for the landlord on those OTAs and publish the listings. The landlord then manages properties, bookings, inventory, guest messages, calendar, and services on Hububb.
UX Flow (What the user sees)
A screen titled “How would you like to get started?” showing two selectable cards:
[[Import properties from Airbnb]] (with Airbnb logo and ~2 min estimate).
Create new property manually (with create icon and ~5 min estimate).
If the user already has
onboardingType:MANUAL_LISTING: the option pre-selects and if
onboardingStep > 1the app redirects to Create Listing flow.AIRBNB_CONNECT: the option pre-selects.
Upon clicking a card, the choice is persisted and the user is navigated accordingly.
Navigation:
Airbnb: to Integration → Airbnb connect screen.
Manual listing: to Onboarding → Create Listing multi-step flow -> [[Step 3 - Tell us about your property]].
![[Desktop 1.png]]
System Flow (How it works)
High-level sequence of events from user action to persisted state.
APIs Called
PATCH /api/users/{userId}
Request (Airbnb):
Payload:
Request (Manual listing):
Payload:
Response: Updated user object (shape from backend; consumed by
updateUserData)Errors: 400, 401/403, 404, 500
Idempotency: Safe to repeat with same values (no adverse side effects)
Retries: No automatic retries; front-end does not retry on failure
Design
(Design assets and specifications referenced in the original content remain applicable.)
QA Checklist
Visual:
Two cards render with correct logos/icons, titles, and time estimates
Hover/active states apply styling as expected
Behavior:
Clicking Airbnb triggers PATCH then navigates to
/integration/airbnbClicking Create triggers PATCH then navigates to
/onboarding/create-listingWith existing
onboardingType === 'MANUAL_LISTING'andonboardingStep > 1, user auto-redirects to create listingWith
onboardingType === 'AIRBNB_CONNECT', option is pre-selected (no auto-redirect here)
Data:
PATCH payloads match selected option;
onboardingStepis 1 for Airbnb, existing-or-1 for manualupdateUserDataupdates the auth context with returned values
Negative:
API failure leaves user on the same screen without navigation; no crashes
Non-landlord users are blocked from reaching the screen
Navigation:
Back/refresh maintains consistent behavior with existing
onboardingType/onboardingStepstate