Elux Space Studio · Visit Qatar redesign

Feature roadmap

What each feature still needs, the states worth adding, and how we track progress in Figma.

Based on

Figma 13 Oct · coded prototype · meetings 18 Sep and 5 Oct

14 Oct 2026 · Internal draft

Where we are

Every 13 Oct screen now runs as a clickable prototype

30

end-to-end flows already in Figma (13 Oct)

~60

screens built in the prototype that Figma still needs

39

flows still to design · 13 are P0

39

common states to add (cut down from 160)

13 core journeys work end to end in the prototype: plan → book → ticket, restaurants, hotels, maps and train, voice, live, history, favourites, profile.

Visit Qatar · Feature roadmap · 14 Oct 2026

Try the prototype

Open it on your phone, then add it to your home screen

[prototype URL]

Scan with the phone camera

iPhone · Safari

  1. Open the link in Safari
  2. Tap Share (square with arrow)
  3. Tap Add to Home Screen → Add
  4. Open VQ Proto from the home screen

Android · Chrome

  1. Open the link in Chrome
  2. Tap ⋮ (top right)
  3. Tap Install app or Add to Home screen
  4. Open VQ Proto from the home screen

From the home screen it runs full screen, with no browser bar, like a real app. On a laptop it opens inside a phone frame.

Prototype responses are scripted · data stays on your device · reset anytime from the guide

Find your way around

Open the prototype guide: hold the top edge of the screen

To seeDo this
Onboarding from scratchGuide → Restart as new user → splash → language → Home → AI first-run
Login / sign inGuide → Sign in, or Profile → Sign in (as a guest)
Quick setup (preferences)AI button → first-run card → Quick setup
Plan a trip → itineraryAI button → Plan a trip → Send → Replace → Save trip
Book a ticketHome → Happening Now → VW-Beach Pro Tour → Book Now
Restaurants with allergiesAI button → See nearby → answer the two questions
Maps and trainMap tab → train button → "What can I visit along this route?"
Voice / Live AssistantMic in the composer / teal waveform button
Stories · notificationsSee & Do → tap a story circle · Home → bell
Start overGuide → Reset data

On a laptop: long-press 9:41 or press Shift+G · every journey is one tap away in the guide's "Jump to" list

What Taha asked for

Five goals every feature is checked against

01

Chat-first

Search goes straight to the concierge. Other screens support it.

02

Closed data

Only places verified by Visit Qatar. No open web answers.

03

Actionable

Itineraries can be edited and booked, not just read.

04

Remembers you

Allergies and preferences are kept and editable in chat.

05

Keep core UI

AI sits in the centre of the nav. Modern, not "AI-looking".

Open from kickoff: the composer's right icon reads like "send" but opens Live. It needs a clearer icon or placement.

Sources: meetings 18 Sep and 5 Oct 2026

Design feedback · Figma 13 Oct · 1 of 6

Fix these before the next review

#SeverityFeatureScreenIssueFixFigma
FB-01HighAI ConciergeTrip Planning / ResultsDay toggle reads "Day 1 | Day 1" · 9 framesSecond segment "Day 2" in the toggle masterOpen
FB-02HighAI ConciergeTrip Planning / ResultsPlan summary lists places not on the cards · 11 framesSummary must match the cardsOpen
FB-03HighAI ConciergeMy Trip / Itinerary / UpdatedSummary not updated after Replace · 2 framesRegenerate summary from new itemsOpen
FB-04HighAI ConciergeTrip Planning / ResultsSealine shows "4 km" (it is ~55 km away) · 5 framesReal distance or area nameOpen
FB-05HighAI ConciergeMy Trip / Map / Points of Interest / Desert FallDesert Fall card uses Sealine copy; Day 2 repeats stops · 5 framesOwn copy; Day 2 = Desert Falls, Banana Island, Souq WaqifOpen
FB-06HighAI ConciergeEvents / Results / MapBiennale venue differs on every screen · 11 framesOne venue field; "Multiple locations · 3 venues"Open
FB-07HighAI ConciergeRestaurants / Results / MapMsheireb Downtown shown as a restaurant · 7 framesRestaurant answers show restaurants onlyOpen
FB-08HighAI ConciergeEvents / Results / MapMsheireb Downtown shown as an event · 7 framesEvent answers show events onlyOpen
FB-09HighAI ConciergeRestaurants / Results / Getting ThereGetting There sheet over the Events chat · 3 framesUse the restaurant chat behind itOpen

