Skip to content

Guided tour

route name in code: GuidedTour

IncomingkindControl
Escape the Crowdnavigate
Before the tour startsnavigate
OutgoingkindControl
Sign-in promptnavigate
HomepopTo
Route builder — start and timenavigate
CapabilityStatusProofADO
Place narration generated online, shown in the pane and read by the device voiceworkse2eGuidedTour.narrativePane
RNTLGuidedTourScreen.test.tsx
RNTLGuidedTourScreen.test.tsx
RNTLGuidedTourScreen.test.tsx
When the narration server fails, the app says a fallback sentence or reads the downloaded offline bundleworksRNTLGuidedTourScreen.test.tsx
RNTLGuidedTourScreen.test.tsx
RNTLGuidedTourScreen.test.tsx
Arrival: the card after the first in-radius GPS fix, automatic confirmation after twoworkse2eGuidedTour.arrivalCard
RNTLGuidedTourScreen.test.tsx
RNTLGuidedTourScreen.test.tsx
e2ej2-marketplace-guided-tour.spec.ts
The “I’m here” button needs Google Directions; without a key it stays disabledpartiale2eGuidedTour.arrivalImhere#220 (New)
Skip a stop without counting a visit; manual “visited” on the list without GPSworksRNTLGuidedTour.arrivalSkip
RNTLGuidedTour.markVisited
RNTLGuidedTourScreen.test.tsx
RNTLGuidedTourScreen.test.tsx
Questions to the guide: a daily-limited chat outside Premium, a voice session on PremiumworksRNTLChatModal.chatSuggestion ·
RNTLGuidedTourScreen.test.tsx
RNTLGuidedTourScreen.test.tsx
RNTLGuidedTourScreen.test.tsx
APIdialog.test.ts
Premium: the voice agent starts with the tour and greets; outside Premium the device voice greetsworksRNTLGuidedTourScreen.test.tsx
RNTLGuidedTourScreen.test.tsx
RNTLGuidedTourScreen.test.tsx
Without a GPS fix the tour is blocked with Retry — it never starts from an invented positionworksRNTLGuidedTourScreen.test.tsx
Ending the tour returns to Home without stacking a second oneworkse2eGuidedTour.end
e2eGuidedTour.endTourConfirm
RNTLGuidedTourScreen.test.tsx
After the last stop: a summary with points, an NPS rating and the tomorrow hookworkse2eTourCelebrationModal.poiList
e2eNpsModal.step
e2eNpsModal.tomorrowHook
RNTLGuidedTourScreen.test.tsx
Pause, the stop list and the transcript are available during the tourworksRNTLGuidedTour.pause ·
RNTLGuidedTour.openStopsList
RNTLGuidedTour.transcript ·
ControlLabelelementProof (last green build)
end-tour-confirmno labelThemedAlert.alertRNTL×1 e2e×2
tour-endno labelIconButtonRNTL×1 e2e×1
open-stops-listTour stopsIconButtonRNTL×1
phase-chipno labelTextno proof
tour-pauseResumeIconButtonno proof
limit-chipLimit: {{time}}Textno proof
narrative-paneno labelViewRNTL×2 e2e×1
arrival-cardno labelCardRNTL×3 e2e×1
arrival-imhereI’m hereButtonRNTL×4 e2e×1
arrival-skipSkipButtonRNTL×1
closing-warningThis place may be closed right now — check the hours before entering.Textno proof
photo-momentPhoto momentButtonno proof
mark-visited-* (dynamic)Mark visitedButtonRNTL×1
tour-transcriptno labelScrollViewno proof
premium-boxPremium banner — go to checkoutCard · PremiumBannerno proof
premium-box-ctaGet PremiumButton · PremiumBannerno proof
premium-bannerPremium banner — go to checkoutCard · PremiumBannerRNTL×4 e2e×1
chat-suggestionno labelCard · ChatModalno proof
summary-poi-listno labelView · TourCelebrationModale2e×1
summary-signupCreate an account to keep your progressButton · TourCelebrationModalno proof
summary-shareShareButton · TourCelebrationModalno proof
nps-stepno labelView · NpsModale2e×1
nps-score-* (dynamic)no labelButton · NpsModalno proof
nps-commentOne sentence from you (optional)TextInput · NpsModalno proof
nps-skipSkipButton · NpsModale2e×1
nps-submitSendButton · NpsModalno proof
tomorrow-hookno labelView · NpsModale2e×1
plan-tomorrowPlan tomorrowButton · NpsModalno proof
tomorrow-closeCloseButton · NpsModale2e×1

Controls are attributed one level deep: shared components count for the screen that renders them directly.

Last change of the screen file: 3e651f3 (2026-08-30)