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)
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)
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
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: … Wishlists (Saved Homes): … 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 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)
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 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/detail → Save (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-out → Guests → Reserve / 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) — Search
Navigation 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 — Price
Navigation Path: Results → Filters → Price
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 / Amenities
Navigation 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 → Sort
Navigation 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 Canvas
Navigation 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 widget
Navigation 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/Edit
Navigation 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).