"Open" jumps to the exact frame or layer in Figma (same as Copy link to selection) · full list in docs/figma-feedback-13oct.json

Design feedback · Figma 13 Oct · 2 of 6

Design feedback, continued

#SeverityFeatureScreenIssueFixFigma
FB-10HighAI ConciergeEvents / Preferences"Pick as many" but no checkboxes or Continue · 9 framesCheckboxes + "Continue · N selected"Open
FB-11HighAI ConciergeEvents / Today / ResultsVW-Beach dates and price differ per screen · 11 framesOne source for dates and priceOpen
FB-12HighDeals & OffersReview Payment (Deals)Deal price 200 vs 240; totals 405 vs 485 · 13 framesOne price; 2 × 200 + 5 = QAR 405.00Open
FB-13HighDeals & OffersDeals & Offers / Preferences / ResultDeals CTA says "Go to See & do" · 2 frames"Go to Deals & Offers", relinkOpen
FB-14HighEventTicket Details (Event)Ticket date and venue ≠ event details · 5 framesBind ticket to the same event dataOpen
FB-15HighHomeHome Screen v1 - B / Has TripHas Trip card: other trip, all stops 5:00 PM · 5 framesUse My Trip data, real timesOpen
FB-16HighHomeHome Screen v1 - B / Day3rd Happening Now card: "Attraction" + Biennale · 3 framesReal attraction or remove duplicateOpen
FB-17HighSee & DoReview Payment (Experience)Experience total "QAR 105,00"; quantity "x" · 6 framesQAR 205.00; quantity "1x"Open
FB-18HighSee & DoExperiences / Details (success modal)Success modal over restaurant content · 4 framesUse the experience page behind itOpen

"Open" jumps to the exact frame or layer in Figma (same as Copy link to selection) · full list in docs/figma-feedback-13oct.json

Design feedback · Figma 13 Oct · 3 of 6

Design feedback, continued

#SeverityFeatureScreenIssueFixFigma
FB-19HighSee & DoAttractions / Details / Getting ThereAttraction page shows volleyball site + "More Events" · 2 framesmsheireb site; "More Attractions"Open
FB-20MedAI ConciergeMy Trip / Replace Experience / Preferences"Seline Beach" typo (15 layers) · 15 frames"Sealine Beach"Open
FB-21MedAI ConciergeBadgeBadges "AI Concirge", "Prefrences" · 3 frames"AI Concierge", "Preferences"Open
FB-22MedAI ConciergePreferencesTitle "Mv Preferences""My Preferences"Open
FB-23MedAI ConciergeChat History / Settings"Al Concierge" (lower-case L)"AI Concierge"Open
FB-24MedAI ConciergePreferences / With"Bussiness""Business"Open
FB-25MedAI ConciergePreferences / Interest"Romantic Gateway" · 2 frames"Romantic Getaway"Open
FB-26MedAI ConciergeHotels / Details / Ask AI"Show availbility""Show availability"Open
FB-27MedAI ConciergeFavorites / Saved AI"2 Result", "3 Result Found" · 18 frames"2 results", "3 results found"Open

"Open" jumps to the exact frame or layer in Figma (same as Copy link to selection) · full list in docs/figma-feedback-13oct.json

Design feedback · Figma 13 Oct · 4 of 6

Design feedback, continued

