{"/flows/district/book-a-restaurant-table":{"id":"journey_dining_guest_book_a_table_gate","slug":"book-a-restaurant-table-cf660c0","title":"Book a restaurant table","description":"The dining reservation goal only: configure booking preferences (party size, date, time), read the loaded availability slots and select one. Guest evidence stops at the phone/OTP sign-in sheet raised on slot selection — before the booking form and before any reservation confirmation. Discovery is now published separately as family_restaurant_discovery.","accentColor":"#e8452f","appId":"app_a774d69c53b3ad9d8ba6","appSlug":"district","appName":"District","brandColor":"#e8452f","capturedAt":"2026-09-14T11:32:49.519709+00:00","releaseId":"90eac7d5-51c3-4431-a8f0-21e2afa0883c","journeyFamilyId":"journey_dining_guest_book_a_table_gate","familyName":"Book a restaurant table","catalogRole":"primary","goal":"Reserve a table at a restaurant for a chosen party size, date and time.","captureStatus":"complete","userGoalStatus":"authentication_gate","variant":{"account_state":"guest_logged_out","locale":"en-IN","scenario":"4 guests, next day, 12:30 PM slot","entry_mode":"dining_collection_listing","persona_ref":null},"boundary":{"kind":"human_gate","rationale":"Tapping an available table slot raises the log-in / OTP bottom sheet (occ_4e1f59fbd67cce9a18e29813) before any booking form is shown, so the user goal is authentication-gated and never completed — no reservation confirmation exists anywhere in the evidence and completion_occurrence_id stays null. occ_a72e359bb17c519b4c1dcf35 is a deliberate second capture of that same gate. The two frames after the mandatory Back escape (occ_ba7570b8b8c15f10e298efa5, occ_96636735e6c5a7b8be8399df) are the availability-filtered listing again — retreat evidence only, never the endpoint. The restaurant-page 'Book a table' entry earlier in the same episode reaches the identical gate and is preserved in the episode trace as an entry variant rather than a duplicate journey."},"missing":null,"previewLimit":3,"previewCount":3,"lockedStepCount":2,"isPremiumView":false,"steps":[{"id":"step_000","position":1,"title":"Open date, time and guests","role":"product_step","timestampSeconds":0,"isPublic":true,"isPreview":true,"isLocked":false,"screenshotUrl":"/api/v1/assets/product_asset_2aa251f0251589551b6fe41f","screenSlug":"district--screen_dining_mood_collection_listing","clickMarker":{"xPercent":50.925929999999994,"yPercent":22.70833,"label":"Tap to continue"},"motionFrameUrls":[],"motionIntervalMs":null,"motionVideoUrl":null,"motionPosterUrl":null,"motionKind":null,"motionRange":null,"groupedActionCount":1},{"id":"step_001","position":2,"title":"Booking preferences sheet","role":"product_step","timestampSeconds":5,"isPublic":true,"isPreview":true,"isLocked":false,"screenshotUrl":"/api/v1/assets/product_asset_8c23e11dd38c548dd7c850f6","screenSlug":"district--screen_dining_find_restaurant_preferences","clickMarker":null,"motionFrameUrls":[],"motionIntervalMs":null,"motionVideoUrl":null,"motionPosterUrl":null,"motionKind":null,"motionRange":null,"groupedActionCount":1},{"id":"step_002","position":3,"title":"Search table availability","role":"decision","timestampSeconds":106,"isPublic":true,"isPreview":true,"isLocked":false,"screenshotUrl":"/api/v1/assets/product_asset_ca0009486ca40c2576db1d37","screenSlug":"district--screen_8414448ba5673923786b8cc2","clickMarker":{"xPercent":73.88888999999999,"yPercent":88.5,"label":"Tap to continue"},"motionFrameUrls":[],"motionIntervalMs":null,"motionVideoUrl":null,"motionPosterUrl":null,"motionKind":null,"motionRange":null,"groupedActionCount":1},{"id":"step_003","position":4,"title":"Pick an available slot","role":"decision","timestampSeconds":160,"isPublic":false,"isPreview":false,"isLocked":true,"screenshotUrl":null,"screenSlug":null,"clickMarker":{"xPercent":65.37037,"yPercent":62.66667,"label":"Tap to continue"},"motionFrameUrls":[],"motionIntervalMs":null,"motionVideoUrl":null,"motionPosterUrl":null,"motionKind":null,"motionRange":null,"groupedActionCount":1},{"id":"step_004","position":5,"title":"Sign-in required to book","role":"boundary","timestampSeconds":165,"isPublic":false,"isPreview":false,"isLocked":true,"screenshotUrl":null,"screenSlug":null,"clickMarker":null,"motionFrameUrls":[],"motionIntervalMs":null,"motionVideoUrl":null,"motionPosterUrl":null,"motionKind":null,"motionRange":null,"groupedActionCount":1}],"relations":[],"walkthrough":null,"routeSlug":"book-a-restaurant-table","canonicalPath":"/flows/district/book-a-restaurant-table","taxonomy":[{"name":"Reserving a table","role":"primary","termKey":"commerce_finance.booking_reserving.table","parentTermKey":"commerce_finance.booking_reserving"}],"primaryTaxonomy":{"name":"Reserving a table","role":"primary","termKey":"commerce_finance.booking_reserving.table","parentTermKey":"commerce_finance.booking_reserving"},"flowPatterns":[{"name":"Reserving a table","role":"primary","termKey":"commerce_finance.booking_reserving.table","parentTermKey":"commerce_finance.booking_reserving"}],"isFree":true,"freeJourneys":[{"title":"Book movie tickets","routeSlug":"book-movie-tickets","canonicalPath":"/flows/district/book-movie-tickets"},{"title":"Buy event tickets","routeSlug":"buy-event-tickets","canonicalPath":"/flows/district/buy-event-tickets"},{"title":"Book a restaurant table","routeSlug":"book-a-restaurant-table","canonicalPath":"/flows/district/book-a-restaurant-table"}],"freeJourney":{"title":"Book movie tickets","routeSlug":"book-movie-tickets","canonicalPath":"/flows/district/book-movie-tickets"},"access":"guest"}}