Airbnb Sample Walkthrough

Purpose

Capture exactly what the Airbnb gym UI shows, organized so an AI can generate tasks. No guessing, no screenshots, write verbatim field labels, options, and constraints as text (and in small, clearly structured tables where indicated).

Deliverable (Google Doc)

Tool Overview
Environment (region, snapshot counts, sample tables)
Actions (with limitations) (nav path + fields + constraints)
UI Description (UI mapping) (nav path + field tables) / Feature Availability table (for anything missing/disabled)

Common rules to keep in mind:
Use exact UI strings (labels, menu items, error text).
For dropdowns/menus, list every visible option.
For numeric inputs, capture units, ranges, and validation.
If a control is missing/disabled, log it in Feature Availability with verbatim text and repro steps.
Avoid vague words: etc., various, as needed, make sure, verify, ensure.

1. Tools Overview


What to do

Go to the Airbnb gym home/results page.
In one paragraph, describe what the tool does.
List core entities visible in the gym (e.g., Listings, Saved Searches, Wishlists (Saved Homes), Map Polygons, Booking Widget Inputs, Reviews/Amenities, Users/Profiles).
If an entity is missing here, write “Not exposed in this gym UI.”
If hotkeys are shown, mention them (otherwise omit).

What to write (template)

One-paragraph summary
Core entities:
Scope note:This is a gym/clone; some original features are disabled.

Example

One-paragraph summary: Airbnb lets you search stays on a map, filter/sort results, draw map areas, save searches, save homes to wishlists, and open listing details (photos, description, amenities, reviews, location). A booking widget collects dates/guests and may be stubbed in this gym.
Core entities: Listings, Saved Searches, Wishlists (Saved Homes), Map Polygons, Booking Widget Inputs (Check-in/Check-out/Guests), Amenities/Reviews, Users/Profiles.
Scope note: This gym is a simplified clone; some flows (payments, messaging, host contact) may be disabled.

2. Environment


What to do

Record the region/market scope (e.g., San Francisco Bay Area).
Capture a snapshot with counts (numbers): listings in view, saved searches, wishlists, polygons, alerts, etc.
Create small tables for Listings (15–20 rows), Saved Searches, Wishlists (Saved Homes), and Polygons. (If fewer are visible, include what you can.)
If users/settings exist in the gym, list them; if not, “Not exposed in this gym UI.”

What to write (templates)

2.1 Region & Preferences

Region/Market: …
Currency/Units: …
Language: …
Sign-in requirement: … (e.g., Not required in gym)
Alerts/Notifications: … (e.g., Not exposed in this gym UI)

2.2 Current Data Snapshot (counts)

Listings in current view: …
Saved Searches: …
Wishlists (Saved Homes): …
Drawn Polygons: …
Trips/Messages: … (likely 0 / Not exposed)
Integrations/Email delivery: Not exposed in this gym UI

2.3 Tables

Listings (sample 5 rows)(Use the exact fields the gym exposes on cards; if a field isn’t present, feel free to omit it.)
Listing ID | Address/Neighborhood | City | Price (per night) | Type (Entire/Private/Hotel/Shared) | Beds | Baths | Guests | Rating | Reviews | Superhost | Instant Book
SF-A001 | 245 Valencia St, Mission | SF | $245 | Entire place | 2 | 1 | 4 | 4.86 | 120 | Yes | No
SF-A002 | 88 King St #1207, SoMa | SF | $210 | Private room | 1 | 1 (shared) | 2 | 4.71 | 58 | No | Yes
PEN-A003 | 123 Oak Ave, Downtown | SM | $185 | Entire place | 1 | 1 | 2 | 4.90 | 86 | Yes | No
EB-A004 | 44 Tunnel Rd, Claremont | BER | $320 | Entire place | 2 | 2 | 4 | 4.65 | 210 | No | Yes
SF-A005 | 5 Berry St #304, Mission | SF | $240 | Entire place | 1 | 1 | 2 | 4.70 | 110 | No | No

Saved Searches (sample 3)
Name | Region/Polygon | Filters | Sort | Alerts (Instant/Daily/Never) | Created | Updated | Include Map Area (Y/N)
SF ≤$300 / 2+BR | SF city bounds | Type=Entire; Bedrooms≥2; Price≤$300 | Top rated | Daily | 2025-08-05 | 2025-08-28 | N
SoMa Weekender | SoMa polygon | Type=Private; Price≤$220; Dates=Fri–Sun | Price Low→High | Instant | 2025-08-07 | 2025-08-30 | Y
Outer Sunset Fam | OS polygon | Type=Entire; Guests≥4; Amenities=Kitchen,Washer | Recommended | Never | 2025-08-08 | 2025-08-29 | Y