#SeverityFeatureScreenIssueFixFigma
FB-28MedAI ConciergeChat History / Menu / Delete"Delete ?""Delete chat?"Open
FB-29MedAI ConciergeChat History / MenuMenu says "Archived" / "Unarchived" · 5 frames"Archive" / "Unarchive"Open
FB-30MedAI ConciergeRestaurants / Details"café" renders as "cafñ" (font glyph) · 10 framesFont with Latin Extended + ArabicOpen
FB-31MedAI ConciergeRestaurants / DetailsRestaurant/hotel Ask AI says "this event" · 6 frames"this restaurant" / "this hotel"Open
FB-32MedAI ConciergeMy Trip / Replace Experience / ConfirmedReplace toast covers the header toggle · 2 framesPlace toast below the headerOpen
FB-33MedAI ConciergeRestaurants / Preferences / Food AllergiesQuestion step 2: back/close icons swapped · 7 frames‹ left (step > 1), ✕ right, everywhereOpen
FB-34MedAI ConciergeEvents / DetailsMore Events includes the open event · 7 framesExclude the current itemOpen
FB-35MedAI ConciergeEvents / Details / Ask AIBiennale Ask AI chip "Teams & participants" · 2 framesChips per event typeOpen
FB-36MedAI ConciergeChat History / Menu / Rename"Lorem ipsum" in Rename/Delete dialogs · 2 framesShow the real chat titleOpen

"Open" jumps to the exact frame or layer in Figma (same as Copy link to selection) · full list in docs/figma-feedback-13oct.json

Design feedback · Figma 13 Oct · 5 of 6

Design feedback, continued

#SeverityFeatureScreenIssueFixFigma
FB-37MedDeals & OffersDeals & Offers / Details"Ask AI about this deals" · 4 frames"Ask AI about this deal"Open
FB-38MedDeals & OffersDeals & Offers / Preferences / DiningrDeals question "I'm a little picky"; wrong placeholder · 4 framesDeal types; "Ask about deals & offers…"Open
FB-39MedEventThings to Do / Events - Details - V1"Payment Succesfull" · 4 frames"Payment Successful"Open
FB-40MedEventReview Payment (Event)Totals use comma ("205,00") · 12 frames"QAR 205.00" everywhereOpen
FB-41MedEventTicket Details (Event)Ticket says barcode, success says QR · 6 framesUse QR in graphic and copyOpen
FB-42MedFavouritesFavorites"Add an Restaurants" · 9 frames"Add restaurants"Open
FB-43MedHomeHome Screen v1 - B / DayExpired Ramadan deal shown as active · 4 frames"Expired · Returns next Ramadan"Open
FB-44MedSee & DoSee & Do v1"101 Luasail Expy" · 10 frames"101 Lusail Expy"Open
FB-45MedSee & DoExperiences / DetailsCorrupted text "The PeaDoha, Qatarrl""The Pearl, Doha"Open

"Open" jumps to the exact frame or layer in Figma (same as Copy link to selection) · full list in docs/figma-feedback-13oct.json

Design feedback · Figma 13 Oct · 6 of 6

Design feedback, continued

#SeverityFeatureScreenIssueFixFigma
FB-46MedSee & DoSelect Tickets (Experience)Calendar shows 29 Feb 202628 days in Feb 2026Open
FB-47LowAI ConciergeDiscover / Event Inquiry / VW-Beach Pro Tour Elite 19Frames named Elite 19/21/22, content is 16 · 5 framesRename framesOpen
FB-48LowDeals & OffersDeals & Offers / Preferences / DiningrFrame name "Diningr" · 2 frames"Dining"Open
FB-49LowDeals & OffersDeals & Offers / Details"Hotels & Restaurant" vs "Hotel & Restaurants" · 4 frames"Hotels & Restaurants"Open
FB-50LowSee & DoAttractions / Details / 363Frame name "363""360"Open

"Open" jumps to the exact frame or layer in Figma (same as Copy link to selection) · full list in docs/figma-feedback-13oct.json

Feature map

Ten features, one view

FeatureFlows in FigmaPrototype additionsFlows to designStates
Home3413
AI Concierge8106 · 4 P06
Events445 · 1 P06
See & Do456 · 2 P04
Deals & Offers343 · 1 P03
Favourites1333
Itineraries / My Trip265 · 2 P05
Maps4433
Profile (not in Figma)1423
Auth & Onboarding (new)055 · 3 P03

Prototype additions = groups of screens/sheets the prototype added so nothing dead-ends · P0 = needed before the redesign launches

Feature 01

Home

In Figma · 3 flows

  • Ask: search bar → Concierge
  • Continue trip: Has Trip → View → Itinerary
  • Browse: Explore / Happening Now → Details

