Listing Detail Surface

Shared shell for save-home and showing-request behavior.

This page replaces the old listing-detail schedule flow with a smaller contract: select a slot, authenticate if needed, then resume either phone capture or confirmation.

Tour State

Pick a time to request a tour.

The page should only keep a small local state machine instead of scattering step-specific DOM mutations across the page.

Tour Request

One flow, three outcomes.

Guest users go through auth, signed-in users without a phone fall into a phone step, and complete profiles land on confirmation.

Pending Request

33 Sleeper Street Unit 502

In Person tour on 2026-09-10 at 11:00 AM

Request step

Use the shared schedule action instead of the old page-specific modal and bottom-menu branches.

Add a phone number

This mirrors the old `step2_phone` branch after login. The page should resume the same pending request instead of restarting the flow.

Tour requested

Request received for 33 Sleeper Street Unit 502.