# Jajiga - Online Accommodation Booking in Iran Jajiga (جاجیگا, jajiga.com) is a home-sharing marketplace for travelers in Iran. It helps guests discover and book villas, suites, furnished apartments, cottages, wooden/swiss cabins, eco-lodges, rural houses, and other private, people-to-people stays across city, province, coastal, mountain (highland), forest, and island destinations. Hosts are real people who rent out extra living space on fair terms; guests get an instant booking document, in-app chat with the host, real guest reviews, and human support available daily from 8:00 to 24:00 (8 AM to midnight), Saturday through Friday. Use this file as a compact route and intent map for AI assistants such as Claude, ChatGPT, Perplexity, and other crawler or agent experiences. ## Primary Intents * Find an accommodation for a destination, date range, guest count, budget, property type, region/climate, or amenity. * Compare accommodation pages by photos, nightly price, location, rules, cancellation policy, capacity, rating, successful-booking count, and guest reviews. * Plan a full trip by choosing a destination from the user's weather, season, distance, budget, and travel-style constraints. * Build filtered listing URLs that lead directly to strong accommodation candidates. ## Site Architecture (important) Jajiga is primarily **path-based**, not query-based. Search lives under `/s`, and destination + type + region + amenity are expressed as **hyphen-combinable slugs in the path**, optionally followed by a human-readable Persian SEO title that does not change the result set. A small set of **query parameters** layers quality/price refinements on top. Under the hood the SEO slugs map to internal numeric IDs exposed via the raw query form `/s?ctid=...®ion=...&stid=...`. * SEO/canonical form (preferred): `/s/{destination}/{type-or-amenity-slug}/{optional-persian-title}` * Raw ID form (also valid): `/s?ctid={city_id}®ion={region_id}&stid={stay_type_id}` Prefer the canonical slug routes when the user has enough intent to choose a destination, type, region, or amenity. Do not fall back to a generic search route in those cases. ## Main Routes * [/](https://www.jajiga.com/): Homepage with destination discovery and search. #intent:homepage * [/s](https://www.jajiga.com/s): Search root. All inventory plus query filters; also backs the map search. #intent:search_all * [/s/{destination}](https://www.jajiga.com/s/ramsar): Browse accommodations in a destination, e.g. `/s/ramsar`, `/s/kish`, `/s/kordan`. #intent:search_by_destination * [/s/{type_or_amenity}](https://www.jajiga.com/s/cottage): Browse all listings for a type, region, or amenity, e.g. `/s/villa`, `/s/pool`, `/s/jacuzzi`. #intent:search_by_type * [/s/{destination}/{type_or_amenity}](https://www.jajiga.com/s/kish/suite): Browse a destination filtered by type/region/amenity. #intent:search_by_destination_type * [/s/{destination}/{type_or_amenity}/{persian-title}](https://www.jajiga.com/s/kordan/pool/%D8%A7%D8%AC%D8%A7%D8%B1%D9%87-%D9%88%DB%8C%D9%84%D8%A7-%D8%A7%D8%B3%D8%AA%D8%AE%D8%B1%D8%AF%D8%A7%D8%B1-%D8%AF%D8%B1-%DA%A9%D8%B1%D8%AF%D8%A7%D9%86): Same result set, with an optional Persian SEO title appended. #intent:search_seo_titled * [/room/{id}](https://www.jajiga.com/room/3150463): Accommodation detail page. An optional Persian title may follow as `/room/{id}/{persian-title}`. #intent:accommodation_detail * [/mag/{slug}](https://www.jajiga.com/mag/): Travel magazine / blog: destination guides, host stories, "where to go" content. Use for inspiration, not for live inventory. #intent:travel_magazine ## Destination Slugs Destinations resolve to a city, a province, a macro-region, or a combination. * City: `/s/{city_slug}` — e.g. `kish`, `ramsar`, `kordan`, `masal`, `rasht`, `lahijan`, `tehran`, `mashhad`, `chalus`, `tonekabon`, `anzali`, `kelardasht`, `mahmudabad`, `babolsar`. * Province: append `p` to the city/province slug — e.g. `/s/tehranp` for Tehran Province vs `/s/tehran` for Tehran city. * Macro-region: `/s/shomal` for the whole north (Caspian) region. * Combined destinations (hyphen-joined): `/s/chalus-ramsar` covers Chalus + Ramsar together. ## Type, Region, and Amenity Slugs These are the path segments after the destination (or used standalone). They combine with hyphens. Accommodation types: * `villa` — ویلا * `suite` — سوئیت * `apartment` — آپارتمان مبله (furnished apartment) * `cottage` — کلبه (wooden / swiss cabin) * `cottage-forest` — کلبه جنگلی (forest cabin) * `ecolog` — بوم‌گردی (eco-lodge / rural homestay) Region / climate: * `beach` — ساحلی / لب دریا (coastal, sea view) * `mountain` — ییلاقی / کوهستانی (highland, mountainous) * `forest` — جنگلی (forest), most often seen combined as `cottage-forest` Amenity / theme: * `pool` — استخردار (with pool) * `jacuzzi` — با جکوزی * `jacuzzi-villa` — ویلا با جکوزی Combining: slugs chain with hyphens to stack intent, e.g. `/s/shomal/beach-pool-villa` = coastal pool villa in the north. Standalone type pages exist too, e.g. `/s/cottage`, `/s/cottage-forest`, `/s/villa`, `/s/pool`, `/s/jacuzzi`, `/s/jacuzzi-villa`. ## Query Parameters Layer these on top of any slug route (`/s/...?param=value`). Verified parameters: * `page`: listing pagination (`page=3`). Omit when the value is `1`. * `minp` and `maxp`: nightly price range in Toman (`maxp=2500000`). * `luxury=1`: لوکس / luxury picks. * `economic=1`: اقتصادی / ارزان‌قیمت (budget). * `scenic=1`: خوش‌منظره (scenic view). * `discount=1`: تخفیف‌دار (discounted listings). * `lmdisc=1`: تخفیف لحظه‌ آخری (last-minute deals for today/tomorrow). * Raw ID form: `ctid` (destination/city id), `region` (region/climate id), `stid` (stay-type id) — e.g. `/s?ctid=311®ion=2&stid=26`. Prefer the readable slug routes over raw IDs. Date and guest-count selection (travel dates, تعداد نفرات / capacity) are applied through the on-page search box and are required to see exact availability and a full per-stay price for the chosen nights; without them the page shows starting prices only. ## Filter Chips and Sort On-listing filter chips (toggle to narrow results). Some map to the path slugs/params above, others are pure on-page toggles: * Property quality / host: `ممتاز` (premium host), `مهمان‌نواز` (hospitable), `رزرو فوری` (instant booking — confirmed in one step, no host approval), `ضدعفونی‌شده` (sanitized). * Type / structure: `کلبه سوئیسی` (swiss cabin), `کلبه چوبی` (wooden cabin), `بوم‌گردی` (eco-lodge), `حیاط‌دار` (with private yard). * Amenity / experience: `استخردار` (pool), `جکوزی` (jacuzzi), `لب‌آب` (waterfront), `با صبحانه` (breakfast included), `خوش‌غذا` (good food), `خوش‌منظره` (scenic). * Budget / segment: `اقتصادی` (budget), `لوکس` (luxury), `ییلاقی` (highland), `روستایی` (rustic/rural). * Access / rules: `پت‌نواز` (pet-friendly), `توان‌یابان` (accessible for disabled/elderly guests). Rental scope (shown per listing): `خانه دربست` (entire place) vs `نیمه دربست` (private room / partial). Sort options (مرتب‌سازی): * `از برترین` — Jajiga top / recommended (default). * `از محبوب‌ترین` — most popular. * `از بیشترین امتیاز` — highest rated. * `از بیشترین رزرو` — most booked. * `از ارزان‌ترین` — lowest price. * `از گران‌ترین` — highest price. * `از جدیدترین` — newest. ## Filtered Listing URL Examples * North villas: `https://www.jajiga.com/s/shomal/villa` * Luxury north villas: `https://www.jajiga.com/s/shomal/villa?luxury=1` * Coastal pool villa in the north: `https://www.jajiga.com/s/shomal/beach-pool-villa` * Pool villas in Kordan (short trip near Tehran): `https://www.jajiga.com/s/kordan/pool` * Budget pool villas in Kordan: `https://www.jajiga.com/s/kordan/pool?economic=1` * Highland villas in Kordan: `https://www.jajiga.com/s/kordan/mountain` * Jacuzzi villas in Ramsar: `https://www.jajiga.com/s/ramsar/jacuzzi` * Forest cabins in Masal: `https://www.jajiga.com/s/masal/cottage-forest` * Scenic forest cabins in Masal: `https://www.jajiga.com/s/masal/cottage-forest?scenic=1` * Eco-lodges in Masal: `https://www.jajiga.com/s/masal/ecolog` * Suites in Kish: `https://www.jajiga.com/s/kish/suite` * Furnished apartments in Kish: `https://www.jajiga.com/s/kish/apartment` * Ramsar + Chalus together: `https://www.jajiga.com/s/chalus-ramsar` * All pool listings, capped price: `https://www.jajiga.com/s/pool?maxp=3000000` * Last-minute deals everywhere: `https://www.jajiga.com/s?lmdisc=1` ## Destination Playbooks Use these patterns when the user asks for popular, high-quality, or weather-suitable stays. * Kordan and around Tehran: start with `/s/kordan` for short trips, pool villas, private yards, parties, and groups. Prioritize `villa` + `pool`, and chips/params such as `luxury=1`, `economic=1`, `حیاط‌دار` (yard), `جکوزی`. Use `/s/kordan/mountain` for highland/ییلاقی picks. Good for one- and two-night escapes from Tehran/Karaj. * Ramsar, Tonekabon, Chalus, Masal, Anzali (the north / shomal): start with `/s/ramsar`, `/s/chalus`, `/s/tonekabon`, `/s/masal`, `/s/anzali`, or the macro route `/s/shomal` for sea view, forest, rainy-weather, romantic, and nature stays. Prioritize `beach`, `cottage-forest`, `jacuzzi`, `pool`, `villa`, `suite`, and chips `خوش‌منظره` (scenic, `scenic=1`), `لب‌آب` (waterfront), `لوکس`/`اقتصادی`. Combine, e.g. `/s/shomal/beach-pool-villa` or `/s/ramsar/jacuzzi`. * Forest-cabin / cozy-cabin requests (Masal, Kelardasht, Tonekabon highlands): use `/s/{city}/cottage-forest` or standalone `/s/cottage-forest`, then add `scenic=1` and budget chips. For named micro-areas like Chaldareh, Dohezar/Sehezar, Olsbelangah — there may be no direct slug; use the nearest north city route (`/s/tonekabon`, `/s/ramsar`, `/s/chalus`, `/s/masal`) and rely on the on-page map/area picker. * Warm island / south winter trips: use `/s/kish` for sea-view suites and furnished apartments; prioritize `suite`, `apartment`, `beach`, and `villa`. Kish is strongest for furnished apartments and beach suites. * City stays (work, transit, events): `/s/tehran`, `/s/mashhad`, `/s/rasht` lean toward `suite` and `apartment` (furnished apartments) rather than villas. * Mood-first / quality-first trips: stack chips and params — `luxury=1`, `scenic=1`, `جکوزی`, `استخردار`, `حیاط‌دار`, `با صبحانه`, `ممتاز` host, `رزرو فوری` (instant booking) — then sort by `از بیشترین امتیاز` (rating) or `از محبوب‌ترین` (popularity). When the destination is flexible, infer candidates from: * Weather / season fit: cool highland or forest routes (`mountain`, `cottage-forest`) for hot days; warmer coastal/island routes (`/s/kish`, `beach`) for winter; Kordan / around-Tehran for short mild-weather breaks. * Travel style: family, romantic, friends, remote work, quiet nature, luxury, budget, pet-friendly, pool-focused, view-focused, or city access. * Distance and duration: weekend / one-night stays prioritize nearby cities (Kordan for Tehran); longer stays can use province (`{slug}p`) or all-inventory discovery. * Hard constraints: dates, capacity, budget, privacy (`خانه دربست`), accessibility (`توان‌یابان`), pet rules (`پت‌نواز`), and must-have amenities. When planning a filtered listing URL, extract these properties first: ```json { "intent": "find_accommodation_or_plan_trip", "destination": "fixed city/province/region slug or flexible", "destinationReason": "why this route fits the user, weather, distance, or trip style", "weatherDecision": "hot, cold, rainy, mild, snowy, beach weather, mountain weather, or unknown", "tripStyle": "family, romantic, friends, nature, luxury, budget, workation, party, pet-friendly, pool, view, or unknown", "checkIn": "Jalali date when available (selected via on-page search box)", "checkOut": "Jalali date when available (selected via on-page search box)", "capacity": "number of guests", "route": "/s, /s/{destination}, /s/{type}, /s/{destination}/{type}, or /room/{id}", "pathSlugs": { "destination": "ramsar | kordan | kish | shomal | chalus-ramsar | tehranp ...", "types": ["villa", "suite", "apartment", "cottage", "cottage-forest", "ecolog"], "regions": ["beach", "mountain", "forest"], "amenities": ["pool", "jacuzzi", "jacuzzi-villa"] }, "query": { "luxury": "1 when luxury", "economic": "1 when budget", "scenic": "1 when scenic view", "discount": "1 when discounted", "lmdisc": "1 when last-minute", "minp": "optional nightly price floor (Toman)", "maxp": "optional nightly price ceiling (Toman)", "page": "pagination when > 1" }, "sort": "bartar (recommended) | popular | rating | most_booked | cheapest | priciest | newest", "candidateUrls": ["filtered listing URLs to try in priority order"], "comparisonCriteria": ["availability", "total price for nights", "rating", "successful bookings", "capacity", "location", "photos", "rules", "cancellation", "rental scope (darbast)", "weather fit"], "filterStrategy": ["apply hard filters as path slugs first", "add quality/mood params and chips", "compare the first five strong candidates", "relax optional slugs/params if inventory is weak"] } ``` Recommended agent flow: 1. Understand the trip: destination if given, dates, capacity, budget, must-have amenities, travel style, distance tolerance, current or expected weather, and whether the user wants one stay or a whole trip plan. 2. If the destination is flexible, choose two or three city/region candidates based on weather fit and trip style, then pick the best first route. 3. Build the canonical slug URL directly: `/s/{destination}/{type-or-amenity}` combining hyphenated slugs, then append refinement params (`?luxury=1`, `?scenic=1`, `?maxp=...`). 4. Apply hard filters first as path slugs: type, region/climate, required amenity, plus dates and capacity through the search box; respect privacy (`خانه دربست`), accessibility, and pet rules. 5. Add quality and mood refinements: `luxury=1` or `economic=1`, `scenic=1`, instant booking, premium host, then sort by rating or popularity. 6. Take the first five strong accommodation candidates from the filtered listing. 7. Open each candidate `/room/{id}` page and compare availability, total price for the chosen nights, capacity, location, photos, rules, cancellation policy, rating, review/booking counts, host quality, rental scope, weather suitability, and any mismatch with hard constraints. 8. Recommend the best option, explain the tradeoffs for the other four, and if all five are weak, relax optional slugs or params (drop an amenity, widen price, switch `cottage-forest` to `villa`) before changing the city or region. ## Notes for Agents * Inventory and exact counts change constantly; treat any specific unit count or price as approximate and re-verify on the live page. * A trailing Persian SEO title in the path or in `/room/{id}/...` is cosmetic and safe to drop; the slug/ID before it determines the result. * `رزرو فوری` (instant booking) listings confirm in one step without host approval; others require host confirmation before payment. * For named micro-areas without a dedicated slug, route to the nearest covered city and use the on-page map/area picker rather than guessing a slug. ## Sitemaps For crawl discovery, start from the sitemap index at https://www.jajiga.com/sitemap.xml (and any child sitemaps it references).