Add to Figma

Built in the prototype

  • Home chips → seeded chat answers
  • "What's next?" and "Change my plan"
  • Bell → Notifications inbox (settings stay in Profile)
  • Arabic / RTL Home

Still to design

Not in Figma or prototype

  • P1 Search-as-you-type: place hits + "Ask the concierge"

Figma: Home Screen 13 Oct (v1-B Day · Night · Has Trip)

Feature 02

AI Concierge

In Figma · 8 flows

  • Plan a trip → itinerary
  • Events → results → Ask AI
  • Restaurants: picky → allergies → results
  • Hotels: stay type → amenities → results
  • Discover: questions → answers
  • Voice: record → transcribe → send
  • Live Assistant session
  • Chat History: rename · pin · archive · delete

Add to Figma

  • "Ask AI" answer per place type
  • Voice: editable transcript + AI reply
  • Live: pause; end → transcript in chat
  • History: reopen chat, search empty, undo
  • Questions: multi-select + Continue, back
  • "Using your preferences" + Remember card
  • Stop, send failed, retry
  • First-run card → Quick setup

Still to design

  • P0 Hotel stay intake → Check rates
  • P0 No match / out of scope answers
  • P0 Resume last chat vs new chat
  • P0 Composer + Live entry (pending Taha)
  • P1 Live: connecting → listening → captions
  • P1 Qatar Lens camera flow

Figma: AI Concierge 13 Oct · also owns Ask AI answers, preferences in chat and listing ↔ chat context

Feature 03

Events

In Figma · 4 flows

  • Browse: listing → filter → details
  • Book: tickets → your details → pay → ticket
  • Free event: details → Getting There
  • From chat: results → "Go to events"

Add to Figma

  • Quick book from chat → checkout
  • Booking-confirmed card + "Back to chat"
  • Add to my trip sheet
  • My Tickets tabs + Find my booking

Still to design

  • P0 Listing entry: pick v1 or v2 + "See all"
  • P0 Guest or sign-in at checkout (see Auth)
  • P1 Listing ↔ chat context chips
  • P1 Custom date range filter
  • P1 Free event RSVP
  • P1 Add card form

Figma: Event Screen 13 Oct · the checkout here is reused by Experiences and Deals

Feature 04 · attractions, restaurants, experiences, hotels

See & Do

In Figma · 4 flows

  • Attractions: details → 360 / Getting There
  • Restaurants: filter → details
  • Experiences: details → book → ticket
  • From chat: "Go to See & Do"

Hotels exist only in chat.

Add to Figma

  • Story circles → story viewer (like, share)
  • Sort sheet on listings
  • Accommodation → hotels chat
  • Attraction details opened from chat
  • 360 drag + other views
  • Partner hand-off screen

Still to design

  • P0 Restaurant Call / Website hand-off
  • P0 One Details template (AI + browse)
  • P1 Accommodation list → hotel → Check rates
  • P1 Attractions filter
  • P1 Full-screen gallery
  • P1 Reserve a table (pending Taha)

Figma: See & Do Screen 13 Oct · hotels from AI Concierge 13 Oct

Feature 05

Deals & Offers

In Figma · 3 flows

  • From chat: deal type → result → book
  • From Home: deal → Reserve → checkout
  • Listing: details → Ask AI

Add to Figma

  • Deals filter sheet
  • Chat "Reserve" → checkout → back to chat
  • Expired badge + disabled Reserve
  • "Go to Deals & Offers" button in chat

Still to design

  • P0 Listing entry from Home "See all"
  • P1 Deal terms: included, valid dates, T&C
  • P1 Deal-specific Ask AI answers

Figma: Deals & Offers 13 Oct · checkout shared with Events

Feature 06

Favourites

In Figma · 1 flow

  • Save from chat: "Save to favorites" → Favourites → Saved from AI → filter

Add to Figma

  • Category pages + "Add" tile
  • Sort sheet
  • Events tile
  • Itineraries tile → My Trips

Still to design

  • P1 Heart on chat cards → "Saved · View"
  • P1 Guest save → "Sign in to sync"
  • P1 "Plan a trip with these" → chat