Wishlists (Saved Homes) (sample)
Name | Items (Listing IDs) | Visibility | Notes
Q4 Offsite Core | SF-A001; SF-A002 | Private | "Near Caltrain"

Map Polygons (sample)
Name | Type | Vertices (count) | Used by Saved Search
SoMa Drawn | Drawn | 16 | SoMa Weekender
Outer Sunset | Drawn | 22 | Outer Sunset Fam

Assignments & Relationships

Listing → Saved Search: SF-A002 appears in SoMa Weekender after applying Type = Private room and Price ≤ $220 within SoMa Drawn.
Wishlist → Listing: Q4 Offsite Core contains SF-A001 and SF-A002.
Saved Search → Polygon: Outer Sunset Fam uses Outer Sunset with Include map area = On.

3. Actions (and limitations)


What to do (per action)

Navigation Path: exact clicks/labels.
Required fields: what must be filled.
Constraints: ranges, single vs multi-select, validation.
Observed limitations: missing/disabled; capture verbatim UI text.
If missing/disabled, also add a row in Feature Availability.

What to write (examples)

3.1 Search
Navigation Path: Header → Where → type “San Francisco” → (optional Dates, Guests) → Search
Required fields: Where
Constraints: Must choose a suggestion if autocomplete enforces it; Guests ≥ 1
Limitations: If query doesn’t resolve, note “No results for this query” (verbatim)
3.2 Filters (apply/clear)
Path: Results → Filters
Required: None
Constraints: Price slider Min ≤ Max; Type of place single-select; Amenities/Property type/Accessibilitymulti-select; Rooms & Beds are integers ≥ 0
Limitations: If Cancellation policy/Commute absent, write: “Control not shown in this gym UI.”
3.3 Sort
Path: Results header → Sort
Options (as shown): Recommended, Top rated, Price low→high, Price high→low, Distance, Newest
Limitations: If an option missing, record “Option ‘<name>’ not shown in this gym UI.”
3.4 Map (draw polygon)
Path: Results → Map → Draw → close polygon → Apply
Required: Close polygon to enable apply
Constraints: One active polygon at a time; Redo search in map re-queries on pan/zoom
Limitations: Layers (transit/climate) not present → “Control not shown in this gym UI.”
3.5 Save Search (create/edit)
Path: Results (after filters) → Save Search
Required: Name
Constraints: 3–100 chars; Alerts = Instant/Daily/Never; Include map area optional
Limitations: Email delivery not active in gym (UI toggle only)
3.6 Wishlist / Save listing
Path: Listing card/detailSave (heart)
Required: Select an existing wishlist or Create new
Constraints: Toggle adds/removes from wishlist
Limitations: Sharing/invite controls may be hidden
3.7 Listing → Booking widget
Path: Listing detail → Check-in/Check-outGuestsReserve / Request to book
Required: Valid date range; guest count
Constraints: Blocks on unavailable dates; nightly min/max; max guests enforced
Limitations: Payment/ID steps often disabled; capture verbatim message (e.g., “Not implemented”)
3.8 Listing → Contact host / Messages (if shown)
Path: Listing detail → Contact host OR Header → Messages
Required: Name, Email, Message (if form appears)
Constraints: Email format validation (if enforced)
Limitations: Compose/submit frequently not implemented; record verbatim or “no control present”

4. UI Description (UI mapping)


What to do (per screen/form)

Write:
Navigation Path (one line)
A field table with these exact columns: ​Field Label | Type | Mandatory | Allowed Inputs | Options | Constraints List every control and option exactly as strings from the UI.

What to write (examples)

4.1 Global Navigation (Header) — SearchNavigation Path: Any page → Header
Field Label | Type | Mandatory | Allowed Inputs | Options | Constraints
Where | Autocomplete | Yes | City / Neighborhood / Region | (use visible suggestions, e.g., SF, SoMa)| Must pick a suggestion (if enforced)
Dates | Date range picker| No | Calendar range | — | Future dates only; valid range
Guests | Stepper | No | 1–16 | Adults, Children, Infants, Pets (if shown)| Max guests may vary by listing
Search | Button | No | — | — | Executes search with current inputs

4.2 Results → Filters — PriceNavigation Path: Results → FiltersPrice
Field Label | Type | Mandatory | Allowed Inputs | Options | Constraints
Min Price | Number | No | $10–$5,000 (per night) | — | USD; whole dollars
Max Price | Number | No | $10–$5,000 (per night) | — | Min ≤ Max; USD

