Skip to content

What the app can do

70 capabilities

How the status is computed
  • “Works” — at least one test passed in this build and no linked Azure DevOps item is open.
  • “Partial” — a test passed, but a linked Azure DevOps item is still open.
  • “Exists, unverified” — the control is in the app, but no passing test touches it.
  • “Planned” — no test; an open Azure DevOps item says it is on the plan.
  • “ADO state unknown” — this build had no access to Azure DevOps, so the status could not be confirmed.

Nobody types the statuses in — they are computed on every deploy. RNTL = screen test in the native environment; e2e = a real browser against the demo; API = server test.

Boot

CapabilityStatusProofADO
Start shows the server wake-up stages and offers Continue offline / Retry right awayworksRNTLConnectionSplash.splash
RNTLConnectionSplash.test.tsx
RNTLConnectionSplash.test.tsx
After 8 seconds of waiting the emergency exits appearworksRNTLConnectionSplash.test.tsx
RNTLConnectionSplash.test.tsx
A server error is named in words and a glyph, never by colour aloneworksRNTLConnectionSplash.test.tsx

Auth

CapabilityStatusProofADO
Continue as a guest without entering anythingworksRNTLAuth.continueAsGuest
RNTLAuthScreen.test.tsx
RNTLAuthScreen.test.tsx
Google sign-in on the phoneworksRNTLAuthScreen.test.tsx
RNTLAuthScreen.test.tsx
Apple sign-in on iOSworksRNTLAuth.appleSignIn
RNTLAuthScreen.test.tsx
RNTLAuthScreen.test.tsx
On the web demo a demo sign-in replaces Google (configuration flag)partialRNTLAuthScreen.test.tsx
RNTLAuthScreen.test.tsx
#222 (New)
Escape the Crowd straight from the sign-in screenworksRNTLAuth.escapeTheCrowd
RNTLAuthScreen.test.tsx
RNTLAuthScreen.test.tsx

Onboarding

CapabilityStatusProofADO
App language picked on the first stepworksRNTLOnboarding.language
RNTLOnboardingScreen.test.tsx
Location consent; after a refusal, a city picked from the catalogueworksRNTLOnboarding.consentAllow
RNTLOnboarding.consentSkip
RNTLOnboardingScreen.test.tsx
RNTLOnboardingScreen.test.tsx
Tourist profile in three steps: name and age, interests, pace / crowds / budget / transport / meals / contextworksRNTLOnboarding.name
RNTLOnboarding.interest
RNTLOnboarding.transport
RNTLOnboardingScreen.test.tsx
Five progress dots visible from the very first screenworksRNTLOnboarding.dot
RNTLOnboardingScreen.test.tsx
Transitional screen: the button turns into Start once the server is awake; after 8 s the user may enter anywayworksRNTLOnboarding.transitionalCta
RNTLOnboardingScreen.test.tsx
RNTLOnboardingScreen.test.tsx
RNTLOnboardingScreen.test.tsx

Home

CapabilityStatusProofADO
Greeting and weather for the city: a manual pick beats the GPS cityworksRNTLHome.city
RNTLHomeScreenCity.test.tsx
RNTLHomeScreenCity.test.tsx
When no city resolves, the app offers a pick from the catalogueworksRNTLHome.cityPrompt
RNTLHomeScreenCity.test.tsx
RNTLHomeScreenCity.test.tsx
Marketplace tour tiles: skeletons while loading, an honest error after 15 s, an empty card when nothing existsworksRNTLHome.toursSkeleton
RNTLHome.toursError
RNTLHome.toursEmpty
RNTLHomeScreenSections.test.tsx
RNTLHomeScreenSections.test.tsx
RNTLHomeScreenSections.test.tsx
#134 (Resolved)
Two entries: Route Creator and Browse more toursworkse2eHome.routeCreatorButton
RNTLHome.browseMoreTile
RNTLHomeScreenNav.test.tsx
A weather suggestion opens the map on the suggested placeworksRNTLHomeScreenNav.test.tsx
RNTLWeatherWidget.test.tsx
A guest sees the tour limit and the Premium banner; saving a route asks to sign inworkse2eTopBar.limit
RNTLPremiumBanner.premiumBox ·
RNTLTopBar.test.tsx
RNTLPremiumBanner.test.tsx
e2ej3-auth-variants.spec.ts
Signed-in free: Premium banner and badges; Premium: a days countdown instead of a limit, no banner; sign-out returns to guestworkse2eTopBar.premium
RNTLTopBar.test.tsx
RNTLPremiumBanner.test.tsx
e2ej3-auth-variants.spec.ts
e2ej3-auth-variants.spec.ts
The offline banner appears after 3 s without network and can be dismissed until the next lossworksRNTLOfflineBanner.dismiss
RNTLOfflineBanner.test.tsx
RNTLOfflineBanner.test.tsx

