[
 {
  "id": "L-01",
  "level": "P0",
  "task": "**Airbnb đổi sang phí host-only 15,5% ngày 15/09/2026.** Cảnh báo hiện ở cả Airbnb (\"Action required by September 15\") lẫn PriceLabs. Không chỉnh giá + phí dọn dẹp thì **payout thực nhận giảm** trên toàn bộ listing Airbnb. **14/09 — đã đọc trọn cơ chế hai tool, CHƯA áp dụng:** Airbnb task `CONFIRM_HOST_ONLY_FEE` còn `ELIGIBLE`; wizard Airbnb áp ×1,1479 cho **13 listing toàn tài khoản** (kể cả 4 San Jose + 2 căn ngoài PriceLabs), sửa cả cleaning/pet fee 2 năm lịch, **không đảo ngược**; PriceLabs preview 7 dòng chỉ Base + Min, 0 group/profile/DSO. **Thứ tự theo drawer PriceLabs: Airbnb tool → PriceLabs drawer 15 % → Save → Sync.** Checklist từng cú bấm ở `platforms/airbnb-hof-migration-2026-09.md` §5.",
  "where": "PriceLabs (giá) + Airbnb (cleaning & other fee)",
  "status": "✅ **XONG 14/09/2026 ~19:05.** Bước 1 cleaning fee 7 căn ×1,15 (15 MN đặt mới 575.000) · bước 2 PriceLabs Base/Min ×1,15 Save+Sync, Airbnb khớp 100 % ngày không promo · bước 3 Single fee đã lưu (task Airbnb biến mất). Hệ số 15 %, thuế tắt. Việc phát sinh: `L-96`",
  "kind": "Xong",
  "slugs": [
   "15nuocman5"
  ],
  "chans": [
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-02",
  "level": "P0",
  "task": "**\"Koi Pond\" nằm trong TIÊU ĐỀ listing của 15 Nước Mặn 5 trên CẢ BA KÊNH** — Airbnb · Booking `15668679` · **Agoda `84463562`** (xác nhận thêm 03/09). Vault đã chốt căn này **bỏ hồ cá koi, cấm nêu koi ở mọi ngôn ngữ**. Đang là overclaim chạy thật trên 2 kênh → rủi ro khách khiếu nại và review xấu.",
  "where": "Airbnb title + Booking property name + Agoda listing name",
  "status": "🔴 Mở — **fact đã chốt 17/08: KHÔNG có koi.** Đây là task sửa tay treo từ 17/08 (xem `HANDOFF.md`), nay mở rộng ra cả 3 kênh",
  "kind": "Mở",
  "slugs": [
   "15nuocman5"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda"
  ]
 },
 {
  "id": "L-03",
  "level": "P1",
  "task": "**A La Carte 305 có HAI property Booking:** `13311503` (Open/Bookable) và `15702691` (Closed/Not bookable, Booking gắn nhãn \"Learn why\"). Trùng listing làm loãng review và thứ hạng.",
  "where": "Booking extranet",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-04",
  "level": "—",
  "task": "⏸️ **NGOÀI PHẠM VI (03/09).** **86 Phạm Cự Lượng lệch kênh:** Airbnb đang **Listed**, Booking `15702720` đang **Closed/Not bookable**. Hoặc đang cố ý chỉ bán Airbnb, hoặc Booking bị đóng quên mở.",
  "where": "Booking extranet",
  "status": "⏸️ Tạm gác",
  "kind": "Tạm gác",
  "slugs": [],
  "chans": [
   "booking",
   "airbnb"
  ]
 },
 {
  "id": "L-05",
  "level": "—",
  "task": "⏸️ **NGOÀI PHẠM VI (03/09) — user chốt chỉ làm 7 căn có sẵn hồ sơ.** Ghi lại để biết: **vault biết 7 căn, thực tế có 11 listing Việt Nam.** Thiếu hồ sơ: 86 Phạm Cự Lượng · Ba Na Hills 1BR · Ba Na Hills 2BR · 36 Dương Tử Giang (Unlisted). Không có `property_details_*.md` ⇒ mọi workflow content/tin nhắn/tour đều mù với 4 căn này.",
  "where": "`vault/02-villas/` + `business.md`",
  "status": "⏸️ Tạm gác",
  "kind": "Tạm gác",
  "slugs": [],
  "chans": []
 },
 {
  "id": "L-06",
  "level": "P2",
  "task": "**`alacarte502` (`14756473`) — 03/09 báo `No inventory`** (không mở bán phòng nào, cũng không có khách), và **17/09 → 01/10+ báo `Rate closed`** (còn phòng nhưng khoá giá) dù giá vẫn nạp đủ. Gần hai tuần không bán được.",
  "where": "Channel manager / PriceLabs — lịch gắn `XML (edits overwritten)`",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte502"
  ],
  "chans": [
   "pricelabs"
  ]
 },
 {
  "id": "L-07",
  "level": "P2",
  "task": "**Airbnb có 90 tin nhắn chưa đọc.** Tốc độ phản hồi là yếu tố xếp hạng của Airbnb.",
  "where": "Airbnb Inbox",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-08",
  "level": "—",
  "task": "✅ **GIẢI XONG 03/09:** 36 = **25 Airbnb + 8 Booking + 3 VRBO + 0 Agoda** (đọc từ `/api/pd_dropdown_options`). Booking nằm ở cấp *room* (`hotelid___roomid`). *(nội dung cũ)* **PriceLabs đồng bộ 36 listing** trong khi Booking 9 + Airbnb 15 = 24. Chưa rõ 12 listing dôi ra là gì (Agoda? VRBO? room type tách lẻ? listing cũ?). Chưa đối chiếu thì không tin được số liệu giá/ADR của PriceLabs.",
  "where": "PriceLabs → Add/Re-import Listings",
  "status": "✅ Xong",
  "kind": "Xong",
  "slugs": [],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-09",
  "level": "—",
  "task": "**Bốn listing San Jose, CA nằm chung tài khoản Airbnb.** ✅ **Chốt 03/09: ngoài phạm vi** — không đưa vào báo cáo, không tính vào chiến lược giá Harth Living.",
  "where": "—",
  "status": "✅ Xong",
  "kind": "Xong",
  "slugs": [],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-10",
  "level": "P1",
  "task": "**Booking đang tạm khoá chính sách non-refundable và prepayment** cho tài khoản (\"We've temporarily disabled the non-refundable and prepayment policies\"). Ảnh hưởng khả năng giữ tiền cọc. Chưa rõ lý do và thời hạn. 🔎 **Đo lại 10/09/2026 — nguyên nhân đã rõ, và rộng hơn tưởng:** trang `policies.html` của `14756473` ghi nguyên văn *\"Prepayment options are temporarily paused **while we finish verifying your property**. Until your verification is complete, please collect payment directly from the guest at check-in.\"* ⇒ cửa chặn là **property verification**, không phải hình phạt. **Đồng thời, cả 7 property đều KHÔNG bật được Payments by Booking.com**: endpoint `finance_settings_pbb_status` trả `pbbStatus.type = inactive` và **`canOptIn = false`**, `finance_settings_bank_details` trả `showBankDetails = false` / `hasBankDetails = false`, `payoutOptionList = []`, `bank_details_status = no_bank_transfer`, `bhfsState = BHFS_NONE`. ⇒ **không có chỗ nào để khai tài khoản ngân hàng nhận tiền khách trả trước**, và cũng chưa có nút xin bật. Cả hai đường thu tiền trước (Booking thu hộ · mình thu bằng chính sách prepayment) đều đang đóng cùng một lý do.",
  "where": "Booking extranet → Finance settings + Reservation policies",
  "status": "🔴 Mở — nâng lên P1 10/09, cần liên hệ partner support hỏi verification còn thiếu gì",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-11",
  "level": "P1",
  "task": "**`25anthuong11` KHÔNG có trên Agoda.** Là căn duy nhất trong 7 căn vắng mặt — Agoda chỉ có 6 listing. Hoặc cố ý không bán Agoda, hoặc chưa lên sàn và đang mất một kênh phân phối.",
  "where": "Agoda Partner Portal",
  "status": "🟢 **Đã lên sàn 18/09/2026 — ID `96450982`, chờ Agoda duyệt.** Tạo bằng Fast-track import từ Booking: bước 1–5 agent điền (Location tự nhập · Villa 200 m² 8 khách 3 WC · giá min 3.450.000 · promo 33 % 3 booking đầu bật · payout ACB ∗∗∗∗1117 · 5 sao · 14:00–23:00 / 11:00 · huỷ 3 ngày), bước 6 Profile (legal name = tên căn như Booking invoice details, UBO Huy Nguyen) + Publish user làm tay. Còn lại: content (ảnh gốc, 88 tiện ích, arrival guide, nội quy, occupancy, huỷ 5 ngày) sau khi duyệt hoặc ngay khi user ra lệnh; iCal Calendar connections hai chiều nên nối ngay. Nhật ký wizard: `properties/25anthuong11/_raw/2026-09-18-agoda-onboarding/wizard/`",
  "kind": "Xong",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking",
   "agoda"
  ]
 },
 {
  "id": "L-12",
  "level": "P1",
  "task": "**Content score trên Agoda thấp:** `181tohienthanh` **43/100** · `15nuocman5` 48/100 · `41lehycat` 50/100 · `alacarte305` 70/100 · hai căn A La Carte còn lại **N/A**. Điểm hồ sơ ảnh hưởng hiển thị và thứ hạng. Đây là việc **thuần nội dung** (ảnh, mô tả, tiện ích) — đúng sở trường workspace, không đụng giá hay lịch. **Trọng số chính thức (tra 04/09):** ảnh property **45%** + ảnh phòng **25%** = **70% điểm nằm ở ảnh**; tiện ích property 15% · tiện ích phòng 10% · age policy 3% · star 2%. Luật dễ bỏ sót nhất: **mỗi tiện ích tick \"có\" mà thiếu ảnh gắn tag đều bị trừ điểm.**",
  "where": "Agoda Partner Portal → từng listing",
  "status": "🔴 Mở — checklist ở [`platforms/agoda-listing-playbook.md` §4 + §15](platforms/agoda-listing-playbook.md)",
  "kind": "Mở",
  "slugs": [
   "15nuocman5",
   "41lehycat",
   "181tohienthanh",
   "alacarte305"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-13",
  "level": "P3",
  "task": "**Doanh thu MTD trên Agoda gần như trống:** chỉ `181tohienthanh` có số (Revenue VND 13.891.786 · ADR VND 3.975.385), 5 listing còn lại `N/A`. Chưa rõ `N/A` là *không có booking* hay *không có dữ liệu ở cấp unit*. Chưa rõ thì không dùng được để đánh giá hiệu quả kênh Agoda.",
  "where": "Agoda → Analytics",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "181tohienthanh"
  ],
  "chans": [
   "booking",
   "agoda"
  ]
 },
 {
  "id": "L-14",
  "level": "P0",
  "task": "**Agoda KHÔNG nối vào PriceLabs** — 0/36 listing. Nghĩa là **6 listing Agoda đang định giá tay/tĩnh**, không theo thị trường, không đồng bộ với Airbnb và Booking. Một kênh đang bán mà giá đứng yên là chỗ rò tiền lớn nhất trong toàn hệ thống.",
  "where": "PriceLabs → kết nối Agoda, hoặc quy trình chỉnh tay định kỳ",
  "status": "🔴 Mở — 28/09/2026 xác minh lại trên `25anthuong11` (`96450982`): Connectivity *quản lý trực tiếp*, giá phẳng 3.450.000 VND mọi đêm 18/09/2026 → 30/04/2027 ([hồ sơ](properties/25anthuong11/agoda.md))",
  "kind": "Mở",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-15",
  "level": "P1",
  "task": "**`25anthuong11` trên Booking (`16927056`) không có trong PriceLabs** ⇒ giá Booking của căn này là **giá tĩnh**. Airbnb của nó thì có. Cộng với **L-11** (không có trên Agoda) ⇒ căn 4 phòng ngủ này đang được quản lý kém nhất trong 7 căn. **→ 18/09/2026: đã có dòng `16927056___1692705601` bcom trong PriceLabs (Min 3.450.000 · Base 4.600.000 · Max 11.500.000 · Sync ON) — ĐÓNG.**",
  "where": "PriceLabs → Add/Re-import Listings",
  "status": "🟡 **Nối xong 11/09/2026** — PriceLabs nay 37 listing (9 `bcom`), có `16927056___1692705601`, `Property Type` = Short-Term, `BR` = 4. **NHƯNG giá chưa chạy:** `Enable Price Sync` chưa bật, `Last synced NA`, nên Booking vẫn bán giá tĩnh 5.000.000. Min 3.450.000 · Base 4.600.000 · Max **chưa đặt** · **cách làm từng bước: [`platforms/pricelabs-connect-booking-playbook.md`](platforms/pricelabs-connect-booking-playbook.md)**",
  "kind": "Đang chờ",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-16",
  "level": "P1",
  "task": "**`Max Price` = \"Not set\" trên toàn bộ 10 dòng đọc được** — không có trần giá ở bất kỳ listing nào. Riêng **`502` không có cả Min lẫn Max** (cả Airbnb lẫn Booking) ⇒ thả nổi hoàn toàn.",
  "where": "PriceLabs → từng listing",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-17",
  "level": "P1",
  "task": "**Booking `181tohienthanh` và `15nuocman5`: occupancy 0 %, doanh thu 0 suốt 30 ngày.** Airbnb cùng hai căn đạt 50 % và 63 %, nên lấp đầy hợp nhất chỉ 50 % và 63 % — còn nhiều đêm trống thật. *(Khác hẳn `404`: căn đó Booking cũng 0 % nhưng Airbnb đã kín 100 %, nên là hệ quả chứ không phải lỗi.)* Hai villa lớn nhất không bán được đêm nào qua Booking. **Không phải vấn đề giá** — căn `305` đắt hơn Airbnb 9,9 % mà vẫn đạt 83 % trên Booking. Nghi là `Rate closed` / `No inventory` giống hệt ca `502` (**L-06**).",
  "where": "—",
  "status": "🔄 **Đã kiểm 03/09, hạ mức xuống P1.** `Rate closed` là chặn chéo kênh hoạt động đúng (Booking đóng khớp ngày Airbnb kín). Phần còn lại: Booking vẫn có nhiều ngày MỞ mà bán 0 đêm ⇒ nghiêng về **giá**, không phải availability",
  "kind": "Đang xử lý",
  "slugs": [
   "15nuocman5",
   "181tohienthanh",
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb"
  ]
 },
 {
  "id": "L-18",
  "level": "P1",
  "task": "**PriceLabs ghi sai số phòng ngủ ở BA dòng Booking:** `181THT` (thật 3BR) · `15MN` (thật 4BR) · `41LHC` (thật 4BR) — tất cả đều ghi **1 BR**. PriceLabs so với comp set 1 phòng ngủ ⇒ **gợi ý giá và MPI của hai dòng này sai gốc**. PL đang gợi ý *hạ* min cho đúng hai căn đó — **không được làm theo khi chưa sửa BR**.",
  "where": "PriceLabs → sửa cấu hình listing",
  "status": "🔴 Mở — **tách nguyên nhân 15/09/2026:** 181 THT và 15 MN sai từ **Booking Room details** (trang khách + FAQ ghi \"1 bedroom\"; 15 MN còn khai \"1 full bed\" cho 10 khách) → sửa trên Booking; 41 LHC (Booking đã 4 BR) và 404 (Booking đã 2 BR) sai ở **PriceLabs** → chọn tay cột BR Count. 502/305/25 AT 11 đúng. Hướng dẫn từng bước: [`audits/2026-09-15-simple-fixes-guide.md`](audits/2026-09-15-simple-fixes-guide.md)",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "41lehycat",
   "181tohienthanh",
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "pricelabs"
  ]
 },
 {
  "id": "L-19",
  "level": "P3",
  "task": "**VRBO là kênh thứ tư, chưa từng biết** — 3 listing trong PriceLabs, cả ba ở San Jose, CA. Ngoài phạm vi 7 căn nên chỉ ghi nhận, không xử lý.",
  "where": "—",
  "status": "⏸️ Ghi nhận",
  "kind": "Tạm gác",
  "slugs": [],
  "chans": [
   "pricelabs"
  ]
 },
 {
  "id": "L-20",
  "level": "—",
  "task": "**Đọc đủ 36/36 dòng bảng giá PriceLabs** (03/09). Không phải phân trang mà là **cuộn ảo** — bảng chỉ giữ ~10 hàng trong DOM, cuộn container `css-xidosa` là render tiếp. Không cần bấm nút nào.",
  "where": "—",
  "status": "✅ Xong",
  "kind": "Xong",
  "slugs": [],
  "chans": [
   "pricelabs"
  ]
 },
 {
  "id": "L-21",
  "level": "P1",
  "task": "**Hai dòng Booking không có `Base Price`: `alacarte404` và `alacarte305` hạng phòng 2.** PriceLabs không tính được giá cho chúng, nghĩa là giá đang nằm trên Booking là **giá cũ đứng im**, không phải giá động. `404` còn thiếu cả `Min`.",
  "where": "PriceLabs → đặt Min/Base cho hai dòng này",
  "status": "🟡 **404 XONG 15/09/2026 ~18:00** (lệnh user): dòng `15702704___1570270401` đặt Min 1.552.500 · Base 2.506.360 (= dòng Airbnb 404) → Save & Refresh → bật Enable Price Sync → Sync Now (queue, đẩy 18:01:36). Gói đẩy: 54 đêm mở 22/10→14/12 giá 1.552.500–2.278.197 (TB 1.810.213) thay cho 2.500.000 phẳng; trang khách Booking 24–27/10 hiện 4.989.318 = đúng Σ 3 giá đẩy. Script mới `scripts/ota-pricelabs-set-base.mjs`. **Còn lại:** dòng ma 305 hạng 2 (`1331150302`) chưa ẩn; BR dòng 404 vẫn 1 (L-18); Max chưa đặt (L-33).",
  "kind": "Đang chờ",
  "slugs": [
   "alacarte305",
   "alacarte404"
  ],
  "chans": [
   "booking",
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-22",
  "level": "P0",
  "task": "**`25anthuong11` là listing yếu nhất danh mục.** Airbnb: lấp đầy **13 %**, giá thực 2.000.000 so với Base 4.000.000 — chỉ **50 % giá gốc**, kém nhất cả hai trục. Cộng thêm: không có trên Agoda (**L-11**) và không có dòng Booking trong PriceLabs (**L-15**). Một villa 4 phòng ngủ đang vừa ế, vừa bán rẻ, vừa thiếu hai kênh.",
  "where": "Cần soát riêng cả ba kênh",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-23",
  "level": "P1",
  "task": "**Bảy căn trong phạm vi chưa nối cha–con trong PriceLabs**, nên `Base` của Airbnb và Booking trôi độc lập — chênh từ 0,7 % tới 33 %. Villa 36 Dương Tử Giang (ngoài phạm vi) đã nối và có Base giống hệt nhau ở hai kênh, chứng minh cách sửa.",
  "where": "PriceLabs → nối parent/child từng căn",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "booking",
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-24",
  "level": "P2",
  "task": "**Cột so sánh giá hai kênh đang so nhầm đơn vị.** `Base Booking` là giá khách trả; `Base Airbnb` hiện là giá TRƯỚC phụ thu khách ~14,2 %. Quy về giá khách trả thì **ba trong năm căn đảo chiều** — Booking thực ra rẻ hơn ở 305, 502 và 181 THT. Từ 15/09 hai cột mới cùng đơn vị.",
  "where": "Cách đọc, không phải cấu hình",
  "status": "✅ Đã sửa trong báo cáo",
  "kind": "Xong",
  "slugs": [
   "181tohienthanh",
   "alacarte305",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb"
  ]
 },
 {
  "id": "L-25",
  "level": "P0",
  "task": "**Booking chỉ thu phí dọn ở 1/7 căn.** Airbnb thu ở 6/7 (200.000–600.000₫/lượt), Booking chỉ có `alacarte305` (300.000₫) — sáu căn còn lại khai *\"chưa có phí phụ thu nào\"*. Mỗi lượt khách đặt qua Booking là mất nguyên khoản phí dọn mà cùng căn đó thu được trên Airbnb. Ngay căn 305 hai kênh cũng lệch 50.000₫.",
  "where": "Booking extranet → Policies → Additional fees",
  "status": "✅ **XONG 15/09/2026 ~18:15** — user ra lệnh, chạy `scripts/ota-booking-cleaning-fee.mjs` (script ghi mới, đi trang `additional_fees.html`, đọc preview trước khi Save, đọc lại khối trên `property_policies.html`): 181 THT **600.000** · 41 LHC **700.000** · 15 MN **600.000** (ba căn từ 0) · 25 AT 11 300.000 → **600.000** · 305 300.000 → **400.000** · 404 300.000 → **400.000** · 502 150.000 → **250.000**. 7/7 đọc lại khớp, dạng *VND/stay · not included in price*. Trang khách còn hiện số cũ lúc 18:20 (cache Booking) — kiểm lại sau vài giờ.",
  "kind": "Xong",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "41lehycat",
   "181tohienthanh",
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb"
  ]
 },
 {
  "id": "L-26",
  "level": "P0",
  "task": "**`15nuocman5` không thu phí dọn ở BẤT KỲ kênh nào.** Airbnb để trống, Booking để trống. Hai villa cùng cỡ 4BR thu 500.000₫ (25AT11) và 600.000₫ (41LHC). Villa lớn nhất danh mục đang dọn miễn phí cho khách.",
  "where": "Airbnb listing editor + Booking policies",
  "status": "✅ **XONG 15/09/2026** — Airbnb 600.000 · Booking 600.000 (đọc lại khớp cả hai).",
  "kind": "Xong",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "41lehycat"
  ],
  "chans": [
   "booking",
   "airbnb"
  ]
 },
 {
  "id": "L-27",
  "level": "P0",
  "task": "**Cả 7 listing Airbnb đều có một khuyến mãi `endDate` = `9999-12-31` mức −20 %**, bắt đầu từ ngày mỗi căn lên sàn. Nếu đang chạy thật thì mọi đêm đang bị giảm 20 % vĩnh viễn — đủ để giải thích vì sao giá thực luôn thấp hơn giá gốc. **Chưa xác minh là đang hoạt động hay chỉ là bản ghi lịch sử.**",
  "where": "Airbnb → Promotions từng listing",
  "status": "✅ **Giải xong 05/09** — đọc `promotionSettings` của cả 7 căn: `activePromotions` **rỗng ở 5/7**. Bản ghi `endDate 9999-12-31` là **lời mời khuyến mãi Airbnb gợi ý**, không phải khuyến mãi đang chạy. Đang chạy thật chỉ có hai, đều ngắn ngày: `41lehycat` **−28 %** 04→09/09 và `alacarte305` **−20 %** 03→06/09 (cả hai 0 lượt dùng). ⇒ giá thực thấp hơn giá gốc **không** do khuyến mãi vĩnh viễn",
  "kind": "Xong",
  "slugs": [
   "41lehycat",
   "alacarte305"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-28",
  "level": "P1",
  "task": "**Giảm giá theo tháng đặt −10 % trong khi Airbnb gợi ý −29 % đến −43 %.** Riêng `25anthuong11` Airbnb gợi ý −43 %, đúng căn có lấp đầy thấp nhất (13 %). Chưa rõ nên theo gợi ý hay không, nhưng khoảng cách quá lớn để bỏ qua.",
  "where": "Airbnb listing editor → Discounts",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-29",
  "level": "P2",
  "task": "**Giá cuối tuần còn đặt ở 4 căn Airbnb** (502 · 181THT · 41LHC · 15MN) trong khi PriceLabs đẩy giá theo từng ngày. Chưa xác minh cái nào thắng — nếu giá cuối tuần vẫn áp thì nó phá chiến lược của PriceLabs.",
  "where": "Airbnb + PriceLabs",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "41lehycat",
   "181tohienthanh",
   "alacarte502"
  ],
  "chans": [
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-30",
  "level": "P1",
  "task": "**Agoda cảnh báo \"Competitor rates are better than yours\"** trên `181tohienthanh`, kèm content score **43/100 \"Poor\"** và **chưa định nghĩa competitor set**. Không có comp set thì mọi so sánh thị trường của Agoda đều mù.",
  "where": "Agoda → Settings",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "181tohienthanh"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-31",
  "level": "P1",
  "task": "**Chưa rõ Booking có tính hoa hồng trên cleaning fee dạng *not included in the price* hay không.** Partner-help gợi ý là không; doc kỹ thuật lại nói included/excluded chỉ là cách **hiển thị**, không phải cách tính phí. Quyết định khai fee ở dạng nào phụ thuộc câu này.",
  "where": "Hỏi Booking partner support",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-32",
  "level": "P0",
  "task": "**Hệ số nâng giá cho mốc 15/09 chưa tính VAT VÀ chưa tính thuế khấu trừ tại Việt Nam.** PriceLabs dặn công thức là **`15 % × (1 + VAT)`**. Thêm nữa, Airbnb có bài riêng **[Vietnam withholding taxes](https://www.airbnb.com/help/article/4085)** — nếu Airbnb đang khấu trừ thuế tại nguồn thì cả hệ số nâng giá lẫn phép so tiền thực nhận hai kênh đều phải tính lại.",
  "where": "Đọc `help/article/4085` + `436` + `437`; cần user xác nhận tình trạng VAT",
  "status": "✅ **Chốt 14/09/2026: 15 %, tắt \"Adjust to Include Taxes\"** (user chốt sau khi kiểm 2 đơn thật: phí host = 3,000 % subtotal, không dòng VAT; payload Airbnb EXEMPT; ERC `0402202817` VERIFIED). Ghi chú kế toán: nếu công ty tự kê khai VAT nhà thầu trên phí Airbnb và không được khấu trừ thì 16,6 % mới đúng — ngoài dữ liệu Airbnb, hỏi kế toán",
  "kind": "Xong",
  "slugs": [],
  "chans": [
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-33",
  "level": "P2",
  "task": "**Mốc 15/09 phải nâng cả `Max Price`, không chỉ Min + Base** — PriceLabs nói rõ cả ba. Hiện cả 36 listing đều `Not set` nên tạm thời vô hại, nhưng nếu đặt Max mà quên nâng thì trần sẽ chặn giá mới. **14/09:** preview drawer xác nhận 7 dòng chỉ có `base_price` + `min_price` (502 không có cả Min) — không có Max để nâng, drawer sẽ không hiện dòng Max.",
  "where": "PriceLabs",
  "status": "🔴 Mở — không chặn L-01",
  "kind": "Mở",
  "slugs": [
   "alacarte502"
  ],
  "chans": [
   "pricelabs"
  ]
 },
 {
  "id": "L-34",
  "level": "P1",
  "task": "**PriceLabs không bật customization nào** cho listing 305 — mục `Applied Customizations` rỗng. Không seasonal profile, không orphan-gap, không last-minute, không LOS. Thuật toán chạy thuần mặc định. Mới kiểm 1/7 căn.",
  "where": "PriceLabs → từng listing → Applied Customizations",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "pricelabs"
  ]
 },
 {
  "id": "L-35",
  "level": "P1",
  "task": "**Chiết khấu dài ngày nằm hoàn toàn ngoài PriceLabs.** Help doc xác nhận cả `Weekly/Monthly discount` lẫn `LOS Pricing` **đều không hỗ trợ Airbnb và Booking.com**. Airbnb tự giữ −5%/−10%; Booking dùng rate plan riêng, và `Monthly rate` của 502 gắn **`Not XML`** nên là giá tĩnh. Muốn đổi chiến lược dài ngày phải sửa tay trên từng kênh.",
  "where": "Airbnb listing editor · Booking rate plans",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-36",
  "level": "P1",
  "task": "**Booking cộng thêm đúng 8 % vào (giá phòng + cleaning fee)** để ra tổng khách trả — đo chính xác `1,08000` trên 3/3 booking của `13311503`. **Chưa xác minh 8 % đó là gì** (nghi VAT dịch vụ lưu trú); trang `property_policies` không khai thuế. Airbnb thì **không** thấy khai thuế nào ⇒ nếu đúng là VAT thì khách Booking đang trả VAT còn khách Airbnb thì không — cần rà nghĩa vụ thuế.",
  "where": "Booking extranet → trang VAT/thuế · Airbnb → tax settings",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "booking",
   "airbnb"
  ]
 },
 {
  "id": "L-37",
  "level": "P0",
  "task": "**Chưa biết tỷ lệ hoa hồng Booking.com của tài khoản này.** Thiếu con số đó thì **không so được tiền thực nhận giữa Airbnb và Booking** — mà đó mới là căn cứ quyết định nên đẩy khách sang kênh nào, nhất là sau 15/09 khi Airbnb thành 15,5%. Hoa hồng Booking tính trên tiền phòng + phí phụ thu, không tính city tax, có tính VAT ở phần lớn quốc gia.",
  "where": "Booking extranet → Finance / Commission",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "booking",
   "airbnb"
  ]
 },
 {
  "id": "L-38",
  "level": "P1",
  "task": "**Chênh giá Airbnb ↔ Booking không theo cấu trúc phí.** Airbnb thấp hơn Booking ở 5/5 căn (đúng chiều), nhưng mức chạy **0,7 %–25,0 %**, độ lệch chuẩn **8,2 điểm**, trong khi mức cần để khách trả bằng nhau chỉ là **5,43 %** ⇒ chiều đúng là trùng hợp, không phải thiết kế. **Sau 15/09 yêu cầu đảo chiều:** Airbnb phải **cao hơn** Booking 8 %, tức xoay 13,4 điểm. Nâng ×1,1479 giữ nguyên khoảng cách ngẫu nhiên nên **không sửa được lệch kênh** — sau nâng vẫn lệch từ −21,9 tới +6,0 điểm. Muốn nhất quán phải **đặt lại Base theo một mốc chung**, không thể chỉ nhân hệ số.",
  "where": "PriceLabs → đặt lại Base cả hai kênh",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "booking",
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-39",
  "level": "P0",
  "task": "**Hai property bị KẸP SÀN GIÁ trên Booking:** `181tohienthanh` giá phẳng **3.000.000** và `41lehycat` phẳng **4.000.000** trên mọi ngày mở — đúng bằng `Min Price`. Thuật toán muốn xuống thấp hơn nhưng bị chặn. PriceLabs gợi ý hạ `Min` (2.850.000 và 3.800.000) **nhưng cả hai đang khai sai `BR = 1`** nên gợi ý sai gốc. **Sửa `BR` (L-18) trước, rồi mới xét hạ sàn.**",
  "where": "PriceLabs → BR rồi Min Price",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "41lehycat",
   "181tohienthanh"
  ],
  "chans": [
   "booking",
   "pricelabs"
  ]
 },
 {
  "id": "L-40",
  "level": "P1",
  "task": "**Rate plan không đồng nhất giữa 7 property Booking:** `15nuocman5` thiếu `Monthly rate` · `404` và `25AT11` có `Non-refundable Rate` còn 5 căn kia không · `502`, `41lehycat` có `Monthly rate` gắn **`Not XML`**, `181THT` gắn **`Set-up`** ⇒ ba plan này nằm ngoài dynamic pricing, giá tĩnh.",
  "where": "Booking → Rates & availability từng property",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "41lehycat",
   "181tohienthanh",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-41",
  "level": "P1",
  "task": "**`Non-refundable Rate` đang `Open` ở `404` và `25AT11`** trong khi banner tài khoản báo *\"We've temporarily disabled the non-refundable and prepayment policies\"*. Chưa rõ rate plan đó thực sự bán được hay khách đặt vào sẽ lỗi.",
  "where": "Booking → hỏi partner support",
  "status": "🟡 Một nửa — **11/09/2026 `25AT11` không còn `Non-refundable Rate`** trên `rate_plans.html` (chỉ Standard `67628679` · Weekly `67628681` · Monthly `69060005`, plan Monthly là mới); `404` chưa kiểm lại",
  "kind": "Đang chờ",
  "slugs": [
   "25anthuong11",
   "alacarte404"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-42",
  "level": "P1",
  "task": "**`25anthuong11` KHÔNG có nhãn `XML`** — property duy nhất không nối channel manager, dùng giao diện `Monthly view` khác hẳn 6 property kia. Giá **tĩnh phẳng 5.000.000₫/đêm** mọi ngày, không theo mùa, không theo cuối tuần. Cùng gốc với **L-15**.",
  "where": "PriceLabs → Add/Re-import + nối XML",
  "status": "✅ **XONG 11/09/2026** — cả bốn dấu hiệu đã lật: lịch gắn `XML (edits overwritten)` và mất chế độ xem theo tháng · `rate_plans.html` ghi `Mapped from PriceLabs` · `channelManagerConnected: 1` · có dòng `bcom` trong PriceLabs · **cách làm từng bước: [`platforms/pricelabs-connect-booking-playbook.md`](platforms/pricelabs-connect-booking-playbook.md)**",
  "kind": "Xong",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking",
   "pricelabs"
  ]
 },
 {
  "id": "L-43",
  "level": "P2",
  "task": "**4/6 tên listing Agoda phạm luật đặt tên chính thức của Agoda.** Luật cấm **dấu ngoặc**, **ký hiệu**, và **khuyến mãi** trong tên listing: `A La Carte Da Nang 2br/2ba [Free Airport Pickup]` (ngoặc vuông + khuyến mãi) · `Remodel 2br/2ba A La Carte [Free Airport Pickup]` (ngoặc vuông + khuyến mãi) · `1BR Studio A La Carte Hotel *Free Airport Pick up*` (ký hiệu `*` + khuyến mãi) · `Newly built villa 4br/5ba Pool, Sauna, Elevator` (không có tên riêng nào — không nhận diện được thương hiệu). Agoda cho tối đa 100 ký tự, viết hoa chữ đầu mỗi từ, giữ tên cũ tối đa 6 tháng. ⚠️ **Đổi tên phải liên hệ Agoda**, không tự sửa được, và Agoda duyệt theo giấy phép kinh doanh. Trùng trường với **L-02** (Koi Pond trong tên `84463562`) ⇒ gộp làm một lần liên hệ.",
  "where": "Liên hệ Agoda (Need Help)",
  "status": "🔴 Mở — luật ở [`platforms/agoda-listing-playbook.md` §5](platforms/agoda-listing-playbook.md)",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-44",
  "level": "P1",
  "task": "**Chưa kiểm `Auto Top-up` trên 6 listing Agoda — vector overbooking chéo kênh.** Agoda có tính năng **tự mở lại phòng bán** khi số phòng còn lại tụt dưới ngưỡng (mặc định **1 phòng**), bơm lại tới tổng số phòng khai báo, lặp lại mỗi lần tụt ngưỡng, chỉ báo bằng email. Vì **Agoda không nối PriceLabs (L-14)** và các villa đều đang bán song song trên Airbnb + Booking, ATU bật là Agoda có thể tự mở lại đúng những đêm đã kín ở kênh khác. **Chưa xác minh đang bật hay tắt.** Tắt ở `Property > Property Settings > Optional Settings` → bỏ tick `Auto topup allotment`.",
  "where": "Agoda Partner Portal → từng listing",
  "status": "🔴 Mở — cơ chế ở [`agoda-listing-playbook.md` §11.3](platforms/agoda-listing-playbook.md)",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-45",
  "level": "P1",
  "task": "**Chưa nối iCal giữa Agoda và Airbnb/Booking.** Agoda có sẵn `Calendar > Calendar connections` (import + export iCal, tự làm mới vài lần/ngày) với Airbnb · Booking · Expedia · Vrbo. **Giới hạn: chỉ dùng được cho room type có ĐÚNG 1 phòng** ⇒ 4 villa nguyên căn thoả điều kiện, 3 unit A La Carte gắn nhãn *Group listing unit* phải kiểm số phòng trước. Đây là cách **miễn phí** giảm rủi ro của **L-14** (Agoda ngoài PriceLabs) và **L-44** (Auto Top-up), tuy không thay được dynamic pricing.",
  "where": "Agoda → Calendar connections",
  "status": "🔴 Mở — cách làm ở [`agoda-listing-playbook.md` §11.6](platforms/agoda-listing-playbook.md)",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-46",
  "level": "P0",
  "task": "**Booking 305 khai \"No internet access available\"** (Property policies → Internet) trong khi welcome message nói *Free High-Speed WiFi* và thực tế có Wi-Fi. Khách lọc \"Free WiFi\" — bộ lọc phổ biến nhất — sẽ **không thấy** căn này; mô tả tự sinh cũng không nhắc Wi-Fi. Đọc 04/09 tại `properties/alacarte305/booking.md` §8. Cần kiểm 6 căn Booking còn lại cùng trường này.",
  "where": "Booking → Property → Property policies → Internet",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-47",
  "level": "P1",
  "task": "**Booking 305 \"You only accept cash\"** (Guest Payment Options) mâu thuẫn với facility *Cashless payment available = Yes*. Với chính sách *No prepayment* + thu tiền tại chỗ, khách quốc tế thấy \"cash only\" là rào cản.",
  "where": "Booking → Property policies → Guest Payment Options",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-48",
  "level": "P1",
  "task": "**[07/09 xong một nửa: dòng `Crib upon request VND 100,000` sai trên trang khách đã gỡ được bằng cách bấm `Save` ở `crib_and_extra_beds.html` với giá trị 0/0 — xem `platforms/booking.md` §6d. Còn lại: chưa set child rates.]** **Booking 305 không set child rates, không nôi, không giường phụ** → Booking ghi rõ *\"children will be priced as adults\"*. Booking đang nhắc *\"Your property is popular with families\"* và gợi ý *\"Increase family bookings up to 15%\"*. Trùng gốc với age policy Agoda (playbook §4.9).",
  "where": "Booking → Property policies → Children & Extra Beds",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking",
   "agoda"
  ]
 },
 {
  "id": "L-49",
  "level": "P1",
  "task": "**Booking 305: Genius đủ điều kiện (8.8 · 10 review) nhưng chưa bật · 0 promotion · mobile booking 10% vs peer 64% · booking từ VN 7% vs khu vực 20%.** Ba đòn bẩy hiển thị miễn phí đang để trống. Genius = giảm 10% cho khách Genius, tạm dừng được 30 ngày/năm. Cần user quyết vì ảnh hưởng giá.",
  "where": "Booking → Boost performance → Genius / Promotions",
  "status": "🔴 Mở — cần user quyết",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-50",
  "level": "P1",
  "task": "**[07/09: ĐÃ GỬI Request a Change, chờ Booking duyệt ~6 ngày → hạn khoảng 13/09. Nội dung gửi lưu ở `properties/alacarte305/fine-print-request.md`.]** **Booking 305 Fine print còn ~20 dòng COVID-19** hiện cho khách năm 2026: *\"negative PCR test mandatory to check in\"* · *\"spa and gym unavailable\"* · *\"shuttle services suspended\"* (mâu thuẫn *Free Airport Pickup*) · *\"face mask mandatory\"*. Là boilerplate Booking gắn 2020–21, chỉ gỡ được qua **Request a fix** (xử lý ~6 ngày). Nhiều khả năng cả 8 property Booking đều dính.",
  "where": "Booking → Property → View Your Descriptions → The Fine Print → Request a fix",
  "status": "✅ **XONG — xác minh trên TRANG CÔNG KHAI 08/09**: fine print nay là khối *A LA CARTE DA NANG BEACH – SERVICE FEES (PAY-PER-USE)*, **không còn dòng COVID nào**.",
  "kind": "Đang chờ",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-51",
  "level": "P1",
  "task": "**Booking 305 khai cửa sổ nhận phòng `2:00 PM – 5:00 PM`** (Property policies → Check-in) trong khi **user xác nhận 04/09 bên mình nhận khách bất kể giờ**, và 8 tin nhắn trong `vault/16-ota-messages/booking/` đều viết `after 2:00 PM` không có mốc kết thúc. Khách bay đêm lọc theo giờ nhận phòng sẽ tự loại căn này, hoặc đặt xong lo lắng vì hai nguồn nói khác nhau. Tin nhắn đang ĐÚNG, chính listing mới hẹp. Cần kiểm cùng trường ở 6 căn Booking còn lại.",
  "where": "Booking → Property → Property policies → Check-in",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-52",
  "level": "P1",
  "task": "**Chưa khai giường cho 62/80 không gian trên Airbnb** (7/7 căn): `25anthuong11` 13/13 chưa khai · `alacarte502` 6/6 · `alacarte404` 9/9 · `41lehycat` 12/16 · `15nuocman5` 11/15 · `181tohienthanh` 11/14 · `alacarte305` 5/7. Photo tour hiện chữ *\"Add details\"*. Khách lọc theo loại/số giường không thấy đủ, và bố cục ngủ là thông tin quyết định với nhóm gia đình — đúng tệp của 4 villa lớn. Số phòng ngủ/giường tổng thì có (`beds` = 4 · 4 · 4 · 3 · 3 · 1), chỉ thiếu phần khai theo từng phòng.",
  "where": "Airbnb → từng listing → Sleeping arrangements",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "41lehycat",
   "181tohienthanh",
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-53",
  "level": "P1",
  "task": "**`alacarte502` đặt giờ trả phòng `00:00`** trong khi `alacarte305` và `alacarte404` cùng toà đều `12:00` và 4 villa đều `11:00`. Đọc 05/09 tại `properties/alacarte502/airbnb.md` §2. Hoặc là gõ nhầm, hoặc Airbnb đang hiển thị \"nửa đêm\" cho khách — khiến khách hiểu phải trả phòng lúc 0 giờ.",
  "where": "Airbnb → 502 → Check-in & checkout",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-54",
  "level": "P1",
  "task": "**`25anthuong11` khai thiếu tiện ích nặng nhất danh mục: 26 tiện ích** so với 65 (`41lehycat`) · 58 (`15nuocman5`, `404`, `502`) · 48 (`181THT`, `305`). Cũng ít ảnh thứ nhì (39). Đây là căn đã yếu ở **L-22** (lấp đầy 13%), thiếu Agoda (**L-11**) và thiếu PriceLabs Booking (**L-15**) — thiếu tiện ích là tầng thứ tư, và là tầng **sửa được ngay, không đụng giá**.",
  "where": "Airbnb → 25AT11 → Amenities",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "41lehycat",
   "181tohienthanh",
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-55",
  "level": "P1",
  "task": "**Instant Book không đồng nhất và `15nuocman5` đang TẮT hẳn:** `15nuocman5` `OFF` · `25anthuong11` + `181tohienthanh` `EVERYONE` · 4 căn còn lại `WELL_REVIEWED_GUESTS`. Airbnb ưu tiên hiển thị listing bật Instant Book; căn tắt hẳn là căn villa doanh thu cao. Chưa rõ tắt có chủ đích hay không.",
  "where": "Airbnb → 15MN → Booking settings",
  "status": "🔴 Mở — cần user xác nhận chủ đích",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "181tohienthanh"
  ],
  "chans": [
   "booking",
   "airbnb"
  ]
 },
 {
  "id": "L-56",
  "level": "P2",
  "task": "**Nội quy nhà chỉ nằm trong đoạn văn, không nằm ở trường có cấu trúc.** 7/7 căn để `PETS_ALLOWED` · `SMOKING_ALLOWED` · `EVENTS_ALLOWED` · `COMMERCIAL_PHOTOGRAPHY_ALLOWED` ở trạng thái **chưa đặt**; chỉ `QUIET_HOURS` bật ở 5/7 (`25anthuong11` và `alacarte305` không bật gì). Trong khi đó trường mô tả `HOUSE_RULES` dài 2.100–4.300 ký tự. Khách lọc \"cho phép thú cưng\" hoặc xem thẻ nội quy sẽ không thấy gì; Airbnb cũng không dùng được để đối chiếu khi có tranh chấp.",
  "where": "Airbnb → từng listing → House rules",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "alacarte305"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-57",
  "level": "P2",
  "task": "**Vị trí chưa xác minh ở 7/7 listing Airbnb** (`locationVerificationSettings.isVerified = false`, dạng `OPTIONAL`). Airbnb có luồng quay vài ảnh/video khách không thấy để gắn huy hiệu xác minh. Miễn phí, không đụng giá.",
  "where": "Airbnb → từng listing → Verify location",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-58",
  "level": "P2",
  "task": "**`15nuocman5` có 12/87 ảnh chưa gắn vào phòng nào** trong photo tour (6 căn còn lại gắn hết). Ảnh không gắn phòng vẫn hiện trong album nhưng không vào lát cắt theo phòng — chỗ khách xem kỹ nhất khi chọn villa 4BR.",
  "where": "Airbnb → 15MN → Photo tour",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "15nuocman5"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-59",
  "level": "P0",
  "task": "**`25anthuong11` mới có 2 review nên trang công khai vẫn hiện `★New`, không hiện điểm.** Ngưỡng Guest Favorite và nhãn top 1/5/10% của Airbnb là **≥5 review trong 4 năm**; căn này chưa đủ. Sáu căn kia đều đủ (7–35 review, điểm 4,85–5,0). Cộng với **L-22** (lấp đầy 13%) thành vòng xoáy: ít khách → ít review → hiển thị yếu → càng ít khách. Việc sửa được ngay: dồn khách vào căn này bằng giá/khuyến mãi ngắn hạn để lấy đủ 5 review.",
  "where": "Airbnb → 25AT11",
  "status": "🔴 Mở — bằng chứng ở [`audits/2026-09-05-airbnb-listing-audit-corpus.md` §3](audits/2026-09-05-airbnb-listing-audit-corpus.md)",
  "kind": "Mở",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-60",
  "level": "P1",
  "task": "**`alacarte502` chỉ mở lịch trước 3 tháng** — 305 và 404 mở 6 tháng, bốn villa mở 9–12 tháng. Airbnb nêu thẳng *\"mở thêm ngày trên lịch\"* là đòn bẩy thứ hạng, và chính Airbnb đang khuyến nghị tài khoản này *\"Let guests book 6 months out\"*. Khách đặt sớm (nhóm gia đình, khách Hàn/Nhật đặt trước kỳ nghỉ) không thấy căn này.",
  "where": "Airbnb → 502 → Availability window",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-61",
  "level": "P1",
  "task": "**Tiện ích bỏ trống hàng loạt trên cả 7 căn: 81–123 ô trong tổng 149.** Airbnb đếm *amenities* là một thành phần của trục Quality, và ô để trống **không** được tính là \"không có\" — nó là dữ liệu thiếu. Nặng nhất `25anthuong11` (123 ô trống, chỉ 26 tiện ích bật), nhẹ nhất `41lehycat` (81). Đây là việc thuần nội dung, không đụng giá, không đụng lịch.",
  "where": "Airbnb → từng listing → Amenities",
  "status": "🔴 Mở — trùng gốc **L-54**",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "41lehycat"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-62",
  "level": "P2",
  "task": "**Ảnh gần như không có chú thích: 0 ảnh ở 4/7 căn**, cao nhất là `181tohienthanh` với 7/52. Airbnb đọc nội dung ảnh trong trục Quality và chú thích là chỗ duy nhất gắn chữ vào từng tấm (cũng là chỗ đặt được tên khu, tên tiện ích cho khách lướt nhanh).",
  "where": "Airbnb → Photo tour → từng ảnh",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "181tohienthanh"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-63",
  "level": "P2",
  "task": "**`181tohienthanh` tắt \"hiện vị trí chính xác\"** — sáu căn kia đều bật. Airbnb dùng Location làm một trong bốn trục xếp hạng và khách lọc theo bản đồ; ẩn vị trí làm căn này khó xuất hiện đúng vùng khách khoanh. Cũng là căn duy nhất đặt **báo trước 1 ngày** (sáu căn kia nhận đặt cùng ngày) ⇒ mất khách phút chót.",
  "where": "Airbnb → 181THT → Location + Advance notice",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "181tohienthanh"
  ],
  "chans": [
   "airbnb"
  ]
 },
 {
  "id": "L-64",
  "level": "P0",
  "task": "**Booking 305 chỉ còn bán được cho 27,50% lượt khách tìm** (`Availability for search`, 90 ngày) — **thấp hơn peer group 47,06%**. Đọc thẳng trên Ranking Dashboard 05/09. Nghĩa là gần ba phần tư lượt tìm kiếm khớp căn này nhưng **không đặt được**. Đây là trần chặn mọi việc tối ưu khác: nội dung, ảnh, giá có hoàn hảo cũng không bán được đêm đã đóng. Cùng gốc **L-06** (`Rate closed`/`No inventory`) và **L-17**.",
  "where": "Booking → lịch + channel manager (lịch đang `XML (edits overwritten)`)",
  "status": "🔴 Mở — **kiểm trước tiên**",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-65",
  "level": "P0",
  "task": "**Được hiện nhiều hơn peer 27% nhưng bị bấm ít hơn 38%.** Phễu 90 ngày: **24.249** lượt hiện trong kết quả tìm kiếm (+26,67% vs peer) → **299** lượt vào trang (−22,49%) → **7** lượt đặt (−35,38%). CTR **1,23%** so với peer **2,00%**. Booking đang cho hiển thị tốt; nút thắt nằm ở **thẻ hiển thị trong kết quả tìm kiếm** — ảnh bìa, giá, điểm 8,8, và không có nhãn Genius/deal nào. Đây là chỗ sửa được bằng nội dung, không cần đụng giá.",
  "where": "Booking → ảnh bìa + Genius (**L-49**) + promotion",
  "status": "🔴 Mở 🟡 **15/09/2026 23:26: 25 AT 11 đã bật Mobile rate 10 % (app + mobile web, all rate plans) — đọc lại list: Active, Always active.** Genius/Basic/Country chưa.",
  "kind": "Mở",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-66",
  "level": "P1",
  "task": "**[05/09 đã làm một phần: đẩy 3 ảnh FishCá lên, All photos 49→52 — nhưng CHƯA GẮN TAG nên Booking chưa tick mục ảnh bữa sáng; ảnh ngoại thất chưa lên. Xem `properties/alacarte305/booking.md` §24.]** **Property Page Score 90% so với trung bình khu vực 96%**, và ba việc còn thiếu đều rẻ: **ảnh ngoại thất · ảnh bữa sáng · key pickup details**. Booking ghi *\"Properties with a 100% Property Page Score get up to 18% more bookings\"*. Trang Home còn nhắc **\"Set up the basics (2 of 3 completed)\"** — nhiệm vụ facilities/amenities chưa xong.",
  "where": "Booking → Photos + Property policies → Key pickup",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-67",
  "level": "P1",
  "task": "**Bốn lời phàn nàn lặp lại trong review Booking 305** kéo hai hạng mục Comfort/Cleanliness xuống (điểm chung 8,8 trong khi Location 9,9 · Staff 9,7 · Cleanliness 9,6): ① vệ sinh chi tiết — *\"dirty mirrors and dust in the corners of the doors and A/C holes, broken baseboard\"* ② **vách tắm quá thấp làm nước tràn buồng tắm** (khách ghi là lỗi toà nhà, căn khác cùng toà cũng vậy) ③ **một phòng ngủ không có cửa sổ, không thông gió** ④ *\"No room service during a week while promised a couple of times\"*. Từ 23/01/2025 Booking tính điểm **có trọng số theo độ mới** ⇒ sửa được vận hành là điểm lên nhanh. ①④ là quy trình dọn phòng; ②③ phải khai đúng trong mô tả để khách không bất ngờ.",
  "where": "Vận hành dọn phòng + mô tả listing",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-68",
  "level": "P2",
  "task": "**Nhịp đặt phòng tương lai của Booking 305 đang tụt:** đã ở từ đầu năm **167 đêm / 324,8 tr₫ / ADR 1,94 tr₫** (+135% số đêm so với năm ngoái), nhưng đang giữ chỗ cho các tháng tới chỉ **32 đêm / 53,1 tr₫**, **−8,57% số đêm so với cùng kỳ** và **ADR tương lai thấp hơn ADR đã bán 15%** (1,66 tr so với 1,94 tr). Bán được nhiều hơn nhưng bán rẻ dần về phía trước.",
  "where": "PriceLabs → đường giá tương lai",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking",
   "pricelabs"
  ]
 },
 {
  "id": "L-69",
  "level": "P1",
  "task": "**Kho ảnh A La Carte không có hai tấm Booking đang đòi, và ba tấm đang có thì không dùng được.** ① Thư mục `alacarte305/photos/exterior/` **không phải mặt ngoài toà nhà**: `001` là ghế ban công (**trùng byte** với `alacarte404/photos/balcony/002`), `002` là cảnh nhìn từ ban công thấy tháp A La Carte + biển — dùng tạm được nhưng **1200×801, dưới chuẩn Booking ≥2048×1080**. ② **Không có ảnh bữa sáng nào trong toàn vault** dù facility khai `Breakfast = Yes` (buffet FishCá tầng 2, 285–350k). ③ Ảnh rooftop của `alacarte404` là **ảnh marketing của khách sạn**, độ phân giải 600×400–1179×882 và **tấm `003` còn dính mũi tên carousel của website** ⇒ cấm đăng. Cần chụp mới: mặt tiền toà nhà + quầy buffet. **[05/09: phần sauna khép lại — user chốt không đưa sauna/yoga/spa vào listing, xem L-70.]**",
  "where": "Chụp mới, hoặc xin ảnh chính thức từ A La Carte — nguồn + spec ở [`vault/02-villas/alacarte-building-assets.md`](../02-villas/alacarte-building-assets.md)",
  "status": "🔴 Mở — chặn **L-66**",
  "kind": "Mở",
  "slugs": [
   "alacarte305",
   "alacarte404"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-70",
  "level": "—",
  "task": "✅ **ĐÓNG 06/09 — quyết định 05/09 bị thay.** User chốt đưa tiện ích khách sạn vào listing nhưng khai đúng `Paid` + dùng chung, thay vì bỏ hẳn (căn cứ tài liệu chính thức hai kênh, xem `DECISIONS.md` 06/09). Kiểm lại thì **`Sauna = Yes · Paid`, `Massage = Yes · Paid`, `Fitness center = Yes · Paid`, `Laundry = Yes · Paid`, `Swimming pool = Yes · Paid · Public · Rooftop/Infinity edge/Lounge chairs` đều ĐÃ khai đúng từ trước** ⇒ không phải sửa gì. Việc còn lại chuyển sang `L-73` (khai thiếu spa/nhà hàng/shuttle).",
  "where": "—",
  "status": "✅ Xong",
  "kind": "Xong",
  "slugs": [],
  "chans": []
 },
 {
  "id": "L-71",
  "level": "P2",
  "task": "**[07/09: đã gộp vào Request a Change cùng L-50, chờ duyệt.]** **`The Fine Print` của Booking 305 nêu giá buffet sáng như một con số cố định, trong khi giá thay đổi theo mùa** (user xác nhận 05/09). Website khách sạn đang niêm yết 450.000₫ so với 285.000₫/350.000₫ trong Fine Print — khách đọc Fine Print rồi xuống nhà hàng trả giá khác sẽ khiếu nại đúng chỗ mình khai. **Cần thêm một câu vào Fine Print kiểu *\"Breakfast rates vary by season — please contact us to confirm the exact rate for your dates.\"*** Sửa Fine Print phải qua **Request a fix** (~6 ngày) ⇒ **gộp chung một lần với việc gỡ ~20 dòng COVID của L-50**.",
  "where": "Booking → Property → View Your Descriptions → The Fine Print → Request a fix",
  "status": "✅ **XONG cùng L-50 — xác minh 08/09**: fine print đã có câu *\"Breakfast rates vary by season. Please contact us to confirm the exact rate for your dates.\"* kèm bảng giá T2–T5 / T6–CN.",
  "kind": "Đang chờ",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-72",
  "level": "P0",
  "task": "**Cả ba listing A La Carte khai SAI về đỗ xe.** Sự thật (user xác nhận 05/09): toà **chỉ nhận XE MÁY**, **5.000₫/lượt**, **10.000₫ gửi qua đêm**, **có thu phí**. Đang khai: Booking `13311503` để `Parking = Yes` · `On-site` · **`Is this paid parking? = No`** (tức miễn phí) và **không giới hạn loại xe** ⇒ khách đi ô tô hiểu là đỗ được · Airbnb `alacarte404` và `alacarte502` bật **`Free parking on premises`** VÀ **`Free street parking`**, cả hai đều không có thật · Airbnb `alacarte305` bỏ trống cả 5 ô parking. Khách thuê ô tô tự lái đọc \"free parking\" rồi lái tới không gửi được xe là khiếu nại tại quầy, rơi thẳng vào mục *Accuracy* khi chấm review. ⚠️ Airbnb đang khuyến nghị tài khoản *\"Highlight any free parking\"* (13/14 listing đã bật) nên rất dễ bật nhầm tiếp. **Sửa:** Booking → đánh dấu **paid parking** + ghi rõ chỉ xe máy; Airbnb 404/502 → tắt hai ô free, bật `Paid parking on premises`; Airbnb 305 → khai `Paid parking on premises`. Bốn villa có chỗ đỗ riêng, **không áp bảng này**, phải kiểm riêng.",
  "where": "Booking → Facilities & services · Airbnb → Amenities từng căn",
  "status": "🟡 **Booking 305 ĐÃ SỬA** (đọc lại 08/09: `Is this paid parking? = Yes`, `Indoor parking` + `On-site` + `Private (guests only)` + có nhân viên/barie/camera). **Vẫn chưa khai giới hạn chỉ xe máy**, và **phần Airbnb 404/502/305 còn nguyên**. Chi tiết ở [`../02-villas/alacarte-hotel-services.md` §4b](../02-villas/alacarte-hotel-services.md)",
  "kind": "Đang chờ",
  "slugs": [
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb"
  ]
 },
 {
  "id": "L-73",
  "level": "P0",
  "task": "**Booking 305 khai THIẾU bốn tiện ích có thật trong toà — mỗi cái là một bộ lọc tìm kiếm bị mất.** ① **cả khối ăn uống bị tắt** dù toà có **4 điểm**: `Restaurant = No` (FishCá tầng 2, 06:30–22:00 · DELI Bistro tiền sảnh, 07:00–22:00) · `Room service = No` (máy lẻ 104, 06:00–19:00 — cần xác minh khách căn hộ gọi được không) · `Coffee house on site = No` · `Snack bar = No` · `Wine/Champagne = No` (Phòng rượu trong FishCá). Chỉ `Bar` và `Breakfast` đang bật ② **`Spa facilities` · `Spa and wellness center` · `Spa lounge/Relaxation area` đều `= No`** trong khi Spice Spa có phòng trị liệu, khu ngâm chân, phòng chờ, menu 11 dịch vụ ③ **`Airport shuttle` · `Shuttle service` đều `= No`** trong khi **chính TÊN listing ghi \"Free Airport Pickup From 3 Nights\"** — mâu thuẫn thấy được ngay trên thẻ tìm kiếm ④ **`Terrace = No`** dù The TOP Bar tầng 24 có khu ngoài trời (cần xác minh khách căn hộ có vào được không). Nút thắt của 305 là **CTR 1,23 % vs peer 2,00 %** ⇒ thiếu filter là thiếu đúng chỗ đang yếu. Khai theo quyết định 06/09: **Yes + Paid + on-site/shared**.",
  "where": "Booking → Property → Facilities & services",
  "status": "✅ **XONG — xác minh 08/09**: `Restaurant` · `Room service` · `Coffee house on site` · `Snack bar` · `Wine/Champagne` (Paid) · `Spa facilities` · `Spa and wellness center` (Paid) · `Spa lounge/Relaxation area` · `Massage` (Paid) · `Fitness center` (Paid) · `Airport shuttle` (free) · `Airport pickup` (Yes – free) · `Shuttle service` · `Terrace` đều đã **Yes**.",
  "kind": "Xong",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-74",
  "level": "P1",
  "task": "**Hai tầng khai báo về tiếp cận cho người khuyết tật đang MÂU THUẪN trên Booking 305.** Cấp phòng: **`Entire unit wheelchair accessible = Yes`** và `Accessible by elevator = Yes`. Cấp cơ sở: **`Facilities for disabled guests = No`**. Hai chỗ phải khớp: nếu căn thật sự đi xe lăn được thì bật cờ cấp cơ sở để khách lọc theo tiếp cận **tìm thấy** căn; nếu không thật thì phải **tắt cờ cấp phòng**, vì khách dùng xe lăn đặt theo lời khai đó rồi tới nơi không vào được là hỏng cả chuyến. Ba điều kiện kiểm: ① không bậc cấp từ vỉa hè → sảnh → thang máy → cửa căn hộ ② cửa đủ rộng cho xe lăn (~80cm) ③ buồng tắm dùng được (không gờ cao, đủ chỗ xoay).",
  "where": "Booking → Facilities & services + Room Amenities",
  "status": "✅ **HẾT MÂU THUẪN — xác minh 08/09**: `Entire unit wheelchair accessible = No`, `Upper floors accessible by elevator = No`, `Hearing accessible = No`; chỉ còn `Accessible by elevator = Yes` (đúng thực tế: có thang máy nhưng căn không đạt chuẩn xe lăn).",
  "kind": "Xong",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-75",
  "level": "P0",
  "task": "**Booking 305 khai `Number of kitchens = 0` và `Number of dining rooms = 0` ở Room details**, trong khi Room Amenities bật `Kitchen` · `Kitchenette` · `Kitchenware` · `Stovetop` · `Refrigerator` · `Microwave` · `Dining area` · `Dining table`, và mô tả Booking tự sinh viết **\"The fully equipped kitchen features a stovetop, a refrigerator, kitchenware and a microwave\"**. Bộ lọc căn hộ của Booking đọc **cấu hình phòng**, không đọc amenity ⇒ căn có bếp thật nhưng có thể **không lọt bộ lọc bếp**. Đây đúng chỗ 305 đang yếu (CTR thấp). **Sửa:** Room details → `Number of kitchens = 1`, cân nhắc `Number of dining rooms = 1`.",
  "where": "Booking → Property → Room details → Edit",
  "status": "✅ **KHÔNG PHẢI LỖI — đóng 08/09.** Hai trường này Booking **ẩn bằng CSS** (`div.subroom_experiment.hidden`) nên host không sửa được; số 0 là mặc định của trường bị vô hiệu hoá. **Trang công khai vẫn hiển thị thẻ `Kitchen`** trong khối *The entire place is yours*, và mô tả tự sinh vẫn viết *\"The fully equipped kitchen…\"* — tức Booking lấy từ **Room Amenities**, không lấy từ `Number of kitchens`. Suy đoán ban đầu của agent là sai.",
  "kind": "Xong",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-76",
  "level": "P1",
  "task": "**Mẫu tin `Check-out ALC` của Booking 305 xin thẳng \"5-star review\"** (*\"we hope you will be kind enough to leave us a 5-star review\"*). Luật nội bộ [`ota-messaging-rules.md`](../10-rules/ota-messaging-rules.md) cấm xin số sao cụ thể trên mọi kênh. Sửa một chữ: **\"leave us a review\"**. Mẫu này đang **tự động gửi 1 ngày trước khi đi**, tức đã gửi cho mọi khách.",
  "where": "Booking → Property → Messaging Preferences → Message templates",
  "status": "🔴 Mở — phát hiện 08/09",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-77",
  "level": "P1",
  "task": "**Mẫu `Check-in ALC 305` gửi tự động mã khoá thông minh và mật khẩu Wi-Fi, 1 ngày trước khi khách đến — mã là mã TĨNH dùng chung.** Mọi khách từng ở đều giữ mã cửa. Cân nhắc: đổi mã theo từng lượt khách, hoặc bỏ mã khỏi mẫu tự động và gửi tay sát giờ nhận phòng.",
  "where": "Booking → Messaging Preferences → Message templates + quy trình vận hành",
  "status": "🔴 Mở — phát hiện 08/09",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-78",
  "level": "P2",
  "task": "**Lệch giữa extranet và tin nhắn về cách thu tiền.** Booking → Property policies khai **`Guest Payment Options: You only accept cash`**, nhưng cả hai mẫu `Booking Confirmation` và `Check-in ALC 305` đều viết **\"via cash or bank transfer\"**. Khách đọc trang listing chuẩn bị tiền mặt, đọc tin nhắn lại tưởng chuyển khoản được. Thống nhất một nguồn.",
  "where": "Booking → Property policies **hoặc** mẫu tin nhắn",
  "status": "🔴 Mở — phát hiện 08/09",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-79",
  "level": "P2",
  "task": "**Booking 305 chưa đặt child rates, chưa khai cribs và extra beds** dù đang nhận **tối đa 3 trẻ + 1 em bé** và `Children of all ages are allowed`. Gia đình là tệp mà chính profile của listing đang nhắm (*\"Why Families Love Your Property\"*). Không có giá trẻ em ⇒ mọi khách trẻ tính như người lớn, và khách tìm theo bộ lọc nôi/giường phụ không thấy căn.",
  "where": "Booking → Property policies → Children & Extra Beds",
  "status": "🔴 Mở — phát hiện 08/09. ⚠️ **Đã đo được hệ quả trên trang khách:** vì hai ô để trống, Booking in ra câu **phủ định** *\"Cribs and extra beds aren't available at this property.\"* Ô trống không im lặng — nó biến thành lời từ chối, ngay trên listing đang nhắm tệp gia đình.",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-80",
  "level": "P2",
  "task": "**Booking 305 không có damage policy** (`You don't have a damage policy with Booking.com`) trong khi nhận tối đa 4 khách và cả kỳ **30–90 đêm**. Không có khoản bảo vệ hư hỏng nào qua nền tảng.",
  "where": "Booking → Property policies → Damage policy",
  "status": "🔴 Mở — phát hiện 08/09",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-81",
  "level": "P3",
  "task": "**`Beachfront = Yes` trên Booking 305 khiến mô tả tự sinh viết \"offers direct beachfront access\"**, trong khi chính profile của listing ghi *\"My Khe Beach is 150 metres away\"* và căn nằm bên kia đường Võ Nguyên Giáp. Cần **user quyết**: giữ (mạnh hiển thị, rủi ro trừ điểm mục *Location/accuracy* khi khách review) hay tắt. Không tự đổi.",
  "where": "Booking → Facilities & services → Beachfront",
  "status": "🔵 Chờ user quyết — phát hiện 08/09",
  "kind": "Khác",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-82",
  "level": "P1",
  "task": "**Booking 305 khai FishCá Restaurant chỉ phục vụ bữa sáng, 06:30–10:00.** Trong panel `See details` của facility: `Open for = Breakfast` (không tick Lunch/Dinner), giờ mở **06:30–10:00 cả 7 ngày**. Hồ sơ toà nhà của mình ghi FishCá mở **06:30–22:00** và có phòng rượu. Hệ quả: khách lọc nhà hàng phục vụ **trưa/tối** không thấy 305, và mô tả Booking tự sinh cũng chỉ nói tới buffet sáng. DELI Bistro cạnh đó khai đúng (07:00–22:00, Breakfast + Lunch) ⇒ chênh lệch là do khai, không phải do Booking.",
  "where": "Booking → Facilities & services → Breakfast/Restaurant → See details",
  "status": "🔵 **Chờ user xác nhận (sửa 08/09)** — The Fine Print do chính mình viết cũng chỉ nêu **FishCa phục vụ buffet sáng 06:30–10:00**, khớp với khai báo facility. Nếu FishCá thực tế mở tới 22:00 và phục vụ cả trưa/tối thì mới cần sửa; nếu chỉ phục vụ sáng thì khai hiện tại đã đúng. Ghi chú \"06:30–22:00\" trong hồ sơ toà nhà cần kiểm lại.",
  "kind": "Khác",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-83",
  "level": "P1",
  "task": "**Phần còn lại của L-72 — đỗ xe đã khai đúng \"có phí\" nhưng vẫn KHÔNG khai giới hạn loại xe.** Đọc trong panel: `Parking #1` Indoor · On-site · Private · **VND 10.000,00/ngày**, `Parking #2` Outdoor · On-site · Private · **VND 10.000,00/ngày**; ô **`Height limit for cars` để trống** và không có trường nào nói chỉ nhận xe máy. Sự thật (user xác nhận 05/09): toà **chỉ nhận XE MÁY**, 5.000₫/lượt, 10.000₫ qua đêm. Khách thuê ô tô đọc \"on-site private parking, 10.000₫/ngày, không giới hạn chiều cao\" là hiểu đỗ được ô tô. Giá khai cũng lệch với giá thật theo lượt. 🔎 **Nguyên văn khách đọc trên trang công khai (xác minh 08/09):** nhóm *Parking* ghi **\"Private parking is available on site (reservation is not needed) and costs VND 10,000 per day\"** — không một chữ nào nói chỉ nhận xe máy, lại còn nói không cần đặt chỗ. ⚠️ **Nặng hơn: listing TỰ MÂU THUẪN** — ô `About the Property` trong Your Profile viết thẳng **\"The building does not accept cars\"**, nhưng mục Facilities (chỗ có bộ lọc tìm kiếm) lại khai đỗ xe on-site không giới hạn loại xe. Sự thật đã nằm sẵn trong hồ sơ, chỉ chưa khai vào chỗ máy đọc được.",
  "where": "Booking → Facilities & services → Parking → See details",
  "status": "🟡 **Hạ xuống P2 (08/09)** — **The Fine Print ĐÃ nói rõ** *\"On-site parking is for motorbikes only — cars cannot be parked at the building. Motorbike parking is 5,000 VND per entry, or 10,000 VND overnight\"*, và khách đọc được câu đó trên trang. Phần còn thiếu chỉ là **trường có cấu trúc**: trang công khai vẫn hiện *\"Private Parking Available On Site\"* không kèm điều kiện, và bộ lọc đỗ xe không đọc chữ trong fine print.",
  "kind": "Đang chờ",
  "slugs": [],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-84",
  "level": "P3",
  "task": "**Bể bơi A La Carte khai `Paid` trên Booking 305** (panel: Outdoor · All year · **Paid** · All ages · Rooftop · Infinity edge · Scenic view · Lounge chairs · Pool bar · **06:00–19:00**). Cần user xác nhận: khách thuê căn hộ **có phải trả phí vào bể bơi không**? Nếu đã gồm trong kỳ nghỉ thì khai `Free` — nhiều khách lọc theo \"bể bơi miễn phí\", khai Paid là tự loại mình khỏi bộ lọc đó.",
  "where": "Booking → Facilities & services → Swimming pool → See details",
  "status": "✅ **KHÔNG PHẢI LỖI — tự xác nhận 08/09**: ô *Why Families* của chính listing viết *\"rooftop pool is open to all ages **for a fee**\"* và *About the Property* ghi tiện ích toà nhà *\"charged separately from your stay\"*. Khai `Paid` là đúng.",
  "kind": "Xong",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-85",
  "level": "P1",
  "task": "**Giá bữa sáng lệch nhau ba con số trên cùng một trang khách.** Bảng đặt phòng bán add-on **VND 395.000**, còn The Fine Print ghi **285.000₫/người lớn (T2–T5)** và **350.000₫ (T6–CN)**. Khách chọn add-on 395k rồi xuống nhà hàng nghe giá khác là khiếu nại đúng chỗ mình khai. Cần chốt một con số, hoặc nêu rõ 395.000₫ là giá bán qua Booking đã gồm chênh lệch.",
  "where": "Booking → Rate plans (add-on bữa sáng) + The Fine Print",
  "status": "🔴 Mở — phát hiện 08/09 từ trang công khai",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-86",
  "level": "P2",
  "task": "**`Comfort` là hạng mục điểm THẤP NHẤT của 305: 8,7** (Location 9,9 · Staff 9,7 · Cleanliness 9,6 · Value 9,6 · Facilities 9,4). Review tiếng Nga nêu nguyên nhân cụ thể: ***\"музон от ежедневной дискотеки\"* — tiếng nhạc từ sàn disco hằng ngày**. Đây là tín hiệu đo được cho điểm Comfort, chưa từng có trong sổ. Cần xác minh nguồn tiếng ồn (quán trong toà? bar tầng 24? ngoài đường?) rồi quyết: xử lý cách âm, hay nói trước trong fine print để khách không bất ngờ.",
  "where": "Vận hành + The Fine Print",
  "status": "🔴 Mở — phát hiện 08/09",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": []
 },
 {
  "id": "L-87",
  "level": "P2",
  "task": "**Hai trong năm review Booking chọn hiển thị đều nói cùng một hiểu lầm: khách tưởng căn hộ thuộc khách sạn.** *\"the rooms are not affiliated with the hotel that they're in so the people at the front desk cannot help you with anything\"* (Kendal, Canada) · *\"the apartment does not belong to (but private managed) the hotel\"* (Thuy, Germany). Thông tin này CÓ trong fine print và trong `Property info`, nhưng cả hai đều nằm sâu cuối trang. Đưa một câu ngắn lên đầu ô **About the Property** (khối khách đọc sớm) sẽ chặn đúng hiểu lầm đang lặp lại trong review.",
  "where": "Booking → Your Profile → About the Property",
  "status": "🔴 Mở — phát hiện 08/09",
  "kind": "Mở",
  "slugs": [],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-88",
  "level": "P0",
  "task": "**Booking 404 khai sai cấu trúc phòng:** `Number of bedrooms = 1`, chỉ khai 1 Twin bed và Booking tự sinh *\"unit offers 1 bed\"*, trong khi căn thực tế là 2BR với 1 King + 2 Twin. Trang còn báo `What's Missing: Bathroom info` dù căn có 2 phòng tắm.",
  "where": "Booking `15702704` → Property → Room details",
  "status": "🔴 Mở — live 08/09",
  "kind": "Mở",
  "slugs": [
   "alacarte404"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-89",
  "level": "P0",
  "task": "**Booking 404 tắt/bỏ trống hầu hết tiện ích chung của A La Carte:** Swimming pool, Bar, Sauna, Terrace, Breakfast, Parking = No; restaurant/spa/gym/shuttle/laundry và nhiều mục an ninh chưa khai rõ. Tên listing hứa airport pickup 3+ đêm nhưng Airport shuttle chưa khai. Chuẩn chung đã cài đúng trên 305.",
  "where": "Booking `15702704` → Facilities & services",
  "status": "🔴 Mở — live 08/09; bảng đối chiếu trong `audits/2026-09-08-booking-404-vs-305.md`",
  "kind": "Mở",
  "slugs": [
   "alacarte305",
   "alacarte404"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-90",
  "level": "P1",
  "task": "**Fine Print Booking 404 vẫn còn khối COVID cũ ~20 dòng**, gồm shuttle/spa/gym unavailable, PCR/vaccine/quarantine. Cùng lỗi từng có trên 305 nhưng 305 đã gỡ xong.",
  "where": "Booking `15702704` → View Your Descriptions → Request a fix",
  "status": "🔴 Mở — live 08/09",
  "kind": "Mở",
  "slugs": [
   "alacarte305",
   "alacarte404"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-91",
  "level": "P1",
  "task": "**Booking 404 chỉ đạt Property Page Score 84%: 20/44 ảnh bị gắn low quality**, thiếu/tag ảnh bãi biển và thiếu key pickup. 305 đang 100%, 0/63 ảnh low quality.",
  "where": "Booking `15702704` → Property Page Score + Photos",
  "status": "🔴 Mở — live 08/09",
  "kind": "Mở",
  "slugs": [
   "alacarte305",
   "alacarte404"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-92",
  "level": "P1",
  "task": "**Booking 404 bỏ trống key pickup và toàn bộ bốn ô profile** (Property/Host/Neighborhood/Families). Quy trình chung của 305 có thể tái dùng sau khi đổi số phòng và fact riêng căn.",
  "where": "Booking `15702704` → Property policies + Your Profile",
  "status": "🔴 Mở — live 08/09",
  "kind": "Mở",
  "slugs": [
   "alacarte305",
   "alacarte404"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-93",
  "level": "P0",
  "task": "**Listing 502 chỉ khách lên NHẦM CĂN.** `property_policies.html?hotel_id=14756473` → *Getting into the property* viết *\"take you up to **apartment 305**\"*, còn ô dự phòng *What if this doesn't work* viết *\"Take the lift up to **apartment 404**\"*. **Không dòng nào nói 502.** Khối này Booking ghi rõ *\"This info will soon be shown to guests right after they book\"* ⇒ khách 502 đặt xong sẽ được dẫn tới cửa của hai căn khác. Nhiều khả năng do chép mẫu từ 305/404 mà quên đổi số.",
  "where": "Booking `14756473` → Property policies → Key pickup",
  "status": "🔴 Mở — phát hiện 10/09/2026",
  "kind": "Mở",
  "slugs": [
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-94",
  "level": "P1",
  "task": "**Booking 502 khai giờ nhận/trả phòng SAI và THIẾU.** Hiện: `Check-in from 2:00 PM` (ô *đến* để trống) · **`Check-out until 12:00 AM`** = **nửa đêm**. ✅ **Đã xác minh 10/09/2026 là lỗi thật, không cần hỏi thêm:** (a) `placeholders.md` + `property_details_alacarte305/404/502.md` đều chốt **check-out 12:00 noon** cho ba căn A La Carte; (b) tin `alacarte-05-checkout` gửi khách viết *\"Check-out time is 12:00 pm\"*; (c) **305 khai đầy đủ và đúng: `Check-in 2:00 PM → 5:00 PM`, `Check-out 8:00 AM → 12:00 PM`**. 🔎 Đọc DOM ô chọn: cả 4 select (`checkin_start` · `checkin_end` · `checkout_start` · `checkout_end`) đều có **đủ 49 option**, `12:00 PM` nằm ở vị trí **25/49 ngay sau `11:30 AM`** — không bị lọc mất, chỉ do dropdown mở ra ở đáy danh sách. **Sửa:** check-in `2:00 PM` → `5:00 PM`, check-out `8:00 AM` → `12:00 PM` (khớp 305).",
  "where": "Booking `14756473` → Property policies → Check-in & Check-out Times",
  "status": "🔴 Mở — chờ user bấm Save",
  "kind": "Mở",
  "slugs": [
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-95",
  "level": "P2",
  "task": "**Phí dọn lệch ba mức giữa các căn/kênh:** Booking 502 = **150.000₫/stay** (mới khai, snapshot 03/09 còn ghi *chưa khai phí nào*) · Booking 305 = **300.000₫** · Airbnb 305 = **350.000₫**. Cùng một toà, cùng một đội dọn. Chốt một mức hoặc ghi rõ vì sao khác.",
  "where": "Booking → VAT/Tax/Charges từng căn + Airbnb",
  "status": "✅ **XONG 15/09/2026** — hai kênh đã cùng một bộ số: 305/404 400.000 · 502 250.000 · 181/15 MN/25 AT 11 600.000 · 41 700.000 (Airbnb làm tròn ~17:40, Booking khai ~18:15). Trang khách Booking còn số cũ lúc 18:20 — kiểm lại sau.",
  "kind": "Xong",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb"
  ]
 },
 {
  "id": "L-96",
  "level": "P1",
  "task": "**Airbnb custom promotion giữ giá khuyến mãi CŨ sau khi nâng giá 15 %.** Lịch 305 ngày 15–18/09 + 22–27/09 (`host_custom_promotion`, group `2026-09-15`) hiện giá thấp hơn PriceLabs vừa đẩy 0–8 % (16/09: 1.430.737 vs 1.552.500) trong khi 19/19 ngày không promo khớp 100 %. Sau khi đổi phí 15,5 %, đúng những đêm này ăn phí trên giá thấp. Tool Airbnb `Adjust all prices` sẽ nâng custom promotion price — mình bỏ tool nên phải xử lý tay: mở promotion trên Airbnb Calendar, xoá/tạo lại để tính từ giá mới, hoặc để nó hết hạn 27/09. **Chưa kiểm 6 căn còn lại có promotion không.**",
  "where": "Airbnb Calendar 305 → nhóm promotion 15–27/09",
  "status": "🔴 Mở — phát hiện 14/09/2026",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-97",
  "level": "P0",
  "task": "**Cùng căn, cùng đêm, khách đặt qua Booking trả ÍT hơn Airbnb 2–17 % (trung vị theo căn), có đêm tới 35 %.** Đo 15/09/2026 trên 90 đêm × 6 căn, đối chiếu 9 trang công khai khớp PriceLabs đến từng đồng. Cơ chế phí hai kênh nay gần như giống nhau (Airbnb giữ 15,5 %, Booking 15,0 %, khách không trả thêm gì) ⇒ lệch **hoàn toàn do mình đặt**: (a) Base/Min hai dòng PriceLabs khác nhau, chưa nối cha–con (`L-23`); (b) phí dọn Airbnb 230.000–690.000 vs Booking 0–300.000 (`L-25` · `L-95`); (c) dòng Booking của 181/41/15 MN khai `BR = 1` nên bị kẹp sàn (`L-18`). Mỗi đơn Booking mình nhận ít hơn đúng phần chênh — ví dụ 41 LHC 20–23/10: 10,52 tr vs 13,44 tr. Hiện Booking rẻ hơn nên **đang tuân thủ wide parity**; cách san bằng hợp lệ là **hạ Airbnb xuống hoặc nâng Booking lên tới (không vượt) Airbnb**. 15 MN là căn duy nhất ngược chiều (Airbnb rẻ hơn).",
  "where": "PriceLabs → nối cha–con + Base/Min chung · Booking → VAT/Tax/Charges phí dọn · PriceLabs → sửa BR",
  "status": "🔴 Mở — **chờ user chốt chính sách một mốc giá** (cùng giá / Booking rẻ hơn có chủ ý bao nhiêu %). Bảng chấm 12 hạng mục + 7 bước sửa kèm con số (map cha–con Airbnb → Booking · phí dọn · BR · Max 2,5×Base · Min 502 · 25 AT 11 hạ Min theo bước): [`audits/2026-09-15-pricing-setup-review.md`](audits/2026-09-15-pricing-setup-review.md). Số đo gốc: [`audits/2026-09-15-price-parity-airbnb-vs-booking.md`](audits/2026-09-15-price-parity-airbnb-vs-booking.md)",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "41lehycat",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-98",
  "level": "P3",
  "task": "**`15nuocman5` đóng bán 19/09 → 20/12/2026 ở CẢ HAI kênh (93 đêm).** Gói đẩy PriceLabs cả dòng Airbnb lẫn Booking đều `Availability 0` suốt dải; lịch công khai Airbnb `available: false` từ 16/09 tới 20/12; Booking báo *no availability* 24–27/10 và 10–13/11. Bên trong chỉ có một đơn 28/11–03/12, các ngày còn lại `num_bookings 0` ⇒ **khoá tay**, không phải kín phòng. Nếu cố ý (sửa nhà / khách dài hạn ngoài kênh) thì ghi vào `business.md`; nếu khoá nhầm thì đang mất trọn mùa cuối năm của villa lớn nhất.",
  "where": "Airbnb Calendar 15 MN / Booking calendar `15668679`",
  "status": "🟡 Cần user xác nhận — phát hiện 15/09/2026. [`audits/2026-09-15-price-parity-airbnb-vs-booking.md`](audits/2026-09-15-price-parity-airbnb-vs-booking.md)",
  "kind": "Đang chờ",
  "slugs": [
   "15nuocman5"
  ],
  "chans": [
   "booking",
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-99",
  "level": "P0",
  "task": "**181 THT và 15 MN MẤT TOÀN BỘ giá Standard Rate trên Booking sau cú lưu Room details 18:54–19:00 ngày 15/09.** Payload `availability_calendar` 31 ngày: `price: ''` ở 0/31 ngày cho cả hai (rate #57399470 và #61913563, xml C), phòng `restricted` = mở nhưng không có giá ⇒ **181 không đặt được trên Booking** (*\"We have no availability\"* ở cả 3 cửa sổ thử, trong khi 15:00 cùng ngày 02–05/11 còn giá 9.036.537). 5 property kia 31/31 ngày có giá; 41 và 404 cùng được re-import PriceLabs nhưng không sửa Room details nên vẫn còn giá ⇒ nguyên nhân là cú lưu Room details. Lần PriceLabs đẩy gần nhất của hai dòng này (181 11:29 · 15 MN 16:54) đều trước cú lưu. `Maximum guests` không đổi (8 / 10).",
  "where": "PriceLabs → `Sync Now` dòng `14740288___1474028801` + `15668679___1566867901` (đẩy lại 731 ngày) → đọc lại calendar + trang khách; nếu vẫn trống thì mở Standard Rate trên extranet kiểm tay",
  "status": "✅ **XONG 15/09/2026 21:18–21:33** (user ra lệnh 21:10): `Save & Refresh` + `Sync Now` hai dòng con bằng `ota-pricelabs-set-base.mjs`; lịch extranet đọc lại **31/31 ngày có giá** (181 từ 3.034.969 · 15 MN từ 3.967.500), trang khách 181 02–05/11 = 10.020.619 + 600.000, 09–12/11 = 9.766.189. [`audits/2026-09-15-post-mapping-verify.md`](audits/2026-09-15-post-mapping-verify.md) §5",
  "kind": "Xong",
  "slugs": [
   "15nuocman5",
   "181tohienthanh",
   "alacarte404"
  ],
  "chans": [
   "booking",
   "pricelabs"
  ]
 },
 {
  "id": "L-100",
  "level": "P1",
  "task": "**Sau khi nối cha–con + đặt Min 502 + Max ×2,5 (Codex 20:10–20:18), 7 dòng Booking con chưa được đẩy: Booking đang bán giá CŨ** (305 −7,4 % · 404 −3,3 % · 41 LHC −20,2 % · 502 −30,2 % so với giá PriceLabs mới = giá Airbnb; 25 AT 11 trùng vì cùng kẹp Min). Riêng **502 con**: ô Min đã ghi 1.360.000 nhưng mảng giá ngày vẫn tính với sàn cũ (`min_price` ngày = 582.552, giá 15–17/09 < 1,36 tr) và gói `fetch_last_request_text` ghi `MinPrice ''`, `MaxPrice ''` — Min/Max lưu sau lần tính lại của con nên chưa ngấm; Max cũng chưa vào mảng giá của 7 con (vô hại, giá < Max).",
  "where": "PriceLabs → `Save & Refresh` + `Sync Now` 7 dòng con, hoặc chờ lượt tự động ~12:15 rồi đọc lại",
  "status": "✅ **XONG 15/09/2026 21:18–21:40**: Save & Refresh + Sync Now 7 dòng Booking con (+ dòng cha Airbnb 502 vì Min cũng chưa tới Airbnb). `listing_last_date_pushed` 7/7 = 21:18–21:32; mảng giá con 0 ngày dưới Min, Max đã vào cột; trang khách Booking = Airbnb đến từng đồng: 305 5.336.366 · 404 5.160.585 · 502 4.080.000 · 41 15.513.886 · 25 AT 11 10.350.000; Airbnb 502 20–23/10 lên 4.330.000 (gồm dọn). [`audits/2026-09-15-post-mapping-verify.md`](audits/2026-09-15-post-mapping-verify.md) §5",
  "kind": "Xong",
  "slugs": [
   "25anthuong11",
   "41lehycat",
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-101",
  "level": "P1",
  "task": "**Ảnh Agoda `alacarte305` (`63382515`) xếp sai nhóm: 5 ảnh \"Property photos\" toàn là nội thất căn hộ (phòng khách · bàn ăn · bếp), không có ảnh toà nhà/tiện ích nào; 24/24 ảnh chưa gán tag.** Property photos chiếm 45 % Content Score (playbook §4.3) nên nhóm này sai là mất điểm nặng nhất.",
  "where": "Agoda → Property → Photos",
  "status": "✅ **XONG PHẦN CHÍNH 16/09/2026 (theo lệnh user):** upload 21 ảnh toà nhà/tiện ích từ `vault/02-villas/images/alacarte-shared/` vào Property (đủ tag, ảnh chính = toà nhà từ trên cao) · chuyển 5 ảnh nội thất sang Room bằng `UpdatePhotos` reassign (giữ gốc 6016×4016) · tải 24 ảnh gốc full-res về `properties/alacarte305/photos/agoda-2024-12-24/`. Hồ sơ [`properties/alacarte305/agoda.md`](properties/alacarte305/agoda.md). **Cùng chiều, lệnh 2:** gán tag 24/24 ảnh phòng, \"Missing tags\" = 0. **User tự xoá tay 11/21 ảnh property** (nhạc sống · suất sáng · hồ bơi 01–05 · nhà hàng ×3 · spa lounge) → Property = 10. ⚠️ Agent lỡ tải lại `restaurant-01` khi dò nguyên nhân mất ảnh → Agoda trả cùng `photoId 212075210` và tấm này **sống lại** — chờ user xoá. **Lệnh 3 (user duyệt sheet):** Property 13 (main toà nhà + 3 bản sao nội thất + 9 tiện ích) · Room 24→12 (bỏ ảnh cùng góc, main PN1) · xoá 13 kể cả `212075210`. Cơ sở: Partner Hub *\"Only the property main photo and main photo of each room type can be manually changed\"* + đo card = main + 2 phòng ngủ + 7 AI chọn. **CÒN MỞ:** (a) kiểm card sau ~1 giờ, nội thất có lọt top 7 không; (b) Property 13 < 24–25, thiếu ảnh sảnh/lối vào; (c) đọc lại Content Score; (d) xem card phòng khi có ngày trống",
  "kind": "Xong",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-102",
  "level": "P1",
  "task": "**Content score Agoda `alacarte305` 70/100 \"Fair\" (Homes) — thiếu 30 điểm ở 7 mục:** ảnh bedroom/bathroom/exterior/tiện ích (+13, chỉ thiếu caption) · check-out time (+4) · check-in method (+8) · host bio (+5). Luật chấm ở `platforms/agoda-homes-content-score-guideline-2025.pdf`. Tách từ `L-12`.",
  "where": "Agoda → Analytics → Content score · Arrival guide · Host profile · Photos",
  "status": "🟡 **16/09/2026 (lệnh user):** ✅ 24 ảnh tag đủ · ✅ check-in 2:00–5:00 PM, check-out đến 12:00 PM · ✅ check-in method = Meet and greet (API 200, xem `properties/alacarte305/agoda.md` §3). 🔴 **Host bio chặn bởi Agoda: form đòi SĐT xác minh OTP** — bio 489 ký tự đã soạn, user tự dán. Điểm refresh ≤24 h → đọc lại 17/09 bằng `node scripts/ota-agoda-content.mjs --id 63382515 --score`. Phát hiện kèm → đã xử lý ở `L-103`",
  "kind": "Đang chờ",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-103",
  "level": "P0",
  "task": "**Agoda `alacarte305` khai sai sự thật so với Booking (nguồn `data/alacarte305/booking.json`):** mô tả hứa mì gói miễn phí · khu hút thuốc · hồ bơi/gym miễn phí · dẫn YouTube; facilities `Heating=Yes` · `Free parking=Yes` · `Towels=No` · `Dishwasher=Yes`; giường PN1 Queen (thật King); house rules nhắc \"Airbnb\"; parking trống; airport transfer = No dù tên listing hứa Free Airport Pickup.",
  "where": "Agoda → Property details · Facilities · Rooms · Arrival guide",
  "status": "✅ **XONG 16/09/2026 (lệnh user, 6 API đều 200, đọc lại khớp):** mô tả thay bằng bản chốt 08/09 (2.504 ký tự) · 40 tiện ích sửa · giường King · house rules bỏ tên kênh · parking 10.000₫/ngày xe máy · airport transfer Yes/free/15 phút. Hồ sơ [`properties/alacarte305/agoda.md`](properties/alacarte305/agoda.md) §4, dữ liệu `data/alacarte305/agoda.json`. **User chốt 16/09:** giữ tên · ✅ địa chỉ đã sửa (`200 Võ Nguyên Giáp, Phước Mỹ, Sơn Trà` / `A La Carte Danang Beach Hotel`, 200) · Breakfast để trống · bio để sau. **ĐÓNG**, chỉ còn bio theo `L-102`",
  "kind": "Xong",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda"
  ]
 },
 {
  "id": "L-104",
  "level": "P0",
  "task": "**Agoda `alacarte305` không bán được vì giá + lịch, không phải nội dung:** giá phẳng **2.700.000₫/đêm** mọi ngày (rateType Sell Inclusive, không nối PriceLabs — `L-14`) trong khi Booking/Airbnb cùng căn 24–27/10 ≈ 1,78 tr/đêm → Agoda đắt hơn ~50 %, 0 booking Agoda Aug–Oct, Revenue MTD N/A, review 05/2026 \"Nice but expensive\"; **12 ngày trống (03–05/10 · 13/10 · 24–31/10) allotment 0 không có booking**; chỉ 1 rate plan (huỷ miễn phí 1 ngày → **user đổi 5 ngày, 4459, 16/09 20:35**) dù Booking huỷ 40 %; max advance 180 ngày (Agoda khuyên No limit); 3/3 review chưa trả lời. Audit: [`audits/2026-09-16-agoda-305-audit.md`](audits/2026-09-16-agoda-305-audit.md)",
  "where": "Agoda → Calendar · Booking settings · Rate plans · Guest reviews · PriceLabs",
  "status": "🔴 Mở — chờ user quyết `L-14` (nối PriceLabs / chỉnh tay) + xác nhận 12 ngày chặn",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-105",
  "level": "P0",
  "task": "**Agoda `alacarte305` chỉ bán được cho 2 người lớn** dù Rooms khai max 4 guests: tìm 3–4 người lớn trên agoda.com → **không có phòng nào**; card phòng ghi \"Max guests for selected deal: 2 adults\". Gốc: `ChildRate/getroombypropertyId` trả occupancy phòng toàn `null` (maxGuestOnExistingBed · maxAdditionalGuestAllowed · maxAdults · maxChildren), `isAdvanceOccupancySettingsEnabled = null` → Agoda dùng mặc định 2 người lớn. Mô tả partner cũng **không hiện trên trang khách** (Agoda tự sinh \"About us\").",
  "where": "Agoda → Rooms / Children rate & occupancy (`childrenrateocc` — trang lỗi \"Something went wrong\", chỉ API chạy)",
  "status": "🟡 **16/09/2026 ~20:15 user chốt \"giá theo căn tới 4 khách\":** `POST ChildRate/setuproomoccupancy` base 4 · extra 0 · maxAdults 4 · maxChildren 3 · extra bed 0 · cot 0 → 200, `isAdvanceOccupancySettingsEnabled = true`, rate plan sinh `occupancyRate {1..4: 2.700.000}`. ✅ **Xác nhận 20:05 qua payload room-grid trang khách: tìm 4 người lớn → 1 offer \"4 adults\", giá ₫2.344.881/đêm (bằng offer 2 người ₫2.344.167), không sold out, không vượt occupancy.** ĐÓNG. (Kiểm bằng chuỗi chữ innerText lúc 19:42–19:50 báo sai \"không có card\" — dùng payload, đừng dùng chữ)",
  "kind": "Đang chờ",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-106",
  "level": "P0",
  "task": "**Agoda `alacarte305` lịch \"Closed\" 47 đêm KHÔNG có booking nào** (đọc `GetAvailability` 16/09 23:00: `remainingRoomNightsAvailable 0`, `isClosedOut false`, không block Airbnb/Booking): 03–05/10 · 13/10 · **24/10 → 22/11/2026 (30 đêm liền)** · 17–29/08/2027 · 30/08–30/09/2027 (thêm giá 0). Khách không đặt được dù trống. Phiên trước (`L-104`) đếm 12 ngày, nay lan ra 30+. Nghi iCal Airbnb/Booking đẩy block \"Not available\" mà Agoda không hiện tên lịch.",
  "where": "Agoda → Calendar (mở từng ngày → Open → Save) hoặc kiểm calendar nguồn Airbnb/Booking cùng dải ngày",
  "status": "🔴 Mở — **chờ user xác nhận cố ý hay lỗi**; hồ sơ [`properties/alacarte305/agoda-fullread.md`](properties/alacarte305/agoda-fullread.md) §A10",
  "kind": "Mở",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda"
  ]
 },
 {
  "id": "L-107",
  "level": "P1",
  "task": "**Trang khách Agoda 305 còn dữ liệu cũ sau khi sửa 16/09** (đọc 23:10): offer vẫn \"Cancel for free before Dec 15\" = 1 ngày dù policy 4459 (5 ngày) lưu 20:35 · About us \"car park free of charge\" · FAQ \"has 24-hour check-in\" + \"has a car park\" · 8 đoạn AI hứa bãi ô tô miễn phí, gym, đón sân bay vô điều kiện · Content score vẫn 70 dù 3 mục đã lưu (check-out · method · 3 nhóm ảnh tag đủ).",
  "where": "Không sửa gì — chờ Agoda tính lại (≤24 h)",
  "status": "⏳ **Kiểm lại 17/09 sau 23:00**: `node scripts/ota-agoda-content.mjs --id 63382515 --score` + `node scripts/chrome-grab.mjs --expand <URL trang khách>`; >24 h vẫn cũ → hỏi Agoda qua Need Help",
  "kind": "Khác",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-108",
  "level": "P2",
  "task": "**Host profile Agoda (cấp tài khoản): bio trống (−5 điểm Content score) và trường vị trí đang là \"San Jose (CA), United States\"** (`HostProfileData.city/country` trên trang khách, không hiện thành chữ nhưng Agoda giữ). Bio 489 ký tự đã soạn ở `properties/alacarte305/agoda.md` §3, nói \"based in Da Nang\" — mâu thuẫn với vị trí nếu Agoda hiện.",
  "where": "Agoda → Settings/Host profile → Edit (cần OTP số điện thoại)",
  "status": "🟢 **Bio đã lưu 17/09** (user dán 490 ký tự + OTP, đọc lại `HostProfile/ViewModel` thấy); trường vị trí San Jose chưa kiểm lại",
  "kind": "Xong",
  "slugs": [
   "alacarte305"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-109",
  "level": "P3",
  "task": "**Bốn chỗ lệch nhỏ trên Agoda 305 cần user chốt** (đọc 16/09 23:00–23:30): (a) Rooms \"children stay for free\" = **0** — 18:23 còn 1, đổi sau POST occupancy, trong khi trang khách vẫn ghi \"Children 2–7 stay for free\"; (b) **tên room type** vẫn `…[Free Airport Pickup]` không có \"From 3 Nights\" (hiện ở card phòng, Calendar connections); (c) Property photos **10** thay vì 13 như ghi 22:28 (mất Lobby/Entrance/Exterior#2/spa/massage/212104607, thêm 212105260 + 212168207) — ai xoá chưa rõ; (d) host card trang khách hiện 5 listing, thiếu 404 `84510952`, tên \"An Hai Bac Houses\" không khớp tên nào trên YCS.",
  "where": "Agoda → Rooms · Photos · Host profile",
  "status": "🟢 **Đóng một phần 22:45 17/09**: (a) trẻ em free 305 = **1** (user chốt cả hai căn = 1) · (b) tên room type user chốt **để nguyên** · (c) ảnh do user sắp, giữ · (d) xem dòng gốc.",
  "kind": "Xong",
  "slugs": [
   "alacarte305",
   "alacarte404"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-110",
  "level": "P1",
  "task": "**Agoda `alacarte502` — đã sửa toàn bộ content 17/09, chờ Agoda tính lại điểm (44 → kỳ vọng 100).** Hai thứ phải kiểm 18/09: (a) **check-out time có lên 4/4 không** — lần đầu khai cả `checkOutFrom 6:00 AM` + `checkOutUntil 12:00 PM` theo đúng luật PDF; 305 chỉ có until nên vẫn 0/4 → nếu 502 lên điểm thì xin phép user áp `checkOutFrom` cho 305; (b) trang khách agoda.com: card 10 ảnh đã hiện bộ mới (30 tấm 2048px) chưa, đoạn \"About us\" tự sinh còn \"free parking\"/gym không. Ngoài ra chính sách huỷ 502 đổi **Non-refundable → huỷ miễn phí 5 ngày** (user chốt sau khi được hỏi lại) — lệch Booking/Airbnb có chủ đích. Hồ sơ: [`properties/alacarte502/agoda.md`](properties/alacarte502/agoda.md). **(c) Thêm 21:30 khi đọc trọn:** trang Beds của 502 in chữ nhỏ *\"For studio-type property…\"* → **22:40 user chốt đổi**: bedroom [] · common space King ×1 (đọc lại khớp). Cùng lúc user chốt: **305 check-out from 6:00 AM đã áp** (hết 0/4 khi refresh), **trẻ em free = 1 cả hai căn** (305 đổi 0→1), Beachfront giữ Yes, Reception giữ \"No reception\", tên room type để nguyên, auto reply để tắt, không thêm phí vào tin check-in.",
  "where": "`node scripts/ota-agoda-content.mjs --id 84463577 --score`",
  "status": "🟡 Chờ refresh",
  "kind": "Đang chờ",
  "slugs": [
   "alacarte305",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda"
  ]
 },
 {
  "id": "L-111",
  "level": "P1",
  "task": "**Agoda `alacarte305` Check-in instructions đang ghi SĐT SAI `+84 91 6108524`** (chuỗi cũ trước 16/09, chưa ai rà). Số đúng: `+84 798 229 922` (kho tin OTA, host profile Agoda). Phát hiện 17/09 ~20:15 khi user bắt lỗi trên 502 (502 đã sửa).",
  "where": "`--set-instructions`",
  "status": "🟢 **Đóng 17/09 ~20:20** — user ra lệnh, 305 đã đổi sang `+84 798 229 922`, đọc lại khớp (`_raw/2026-09-16-agoda-settings/arrivalguide-2026-09-17.json`)",
  "kind": "Xong",
  "slugs": [
   "alacarte305",
   "alacarte502"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-112",
  "level": "P1",
  "task": "**Tên room type cũ ở cả hai căn A La Carte trên Agoda** — 305 room type `A La Carte Da Nang 2br/2ba [Free Airport Pickup]` (thiếu \"From 3 Nights\"), 502 room type `1BR Studio A La Carte Hotel *Free Airport Pick up*` (còn dấu `*`), trong khi tên listing đã đổi 16–17/09. Trang khách hiện **tên room type** ở card phòng (đã thấy trên 305 ngày 16/09), nên khách vẫn đọc tên cũ. Trang Rooms trên YCS không có ô tên; chưa tìm được API đổi tên room type (`RoomSettings/*` chỉ có Specifications · BedConfigurations).",
  "where": "dò bundle Rooms tìm endpoint đổi tên, không có thì Need Help → Agoda",
  "status": "🔴 Mở — phát hiện 17/09 khi đọc trọn",
  "kind": "Mở",
  "slugs": [
   "alacarte305",
   "alacarte502"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-113",
  "level": "P3",
  "task": "**Địa chỉ tiếng Việt hiện lặp** trên cả 305 và 502: mình nhập `200 Võ Nguyên Giáp, Phước Mỹ, Sơn Trà, Đà Nẵng`, Agoda tự nối thêm khu vực + thành phố nên trang Property details hiện `…, Phước Mỹ, Sơn Trà, Đà Nẵng, Phước Mỹ, Đà Nẵng, Đà Nẵng 550000`. Sửa: đặt bản vi = `200 Võ Nguyên Giáp, Sơn Trà` (như bản EN) bằng `--set-location \"vi=200 Võ Nguyên Giáp, Sơn Trà\"` cho từng căn.",
  "where": "`ota-agoda-content.mjs --set-location`",
  "status": "🟢 Đóng 22:45 17/09 — user cho phép, đổi vi = `200 Võ Nguyên Giáp, Sơn Trà` cả 305 lẫn 502, đọc lại khớp",
  "kind": "Xong",
  "slugs": [
   "alacarte305",
   "alacarte502"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-114",
  "level": "P3",
  "task": "**Host profile Agoda: \"Who manages the property?\" chưa chọn** (`userProfileType null`) — form có Individual / Company, không bắt buộc nên bio vẫn lưu được. Chọn gì tuỳ user (tên hiển thị là cá nhân \"Huy Nguyen\", thương hiệu là công ty Harth Living). Cấp tài khoản, một lần cho cả 6 listing.",
  "where": "`--set-host-type 1`",
  "status": "🟢 Đóng 22:45 17/09 — user chốt **Individual**; ghi qua API được vì SĐT đã verify (204), đọc lại `userProfileType 1`",
  "kind": "Xong",
  "slugs": [],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-115",
  "level": "P1",
  "task": "**Trang nhóm Agoda của 502 + 404 mang tên tự sinh \"An Hai Bac Houses\"** (`ResidentialListing/84463577/ViewModel`: `isNameAutogenerated true`, master = 502). Khách thấy tên này trên trang chung `agoda.com/…/hotel/index/84463577` và host card (16/09 đã thấy \"An Hai Bac Houses · 10/5 review\" mà không hiểu). Tên không nói gì về toà nhà/thương hiệu. Sửa được tại chỗ bằng **Edit listing name** (tiếng Anh, \"reflect the name of the residential complex or building\") — ví dụ `Harth Living Apartments at A La Carte Danang Beach Hotel`. 305 không trong nhóm. Tách nhóm không tự làm được (không có nút Ungroup) → nếu muốn, Connect with our support.",
  "where": "`ota-agoda-content.mjs --id 84463577 --set-group-name`",
  "status": "**18/09 19:45: user muốn GỠ nhóm** — không có nút Ungroup cho tài khoản này → gửi support (mẫu tin EN đã đưa user; qua View grouped listing → Connect with our support / Need Help). Kỳ vọng: cả 502 lẫn 404 vẫn Active, thành hai trang riêng. Theo dõi nhãn *Group listing unit* ở Listings. Điểm cùng ngày: 305 100 · 502 100 · 41LHC 99 · 181 99 · 404 N/A · 15MN 53.",
  "kind": "Khác",
  "slugs": [
   "41lehycat",
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-116",
  "level": "P1",
  "task": "**Agoda `alacarte404` — đã sửa toàn bộ content 17/09 ~23:30 (căn thứ ba theo mẫu 305/502), chờ Agoda tạo điểm** (API `ContentScoreDetails` trả 204 = chưa có dữ liệu, trang Analytics hiện N/A). Đã sửa: 31 ảnh đủ tag (xoá 38 cũ) · 88/88 facilities · arrival guide đủ (check-out 06:00–12:00) · mô tả · địa chỉ · **occupancy 4 người lớn** (trước null = chỉ bán 2) · 70 m² · No limit · huỷ 5 ngày (từ Non-refundable) · tên thêm \"From 3 Nights\". Kiểm 18/09: `--score`; trang khách nhóm 502+404. Hồ sơ [`properties/alacarte404/agoda.md`](properties/alacarte404/agoda.md).",
  "where": "`node scripts/ota-agoda-content.mjs --id 84510952 --score`",
  "status": "🟡 Chờ Agoda tạo điểm",
  "kind": "Đang chờ",
  "slugs": [
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-117",
  "level": "P1",
  "task": "**Agoda `41lehycat` — đã sửa toàn bộ content 17/09 00:30 theo Booking extranet (căn thứ tư), chờ refresh 50 → 100.** Đã sửa: 31 ảnh đủ tag (xoá 70 cũ; upload lần đầu **409 duplicate** vì file vault trùng md5 ảnh cũ → re-encode) · 88/88 facilities theo Booking · arrival guide (door code, 14:00–23:00, 07:00–11:00) · mô tả/nội quy/lân cận từ profile Booking · **occupancy 10** (trước null = bán 2) · 300 m² · 5 WC · super king ×4 · No limit · huỷ 5 ngày. Lệch có chủ đích với Airbnb: đỗ xe ngoài đường (Airbnb khai on premises). Hồ sơ [`properties/41lehycat/agoda.md`](properties/41lehycat/agoda.md).",
  "where": "`--score` 18/09",
  "status": "🟡 Chờ refresh",
  "kind": "Đang chờ",
  "slugs": [
   "41lehycat"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda"
  ]
 },
 {
  "id": "L-118",
  "level": "P1",
  "task": "**Agoda `181tohienthanh` — đã sửa toàn bộ content 18/09 01:20 theo Booking (căn thứ năm), chờ refresh 43 → 100; listing đang gắn nhãn \"Under review\" trên danh sách Agoda (N/A ba cột), chưa rõ lý do — theo dõi, >2 ngày còn thì Need Help.** Đã sửa: 27 ảnh đủ tag (xoá 52) · 88/88 · arrival guide (door code 14:00–23:00 · 07:00–11:00) · nội quy (trước **trống**) · mô tả · địa chỉ vi · **occupancy 8** (trước null) · 300 m² · No limit · huỷ 5 ngày. Hồ sơ [`properties/181tohienthanh/agoda.md`](properties/181tohienthanh/agoda.md).",
  "where": "`--score` 18/09",
  "status": "🟡 Chờ refresh + theo dõi Under review",
  "kind": "Đang chờ",
  "slugs": [
   "181tohienthanh"
  ],
  "chans": [
   "booking",
   "agoda"
  ]
 },
 {
  "id": "L-119",
  "level": "P1",
  "task": "**`25anthuong11` Agoda `96450982` — chưa nối được iCal khi đang chờ duyệt.** 18/09: trang `ari/calendarsync/96450982` trống, API `GetPropertyCalendarSyncViewModel` trả **403 \"Sufficient role not found\"** (305 trả 200 với 2 kết nối). Làm ngay sau khi duyệt: (1) Agoda *Connect calendars* → Import link Airbnb + Booking của căn (đặt tên `Airbnb 25AT11` · `Booking 25AT11`); (2) copy link export Agoda → dán vào Booking *Sync calendars* + Airbnb *Connect calendars*; (3) kiểm `isLastSyncSuccess`. Chuẩn bị trước hai link export Airbnb/Booking.",
  "where": "Agoda → Calendar → Calendar connections (sau duyệt)",
  "status": "🟢 **Đóng 19/09 08:20** — listing đã Active; trang `ari/calendarsync/96450982` hiện 2 kết nối **airbnb · booking**, last updated 08:10/08:13 19/09 (user tự nối).",
  "kind": "Xong",
  "slugs": [
   "25anthuong11",
   "alacarte305"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda"
  ]
 },
 {
  "id": "L-120",
  "level": "P1",
  "task": "**`25anthuong11` Agoda `96450982` đang ở chế độ YCS KHÁCH SẠN, không phải Agoda Homes** (`PrivateLayout/Main`: `IsNonHotelAccommodation=false`; star rating 5 tự gán; menu Rate plans · Room mapping · Cancellation policies · Children Rate and Occupancy; facilities 440 mục/16 nhóm thay vì 88 toggle Homes; room amenities trong Rooms kipp). Hệ quả: content score chấm theo **11 mục hotel** (CMS 522393–522403) thay vì 18 mục Homes; trang khách hiện \"5-star\"; không có Host profile card. **19/09 08:15–09:40 đã làm trọn content theo bản khách sạn** (38+22 ảnh đủ tag ≥1030 px · 440/440 facilities · 50 room amenities · giường Q·Q·K·K · age policy Active 0–2 free · arrival guide đủ · mô tả 1.942 · huỷ 5 ngày · vi address) — hồ sơ [`properties/25anthuong11/agoda.md`](properties/25anthuong11/agoda.md). **User chốt 19/09: xong rồi xin Agoda chuyển sang Homes** (không có toggle/API; agent không chat với Agoda).",
  "where": "User: Need Help / Connect with our support → \"please convert property 96450982 to Agoda Homes (non-hotel accommodation, entire villa)\" · sau khi chuyển: `node scripts/ota-agoda-content.mjs --id 96450982 --score` (rubric đổi sang 18 mục, arrival guide + host đã đủ)",
  "status": "🟡 Chờ user gửi support · **`--score` sau 24 h** (API 204 lúc 09:40 19/09, kỳ vọng 100 bản hotel) · giữ 5 sao (user chốt) · ~~**trang khách 404 lúc 09:14 19/09**~~ → 🟢 **ĐÃ LÊN SÓNG (kiểm 25/09/2026).** URL đúng là dạng slug: `agoda.com/4br-villa-in-an-thuong-500m-to-mykhe-beach-h96450982/hotel/da-nang-vn.html` — dạng `/hotel/index/96450982` vẫn 404 nên **đừng dùng nó để kết luận listing chưa live**; link chuẩn lấy từ nút con mắt trong YCS. Trang hiện đủ: 4 sao, host card Huy Nguyen Verified, mô tả, ảnh, *5 other properties from this host*. Đặt thử 8 người lớn 2 đêm → bán được",
  "kind": "Đang chờ",
  "slugs": [
   "25anthuong11",
   "alacarte404"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-121",
  "level": "P0",
  "task": "🔴 **`25anthuong11` Agoda `96450982` CHƯA KHAI TÀI KHOẢN NGÂN HÀNG → Agoda không trả tiền được.** Trang `finance/payout/96450982` ghi *\"There is no bank account set up — Please add a bank account to enable payouts\"*; khối *How each property gets paid* hiện `Payout account: Bank transfer` kèm nhãn **`No default`** và `Bookings payable 30 days after check-out`. Listing đang **Active và bán được**, nên nếu có khách đặt thì Agoda thu tiền mà không có chỗ chuyển trả. Kèm theo: *Tax settings* còn trống (`What type of business` = `-`, `TIN` = `-`). **Chỉ user khai được** (thông tin ngân hàng + thuế), agent không đụng. Đọc 23/09/2026, chỉ đọc.",
  "where": "",
  "status": "🔴 **`25anthuong11` Agoda `96450982` CHƯA KHAI TÀI KHOẢN NGÂN",
  "kind": "Mở",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking",
   "agoda"
  ]
 },
 {
  "id": "L-122",
  "level": "P1",
  "task": "🟠 **Min stay của PriceLabs TẮT ở 14/15 dòng của 7 căn** (đọc 25/09/2026, `audits/2026-09-25-pricelabs-minstay.json`). Duy nhất `25anthuong11` Booking bật. Hệ quả: min stay thật đang do **từng kênh tự giữ** và **không đồng bộ** — Airbnb khai 2 đêm cả 7 căn (snapshot 05/09), Agoda khai 2 đêm, Booking **chưa đọc**. Vì PriceLabs không quản min stay nên **không hạ được xuống 1 đêm để lấp đêm mồ côi**: giảm giá orphan-day 20 % vẫn chạy, nhưng gap 1 đêm trên Airbnb (min 2) thì không ai đặt được, giảm bao nhiêu cũng vô ích. Cả hai kênh đều hỗ trợ (`feature_access.show_min_stay = true`) nên đây là **chưa bật**, không phải không làm được. Ba profile có sẵn (`3 nights minimum` · `Huy SJ` 2 đêm · `May 2026`) đang **không căn nào dùng**.",
  "where": "PriceLabs → từng listing → *Set Your Minimum Stay*",
  "status": "🔴 Mở — cần user chốt chính sách min stay theo mùa trước khi bật",
  "kind": "Mở",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-123",
  "level": "P1",
  "task": "🟠 **`25anthuong11` lệch min stay giữa hai kênh trên CÙNG một lịch.** Booking `16927056___1692705601` đang chạy *PriceLabs Recommended (Short-Term Rental)* sàn **1 đêm** → 37 đêm gần nhất (**25/09 → 31/10/2026**) đang bán **min 1 đêm**; về sau 2–3 đêm, đỉnh **5 đêm** dịp Tết 05–11/02/2027. Airbnb `1729647978348243002` của cùng căn thì **tắt**, giữ min 2 đêm của Airbnb. Hai kênh dùng chung lịch ⇒ một đơn 1 đêm trên Booking **sinh ra đêm mồ côi mà Airbnb không bán được**. Đây lại là căn **yếu nhất danh mục** (lấp đầy 13 %, ADR chỉ 50 % giá gốc — xem `L-22`), và là villa **4 phòng ngủ** nên 1 đêm ăn trọn chi phí dọn + turnover. Cài đặt nằm ở **listing con Booking**, không phải listing cha Airbnb ⇒ ai đó đặt tay trực tiếp lên con. 🔴 **XÁC MINH TRÊN TRANG KHÁCH 25/09:** search Booking.com Da Nang **29/09 → 30/09 (1 đêm, 8 người lớn)** → căn này **hiện ra và đặt được**, giá **2.139.261**. PriceLabs tính cho 29/09 đúng **2.139.174** ⇒ khớp, không phải lỗi Booking, là PriceLabs ra lệnh. Đối chiếu Agoda cùng lúc (`los=1` vs `los=2` trên trang khách): **1 đêm trả *\"Sold out! Our last room is already booked\"*, 2 đêm bán bình thường** ⇒ **min 2 đêm của Agoda đang chạy đúng**, chỉ Booking thủng. ⚠️ Phát hiện kèm: **Min price của căn này trên PriceLabs nay là 2.000.000** (cả dòng Airbnb lẫn Booking; Base 4.600.000 · Max 11.500.000) — ghi chép 18/09 ghi Min **3.450.000**, tức đã bị hạ trong tuần qua, chưa rõ ai và vì sao. Giá đẩy 25/09–01/10 chỉ 2,08–2,28 tr, sát sàn mới.",
  "where": "PriceLabs → `16927056___1692705601` → *Set Your Minimum Stay* (+ Airbnb cho khớp)",
  "status": "🔴 Mở — hỏi user: (a) sàn 1 đêm cố ý hay sót? (b) Min 2.000.000 là cố ý hay bị hạ nhầm?",
  "kind": "Mở",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-124",
  "level": "P3",
  "task": "🟡 **`181tohienthanh` còn giá trị min stay 2 đêm đã lưu nhưng công tắc TẮT** (`default_minstay_type: dfd`, `default_minstay_value: 2`, `update_minstay: 0`) ở **cả hai** dòng Airbnb và Booking. Nhìn trong giao diện dễ tưởng đang chạy. Bật lại chỉ cần gạt công tắc — nhưng phải xác nhận con số 2 đêm còn đúng ý trước khi bật. Ghi kèm bẫy: **modal *Set Your Minimum Stay* mở ra luôn hiện công tắc BẬT + nhãn \"Custom minimum stay settings applied\" kể cả khi bản lưu là tắt** — đọc `structured_json.min_stay.data`, đừng đọc modal.",
  "where": "PriceLabs → `181tohienthanh` (2 dòng)",
  "status": "🔴 Mở",
  "kind": "Mở",
  "slugs": [
   "181tohienthanh"
  ],
  "chans": [
   "booking",
   "airbnb",
   "pricelabs"
  ]
 },
 {
  "id": "L-125",
  "level": "P0",
  "task": "🔴 **`25anthuong11` Agoda `96450982` ĐÓNG BÁN 276/371 đêm — trọn mùa cao điểm.** Đọc 25/09/2026 (`ari/Calendar/GetAvailability` + `GetRate`, room `1600163286`): mở bán **26/09 → 16/12/2026** (82 đêm, 1 phòng/đêm) · **ĐÓNG `isClosedOut: true` từ 17/12/2026 → 18/09/2027** (276 đêm liền, gồm Giáng sinh · Tết · hè) · từ 19/09/2027 mở nhưng `remainingRoomNightsAvailable = 0`. Tổng 289/371 đêm không bán được. `allotmentAutoTopup = 0`. Không phải do đơn đã đặt (căn này lấp đầy 13 %) ⇒ nhiều khả năng **tồn kho chỉ nạp tới 16/12/2026**, hoặc iCal import chỉ phủ tới đó. Đây là trần chặn mọi việc tối ưu khác trên Agoda: min stay · giá · content · ảnh có hoàn hảo cũng không bán được đêm đã đóng. **ĐÃ LOẠI TRỪ iCal (25/09 cùng ngày):** `GetPropertyCalendarSyncViewModel` cho thấy 2 kết nối nhập một chiều `airbnb` + `booking`, cả hai `isLastSyncSuccess: true` (sync 25/09). Tải thẳng hai feed: **Airbnb .ics RỖNG** (0 VEVENT) · **Booking .ics đúng 1 VEVENT** (25/09 `CLOSED - Not available`) ⇒ không feed nào chặn 276 đêm kia. **Đây là trạng thái nội bộ Agoda: lịch chỉ mở tới 16/12/2026, từ 17/12 chưa bao giờ được mở bán.** So cùng lúc, cùng cửa sổ 371 đêm: `alacarte305` đóng **0** đêm (hết allotment từ 22/06/2027) · `alacarte502` đóng **0** đêm (hết allotment từ 01/03/2027) · `25anthuong11` đóng **276** ⇒ **chỉ căn này bị close-out cứng**, hai căn kia chỉ hết tồn kho. **ĐÃ LOẠI TRỪ luôn cả cửa sổ đặt trước:** `maxAdvPurchase -1` (No limit) · `minAdvPurchase -1` · `sellEndDate` và `stayPeriodEndDate` đều **2099-12-30** · **giá đã có đủ cho cả 371 đêm** (3.450.000 kể cả những ngày Closed) ⇒ không phải \"chỉ cho đặt trước N ngày\", không phải thiếu giá. Chỉ là **tồn kho từng ngày**: `isClosedOut true` + `remainingRoomNightsAvailable 0`. Mốc 16/12/2026 cách ngày listing lên sóng (19/09/2026) đúng **~90 ngày** ⇒ nhiều khả năng lúc mở bán chỉ nạp tồn kho 90 ngày, và `allotmentAutoTopup = 0` nên không có gì tự gia hạn *(suy luận, khớp ngày nhưng chưa có trang nào xác nhận)*. Sửa cần **hai việc**: bỏ `Closed` 17/12/2026 → 18/09/2027 **và** nạp số phòng bán (từ 19/09/2027 vẫn `remainingRoomNightsAvailable = 0`). Trang: `portal.agoda.com/mldc/en-us/app/ari/calendar/96450982`. 🔴 **ĐỪNG MỞ VỘI — mở ở giá hiện tại là bán lỗ.** Giá Agoda **phẳng lì 3.450.000 cho 359/371 đêm** (305 cũng vậy: 2.700.000 × 365) vì Agoda **không nối được PriceLabs** — đã kiểm `api/pms_list`: **204 PMS, KHÔNG có agoda** ⇒ không phải \"chưa nối\", mà là **không nối được**, xem `L-14`. 3.450.000 đúng bằng **Min price** của chính căn này trên PriceLabs (Booking: Min 3.450.000 · Base 4.600.000 · Max 11.500.000) ⇒ Agoda đang bán vĩnh viễn ở giá sàn. So với giá PriceLabs đang đẩy xuống Booking cho đúng các đêm đang đóng: **17–31/12/2026 TB 6.399.851** (4,98–8,02 tr) · **Tết 05–11/02/2027 TB 7.938.233** (min stay 5 đêm) · **01/01–28/02/2027 TB 5.872.165** · **hè 06–08/2027 TB 6.669.991**. Mở lịch mà không nâng giá = bán Giáng sinh/Tết/hè ở **~44–57 % giá Booking**, lại còn phá parity (VN là wide-parity country, rẻ hơn Booking có thể rớt Genius/Preferred — xem `booking-ranking-playbook.md`). ⇒ **Thứ tự bắt buộc: (1) xác minh iCal chiều ngược Agoda → Airbnb + Booking** (hiện Agoda chỉ NHẬP một chiều, `isTwoWaySync: false` cả hai) **→ (2) nâng giá Agoda tay theo mốc PriceLabs → (3) mới mở tồn kho, theo từng đợt ngắn.** ⛔ Không bật Auto Top-up (gây overbooking).",
  "where": "Agoda → Calendar → nâng giá trước, rồi bỏ Closed + đặt số phòng",
  "status": "🔴 Mở — **đã rõ nguyên nhân, chờ user ra lệnh mới ghi**",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "alacarte305",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda",
   "pricelabs"
  ]
 },
 {
  "id": "L-126",
  "level": "P2",
  "task": "🟠 **`25anthuong11` Agoda `96450982` — ảnh tủ quần áo gắn nhầm tag `Balcony/terrace`, và 10 ảnh biến mất.** (1) `bedroom-2-002` (dọc, tủ gỗ, không có ban công) mang tag *Balcony/terrace* ở Property `213037995` và Room `213038002` — sai từ plan 19/09; đúng là `Bedroom` (154). Không ảnh hưởng content score, nhưng khách lọc ảnh theo tag sẽ thấy \"ban công\" là cái tủ. (2) Từ 19/09 đến 26/09 listing mất 10 ảnh (Property 38→30: `living-room-002·003·009` · `dining-area-002·004` · `bedroom-2-003·004·011`; Room 22→20: `bedroom-2-003·004`) — chưa rõ user xoá tay hay Agoda loại. Tấm `bedroom-2-011` là ảnh \"view\" rõ nhất của căn; hiện tag *View* đang gắn tạm cho `bedroom-2-005` (26/09, để đủ điểm 522398).",
  "where": "Agoda → Property → Photos · `node scripts/ota-agoda-photos.mjs --id 96450982 --tag 213037995=154,213038002=154`",
  "status": "🟢 **Đóng 26/09** — user: 10 ảnh là tự xoá cố ý (không tải lại) · giữ View trên `bedroom-2-005` · tag tủ quần áo đã đổi sang `Bedroom` (đọc lại khớp)",
  "kind": "Xong",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "agoda"
  ]
 },
 {
  "id": "L-127",
  "level": "P1",
  "task": "🟠 **`15nuocman5` Booking `15668679` — Room amenities chỉ 7/174 Yes.** Đọc lại từ server 26/09/2026 sau khi bật `Dryer`: Yes = Air conditioning · Dryer · Washing machine · Flat-screen TV · Kitchen · Balcony · View; **167 ô còn No**, gồm cả thứ căn chắc chắn có theo `property_details_15nuocman5.md` (Toilet · Toilet paper · Towels · Free toiletries · Hairdryer · Shampoo · Iron · Dishwasher · Drying rack…). Cùng bệnh 41LHC/25AT11 đã vá 10/09 (41LHC 8 → 56 Yes). Booking sinh mô tả + bộ lọc tìm kiếm từ các ô này ⇒ khách lọc \"towels/hairdryer/dishwasher\" không thấy căn. Còn phải hỏi user riêng ô `View` (41LHC user chốt No vì không có view đáng kể).",
  "where": "Booking → Property → Room amenities (`amenities.html`) · `scripts/ota-write-booking-room-amenities.mjs --hotel 15668679 --plan <plan> --apply` rồi Save + đọc lại tab mới",
  "status": "🔴 Mở — cần user duyệt danh sách Yes theo `property_details`",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "41lehycat"
  ],
  "chans": [
   "booking"
  ]
 },
 {
  "id": "L-128",
  "level": "P1",
  "task": "🟠 **`41lehycat` Agoda `84463560` KHÔNG BỊ ẨN nhưng chìm sâu trong kết quả tìm kiếm.** User search Đà Nẵng 11–14/10/2026 · 8 người lớn · 1 phòng không thấy căn (26/09). Đo bằng `scripts/ota-agoda-search-rank.mjs` (phát lại GraphQL `citySearch` của chính trang khách): **1.087** kết quả; 41LHC ở **#560 · #632 · #926 · 1 lượt không thấy** (4 lượt, Agoda xếp lại mỗi trang) — tức trang ~12–19; **181 ổn định #32**. **Đã loại trừ từng nguyên nhân phía mình:** lịch mở, 1 phòng, không close-out/CTA/CTD · min stay 2 (tìm 3) · occupancy 10 người lớn · rate plan active, sell tới 2099 · property live, Homes · trang khách cùng bộ lọc **đặt được** (`isSoldOut false`, `isOccupancyExceeded false`, ₫4.080.341/đêm, 13.881.321/3 đêm) · content score 100 · giá (4,63 tr gồm thuế) **rẻ hơn trung vị trang 1** (5,43 tr) · 278/365 đêm mở bán (181 chỉ 74). **Khác biệt đo được duy nhất so với 181:** **0 đơn Agoda trong ~8 tháng** (listing tạo 02/02/2026; `fact_agoda_reservations`: 181 = 10 · 15NM5 = 3 · 41LHC = 0) và **0 review nguồn Agoda** (provider 332: 181 = 5, 41LHC = 0; 17 review của 41LHC đến từ nguồn khác) · xa trung tâm 4,0 km vs 2,1 km. Analytics *Lost booking insights* trống trơn (0 lượt thua, `weightedMedianRank 0`) = Agoda gần như chưa có dữ liệu lượt xem. Agoda **không công bố** công thức xếp hạng (playbook §1) ⇒ kết luận \"thiếu lịch sử bán\" là **suy luận** từ phép loại trừ. Kèm theo: promotion **\"Special Offer - First 3 Bookings\" −33 %** (`214093419`, tạo 02/02/2026, tới 01/02/2027) vẫn đang chạy vì chưa có đơn nào, cộng giảm của Agoda → khách thấy **−42 %** trên giá niêm yết phẳng 7.000.000.",
  "where": "Agoda → Growth programs (AGX / Sponsored Listing để lấy đơn đầu) · hoặc giữ nguyên",
  "status": "🔴 Mở — chờ user chọn hướng · **26/09 kiểm live `postbook/Booking/list` (kể cả đơn huỷ): 3 listing Agoda CHƯA TỪNG có đơn — 41LHC · 404 `84510952` (≈8 tháng, nhóm với 502) · 25AT11 (mới 8 ngày)** · **26/09 đo cả 7 căn** → [`audits/2026-09-26-agoda-search-rank.md`](audits/2026-09-26-agoda-search-rank.md): 181 #32 · 15NM5 #133 · 41LHC #548–2.078 · nhóm 502/404 #1.898–2.088 · 25AT11 chót bảng · 305 kín phòng T10–T11 — hạng xếp đúng thứ tự số đơn Agoda · **Booking cùng bộ lọc** → [`audits/2026-09-26-booking-search-rank.md`](audits/2026-09-26-booking-search-rank.md): 41LHC **#99–105** (Agoda #548), 25AT11 **#81–136** (Agoda chót) — Booking xếp villa cao hơn hẳn với khách 8 người · 🟢 **AGX ĐÃ BẬT (user, 26/09):** campaign `1487672` `ACTIVE`, `containsAgxPaidProgram false` = đang dùng thử 2 tuần (hết ~10/10/2026, sau đó tự tính 11 %/đơn nếu không *End free trial*). Giờ bật không rõ so với lượt đo hạng Agoda 26/09 ⇒ **đo lại `agoda_ranking` sau 3–5 ngày** để thấy tác dụng",
  "kind": "Mở",
  "slugs": [
   "25anthuong11",
   "15nuocman5",
   "41lehycat",
   "alacarte305",
   "alacarte404",
   "alacarte502"
  ],
  "chans": [
   "booking",
   "agoda"
  ]
 },
 {
  "id": "L-129",
  "level": "P1",
  "task": "🟠 **`181tohienthanh` Booking `14740288` không bán cho khách 8 người lớn** dù villa ở được 8. Đo 26/09/2026 trên trang khách booking.com, 11–14/10/2026: **6 người lớn → đặt được** (10.788.252 ₫/3 đêm) · **8 người lớn → \"unavailable on our site for your selected dates\"** (01–03/10 cũng vậy). `property_details_181tohienthanh.md` ghi *\"tối đa 8 khách\"*; Agoda `84463574` đặt occupancy 8 (18/09) và bán cho 8 người, đứng **#32** trong tìm kiếm Đà Nẵng 8 người lớn. ⇒ Trên Booking căn này **mất trọn phân khúc đoàn 7–8 người** (7 người lớn chưa đo). Nhiều khả năng *Max guests*/số người lớn tối đa của phòng trên Booking đang khai 6.",
  "where": "Booking extranet → Property → Rooms → phòng của 181 → *How many guests can stay* (đọc trước, sửa khi user ra lệnh)",
  "status": "🔴 Mở — cần đọc cấu hình phòng Booking để xác nhận con số đang khai",
  "kind": "Mở",
  "slugs": [
   "181tohienthanh"
  ],
  "chans": [
   "booking",
   "agoda"
  ]
 },
 {
  "id": "L-130",
  "level": "P2",
  "task": "🟠 **`25anthuong11` Airbnb `1729647978348243002` còn quảng cáo đưa đón sân bay KHỨ HỒI cho kỳ ở 5+ đêm** — ưu đãi này **đã dừng 25/08/2026** (`business.md` dòng 115); user nhắc lại 27/09/2026: căn chỉ có *đón sân bay miễn phí từ 3 đêm*. Đọc trang khách 27/09 còn 2 dòng trong ô **The space**: `• 🚕 FREE airport pickup for 3+ nights — round-trip transfer for 5+ nights` và `• 🚕 FREE airport pickup for 3+ night stays \\",
  "where": "FREE round-trip airport transfer for 5+ night stays`. Booking/Agoda chưa thấy câu này trong hồ sơ vault.",
  "status": "✅ Đã sửa 27/09/2026 (user ra lệnh): ô *Your property* thay 2 dòng thành `• 🚕 FREE airport pickup for 3+ night stays`, 3337 → 3252 ký tự, phần còn lại giữ nguyên từng ký tự; đọc lại trình soạn + trang khách (context sạch) còn 0 chữ \"round-trip\". Bản dịch ngôn ngữ khác (nếu có) và Booking/Agoda chưa kiểm live. `properties/25anthuong11/airbnb.md` là bản tự sinh — lần cào sau sẽ cập nhật",
  "kind": "Xong",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking",
   "airbnb",
   "agoda"
  ]
 },
 {
  "id": "L-131",
  "level": "P1",
  "task": "🟠 **`25anthuong11` có HAI thẻ trên Agoda — thẻ thứ hai là listing Booking.com được Agoda bán lại.** User thấy 28/09/2026 (search Đà Nẵng 11–13/10 · 8 NL): thẻ #1 `96450982` (YCS của mình) và thẻ #4 **`92524653`** cùng tên *4BR Villa in An Thuong 500m to My Khe Beach*. `citySearch` của `92524653`: `suppliersSummaries [{id: 3038, supplierHotelId: \"16927056\"}]` = đúng hotel Booking của căn · ảnh từ `bstatic.com` (CDN Booking) · `paymentModel: Agency` · *Pay at the hotel* · *No credit card needed* · huỷ miễn phí tới 10/10 · 5 giường (Booking còn khai sofa bed) · 0 review · *New to Agoda* · không nhắc chữ Booking.com với khách. Căn cứ: GDT Việt Nam **điều 3.2** — chủ nhà cho Booking quyền *sublicense, make available… offer via or in collaboration with an Affiliated Company* (Agoda cùng tập đoàn); GDT không ghi cơ chế tắt riêng (điều 3.3 chỉ cho opt-out chia sẻ dữ liệu). Hệ quả đo được: thẻ bản sao hiện **1.877.067/đêm chưa thuế** vs thẻ của mình **2.095.556** ⇒ trông rẻ hơn ~10 %, dù tổng gồm thuế gần bằng (4.702.464 vs 4.753.010 / 2 đêm); bản sao **không ăn promotion Agoda** (Payday/Eco), đơn qua nó là **đơn Booking** (hoa hồng Booking, khách trả tại chỗ).",
  "where": "Booking support (hỏi có tắt phân phối sang Agoda cho `16927056` được không) · hoặc chấp nhận và chỉnh giá/nội dung Booking cho khớp · **chờ user quyết**",
  "status": "🟡 Mới ghi 28/09/2026. Chưa kiểm: đơn qua bản sao có hiện ở extranet Booking với nguồn nào · 6 căn còn lại có bản sao tương tự không · supplier `28999` trên thẻ `96450982` là gì. Bằng chứng: `properties/25anthuong11/_raw/2026-09-28-agoda-promo-check/copy-92524653-*` + `booking-gdt-vn-clauses-3.2-3.3.txt`",
  "kind": "Đang chờ",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "booking",
   "agoda"
  ]
 },
 {
  "id": "L-132",
  "level": "P1",
  "task": "🟠 **`25anthuong11` Airbnb: hai Custom promotion −28 % (ở 4–10/10 và 11/10–30/11, tạo 28/09/2026) chốt cứng giá gốc từng đêm ⇒ PriceLabs KHÔNG còn điều khiển giá khách Airbnb cho 58 đêm mở tháng 10–11.** `promotionRawData.fixedNativeDailyPrice` = 2.984.589–3.922.159/đêm (TB 3.353.751); khách trả = giá chốt × 0,72 = **2.148.904–2.823.954** (TB 2.414.701), trong khi PriceLabs đang đẩy phẳng 3.140.000 (sàn Min). Đo trang khách context sạch 28/09: 11–13/10 gạch 6.811.379 → 5.072.193 (= 3.106.274 + 3.105.105 + 600.000 dọn, × 0,72 phần phòng) · 5–7/10 gạch 6.951.292 → 5.172.930 — khớp từng đồng. Cùng cơ chế L-96.",
  "where": "Airbnb Calendar → promotion (xoá/tạo lại nếu muốn giá theo PriceLabs) · **chờ user quyết** — không phải lỗi thao tác, là hệ quả của cách Airbnb lưu promotion",
  "status": "🟡 Mới ghi 28/09/2026. Báo cáo: https://claude.ai/artifact/UNKF1nhAvcruPJZv4S41uR · bằng chứng `properties/25anthuong11/_raw/2026-09-28-pricing-promo-report/airbnb/` + `guest/`",
  "kind": "Đang chờ",
  "slugs": [
   "25anthuong11"
  ],
  "chans": [
   "airbnb",
   "pricelabs"
  ]
 }
]