- name
- accommodation-evaluator
- description
- Creates a structured comparison framework for evaluating hotels, hostels,
vacation rentals, and other accommodation types. Produces a weighted scoring
rubric with red-flag indicators and a side-by-side comparison table. Use when
the user asks about choosing between accommodation options, evaluating
rental listings, comparing hotel types, or creating accommodation selection
criteria for a trip. Do NOT use for general trip planning (use
trip-itinerary-builder), budget optimization (use budget-travel-planner),
or booking strategy (use airfare-search-strategy for flights).
- license
- Apache-2.0
- metadata
- {"author":"foundry-skills","version":"1.0.0","tags":"travel research checklist analysis","category":"travel-experiences","subcategory":"trip-planning","depends":"","disclaimer":"none","difficulty":"beginner"}
# Accommodation Evaluator
## When to Use
Use this skill when the user's primary need is **evaluating, comparing, or scoring specific accommodation options** against each other or against personal criteria.
**Trigger scenarios:**
- User has 2-4 specific listings in hand (hotel rooms, vacation rentals, hostels) and needs a structured comparison
- User is deciding between accommodation types (e.g., "Should I book a hotel or apartment for this trip?") and needs pros/cons plus a scoring framework
- User wants to know what questions to ask a host or hotel before booking, or what red flags to look for in a listing
- User is evaluating a single vacation rental listing and wants to know if it's legitimate, fairly priced, and a good fit
- User needs to calculate the true all-in cost of accommodations that advertise different fee structures (one shows $89/night, another shows $150/night with breakfast included)
- User is choosing between accommodation tiers -- economy vs. mid-range vs. boutique -- and needs a value analysis framework
- User needs criteria-based guidance for a specific trip type (family travel, remote work stay, accessibility requirements, large group)
- User asks "Is this Airbnb price fair?" or "What should I look for in a hostel?" or "How do I know if this rental is a scam?"
**Do NOT use when:**
- User needs end-to-end trip planning (use `trip-itinerary-builder` -- that skill coordinates accommodation within the full itinerary context)
- User's primary question is about budget allocation across the full trip, not accommodation evaluation (use `budget-travel-planner`)
- User wants to know the best time to book or how far in advance to reserve (this skill evaluates options, not booking windows -- use booking strategy guidance separately)
- User is searching for options and has no listings yet (this skill evaluates; it does not search or recommend specific properties)
- User is evaluating a property for purchase or long-term lease as real estate (use personal finance or real estate skills)
- User asks only about flight accommodation (connecting flight layovers with hotel stays -- use `airfare-search-strategy`)
- User is asking about loyalty program strategy (points valuation, status matching, credit card benefits) -- that is a separate redemption optimization topic
---
## Process
### Step 1: Gather Accommodation Intelligence
Before scoring anything, collect the variables that determine what "good" means for this specific trip. Do not assume defaults.
- **Trip parameters:** Destination city and preferred neighborhood or district; exact dates (check-in and check-out); number of nights; number of guests broken down by adults, children (with ages), and infants
- **Budget clarity:** Ask for budget as a per-night target AND a total-stay ceiling -- these often conflict once fees are added. Distinguish between "I want to spend $150/night" and "I cannot spend more than $1,200 total under any circumstances"
- **Travel purpose:** Business travel, leisure, romantic trip, family vacation, extended remote work, group celebration, medical travel, backpacking. Purpose determines which criteria matter most
- **Non-negotiables (deal-breakers):** These eliminate options before scoring begins. Common examples: must have air conditioning (critical in tropical destinations above 28°C/82°F), must allow pets, must be wheelchair accessible, must have a dedicated workspace with reliable internet (critical for remote workers), must have parking, must not require a car, ground floor only, private bathroom required
- **Stated priorities:** Ask the user to rank these five dimensions in order: Location, Price/Value, Space, Amenities, and Flexibility. Their ranking directly determines scoring weights
- **Existing options:** Get the specific listings or accommodation types the user is considering. If they have listing URLs or descriptions, analyze those; if they have only general types, help them define evaluation criteria before applying them
### Step 2: Set Weights Based on Stated Priorities
Convert the user's priority ranking into a 1-5 weight scale. The highest-ranked priority gets weight 5; the lowest gets weight 1. Middle ranks get 2, 3, and 4 respectively. If two priorities are equal, assign the same weight.
**The six evaluation dimensions and what each actually measures:**
- **Location (weight 1-5):** Not just "is it central" but proximity to the specific things this trip requires. For a beach vacation, beachfront vs. 10-minute walk is the meaningful gradient. For business travel, proximity to the conference venue and airport transport matters. Assess: walkability score, transit access, neighborhood safety at night, noise level (avoid properties on major arterials, near nightlife districts, or under flight paths unless stated otherwise), and parking access if renting a car
- **Price/Value (weight 1-5):** True cost per night after all fees, divided by what that cost delivers in quality and included services. A $200/night hotel with breakfast, daily housekeeping, pool, and gym is often better value than a $130/night apartment with a $90 cleaning fee, no included services, and self-catering costs
- **Space/Layout (weight 1-5):** Total square footage matters less than usable layout. Evaluate: number of bedrooms relative to party size, number of bathrooms (critical for groups of 4+), presence of living room or common area separate from sleeping area, kitchen size and equipment level, outdoor space (balcony, terrace, garden), and storage space for luggage on longer stays
- **Amenities (weight 1-5):** Score based on what the trip actually needs. A kitchen is high-value on a 10-night stay but nearly irrelevant on a 2-night city break. Amenities that change the trip's economics or daily experience: full kitchen (grocery vs. restaurant costs), laundry (critical for stays over 7 nights or with children), dedicated workspace with desk and monitor-level lighting, pool/fitness center, parking, cribs or child safety equipment, air conditioning or reliable heating
- **Reviews/Reputation (weight 1-5):** Quality and pattern of reviews, not just the aggregate score. Hotel review ecosystems (TripAdvisor, Booking.com, Google) and vacation rental ecosystems (Airbnb, Vrbo) have different score calibrations -- a 4.3 on Booking.com is excellent; a 4.3 on Airbnb is a warning sign. Evaluate: total review count, review recency (last 6 months matters more than older reviews), consistency across platforms, how management responds to negative reviews, and whether reviews address the specific things you care about
- **Flexibility (weight 1-5):** The financial risk profile of the booking. Free cancellation to 24-48 hours before is ideal. Moderate policies (free cancellation 7-14 days out) are acceptable. Strict policies (50% non-refundable immediately, no refund within 30 days) represent real financial risk, especially for trips more than 4 weeks out or for travelers with unpredictable schedules. Weight flexibility higher if: the trip is long in the future, the traveler has health or family unpredictability, or if travel insurance is not in place
### Step 3: Score Each Option on Every Dimension
For each accommodation option, assign a raw score of 1-5 on each dimension:
- **5 -- Exceeds needs:** Materially better than required. A family needing 2 bedrooms gets 3 bedrooms; beachfront property when beach proximity is the goal
- **4 -- Meets needs comfortably:** Fits requirements with minor extras. Good location, no concerns
- **3 -- Adequate:** Meets the minimum threshold. Acceptable but not impressive. A workspace that is technically a desk in the corner of the bedroom
- **2 -- Below expectations:** A gap exists that will affect the experience. A 15-minute walk to the beach for a beach trip; a studio apartment for 4 adults
- **1 -- Fails to meet needs:** A disqualifying problem in this dimension, though not necessarily a deal-breaker if the criterion is weighted low
Calculate the weighted score for each dimension: raw score x weight. Sum all weighted scores for each option's total. Maximum possible score = sum of all weights x 5. Express as a fraction (e.g., 78/100) where the denominator is max possible score.
### Step 4: Run the Red-Flag Screening Protocol
Apply this checklist independently for every option, regardless of how well it scored. A high-scoring option with red flags should trigger explicit caution in the recommendation.
**Pricing red flags:**
- Price more than 30-40% below comparable properties in the same neighborhood and date range -- most common scam indicator for rentals
- Cleaning fee that exceeds 50% of one night's rate (e.g., $150 cleaning fee on a $100/night property for a 3-night stay) -- this is a fee-hiding practice
- "Resort fee" or "facility fee" not disclosed in the listing headline price, discovered only at checkout -- common in Las Vegas, Miami, New York hotels; can add $30-60/night
- Pricing that changes dramatically between the listing page and checkout without clear itemization
**Listing quality red flags:**
- Stock photos or images with metadata suggesting they are from a photo bank rather than the actual property
- Fewer than 8-10 photos for a full apartment or house listing (a legitimate host has nothing to hide)
- No photo of the bathroom, the beds, or the street/entrance
- Listing description uses vague language like "cozy" (often means very small) or "close to everything" without specific distances
- Property labeled "newly renovated" but photos show worn fixtures -- misrepresentation risk
- Description mentions amenities (washer, dishwasher, AC) not visible in any photos
**Review red flags:**
- All reviews are 5 stars with generic text ("Great place! Would come back!" with no specifics) -- potential review manipulation
- No reviews mentioning anything negative, even minor issues -- statistically improbable for any real property
- Sudden cluster of positive reviews in a short window after a period of negative reviews -- possible review gaming
- Reviews that mention the listing "not as described" or "smaller than expected" -- take this seriously; it indicates a persistent accuracy issue
- Host never responds to negative reviews -- indicates low accountability
- Review score below 4.0 on Airbnb or Vrbo (these platforms have score inflation; below 4.0 is genuinely poor)
- Review score below 7.5 on Booking.com (different scale; 8.0+ is good, 7.5-8.0 is acceptable, below 7.5 is concerning)
**Policy red flags:**
- Payment requested outside the booking platform (wire transfer, Zelle, crypto) -- this is almost always a scam
- Security deposit that seems disproportionate to the property value (e.g., $1,000 deposit on a $100/night studio)
- Cancellation policy is "non-refundable" by default with no moderate option offered
- Check-in requires an in-person key handoff with no backup procedure described -- creates stranded-traveler risk
- No clear process for reporting maintenance issues or emergencies during the stay
**Communication red flags:**
- Host does not respond within 24 hours to a direct question -- a reliable host responds within 2-6 hours during waking hours
- Evasive or scripted responses that don't actually answer specific questions
- Host pressures you to book quickly ("someone else is interested") before you have your questions answered -- this is a classic scam tactic
- Host asks you to communicate outside the platform after initial contact (email only, WhatsApp only) -- removes the booking platform's dispute resolution protections
### Step 5: Calculate True Cost
The advertised nightly rate is never the total cost. Build a complete fee ledger for each option.
**Fee components to calculate:**
1. **Base rate:** Advertised nightly rate x number of nights
2. **Cleaning fee:** One-time for vacation rentals; typically $50-200 for apartments; $150-400 for houses. Note that this fee does not scale with nights -- a $120 cleaning fee on a 2-night stay adds $60/night but only $17/night on a 7-night stay
3. **Service or platform fee:** Booking.com typically charges nothing to the guest (it's hotel-side); Airbnb charges guests 14-16% of the subtotal; Vrbo charges 6-12% guest fee. These are significant
4. **Resort or facility fee:** Hotels in tourist-heavy markets (Las Vegas, Miami, New York, Cancun, Hawaii) charge $25-65/night on top of the room rate. This is separate from the room rate and often not shown until checkout on OTA sites
5. **Parking:** Urban hotels commonly charge $25-60/night for parking in North America and Europe; this is often not included even at full-service hotels. Vacation rentals in suburban or rural areas often include free parking
6. **Tourist/city tax:** Many European cities (Amsterdam, Rome, Barcelona, Paris) and some US cities charge a per-person-per-night tax of €1-7 per person. For a family of 4 over 7 nights, this can add $56-200
7. **Additional guest fees:** Some vacation rentals charge per-person above a base occupancy (e.g., base rate for 2 guests, $15/night per additional guest). Check the listing's guest capacity carefully
8. **Kitchen savings (if applicable):** For stays of 5+ nights where a kitchen is available, estimate grocery spend vs. equivalent restaurant spend. A family of 4 eating out three meals/day in Europe can spend $150-200/day; cooking breakfast and lunch at home reduces this to $50-80/day in groceries. Over 7 nights, this is a $700-840 true savings that should offset a slightly higher rental rate
9. **Total true cost = sum of all above fees for the full stay**
10. **True cost per night = total true cost / number of nights**
Always present the true cost per night alongside the advertised rate. The gap is often 20-50%.
### Step 6: Generate Recommendation and Booking Checklist
The recommendation must directly address the user's stated priorities and the red-flag findings. Structure it as:
- **Top choice with explicit reasoning:** Which option scores highest when weighted scores, true cost, and red-flag status are all considered together. Do not recommend a highest-scoring option that has an unresolved red flag without flagging the risk
- **Conditions under which the runner-up would be better:** There is almost always a scenario (trip gets extended, budget tightens, flexibility becomes important) where the second option wins
- **Avoidance recommendation if warranted:** If any option has a red flag that is serious enough to constitute a scam risk or high probability of misrepresentation, say so directly
- **Booking checklist:** A specific set of pre-booking verification actions tailored to the accommodation type and the specific issues identified during evaluation. Not generic; each item should address a specific risk or uncertainty identified during the analysis
---
## Output Format
```
## Accommodation Comparison
**Destination:** [city and neighborhood/district]
**Dates:** [check-in date] to [check-out date] ([N] nights)
**Guests:** [number and breakdown: e.g., 2 adults, 2 children ages X and Y]
**Budget target:** $[per night] / $[total stay ceiling]
**Travel purpose:** [e.g., family beach vacation, remote work stay, business trip]
**Top priority:** [stated #1 priority from user ranking]
---
### Evaluation Criteria (Weighted)
| Criterion | Weight (1-5) | Reasoning |
|-----------|-------------|-----------|
| Location | [1-5] | [specific reason this trip needs this weight -- name the key location requirement] |
| Price/Value | [1-5] | [specific reason based on budget tightness and included services] |
| Space/Layout | [1-5] | [specific reason based on party size, trip length, travel purpose] |
| Amenities | [1-5] | [name the specific amenities that matter: kitchen, workspace, laundry, etc.] |
| Reviews | [1-5] | [why reliability matters or doesn't at this level for this trip] |
| Flexibility | [1-5] | [specific risk factors: trip timing, cancellation risk, insurance status] |
| **Max possible score** | [sum x 5] | |
---
### Side-by-Side Comparison
| Criterion | Wt | [Option A: Type + Name/Description] | Raw | Wtd | [Option B: Type + Name/Description] | Raw | Wtd | [Option C: Type + Name/Description] | Raw | Wtd |
|-----------|----|------------------------------------|-----|-----|-------------------------------------|-----|-----|-------------------------------------|-----|-----|
| Location | [W] | [specific detail: distance to key destination, transit access, neighborhood] | [1-5] | [WxS] | [specific detail] | [1-5] | [WxS] | [specific detail] | [1-5] | [WxS] |
| Price/Value | [W] | [advertised rate, what's included, value assessment] | [1-5] | [WxS] | [same] | [1-5] | [WxS] | [same] | [1-5] | [WxS] |
| Space/Layout | [W] | [sqm if known, bedroom count, bathroom count, key layout feature] | [1-5] | [WxS] | [same] | [1-5] | [WxS] | [same] | [1-5] | [WxS] |
| Amenities | [W] | [list the relevant amenities present and absent] | [1-5] | [WxS] | [same] | [1-5] | [WxS] | [same] | [1-5] | [WxS] |
| Reviews | [W] | [score, count, platform, key patterns in recent reviews] | [1-5] | [WxS] | [same] | [1-5] | [WxS] | [same] | [1-5] | [WxS] |
| Flexibility | [W] | [cancellation policy specifics: free cancel until when? Penalty after?] | [1-5] | [WxS] | [same] | [1-5] | [WxS] | [same] | [1-5] | [WxS] |
| **TOTAL** | [max] | | | **[sum/max]** | | | **[sum/max]** | | | **[sum/max]** |
---
### True Cost Analysis
| Cost Component | [Option A] | [Option B] | [Option C] |
|---------------|------------|------------|------------|
| Advertised rate ([N] nights x $/night) | $[calc] | $[calc] | $[calc] |
| Cleaning fee (one-time) | $[amt or N/A] | $[amt or N/A] | $[amt or N/A] |
| Platform/service fee ([X]% of subtotal) | $[calc] | $[calc] | $[calc] |
| Resort/facility fee ($X/night x N nights) | $[calc or N/A] | $[calc or N/A] | $[calc or N/A] |
| Parking ($X/night x N nights) | $[calc or N/A] | $[calc or N/A] | $[calc or N/A] |
| Tourist/city tax ($X/person/night x guests x nights) | $[calc] | $[calc] | $[calc] |
| Additional guest fees (if applicable) | $[calc or N/A] | $[calc or N/A] | $[calc or N/A] |
| Breakfast/meals offset (kitchen savings) | -$[savings or N/A] | -$[savings or N/A] | -$[savings or N/A] |
View on GitHub