Escape

CapabilityStatusProofADO
Escape the Crowd: finds a calm place within 1.2 km (then 2 km) and guides there right awayworksRNTLEscape.guideMe
RNTLEscapeScreen.test.tsx
APIescape.test.ts
APIescape.test.ts
Outside the catalogue’s coverage the app shows a demo mode instead of an error; a location refusal ends the session with a messageworksRNTLEscape.demoNotice
RNTLEscape.exit
RNTLEscapeScreen.test.tsx
RNTLEscapeScreen.test.tsx

Profile

CapabilityStatusProofADO
Account in the profile: e-mail and plan badge when signed in, sign-out with confirmationworkse2eProfile.account
e2eProfile.signOutConfirm ·
RNTLProfileScreen.test.tsx
Changing the app language and themeexists, unverifiedRNTLLanguageSelector.languageSelector ·
Deleting the account with its datapartialAPIaccountDelete.test.ts
APIaccountDelete.test.ts
#217 (New)

ActiveTour

CapabilityStatusProofADO
Stop list with dwell times; reorder by dragging (native) or with arrows (web)workse2eActiveTour.startGuidedTour
RNTLActiveTourScreen.test.tsx
RNTLActiveTourScreenWeb.test.tsx
RNTLActiveTourScreen.test.tsx
Generated routes show every stop; hand-made ones are capped at 10worksRNTLActiveTourScreen.test.tsx
RNTLActiveTourScreen.test.tsx

Map

CapabilityStatusProofADO
The map opens on Tokyo (never Kraków) and re-centres on the matches after a searchpartialRNTLMap.search
RNTLMapScreen.test.tsx
e2ej4-map-search.spec.ts
#219 (Active)
A late GPS refusal never moves a map the user already re-centredworksRNTLMapScreen.test.tsx
RNTLMapScreen.test.tsx
Place panel: type, best times, ticket chip, distance in metres or kilometresworksRNTLMap.panelClose
RNTLMapScreen.test.tsx
RNTLMapScreen.test.tsx
Marker colours by place type, type filters and a legend at the bottomworksRNTLMap.filter ·
RNTLMap.legend
RNTLMapScreen.test.tsx
RNTLMapScreen.test.tsx

Marketplace

CapabilityStatusProofADO
Tour search across the whole catalogue; clearing it returns to browsingworkse2eMarketplace.tourCard
RNTLMarketplaceScreen.test.tsx
RNTLMarketplaceScreen.test.tsx
RNTLMarketplaceScreen.test.tsx
Price, duration, kind and category filters plus sorting in a modal that always keeps Apply reachablepartialRNTLMarketplace.openFilters
RNTLMarketplace.filtersApply
RNTLMarketplace.sort ·
RNTLMarketplaceScreen.test.tsx
#215 (Active)
A tour card opens from the list; a Premium user starts the narrated tourworkse2ej2-marketplace-guided-tour.spec.ts

RouteBuilder

CapabilityStatusProofADO
A manually picked start point beats a late GPS fixpartiale2eRouteBuilder.startOtherPoint
e2eRouteBuilder.startPoi
RNTLRouteBuilderScreen.test.tsx
RNTLRouteBuilderScreen.test.tsx
e2ej1-route-creator.spec.ts
#220 (New)
The remembered city beats GPS on entry; the city can be changed from the catalogueworkse2eRouteBuilder.changeCity
e2eRouteBuilder.city
RNTLRouteBuilderScreen.test.tsx
RNTLRouteBuilderScreen.test.tsx
After a denied location prompt the user can retry; a permission check that never settles does not hang the screenworksRNTLRouteBuilder.retryLocation
RNTLRouteBuilderScreen.test.tsx
RNTLRouteBuilderScreen.test.tsx
Picking the start day and hour (from 5:00)worksRNTLRouteBuilder.startCustomDate ·
RNTLRouteBuilder.startCustomTime ·
RNTLRouteBuilderScreen.test.tsx
Generation shows staged progress; the request limit shows a countdown, a start outside the area a clear messageworksRNTLRouteBuilderScreen.test.tsx
RNTLRouteBuilderScreen.test.tsx
RNTLRouteBuilderScreen.test.tsx
A reduced route is named as such and the preview opens on demandworksRNTLRouteBuilderScreen.test.tsx
APItourGenerator.test.ts
Guide voice choice (female / male / neutral)exists, unverifiedRNTLRouteBuilder.guideVoice ·
Start point from a Japanese postcodeplannedno proof#221 (New)