Figma: Favourites Screen 13 Oct

Feature 07

Itineraries / My Trip

In Figma · 2 flows

  • View: trip results → My Trip → map per day
  • Replace: preferences → alternatives → confirmed

Add to Figma

  • Save trip sheet: sign in or guest
  • Add dates sheet
  • Edit trip: rename, remove, undo
  • My Trips list + no-trip screen
  • Booking guard: stop already booked
  • Replace options + Undo

Still to design

  • P0 Full edit: reorder, move day, add stop
  • P0 One active trip across the app
  • P1 Edit by chat: change preview → Keep / Undo
  • P1 Times, travel time, conflict warning
  • P1 Share trip link

Figma: AI Concierge 13 Oct (Trip Planning, My Trip) + Itineraries Screen 13 Oct

Feature 08

Maps & train

In Figma · 4 flows

  • Browse: map → card → Getting There / Details
  • Train: toggle → train rail
  • Chat → map: View in Map → results
  • Train route chat: categories → results → details

Add to Figma

  • Filter (from 26 Feb) + "Ask AI instead"
  • Recent search → chat with map chip
  • Search query shown on results
  • Locate me → location sheet / area picker

Still to design

  • P1 Train: line → station → ask about route
  • P1 Getting There: one provider set incl. Sila + ETA
  • P1 Distance + heart on map cards

Figma: Maps Screen 13 Oct · filter and search from Map Screen 26 Feb · owns the Getting There sheet

Feature 09 · not in Figma 13 Oct

Profile

In Figma · 1 flow

  • Preferences: My Preferences → section → save

The rest is adapted from the old Essentials page (26 Feb).

Add to Figma

  • Profile tab: essentials, my trips, my tickets
  • Personal info; language, currency, notifications
  • Essentials: Emergency, Visa, Weather, Guides, Apps
  • Country, "Where are you now?", log out / delete

Still to design

  • P1 Dual currency: "QAR 200 ≈ USD 55"
  • P1 Visit Qatar Pass in My tickets (pending Taha)

Preferences frame from AI Concierge 13 Oct · essentials from old file, Essentials Screen 26 Feb

Feature 10 · new, not in any Figma

Auth & Onboarding

The rule

No login wall. People browse and chat as guests. Sign-in only appears when they save a trip, check out, or want to sync.

Sign-up problems show up in app reviews, and Taha's lawyer-app brief uses the same pattern.

Add to Figma

  • Splash → Language picker → Home
  • Sign in: Apple, Google, email → code
  • Find my booking
  • First-run card → Quick setup (4 steps)
  • Permission sheets: location, mic, notifications

Still to design

  • P0 Checkout: guest or sign in, step kept
  • P0 "Sign in to sync" after the first save
  • P0 AI disclaimer + "verified places only"
  • P1 Session expired → action resumes
  • P1 Notification ask after first booking

Open question for Taha: is there an existing Visit Qatar account or government SSO to plug into?

Screens repeated across features

Repeat them where the flow needs them, and keep every copy in sync

Rule: when one copy changes, update the same screen on every page listed in its row, in the same day's section.

ScreenUpdate first inThen also update in (Figma 13 Oct)
Ticket checkout + ticketEvent · Event Book (Paid)See & Do · Select Tickets, Passenger Details, Review Payment, Ticket Details · Deals & Offers · Select Tickets, Your Details, Review Payment, Ticket Details
Restaurant details + questionsAI Concierge · RestaurantsMaps · Restaurants / Picky Eater, Food Allergies, Details · See & Do · Restaurants / Details
Getting There sheetAI Concierge · Results / Getting ThereEvent · Events / Details / Getting There · See & Do · Attractions / Details / Getting There · Maps · Restaurants / Details / Getting There
Ask AI about this…AI Concierge · Details / Ask AIEvent · Events / Details / Ask AI · Deals & Offers · Details / Ask AI · Maps · Restaurants / Details / Ask AI
Concierge HomeAI Concierge · Home / DefaultEvent, See & Do, Deals & Offers, Favourites, Itineraries, Maps (first frame of each AI flow)
Home (v1-B Day)Home Screen · 13 OctEvent, Deals & Offers, Favourites, Itineraries (entry frame of each flow)

