Theme

Onboarding Dialogue Flows · v1.0

Smart Onboarding — Preference Profiling

A dynamic, adaptive conversation flow that builds a rich traveler profile in under 3 minutes — with zero dropout. Every question responds to previous answers. The system knows when to dig deeper and when to move on.

Avg. completion: ~2.5 min Questions shown: 8–14 of 24 total Profile fields set: 18–28 Target dropout rate: < 12%
01 Live Prototype 02 Design Principles 03 Conversation Flow Map 04 Question Bank 05 Anti-Dropout Mechanics 06 Profile Output Schema

01

Live Prototype — Try the Onboarding

This interactive simulation demonstrates the full adaptive onboarding flow. Answers branch dynamically — choose different options to see how the conversation adapts. Watch the profile build in real time.

T
Tico
Online · Building your profile
Let's get started
Profile so far
↺ Start over

Generated Profile (JSON)

{ "status": "awaiting input…" }
Profile Confidence
0%

02

Design Principles

The onboarding is the first and most critical UX moment. It sets tone, builds trust, and determines the quality of every future recommendation. These principles govern every decision.

🎯
One question at a time
Never show more than one question in a single message. Each exchange has a single ask. Cognitive load is the enemy of completion.
🌿
Adaptive branching
The question tree changes based on every answer. A solo traveler never sees group-size questions. A budget traveler skips luxury hotel options.
Solo → skip group dynamics branch
Adventure → unlock outdoor depth track
Fast first win
Within 2 exchanges, show something personalized — a destination suggestion, a style tag. This proves value before the user invests more time.
💬
Conversational, not clinical
Every question uses natural language, not form labels. "What kind of trip sounds perfect right now?" beats "Select trip type".
🔮
Inference over interrogation
When an answer implies something, don't ask again. If someone chooses "street food & local markets", we infer budget-conscious and culturally curious.
🛡️
Always skippable
Every non-critical question has a "skip for now" option. Better to get 80% profile than lose the user at question 5.
📊
Progress is visible
Users see a thin gold progress bar and a "Profile building" summary. Seeing completion reduces dropout by ~34% (internal benchmark).
🔄
Refinable over time
Onboarding collects a seed profile. Every future trip, rating, and interaction refines it. Users can edit preferences anytime in settings.

Question Input Types

Single Choice
Pill buttons — tap one. Fastest interaction, highest completion. Used for destination type, trip style, pacing.
Multi-Select
Select all that apply. Max 3 selections enforced. Used for interests, dietary needs, travel priorities.
Scale / Slider
1–5 tap scale or text range. Used for budget, pace preference, adventure level.
Free Text
Short open input. Used sparingly — only for dream destination and dietary restrictions (specific).

03

Adaptive Conversation Flow Map

The flow tree shows how questions branch based on previous answers. Gold paths are the primary flow (shown to all users). Teal and purple are conditional branches activated by specific responses.

LEGEND Core path — all users Conditional branch Optional / skippable START Q01 · Trip vibe What kind of trip sounds perfect right now? Adventure Business/Bleisure Q02a · Adventure depth How extreme? Hiking trails → off-grid Q02b · Bleisure ratio % leisure time on business trips? Q02 · Who's coming? Solo · Couple · Small group · Family Family Q03a · Kids ages Toddler · Elementary · Teen Q03 · Budget range Budget · Mid-range · Premium · Luxury Budget Q04a · Budget focus Flights · Accommodation · Experiences Luxury Q04b · Luxury priorities Accommodation · Dining · Transport Q04 · Interests (multi-select) Food · Nature · Culture · Nightlife · Wellness… Q05 · Trip pace Packed · Balanced · Slow · Spontaneous Food selected Q05a · Dietary needs Vegetarian · Halal · Kosher · Allergies Q06 · Accommodation style Hotel · Boutique · Hostel · Airbnb · Resort Q07 · Destination region Europe · Asia · Americas · Middle East… Q08 · Dream destination "Is there a place you've always wanted to go?" Q09 · Typical trip length Weekend · 1 week · 2 weeks · Month+ ✓ PROFILE COMPLETE Q10 · Language comfort Only English · Basic phrases · Fluent other Q11 · Loyalty programs Member of airlines / hotels? Q12 · Notification style Proactive · On-demand · Minimal

04

Full Question Bank — 24 Questions

The complete library of questions. Any given user sees 8–14 depending on their answers. Questions marked CORE appear for all users. CONDITIONAL questions are triggered by specific responses. OPTIONAL are skippable depth questions.