TourPreview

CapabilityStatusProofADO
Numbered map markers match the stop listworksRNTLTourPreviewScreen.test.tsx#134 (Resolved)
A guest cannot start a half-day tour — the start is Premium-gatedworkse2eTourPreview.halfDayBlocker
e2eTourPreview.startTourButton
e2ej2-marketplace-guided-tour.spec.ts
Buying a single tour from its cardpartialRNTLTourPreview.buyTourButton ·
APIbilling.test.ts
#196 (New)

GuidedTour

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 ·

Activity

CapabilityStatusProofADO
Points, badges with progress and the leaderboard after opting inworksRNTLActivityScreen.test.tsx
RNTLActivityScreen.test.tsx
RNTLActivityScreen.test.tsx

Favorites

CapabilityStatusProofADO
Favourite routes and placesexists, unverifiedRNTLFavorites.route ·
RNTLFavorites.poi ·

SavedRoutes

CapabilityStatusProofADO
Saved routes: open the preview, delete with confirmation, an empty state that leads to the builderworksRNTLSavedRoutes.route
RNTLSavedRoutes.deleteRoute
RNTLSavedRoutesScreen.test.tsx
RNTLSavedRoutesScreen.test.tsx
RNTLSavedRoutesScreen.test.tsx

Navigation

CapabilityStatusProofADO
Turn-by-turn bar: instruction with distance, rerouting and arrived statesworksRNTLNavigationInstructionBar.test.tsx
RNTLNavigationInstructionBar.test.tsx
RNTLNavigationInstructionBar.test.tsx

RouteCreator

CapabilityStatusProofADO
Route preferences (transport and more) are saved and reach the next generationpartiale2eRouteCreator.transport
e2eRouteCreator.save
RNTLRouteBuilderScreen.test.tsx
e2ej1-route-creator.spec.ts
#220 (New)
Back returns in-app, or to Home without history (never leaves the web page)partiale2eRouteCreator.back
RNTLRouteBuilderScreen.test.tsx
RNTLRouteBuilderScreen.test.tsx
#219 (Active)

RoutePreview

CapabilityStatusProofADO
Route timeline: dwell and walk-to-next per stop, exactly one peak stop, ticket and crowd chipsworkse2eRoutePreview.routeTimeline
e2eRoutePreview.stopRow
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
Stop details in a sheet: description, swap alternatives with recomputed timing; the peak and meals are lockedpartiale2eRoutePreview.stopDetailSheet
RNTLRoutePreview.detailSwap
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
#219 (Active)
Swapping several stops at once: long-press selects, regeneration excludes the selectionworksRNTLRoutePreview.swapSelected
RNTLRoutePreview.stopCheck ·
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
Saving the route for signed-in users (with the start point); a guest is asked to sign inworkse2eRoutePreview.saveRoute
e2eRoutePreview.saveSigninPrompt
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
APItoursSave.test.ts
Starting the tour from the preview; when the start time is over 30 minutes old the app asks firstworksRNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx

Tour

CapabilityStatusProofADO
Legacy tour screen — registered, but no transition leads to itplannedno proof#226 (New)

StorageManagement

CapabilityStatusProofADO
Managing downloaded offline tours — the screen exists, but nothing in the app leads to itplannedno proof#226 (New)

Items of the current sprint that no capability on this page describes yet. (Sprint 3)

ADOStatustitle
#180NewS3-01 · Próbka bez konta na stronie
#181NewS3-02 · Podstrona pobrania
#182NewS3-03 · Lejek mailowy
#183NewS3-04 · Audio i GPS przy zgaszonym ekranie
#184NewS3-05 · Stany brzegowe
#185NewS3-06 · Przyciski przybliżania na mapie
#186NewS3-07 · Podgląd opisu miejsca przed startem trasy
#187NewS3-08 · Oznaczenie POI wymagającego biletu
#188NewS3-09 · Japoński zapis powitań dla języka japońskiego, bez słowa na drogę
#189NewS3-10 · Dwa imiona w profilu przy podróży we dwoje
#191NewS3-12 · Obsługa zwrotów
#192NewS3-13 · Granica wieku 13+ ze zgodą opiekuna
#193NewS3-14 · Zakup w aplikacji na iOS
#194NewS3-15 · Rezerwa na bugi od pierwszych użytkowników