{
 "title": "Harthliving OTA — AI data index",
 "version": 1,
 "site": "https://harthliving-ota.pages.dev",
 "built": "29/09/2026 09:28",
 "how_to_route": [
  "1. Match the question against keyword_index (keyword → topics; matching ignores Vietnamese diacritics). Weigh each matched keyword by 1 / number of topics it points to: generic words like 'booking' or 'property' point to many topics, specific ones like 'issues' or 'agoda promotion' to one. The top-scoring topic wins.",
  "2. Read the topic's answer_hint, then the listed dataset json_url.",
  "3. Need field meanings? Look the dataset up in /catalog.json.",
  "4. Only if the datasets do not answer it, read /llms-full.txt or the html_url pages."
 ],
 "quick_endpoints": {
  "read_everything": "https://harthliving-ota.pages.dev/ai/index.md",
  "full_text_part_1": "https://harthliving-ota.pages.dev/ai/full/part-01.md",
  "ai_pack_zip": "https://harthliving-ota.pages.dev/ai/harthliving-ota-ai-pack.zip",
  "agoda_promotions_json": "https://harthliving-ota.pages.dev/api/guidebook/agoda/promotions.json",
  "agoda_promotions_markdown": "https://harthliving-ota.pages.dev/api/guidebook/agoda/promotions.md",
  "guidebook_index": "https://harthliving-ota.pages.dev/api/guidebook/index.json",
  "catalog": "https://harthliving-ota.pages.dev/catalog.json",
  "llms": "https://harthliving-ota.pages.dev/llms.txt"
 },
 "topics": {
  "agoda_promotions": {
   "description": "Agoda promotion types (Mega Sale · Seasonal · Essential · Targeted), which ones show a badge to guests, the badge text, who sees them.",
   "answer_hint": "Group by promotion_group for the 4 high-level groups. Badge seen by guests = search_card_badge == 'yes' (exact label in badge_text); 'sometimes' = shown occasionally; 'yes_per_ycs' = Agoda's partner data says it carries a badge but it was not yet seen on agoda.com — report it separately, not as confirmed; 'no' = checked, no badge; 'unknown' = not measured. Who sees it = customer_visible_to. Labels that are not host promotions (Agoda Preferred, Promoted, coupons…) are in agoda_card_labels.",
   "keywords": [
    "agoda",
    "agoda badge",
    "agoda promotion",
    "agoda promotions",
    "badge",
    "boost campaign",
    "coupon",
    "customer facing",
    "customized",
    "domestic",
    "domestic deal",
    "domestic deals",
    "early bird",
    "eco deals",
    "essential",
    "hien cho khach",
    "hien thi nhan",
    "hien thi tag",
    "khuyen mai",
    "khuyen mai agoda",
    "label",
    "last minute",
    "long stay",
    "mega sale",
    "nhan",
    "nhan agoda",
    "nhom lon",
    "not a promotion",
    "payday",
    "preferred",
    "private sale",
    "promoted",
    "promotion",
    "promotion cua agoda",
    "promotions",
    "seasonal",
    "tag",
    "targeted"
   ],
   "answer_url": "https://harthliving-ota.pages.dev/api/guidebook/agoda/promotions.json",
   "example_questions": [
    "What are the main Agoda promotion groups?",
    "Which Agoda promotions display a customer-facing badge?",
    "Promotion Agoda nào hiện nhãn cho khách?"
   ],
   "datasets": [
    {
     "id": "agoda_promotions",
     "name": "Agoda promotions and customer-facing badges",
     "platform": "agoda",
     "json_url": "/data/agoda-promotions.json",
     "csv_url": "/data/agoda-promotions.csv",
     "html_url": "/guide/agoda/agoda-promotion-badges/",
     "rows": 39,
     "updated_at": "2026-09-28",
     "fields": [
      "platform",
      "category",
      "promotion_group",
      "promotion_name",
      "name_note",
      "search_card_badge",
      "badge_text",
      "measurement_gap",
      "badge_evidence",
      "search_card_text",
      "detail_page_text",
      "detail_page_evidence",
      "customer_visible_to",
      "measured",
      "active_on_25anthuong11",
      "source",
      "last_updated"
     ]
    },
    {
     "id": "agoda_card_labels",
     "name": "Agoda card labels that are not host promotions",
     "platform": "agoda",
     "json_url": "/data/agoda-card-labels.json",
     "csv_url": "/data/agoda-card-labels.csv",
     "html_url": "/guide/agoda/agoda-promotion-badges/",
     "rows": 7,
     "updated_at": "2026-09-28",
     "fields": [
      "platform",
      "category",
      "label_text",
      "origin",
      "host_can_enable",
      "source",
      "last_updated"
     ]
    }
   ],
   "source": "/data/agoda-promotions.json"
  },
  "booking_promotions": {
   "description": "Booking.com deals and programs: discount, who sees it, stacking, badge.",
   "answer_hint": "badge == 'yes' for promotions with a badge (badge_text when known). stacks_with / not_stacks_with give stacking rules.",
   "keywords": [
    "badge",
    "basic deal",
    "black friday",
    "booking",
    "booking deal",
    "booking promotion",
    "chong",
    "chong khuyen mai",
    "country rate",
    "deal",
    "early booker",
    "genius",
    "getaway",
    "khuyen mai booking",
    "last minute",
    "late escape",
    "limited time",
    "mobile rate",
    "preferred",
    "promotion",
    "stacking",
    "visibility booster"
   ],
   "answer_url": null,
   "example_questions": [
    "Which Booking.com promotions have a badge?",
    "Mobile rate có chồng với Country rate không?"
   ],
   "datasets": [
    {
     "id": "booking_promotions",
     "name": "Booking.com promotions and programs",
     "platform": "booking",
     "json_url": "/data/booking-promotions.json",
     "csv_url": "/data/booking-promotions.csv",
     "html_url": "/guide/booking/booking-promotions-playbook/",
     "rows": 14,
     "updated_at": "2026-09-27",
     "fields": [
      "platform",
      "category",
      "promotion_group",
      "promotion_name",
      "name_note",
      "customer_visible_to",
      "discount",
      "guest_sees",
      "stacks_with",
      "not_stacks_with",
      "eligibility",
      "mechanism",
      "booking_window",
      "stay_window",
      "available_from",
      "platform_claim",
      "internal_note",
      "badge",
      "badge_text",
      "badge_evidence",
      "attributes",
      "source",
      "last_updated"
     ]
    }
   ],
   "source": "/data/booking-promotions.json"
  },
  "pricelabs_pricing": {
   "description": "PriceLabs prices: Min/Base/Max per listing, sync, customizations, monthly nightly prices.",
   "answer_hint": "Min/Base/Max and sync in pricelabs_listings; rules like min stay/offset in pricelabs_customizations; price by month in pricelabs_calendar_monthly. All three come from the 27/09/2026 PriceLabs snapshot stored in the vault at vault/18-ota-listings/audits/2026-09-27-pricelabs-current-setup/ (see each dataset's source). Human-readable view: /status/pricelabs/.",
   "keywords": [
    "base price",
    "calendar",
    "customization",
    "dong bo gia",
    "dynamic pricing",
    "far out premium",
    "gia",
    "gia dem",
    "gia theo thang",
    "last minute",
    "lich gia",
    "max price",
    "min price",
    "min stay",
    "minimum stay",
    "monthly price",
    "nightly price",
    "offset",
    "orphan day",
    "price",
    "pricelabs",
    "pricing",
    "sync",
    "tuy chinh"
   ],
   "answer_url": null,
   "example_questions": [
    "Where is PriceLabs pricing data stored?",
    "Base price của 25 An Thượng 11 là bao nhiêu?"
   ],
   "datasets": [
    {
     "id": "pricelabs_listings",
     "name": "PriceLabs listings — Min / Base / Max and sync",
     "platform": "pricelabs",
     "json_url": "/data/pricelabs-listings.json",
     "csv_url": "/data/pricelabs-listings.csv",
     "html_url": "/status/pricelabs/",
     "rows": 14,
     "updated_at": "2026-09-27",
     "fields": [
      "platform",
      "slug",
      "property_name",
      "channel",
      "listing_id",
      "listing_name",
      "min_price_vnd",
      "base_price_vnd",
      "max_price_vnd",
      "previous_base_price_vnd",
      "previous_base_replaced_at",
      "sync_on",
      "sync_status",
      "last_pushed_on",
      "last_booked_date",
      "first_reservation_date",
      "snapshot_date",
      "source"
     ]
    },
    {
     "id": "pricelabs_customizations",
     "name": "PriceLabs customizations",
     "platform": "pricelabs",
     "json_url": "/data/pricelabs-customizations.json",
     "csv_url": "/data/pricelabs-customizations.csv",
     "html_url": "/status/pricelabs/",
     "rows": 120,
     "updated_at": "2026-09-27",
     "fields": [
      "platform",
      "slug",
      "channel",
      "listing_id",
      "setting",
      "value_text",
      "snapshot_date",
      "source"
     ]
    },
    {
     "id": "pricelabs_calendar_monthly",
     "name": "PriceLabs nightly prices by month",
     "platform": "pricelabs",
     "json_url": "/data/pricelabs-calendar-monthly.json",
     "csv_url": "/data/pricelabs-calendar-monthly.csv",
     "html_url": "/status/pricelabs/",
     "rows": 266,
     "updated_at": "2026-09-27",
     "fields": [
      "platform",
      "slug",
      "channel",
      "listing_id",
      "month",
      "avg_price_vnd",
      "min_price_vnd",
      "max_price_vnd",
      "nights_in_calendar",
      "snapshot_date",
      "source"
     ]
    }
   ],
   "source": "/data/pricelabs-listings.json"
  },
  "issues": {
   "description": "Issues and to-dos on the listings, by priority, property and platform.",
   "answer_hint": "Filter platforms contains the platform (e.g. 'booking') and status_group in (Mở, Đang chờ, Đang xử lý) for open issues; properties lists affected slugs (keyword-tagged, may be incomplete).",
   "keywords": [
    "fix",
    "issue",
    "issues",
    "loi",
    "open issues",
    "p0",
    "p1",
    "problem",
    "sua",
    "todo",
    "viec can lam"
   ],
   "answer_url": null,
   "example_questions": [
    "Which properties currently have Booking.com issues?",
    "Việc P0 nào đang mở?"
   ],
   "datasets": [
    {
     "id": "issues",
     "name": "OTA issues log",
     "platform": "all",
     "json_url": "/data/issues.json",
     "csv_url": "/data/issues.csv",
     "html_url": "/issues/",
     "rows": 132,
     "updated_at": "2026-09-25",
     "fields": [
      "id",
      "level",
      "status_group",
      "status",
      "task",
      "fix_where",
      "properties",
      "platforms",
      "tagging_method",
      "html_url",
      "source",
      "last_updated"
     ]
    }
   ],
   "source": "/data/issues.json"
  },
  "reviews": {
   "description": "Guest reviews on Booking.com, Agoda and Airbnb.",
   "answer_hint": "Pick the dataset by platform: fact_reviews (Booking), fact_agoda_reviews (Agoda), airbnb_reviews (Airbnb). Do not merge scores across platforms (different scales).",
   "keywords": [
    "agoda",
    "airbnb",
    "booking",
    "danh gia",
    "danh gia agoda",
    "danh gia airbnb",
    "diem review",
    "guest feedback",
    "rating",
    "review",
    "reviews",
    "sao",
    "score",
    "stars"
   ],
   "answer_url": null,
   "example_questions": [
    "Which dataset contains Airbnb review information?",
    "Review Booking gần nhất của 305?"
   ],
   "datasets": [
    {
     "id": "fact_reviews",
     "name": "Booking.com reviews",
     "platform": "booking",
     "json_url": "/data/fact-reviews.json",
     "csv_url": "/data/fact-reviews.csv",
     "html_url": "/library/data/fact-reviews/",
     "rows": 16,
     "updated_at": "2026-09-24",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "review_id",
      "completed_at",
      "stay_status",
      "country",
      "language",
      "score",
      "clean",
      "comfort",
      "location",
      "services",
      "staff",
      "value",
      "title",
      "positive",
      "negative",
      "has_reply",
      "anonymous",
      "source_file"
     ]
    },
    {
     "id": "fact_agoda_reviews",
     "name": "Agoda reviews",
     "platform": "agoda",
     "json_url": "/data/fact-agoda-reviews.json",
     "csv_url": "/data/fact-agoda-reviews.csv",
     "html_url": "/library/data/fact-agoda-reviews/",
     "rows": 8,
     "updated_at": "2026-09-24",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "review_id",
      "booking_id",
      "review_date",
      "checkin",
      "checkout",
      "score",
      "country",
      "demographic",
      "los",
      "title",
      "comment",
      "positive",
      "negative"
     ]
    },
    {
     "id": "airbnb_reviews",
     "name": "Airbnb reviews",
     "platform": "airbnb",
     "json_url": "/data/airbnb-reviews.json",
     "csv_url": "/data/airbnb-reviews.csv",
     "html_url": "/performance/reviews/",
     "rows": 117,
     "updated_at": "2026-06-27",
     "fields": [
      "platform",
      "slug",
      "property_name",
      "review_no",
      "rating",
      "month",
      "comment",
      "source",
      "last_updated"
     ]
    }
   ],
   "source": "/data/fact-reviews.json"
  },
  "booking_performance": {
   "description": "Booking.com revenue, ADR, room nights, funnel and rank in city.",
   "answer_hint": "Monthly revenue: fact_metrics where metric='revenue' and window='1m'. Funnel: fact_funnel (periods overlap).",
   "keywords": [
    "adr",
    "booking",
    "conversion",
    "ctr",
    "dem ban",
    "doanh thu",
    "funnel",
    "gia trung binh",
    "hieu suat",
    "impressions",
    "luot xem",
    "monthly revenue",
    "occupancy",
    "page score",
    "page views",
    "performance",
    "pheu",
    "rank in city",
    "revenue",
    "room nights",
    "ty le chuyen doi"
   ],
   "answer_url": null,
   "example_questions": [
    "Doanh thu Booking tháng 8 của từng căn?",
    "What is the conversion rate on Booking?"
   ],
   "datasets": [
    {
     "id": "fact_metrics",
     "name": "Booking.com performance metrics",
     "platform": "booking",
     "json_url": "/data/fact-metrics.json",
     "csv_url": "/data/fact-metrics.csv",
     "html_url": "/library/data/fact-metrics/",
     "rows": 1870,
     "updated_at": "2026-09-24",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "metric",
      "value",
      "unit",
      "peer_value",
      "period_start",
      "period_end",
      "window",
      "basis",
      "source_page",
      "source_field"
     ]
    },
    {
     "id": "fact_funnel",
     "name": "Booking.com funnel",
     "platform": "booking",
     "json_url": "/data/fact-funnel.json",
     "csv_url": "/data/fact-funnel.csv",
     "html_url": "/library/data/fact-funnel/",
     "rows": 35,
     "updated_at": "2026-09-24",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "period_days",
      "period_label",
      "window_start",
      "window_end",
      "window_days",
      "lag_days",
      "window_method",
      "window_mismatch",
      "window_ambiguity_days",
      "search_impressions",
      "search_impressions_peer",
      "page_views",
      "page_views_peer",
      "bookings",
      "bookings_peer",
      "ctr",
      "ctr_peer",
      "conversion",
      "conversion_peer",
      "rank_in_city",
      "rank_total",
      "property_page_score"
     ]
    }
   ],
   "source": "/data/fact-metrics.json"
  },
  "reservations": {
   "description": "Reservations and payments on Booking.com and Agoda (Airbnb not available yet).",
   "answer_hint": "Booking: fact_reservations. Agoda: fact_agoda_reservations joined to fact_agoda_transactions (booking_id = reference_number). Airbnb reservations are not in the data yet.",
   "keywords": [
    "agoda",
    "booking",
    "booking id",
    "booking list",
    "booking value",
    "bookings gained",
    "bookings lost",
    "cancellation",
    "collection",
    "commission",
    "daily",
    "don dat phong",
    "don dat phong agoda",
    "hoa hong",
    "huy",
    "huy phong",
    "no show",
    "payment",
    "payout",
    "price",
    "reservation",
    "reservations",
    "thanh toan",
    "theo ngay",
    "tien",
    "transaction"
   ],
   "answer_url": null,
   "example_questions": [
    "How many Booking.com reservations did 305 get?",
    "Đơn Agoda nào đã huỷ?"
   ],
   "datasets": [
    {
     "id": "fact_reservations",
     "name": "Booking.com reservations",
     "platform": "booking",
     "json_url": "/data/fact-reservations.json",
     "csv_url": "/data/fact-reservations.csv",
     "html_url": "/library/data/fact-reservations/",
     "rows": 189,
     "updated_at": "2026-09-26",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "reservation_id",
      "booked_at",
      "checkin",
      "checkout",
      "nights",
      "status",
      "price_vnd",
      "currency",
      "commission_vnd",
      "adults",
      "children",
      "rooms",
      "is_genius",
      "is_last_minute",
      "window_from",
      "window_to",
      "source_file"
     ]
    },
    {
     "id": "fact_agoda_reservations",
     "name": "Agoda reservations",
     "platform": "agoda",
     "json_url": "/data/fact-agoda-reservations.json",
     "csv_url": "/data/fact-agoda-reservations.csv",
     "html_url": "/library/data/fact-agoda-reservations/",
     "rows": 14,
     "updated_at": "2026-09-24",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "booking_id",
      "checkin",
      "checkout",
      "nights",
      "ack_type",
      "stay_type",
      "payment_model",
      "room",
      "rooms",
      "adults",
      "children"
     ]
    },
    {
     "id": "fact_agoda_transactions",
     "name": "Agoda transactions",
     "platform": "agoda",
     "json_url": "/data/fact-agoda-transactions.json",
     "csv_url": "/data/fact-agoda-transactions.csv",
     "html_url": "/library/data/fact-agoda-transactions/",
     "rows": 28,
     "updated_at": "2026-09-24",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "transaction_id",
      "reference_number",
      "transaction_type",
      "is_adjustment",
      "created_date",
      "checkin",
      "checkout",
      "booking_value",
      "collection_amount",
      "currency",
      "payment_method"
     ]
    },
    {
     "id": "fact_agoda_daily",
     "name": "Agoda daily bookings",
     "platform": "agoda",
     "json_url": "/data/fact-agoda-daily.json",
     "csv_url": "/data/fact-agoda-daily.csv",
     "html_url": "/library/data/fact-agoda-daily/",
     "rows": 178,
     "updated_at": "2026-09-24",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "date",
      "basis",
      "bookings_gained",
      "bookings_lost"
     ]
    }
   ],
   "source": "/data/fact-reservations.json"
  },
  "agoda_sales": {
   "description": "Agoda sales summary and daily bookings.",
   "answer_hint": "period_type in fact_agoda_summary is only partly decoded; fact_agoda_daily covers the last 30 days.",
   "keywords": [
    "agoda",
    "agoda bookings",
    "agoda revenue",
    "agoda sales",
    "bookings",
    "bookings gained",
    "bookings lost",
    "daily",
    "doanh thu agoda",
    "revenue",
    "room nights",
    "summary",
    "theo ngay"
   ],
   "answer_url": null,
   "example_questions": [
    "Doanh thu Agoda tháng này?"
   ],
   "datasets": [
    {
     "id": "fact_agoda_summary",
     "name": "Agoda sales summary",
     "platform": "agoda",
     "json_url": "/data/fact-agoda-summary.json",
     "csv_url": "/data/fact-agoda-summary.csv",
     "html_url": "/library/data/fact-agoda-summary/",
     "rows": 84,
     "updated_at": "2026-09-24",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "metric",
      "unit",
      "period_type",
      "period_label",
      "value"
     ]
    },
    {
     "id": "fact_agoda_daily",
     "name": "Agoda daily bookings",
     "platform": "agoda",
     "json_url": "/data/fact-agoda-daily.json",
     "csv_url": "/data/fact-agoda-daily.csv",
     "html_url": "/library/data/fact-agoda-daily/",
     "rows": 178,
     "updated_at": "2026-09-24",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "date",
      "basis",
      "bookings_gained",
      "bookings_lost"
     ]
    }
   ],
   "source": "/data/fact-agoda-summary.json"
  },
  "search_ranking": {
   "description": "Public search rank on Booking.com and Agoda.",
   "answer_hint": "status tells why a property is not ranked (sold_out, beyond_cap, not_open, over_capacity).",
   "keywords": [
    "agoda",
    "booking",
    "not open",
    "over capacity",
    "ranking",
    "search rank",
    "thu hang",
    "thu hang agoda",
    "top",
    "vi tri tim kiem",
    "visibility"
   ],
   "answer_url": null,
   "example_questions": [
    "41 Lê Hy Cát đứng hạng mấy trên Agoda?"
   ],
   "datasets": [
    {
     "id": "booking_ranking",
     "name": "Booking.com public search rank",
     "platform": "booking",
     "json_url": "/data/booking-ranking.json",
     "csv_url": "/data/booking-ranking.csv",
     "html_url": "/library/data/booking-ranking/",
     "rows": 72,
     "updated_at": "2026-09-26",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "search_id",
      "pass_no",
      "dest_id",
      "checkin",
      "checkout",
      "nights",
      "adults",
      "rooms",
      "sort",
      "personalization",
      "total_reported",
      "rows_scanned",
      "unique_ids",
      "rank",
      "page_approx",
      "pct_from_top",
      "status",
      "price_per_stay_vnd",
      "note"
     ]
    },
    {
     "id": "agoda_ranking",
     "name": "Agoda public search rank",
     "platform": "agoda",
     "json_url": "/data/agoda-ranking.json",
     "csv_url": "/data/agoda-ranking.csv",
     "html_url": "/library/data/agoda-ranking/",
     "rows": 72,
     "updated_at": "2026-09-26",
     "fields": [
      "snapshot_date",
      "channel",
      "slug",
      "external_id",
      "search_id",
      "pass_no",
      "city_id",
      "checkin",
      "checkout",
      "nights",
      "adults",
      "rooms",
      "sort",
      "personalization",
      "total_filtered",
      "rows_scanned",
      "unique_ids",
      "rank",
      "page_approx",
      "pct_from_top",
      "status",
      "agoda_bookings_confirmed",
      "note"
     ]
    }
   ],
   "source": "/data/booking-ranking.json"
  },
  "listing_settings": {
   "description": "Current settings and status of each property on each platform (Platform Status).",
   "answer_hint": "listing_status gives the summary + read date per property × platform; full settings are in the HTML page html_url and in /properties/<slug>.json.",
   "keywords": [
    "address",
    "agoda id",
    "apartment",
    "cai dat",
    "can ho",
    "cleaning fee",
    "content score",
    "danh sach can",
    "dia chi",
    "freshness",
    "hotel id",
    "listing id",
    "listing status",
    "page score",
    "phi don",
    "platform status",
    "properties",
    "property",
    "read date",
    "settings",
    "status",
    "trang thai",
    "villa"
   ],
   "answer_url": null,
   "example_questions": [
    "Cài đặt Booking của A La Carte 305 đọc ngày nào?"
   ],
   "datasets": [
    {
     "id": "listing_status",
     "name": "Listing status by platform",
     "platform": "all",
     "json_url": "/data/listing-status.json",
     "csv_url": "/data/listing-status.csv",
     "html_url": "/status/",
     "rows": 28,
     "updated_at": "2026-09-27",
     "fields": [
      "slug",
      "property_name",
      "platform",
      "summary",
      "read_date",
      "freshness",
      "html_url"
     ]
    },
    {
     "id": "properties",
     "name": "Property directory",
     "platform": "all",
     "json_url": "/data/properties.json",
     "csv_url": "/data/properties.csv",
     "html_url": "/properties/",
     "rows": 7,
     "updated_at": "2026-09-05",
     "fields": [
      "slug",
      "name",
      "type",
      "address",
      "nickname",
      "booking_hotel_ids",
      "booking_status",
      "airbnb_listing_id",
      "airbnb_listing_name",
      "agoda_id",
      "airbnb_short_link",
      "booking_public_url",
      "html_url",
      "json_url",
      "source",
      "last_updated"
     ]
    }
   ],
   "source": "/data/listing-status.json"
  },
  "properties": {
   "description": "Property directory and IDs across platforms.",
   "answer_hint": "properties maps slug ↔ Booking hotel_id ↔ Airbnb listing ID ↔ Agoda ID.",
   "keywords": [
    "active from",
    "address",
    "agoda",
    "agoda id",
    "apartment",
    "booking",
    "can ho",
    "contract",
    "danh sach can",
    "danh sach can agoda",
    "dia chi",
    "hotel id",
    "listing id",
    "properties",
    "property",
    "property id",
    "property list",
    "villa"
   ],
   "answer_url": null,
   "example_questions": [
    "Agoda ID của 25 An Thượng 11 là gì?"
   ],
   "datasets": [
    {
     "id": "properties",
     "name": "Property directory",
     "platform": "all",
     "json_url": "/data/properties.json",
     "csv_url": "/data/properties.csv",
     "html_url": "/properties/",
     "rows": 7,
     "updated_at": "2026-09-05",
     "fields": [
      "slug",
      "name",
      "type",
      "address",
      "nickname",
      "booking_hotel_ids",
      "booking_status",
      "airbnb_listing_id",
      "airbnb_listing_name",
      "agoda_id",
      "airbnb_short_link",
      "booking_public_url",
      "html_url",
      "json_url",
      "source",
      "last_updated"
     ]
    },
    {
     "id": "booking_dim_property",
     "name": "Booking.com property list",
     "platform": "booking",
     "json_url": "/data/booking-dim-property.json",
     "csv_url": "/data/booking-dim-property.csv",
     "html_url": "/library/data/booking-dim-property/",
     "rows": 7,
     "updated_at": "2026-09-24",
     "fields": [
      "slug",
      "channel",
      "external_id",
      "name",
      "property_type",
      "city",
      "active_from",
      "active_from_basis"
     ]
    },
    {
     "id": "agoda_dim_property",
     "name": "Agoda property list",
     "platform": "agoda",
     "json_url": "/data/agoda-dim-property.json",
     "csv_url": "/data/agoda-dim-property.csv",
     "html_url": "/library/data/agoda-dim-property/",
     "rows": 7,
     "updated_at": "2026-09-25",
     "fields": [
      "slug",
      "channel",
      "external_id",
      "name",
      "property_type",
      "city",
      "active_from",
      "active_from_basis",
      "contract_from"
     ]
    }
   ],
   "source": "/data/properties.json"
  },
  "guest_messages": {
   "description": "Automated guest message templates per platform.",
   "answer_hint": "Index only; the full text (codes masked) is on each html_url.",
   "keywords": [
    "auto message",
    "check-in",
    "check-in message",
    "check-out",
    "confirmation",
    "message",
    "messages",
    "template",
    "tin nhan"
   ],
   "answer_url": null,
   "example_questions": [
    "Tin check-in Booking của 41 Lê Hy Cát đã dán lên chưa?"
   ],
   "datasets": [
    {
     "id": "message_templates",
     "name": "Automated guest message templates",
     "platform": "all",
     "json_url": "/data/message-templates.json",
     "csv_url": "/data/message-templates.csv",
     "html_url": "/status/booking/messages/",
     "rows": 28,
     "updated_at": "2026-09-23",
     "fields": [
      "platform",
      "id",
      "title",
      "stage",
      "language",
      "pasted_on_platform",
      "pasted_date",
      "last_updated",
      "html_url",
      "source"
     ]
    }
   ],
   "source": "/data/message-templates.json"
  },
  "competitors": {
   "description": "Airbnb competitive set of 25 An Thượng 11.",
   "answer_hint": "Only 25 An Thượng 11 has a competitive set so far.",
   "keywords": [
    "25 an thuong 11",
    "25anthuong11",
    "competitive set",
    "competitor",
    "competitors",
    "compset",
    "doi thu",
    "market",
    "thi truong"
   ],
   "answer_url": null,
   "example_questions": [
    "Giá trung bình của đối thủ 25 An Thượng 11?"
   ],
   "datasets": [
    {
     "id": "competitors_25anthuong11",
     "name": "Airbnb competitors of 25 An Thượng 11",
     "platform": "airbnb",
     "json_url": "/data/competitors-25anthuong11.json",
     "csv_url": "/data/competitors-25anthuong11.csv",
     "html_url": "/competitors/25anthuong11/",
     "rows": 34,
     "updated_at": "2026-09-27",
     "fields": [
      "platform",
      "for_property",
      "listing_id",
      "name",
      "bedrooms",
      "guests",
      "rating",
      "reviews",
      "avg_price_60d_vnd",
      "calendar_booked_60d_pct",
      "distance_m",
      "airbnb_url",
      "snapshot_date",
      "source"
     ]
    }
   ],
   "source": "/data/competitors-25anthuong11.json"
  },
  "guides": {
   "description": "How-to guides and platform rules, by platform.",
   "answer_hint": "Filter platform, then read summary_points; open html_url for the full guide.",
   "keywords": [
    "algorithm",
    "cam nang",
    "content score",
    "guide",
    "how to",
    "huong dan",
    "luat",
    "playbook",
    "ranking algorithm",
    "rules",
    "thuat toan"
   ],
   "answer_url": null,
   "example_questions": [
    "Booking xếp hạng theo những yếu tố nào?"
   ],
   "datasets": [
    {
     "id": "guides",
     "name": "Guide book index",
     "platform": "all",
     "json_url": "/data/guides.json",
     "csv_url": "/data/guides.csv",
     "html_url": "/guide/",
     "rows": 19,
     "updated_at": "2026-09-28",
     "fields": [
      "id",
      "platform",
      "platform_name",
      "title",
      "kind",
      "use_when",
      "summary_points",
      "summary_written",
      "html_url",
      "source",
      "last_updated"
     ]
    }
   ],
   "source": "/data/guides.json"
  },
  "reports": {
   "description": "Dated audit reports.",
   "answer_hint": "Sorted by date; open html_url.",
   "keywords": [
    "audit",
    "bao cao",
    "report",
    "snapshot"
   ],
   "answer_url": null,
   "example_questions": [
    "Có báo cáo nào về price parity?"
   ],
   "datasets": [
    {
     "id": "reports",
     "name": "Dated reports and audits",
     "platform": "all",
     "json_url": "/data/reports.json",
     "csv_url": "/data/reports.csv",
     "html_url": "/library/reports/",
     "rows": 22,
     "updated_at": "2026-09-28",
     "fields": [
      "id",
      "date",
      "title",
      "kind",
      "html_url",
      "source"
     ]
    }
   ],
   "source": "/data/reports.json"
  }
 },
 "keyword_index": {
  "25 an thuong 11": [
   "competitors"
  ],
  "25anthuong11": [
   "competitors"
  ],
  "active from": [
   "properties"
  ],
  "address": [
   "listing_settings",
   "properties"
  ],
  "adr": [
   "booking_performance"
  ],
  "agoda": [
   "agoda_promotions",
   "reviews",
   "reservations",
   "agoda_sales",
   "search_ranking",
   "properties"
  ],
  "agoda badge": [
   "agoda_promotions"
  ],
  "agoda bookings": [
   "agoda_sales"
  ],
  "agoda id": [
   "listing_settings",
   "properties"
  ],
  "agoda promotion": [
   "agoda_promotions"
  ],
  "agoda promotions": [
   "agoda_promotions"
  ],
  "agoda revenue": [
   "agoda_sales"
  ],
  "agoda sales": [
   "agoda_sales"
  ],
  "airbnb": [
   "reviews"
  ],
  "algorithm": [
   "guides"
  ],
  "apartment": [
   "listing_settings",
   "properties"
  ],
  "audit": [
   "reports"
  ],
  "auto message": [
   "guest_messages"
  ],
  "badge": [
   "agoda_promotions",
   "booking_promotions"
  ],
  "bao cao": [
   "reports"
  ],
  "base price": [
   "pricelabs_pricing"
  ],
  "basic deal": [
   "booking_promotions"
  ],
  "black friday": [
   "booking_promotions"
  ],
  "booking": [
   "booking_promotions",
   "reviews",
   "booking_performance",
   "reservations",
   "search_ranking",
   "properties"
  ],
  "booking deal": [
   "booking_promotions"
  ],
  "booking id": [
   "reservations"
  ],
  "booking list": [
   "reservations"
  ],
  "booking promotion": [
   "booking_promotions"
  ],
  "booking value": [
   "reservations"
  ],
  "bookings": [
   "agoda_sales"
  ],
  "bookings gained": [
   "reservations",
   "agoda_sales"
  ],
  "bookings lost": [
   "reservations",
   "agoda_sales"
  ],
  "boost campaign": [
   "agoda_promotions"
  ],
  "cai dat": [
   "listing_settings"
  ],
  "calendar": [
   "pricelabs_pricing"
  ],
  "cam nang": [
   "guides"
  ],
  "can ho": [
   "listing_settings",
   "properties"
  ],
  "cancellation": [
   "reservations"
  ],
  "check-in": [
   "guest_messages"
  ],
  "check-in message": [
   "guest_messages"
  ],
  "check-out": [
   "guest_messages"
  ],
  "chong": [
   "booking_promotions"
  ],
  "chong khuyen mai": [
   "booking_promotions"
  ],
  "cleaning fee": [
   "listing_settings"
  ],
  "collection": [
   "reservations"
  ],
  "commission": [
   "reservations"
  ],
  "competitive set": [
   "competitors"
  ],
  "competitor": [
   "competitors"
  ],
  "competitors": [
   "competitors"
  ],
  "compset": [
   "competitors"
  ],
  "confirmation": [
   "guest_messages"
  ],
  "content score": [
   "listing_settings",
   "guides"
  ],
  "contract": [
   "properties"
  ],
  "conversion": [
   "booking_performance"
  ],
  "country rate": [
   "booking_promotions"
  ],
  "coupon": [
   "agoda_promotions"
  ],
  "ctr": [
   "booking_performance"
  ],
  "customer facing": [
   "agoda_promotions"
  ],
  "customization": [
   "pricelabs_pricing"
  ],
  "customized": [
   "agoda_promotions"
  ],
  "daily": [
   "reservations",
   "agoda_sales"
  ],
  "danh gia": [
   "reviews"
  ],
  "danh gia agoda": [
   "reviews"
  ],
  "danh gia airbnb": [
   "reviews"
  ],
  "danh sach can": [
   "listing_settings",
   "properties"
  ],
  "danh sach can agoda": [
   "properties"
  ],
  "deal": [
   "booking_promotions"
  ],
  "dem ban": [
   "booking_performance"
  ],
  "dia chi": [
   "listing_settings",
   "properties"
  ],
  "diem review": [
   "reviews"
  ],
  "doanh thu": [
   "booking_performance"
  ],
  "doanh thu agoda": [
   "agoda_sales"
  ],
  "doi thu": [
   "competitors"
  ],
  "domestic": [
   "agoda_promotions"
  ],
  "domestic deal": [
   "agoda_promotions"
  ],
  "domestic deals": [
   "agoda_promotions"
  ],
  "don dat phong": [
   "reservations"
  ],
  "don dat phong agoda": [
   "reservations"
  ],
  "dong bo gia": [
   "pricelabs_pricing"
  ],
  "dynamic pricing": [
   "pricelabs_pricing"
  ],
  "early bird": [
   "agoda_promotions"
  ],
  "early booker": [
   "booking_promotions"
  ],
  "eco deals": [
   "agoda_promotions"
  ],
  "essential": [
   "agoda_promotions"
  ],
  "far out premium": [
   "pricelabs_pricing"
  ],
  "fix": [
   "issues"
  ],
  "freshness": [
   "listing_settings"
  ],
  "funnel": [
   "booking_performance"
  ],
  "genius": [
   "booking_promotions"
  ],
  "getaway": [
   "booking_promotions"
  ],
  "gia": [
   "pricelabs_pricing"
  ],
  "gia dem": [
   "pricelabs_pricing"
  ],
  "gia theo thang": [
   "pricelabs_pricing"
  ],
  "gia trung binh": [
   "booking_performance"
  ],
  "guest feedback": [
   "reviews"
  ],
  "guide": [
   "guides"
  ],
  "hien cho khach": [
   "agoda_promotions"
  ],
  "hien thi nhan": [
   "agoda_promotions"
  ],
  "hien thi tag": [
   "agoda_promotions"
  ],
  "hieu suat": [
   "booking_performance"
  ],
  "hoa hong": [
   "reservations"
  ],
  "hotel id": [
   "listing_settings",
   "properties"
  ],
  "how to": [
   "guides"
  ],
  "huong dan": [
   "guides"
  ],
  "huy": [
   "reservations"
  ],
  "huy phong": [
   "reservations"
  ],
  "impressions": [
   "booking_performance"
  ],
  "issue": [
   "issues"
  ],
  "issues": [
   "issues"
  ],
  "khuyen mai": [
   "agoda_promotions"
  ],
  "khuyen mai agoda": [
   "agoda_promotions"
  ],
  "khuyen mai booking": [
   "booking_promotions"
  ],
  "label": [
   "agoda_promotions"
  ],
  "last minute": [
   "agoda_promotions",
   "booking_promotions",
   "pricelabs_pricing"
  ],
  "late escape": [
   "booking_promotions"
  ],
  "lich gia": [
   "pricelabs_pricing"
  ],
  "limited time": [
   "booking_promotions"
  ],
  "listing id": [
   "listing_settings",
   "properties"
  ],
  "listing status": [
   "listing_settings"
  ],
  "loi": [
   "issues"
  ],
  "long stay": [
   "agoda_promotions"
  ],
  "luat": [
   "guides"
  ],
  "luot xem": [
   "booking_performance"
  ],
  "market": [
   "competitors"
  ],
  "max price": [
   "pricelabs_pricing"
  ],
  "mega sale": [
   "agoda_promotions"
  ],
  "message": [
   "guest_messages"
  ],
  "messages": [
   "guest_messages"
  ],
  "min price": [
   "pricelabs_pricing"
  ],
  "min stay": [
   "pricelabs_pricing"
  ],
  "minimum stay": [
   "pricelabs_pricing"
  ],
  "mobile rate": [
   "booking_promotions"
  ],
  "monthly price": [
   "pricelabs_pricing"
  ],
  "monthly revenue": [
   "booking_performance"
  ],
  "nhan": [
   "agoda_promotions"
  ],
  "nhan agoda": [
   "agoda_promotions"
  ],
  "nhom lon": [
   "agoda_promotions"
  ],
  "nightly price": [
   "pricelabs_pricing"
  ],
  "no show": [
   "reservations"
  ],
  "not a promotion": [
   "agoda_promotions"
  ],
  "not open": [
   "search_ranking"
  ],
  "occupancy": [
   "booking_performance"
  ],
  "offset": [
   "pricelabs_pricing"
  ],
  "open issues": [
   "issues"
  ],
  "orphan day": [
   "pricelabs_pricing"
  ],
  "over capacity": [
   "search_ranking"
  ],
  "p0": [
   "issues"
  ],
  "p1": [
   "issues"
  ],
  "page score": [
   "booking_performance",
   "listing_settings"
  ],
  "page views": [
   "booking_performance"
  ],
  "payday": [
   "agoda_promotions"
  ],
  "payment": [
   "reservations"
  ],
  "payout": [
   "reservations"
  ],
  "performance": [
   "booking_performance"
  ],
  "pheu": [
   "booking_performance"
  ],
  "phi don": [
   "listing_settings"
  ],
  "platform status": [
   "listing_settings"
  ],
  "playbook": [
   "guides"
  ],
  "preferred": [
   "agoda_promotions",
   "booking_promotions"
  ],
  "price": [
   "pricelabs_pricing",
   "reservations"
  ],
  "pricelabs": [
   "pricelabs_pricing"
  ],
  "pricing": [
   "pricelabs_pricing"
  ],
  "private sale": [
   "agoda_promotions"
  ],
  "problem": [
   "issues"
  ],
  "promoted": [
   "agoda_promotions"
  ],
  "promotion": [
   "agoda_promotions",
   "booking_promotions"
  ],
  "promotion cua agoda": [
   "agoda_promotions"
  ],
  "promotions": [
   "agoda_promotions"
  ],
  "properties": [
   "listing_settings",
   "properties"
  ],
  "property": [
   "listing_settings",
   "properties"
  ],
  "property id": [
   "properties"
  ],
  "property list": [
   "properties"
  ],
  "rank in city": [
   "booking_performance"
  ],
  "ranking": [
   "search_ranking"
  ],
  "ranking algorithm": [
   "guides"
  ],
  "rating": [
   "reviews"
  ],
  "read date": [
   "listing_settings"
  ],
  "report": [
   "reports"
  ],
  "reservation": [
   "reservations"
  ],
  "reservations": [
   "reservations"
  ],
  "revenue": [
   "booking_performance",
   "agoda_sales"
  ],
  "review": [
   "reviews"
  ],
  "reviews": [
   "reviews"
  ],
  "room nights": [
   "booking_performance",
   "agoda_sales"
  ],
  "rules": [
   "guides"
  ],
  "sao": [
   "reviews"
  ],
  "score": [
   "reviews"
  ],
  "search rank": [
   "search_ranking"
  ],
  "seasonal": [
   "agoda_promotions"
  ],
  "settings": [
   "listing_settings"
  ],
  "snapshot": [
   "reports"
  ],
  "stacking": [
   "booking_promotions"
  ],
  "stars": [
   "reviews"
  ],
  "status": [
   "listing_settings"
  ],
  "sua": [
   "issues"
  ],
  "summary": [
   "agoda_sales"
  ],
  "sync": [
   "pricelabs_pricing"
  ],
  "tag": [
   "agoda_promotions"
  ],
  "targeted": [
   "agoda_promotions"
  ],
  "template": [
   "guest_messages"
  ],
  "thanh toan": [
   "reservations"
  ],
  "theo ngay": [
   "reservations",
   "agoda_sales"
  ],
  "thi truong": [
   "competitors"
  ],
  "thu hang": [
   "search_ranking"
  ],
  "thu hang agoda": [
   "search_ranking"
  ],
  "thuat toan": [
   "guides"
  ],
  "tien": [
   "reservations"
  ],
  "tin nhan": [
   "guest_messages"
  ],
  "todo": [
   "issues"
  ],
  "top": [
   "search_ranking"
  ],
  "trang thai": [
   "listing_settings"
  ],
  "transaction": [
   "reservations"
  ],
  "tuy chinh": [
   "pricelabs_pricing"
  ],
  "ty le chuyen doi": [
   "booking_performance"
  ],
  "vi tri tim kiem": [
   "search_ranking"
  ],
  "viec can lam": [
   "issues"
  ],
  "villa": [
   "listing_settings",
   "properties"
  ],
  "visibility": [
   "search_ranking"
  ],
  "visibility booster": [
   "booking_promotions"
  ]
 },
 "datasets_by_platform": {
  "agoda": [
   "agoda_card_labels",
   "agoda_dim_property",
   "agoda_promotions",
   "agoda_ranking",
   "fact_agoda_daily",
   "fact_agoda_reservations",
   "fact_agoda_reviews",
   "fact_agoda_summary",
   "fact_agoda_transactions"
  ],
  "airbnb": [
   "airbnb_reviews",
   "competitors_25anthuong11"
  ],
  "all": [
   "guides",
   "issues",
   "listing_status",
   "message_templates",
   "properties",
   "reports"
  ],
  "booking": [
   "booking_dim_property",
   "booking_promotions",
   "booking_ranking",
   "crawl_log",
   "fact_funnel",
   "fact_metrics",
   "fact_reservations",
   "fact_reviews"
  ],
  "pricelabs": [
   "pricelabs_calendar_monthly",
   "pricelabs_customizations",
   "pricelabs_listings"
  ]
 },
 "datasets_by_category": {
  "competitors": [
   "competitors_25anthuong11"
  ],
  "funnel": [
   "fact_funnel"
  ],
  "guides": [
   "guides"
  ],
  "issues": [
   "issues"
  ],
  "listing_settings": [
   "listing_status"
  ],
  "messaging": [
   "message_templates"
  ],
  "meta": [
   "crawl_log"
  ],
  "payments": [
   "fact_agoda_transactions"
  ],
  "performance": [
   "fact_agoda_daily",
   "fact_agoda_summary",
   "fact_metrics"
  ],
  "pricing": [
   "pricelabs_calendar_monthly",
   "pricelabs_customizations",
   "pricelabs_listings"
  ],
  "promotions": [
   "agoda_card_labels",
   "agoda_promotions",
   "booking_promotions"
  ],
  "properties": [
   "agoda_dim_property",
   "booking_dim_property",
   "properties"
  ],
  "reports": [
   "reports"
  ],
  "reservations": [
   "fact_agoda_reservations",
   "fact_reservations"
  ],
  "reviews": [
   "airbnb_reviews",
   "fact_agoda_reviews",
   "fact_reviews"
  ],
  "search_ranking": [
   "agoda_ranking",
   "booking_ranking"
  ]
 }
}