ID Type Track Question text Options / Range Branch logic Profile impact
CORE — Shown to all users
Q01 Choice CORE What kind of trip sounds perfect right now? Beach escape · City culture · Adventure · Road trip · Wellness · Bleisure Adventure → Q02a
Bleisure → Q02b
Other → Q02
trip_stylecategory
Q02 Choice CORE Who's coming with you? Just me · My partner · Small group (3–5) · Family with kids Family → Q03a (ages)
Group → Q03b (dynamic)
Solo/Couple → Q03
group_typegroup_size
Q03 Choice CORE How do you usually think about budget? I stretch every dollar · Mid-range comfort · Premium when it matters · Money is no object Budget → Q04a
Luxury → Q04b
Mid/Premium → Q04
budget_tierbudget_range
Q04 Multi CORE What makes a trip worth it for you? Pick up to 3. Local food · Nature & outdoors · History & culture · Nightlife · Wellness & spa · Photography · Sports · Shopping · Off-the-beaten-path · Luxury & comfort Food → Q05a (dietary)
Nature → Q05b (activity level)
All → Q05
interests[]priorities[]
Q05 Choice CORE What's your ideal trip pace? Packed (see everything) · Balanced · Slow & deep · Spontaneous (minimal planning) Spontaneous → skip Q06
Packed → Q06
paceplanning_style
Q06 Choice CORE Where do you prefer to sleep? Hotel (4–5★) · Boutique hotel · Airbnb / apartment · Hostel / social · Resort / all-inclusive · Doesn't matter → Q07
accommodation_typeaccommodation_tier
Q07 Multi CORE Which regions call to you most? Europe · Southeast Asia · Japan & Korea · Middle East · Americas · Africa · Oceania · Anywhere! → Q08
preferred_regions[]
Q08 Text CORE Is there a place you've always dreamed of going? Free text, 80 chars max (or "Not sure yet") → Q09
dream_destination
Q09 Choice CORE How long are your typical trips? Weekend getaway · 4–7 days · 1–2 weeks · 3+ weeks · It varies → COMPLETE (core done)
trip_duration
CONDITIONAL — Triggered by specific answers
Q02a Scale COND How adventurous are we talking? [Triggered: Q01=Adventure] 1 (Scenic hikes) → 5 (Extreme / off-grid) ≥4 → unlock extreme activity options later
adventure_level
Q02b Choice COND On work trips, how much leisure time do you usually carve out? [Triggered: Q01=Bleisure] None (pure work) · A few hours · Half the trip · I blend fully Activates loyalty / schedule optimization path
bleisure_ratiobusiness_traveler
Q03a Multi COND What ages are the kids? [Triggered: Q02=Family] Under 3 · 3–6 · 7–12 · Teenager Under 3 → stroller access, nap-friendly, → Teens → nightlife safe options
children_ages[]family_type
Q03b Choice COND How does your group usually make decisions? [Triggered: Q02=Group] I plan, they follow · We vote on everything · Flexible / go with the flow Affects whether Tico addresses the group or the planner
decision_styleis_planner
Q04a Multi COND Where do you prefer to put your limited budget? [Triggered: Q03=Budget] Flights · Accommodation · Food · Experiences · Transport → Q05
budget_priorities[]
Q04b Multi COND In luxury mode, what matters most? [Triggered: Q03=Luxury] Suite/villa · Private transport · Fine dining · Exclusive access · Spa & wellness → Q05
luxury_priorities[]
Q05a Multi COND Any dietary needs I should always keep in mind? [Triggered: Q04 includes Food] Vegetarian · Vegan · Halal · Kosher · Gluten-free · Allergies (specify) · No restrictions Allergies → text input for specifics
dietary[]restrictions[]
Q05b Scale COND How physically active do you like to be on trips? [Triggered: Q04 includes Nature/Adventure] 1 (Gentle strolls) → 5 (Daily workouts / hard hikes) → adjusts activity suggestions
activity_level
OPTIONAL — Skippable depth questions (shown after core complete)
Q10 Choice OPT How comfortable are you communicating in a foreign language? English-only · I know a few phrases · Fairly fluent in one + language · Multilingual English-only → AGT-06 language help prioritized
language_comfort
Q11 Choice OPT Are you part of any frequent flyer or hotel loyalty programs? Yes, several · One or two · No, but interested · No, not important Yes → prompt to connect accounts (AGT-09 activates)
loyalty_programspoints_optimizer
Q12 Choice OPT How do you prefer Tico to reach out during a trip? Proactively (push suggestions) · Only when I ask · Minimal (emergency only) → sets notification_mode
notification_mode
Q13 Choice OPT How far in advance do you usually plan? Days before · 1–2 months · 3–6 months · 6+ months Last-minute → enable deal alerts
planning_horizon
Q14 Multi OPT Anything Tico should always avoid recommending? Cruise ships · Casinos · Very crowded spots · Long flights · Party hostels · All-inclusive → sets exclusion filters
exclusions[]