Tip: name copies the same as the master and add a small "Copy of → AI Concierge" tag, so they are easy to find

Common states · 1 of 4

Home and AI Concierge

FeatureStateFlow / screenWhat the user seesPreview
HomeLoadingHome railsSkeleton rails; search works at once
HomeOfflineHomeBanner; cached content; tickets still open
HomeFirst visitHome (guest)Generic chips + "Tell us what you love"
ConciergeStreaming / StopAny answerStop button; partial kept + Continue
ConciergeSend failedThread · user message"Tap to retry"; text is kept
ConciergeError + retryAny answerInline "Couldn't finish · Retry"
ConciergeOfflineThreadBanner; voice and booking disabled
ConciergeNo / partial matchRestaurants, hotels, events resultsClosest match, ✓/✕ criteria, relax chips
ConciergeMic deniedVoice inputMic-slash + Open Settings; typing works

39 states, picked from 160 · tap View to see the screen with and without the state

Common states · 2 of 4

Events and See & Do

FeatureStateFlow / screenWhat the user seesPreview
EventsPayment failedBook → Review PaymentInline error; data kept; "Try another method"
EventsProcessingBook → Pay NowSpinner; screen locked, no double pay
EventsSold out / limitBook → Select TicketsTier disabled, with the reason
EventsNo resultsListing → FilterActive filters + Clear + Ask AI
EventsEvent endedEvent DetailsBanner + similar events
EventsNo tickets yetMy TicketsEmpty screen + Explore events
See & DoClosed nowResult card + DetailsGreyed "Closed · Opens 10:30"
See & DoNo resultsListing → FilterClear filters + Ask AI
See & DoLoadingListing / DetailsSkeleton
See & DoLeaving appCall / Website / Check rates"Opening …" + reference saved to My Trip

Booking states apply to every checkout: Events, Experiences and Deals

Common states · 3 of 4

Deals, Favourites and My Trip

FeatureStateFlow / screenWhat the user seesPreview
DealsExpiredDeal card + DetailsBadge; Reserve disabled
DealsNo deals matchChat deals flowRelax chip, e.g. "Budget QAR 250"
DealsLoading / emptyDeals listingSkeleton; "No deals right now"
FavouritesEmptyHub / category page"Tap ♥ to save" + Ask AI
FavouritesNo filter resultsSaved from AI → FilterClear filters
FavouritesRemoved + UndoHeart, anywhereToast "Removed · Undo"
My TripNo tripsMy Trips"No trips yet" + Plan with AI
My TripDraft / SavedItinerary headerDraft + Save; "Saved ✓"; guest "On this device"
My TripCouldn't buildPlan a trip → Generating"Couldn't build your plan · Retry"
My TripNo alternativeReplace → alternatives"Try another day" or "Remove stop"
My TripUnsaved changesEdit tripSave / Discard bar

Draft vs Saved is the one state Taha's team should confirm first (it may already exist in TestFlight)

Common states · 4 of 4

Maps, Profile and Auth

FeatureStateFlow / screenWhat the user seesPreview
MapsLocation deniedLocate meArea picker or Open Settings
MapsNo resultsMap search / filterZoom out, Clear, Ask AI
MapsOfflineMap + Getting ThereCached pins; address shown
ProfileSavedPreference sectionsToast "Preferences updated"
ProfileGuestProfile tabLocal data + "Sign in to sync"
ProfileNo preferencesMy Preferences"Set up in 30 sec"
AuthWrong codeSign in → codeInline error; "Resend in 0:30"
AuthSigned inAfter the codeToast "Signed in · Saves synced"
AuthPermission deniedLocation / mic / notification sheetsFallback; never blocks the task

Tap View to compare the normal screen with the state · states also appear in each feature's canvas layout

Next steps

Four steps, in this order

1

Team reviews this deck and the prototype

2

Designers add the ~60 prototype screens to Figma, P0 first

3

Designers add the 39 common states to each feature canvas

4

Review with Taha feature by feature, then mark flows "Ready for dev"

Prototype is online · Figma stays the source of truth for design