4.3 Results → Filters — Type / Rooms & Beds / AmenitiesNavigation Path: Results → Filters
Field Label | Type | Mandatory | Allowed Inputs | Options
Type of place | Single-select| No | — | Entire place; Private room; Hotel room; Shared room
Bedrooms | Number stepper| No | 0–8 | — | Integers ≥ 0
Beds | Number stepper| No | 0–8 | — | Integers ≥ 0
Bathrooms | Number stepper| No | 0–8 | — | Integers ≥ 0
Amenities | Multi-select | No | — | Wifi; Kitchen; Washer; Dryer; A/C; Heating; Dedicated workspace; Parking; TV (list all shown)
Property type | Multi-select | No | — | House; Apartment; Guesthouse; Hotel (list all shown)
Booking options | Toggle | No | — | Instant Book (On/Off)
Top tier stays | Toggle | No | — | Superhost (On/Off)
Accessibility | Multi-select | No | — | Step-free entrance; Elevator; Wide doorway (list all shown)

4.4 Results → SortNavigation Path: Results header → Sort
Field Label | Type | Mandatory | Allowed Inputs | Options
Sort | Single-select| No | — | Recommended; Top rated; Price low→high; Price high→low; Distance; Newest

Constraints: Single selection. If an option is missing, write “Not shown in gym UI.”
4.5 Map CanvasNavigation Path: Results → Map
Field Label | Type | Mandatory | Allowed Inputs | Options | Constraints
Draw | Tool | No | Freeform polygon | Start/Finish; Clear | Only one active polygon
Redo search in map | Toggle | No | — | On/Off | Re-queries after pan/zoom
Layers | Multi-select | No | — | Schools; Boundaries; (others if shown) | Some layers may be hidden

4.6 Listing → Booking widgetNavigation Path: Listing detail → Booking
Field Label | Type | Mandatory | Allowed Inputs | Options | Constraints
Check-in | Date picker | Yes | Valid calendar | — | Future date
Check-out | Date picker | Yes | Valid calendar | — | After Check-in
Guests | Stepper | Yes | 1–16 | Adults/Children/Infants/Pets (if shown)| Must respect listing max guests
Reserve / Request to book | Button | Yes | — | — | May be disabled/stubbed in gym
Price breakdown | Section | No | — | (Nightly, Fees, Taxes) | Read-only

4.7 Saved Search — Create/EditNavigation Path: Results (filters applied) → Save Search
Field Label | Type | Mandatory | Allowed Inputs | Options
Name | Text | Yes | Any UTF-8 | —
Alerts | Single-select | No | — | Instant; Daily; Never
Include map area | Checkbox | No | — | On/Off

Constraints: Name 3–100 chars; Alerts toggle doesn’t send emails in gym.
4.8 Wishlists (Saved Homes)Navigation Path: Listing card/detail → Save (heart)Wishlist modal
Field Label | Type | Mandatory | Allowed Inputs | Options | Constraints
Select list | List | Yes | — | (existing wishlist names)| Single selection
Create new | Button | No | — | — | Opens name field; must confirm
Remove (unsave)| Toggle| No | — | — | Immediate remove

If any Listing Detail sections appear (e.g., Amenities exact lists, House rules, Location, Reviews), add a Listing Detail subsection and enumerate those fields/options verbatim.

Feature Availability (Disabled/Errors Log)

What to do

For each missing/disabled/error:
Navigation Path to the feature.
UI Element (exact label) clicked.
Attempted Action and Observed Behavior.
Error Text (verbatim), if any.
Status: Available / Disabled / Stubbed / Hidden.
Repro Steps (1-n) and Expected Behavior (original tool).

Example rows

Feature Area | Feature Name | Navigation Path | UI Element (exact label) | Attempted Action | Observed Behavior | Error Text (verbatim) | Status | Repro Steps (1-n) | Expected Behavior (original tool) | Notes
Booking | Request to book | Listing detail → Booking | "Request to book" | Submit with valid dates & 2 guests | Click does not confirm | "Not implemented" | Disabled | 1) Open listing 2) Set dates & guests 3) Click Request to book | Booking request confirmation | Payment/ID not exposed in gym
Messages | Compose/Reply | Header → Messages | "Compose" | Start a new message | No compose control present | — | Hidden | 1) Open Messages 2) Look for compose | Compose UI to contact host | Capture as gym limitation
Alerts | Email delivery | Save Search → Alerts | "Instant/Daily/Never" | Enable Daily alerts | Toggle saves only | — | Stubbed | 1) Save search 2) Set alerts | Sends email alerts | Delivery not active in gym

Examples of Correct vs Incorrect

Correct:Type of place — Single-select; Options: Entire place, Private room, Hotel room, Shared room.”
Incorrect: “Choose a room type (various options).”
Correct:Sort — Options: Recommended; Top rated; Price low→high; Price high→low; Distance; Newest.”
Incorrect: “Sort has several choices.”
Correct (limitation): “Button click shows no confirmation; Error text: ‘Not implemented’; Status: Disabled.”
Incorrect: “Button broken” (no repro, no verbatim text).
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.