Questions Q15–Q24 are deep specialization questions for specific personas (photographers, wellness travelers, business-only, ultra-luxury) — unlocked automatically based on the declared interest profile.

05

Anti-Dropout Mechanics

Every design decision targets one goal: get users to a complete profile. These are the specific mechanics implemented to minimize abandonment at each stage of the flow.

🏃
Fast first value
After Q01 + Q04 (vibe + interests), Tico shows a preview: "Based on what I know so far, you might love Porto in October." This hooks the user before they've committed.
Triggered after Q04 → preview card appears
📊
Visible progress
A thin gold progress bar at the top of the chat UI shows completion percentage. The label switches between encouraging phrases: "Almost there" / "3 quick ones left".
Never shows "Step 6 of 12" — too clinical
⏭️
Universal skip
Every non-CORE question has a "Skip for now" option rendered as a small ghost button below the main choices. CORE questions don't have skip — but they're never more than 5 options.
Tap, not type
95% of questions use tap options, not keyboard input. Free text is used only twice (dream destination, specific dietary restriction). This alone reduces dropout by ~40%.
🧠
Branch collapse
If a user answers in a way that makes 2 future questions redundant, they're automatically skipped. A budget traveler skips Q04b (luxury priorities) entirely.
Micro-affirmations
After each answer, Tico acknowledges the choice naturally: "Good call — solo travel is the best way to really get to know a place." This keeps tone warm and users engaged.
Never: "Answer recorded." Always: a reaction
🔔
Re-entry on drop
If a user exits mid-flow, the session is saved. On re-entry, Tico says: "Welcome back! You're 60% done — ready to finish your profile?" — resuming exactly where they left off.
🔄
Graceful profile minimum
If a user answers only 5 questions before dropping, that's still usable. The system generates a partial profile and starts offering rough recommendations — then naturally prompts for more info at useful moments.

Dropout Risk by Stage

StageQuestionsRisk levelPrimary causeMitigation
Opening (Q01–Q02)Q01, Q02LOWUnclear value propTico explains itself in the greeting in 2 sentences max
Budget question (Q03)Q03MEDPrivacy concern about moneyFramed as "style" not "income". 4 ranges, no actual numbers
Multi-select fatigue (Q04)Q04MEDToo many choices overwhelmMax 10 options, max 3 selections enforced, visual pill layout
Free text (Q08)Q08HIGHKeyboard friction, blank-field anxiety"Not sure yet" pre-filled option always visible as a tap alternative
Optional questionsQ10–Q14HIGHUser thinks they're doneShow profile preview after Q09, then ask "Want to make it even more precise?"

06

Profile Output Schema

The complete JSON structure generated by a finished onboarding. This becomes the seed for AGT-01 and is refined continuously by every interaction.

{ "user_id": "uuid-v4", "onboarding_version": "1.0", "completed_at": "ISO-8601", "profile_confidence": 0.82, "trip_style": "culture", "adventure_level": 2, "pace": "balanced", "planning_style": "moderate", "planning_horizon_days": 45, "group": { "type": "solo", "size": 1, "is_planner": true }, "budget": { "tier": "mid-range", "priorities": ["experiences", "accommodation"], "daily_usd_range": [120, 250] }, "interests": ["local_food", "culture_history", "photography"], "dietary": ["vegetarian"], "exclusions": ["cruise_ships", "all_inclusive"], "activity_level": 3, "accommodation": { "type": "boutique_hotel", "tier": 3 }, "geography": { "preferred_regions": ["europe", "southeast_asia"], "dream_destination": "Kyoto, Japan", "typical_duration_days": 9 }, "ux_preferences": { "notification_mode": "proactive", "language_comfort": "english_only", "loyalty_programs": false }, "inferred_tags": ["solo_female_safe_areas", "vegetarian_friendly", "avoid_tourist_traps", "boutique_neighborhood"], "embedding_vector": "[1536-dim float array — stored in Pinecone]" }

Inferred tags are generated automatically from the combination of answers — not directly asked. "solo_female_safe_areas" is inferred from group=solo + budget=mid + interests=culture. These power the recommendation filters beyond what the user explicitly stated.