Harthliving OTA · bản chữ cho AI · dựng từ vault (nguồn sửa lần cuối 29/09/2026 22:33) · mục lục: https://harthliving-ota.pages.dev/ai/index.txt URL (HTML): https://harthliving-ota.pages.dev/issues/quick-fixes/ # Việc đơn giản làm trước — hướng dẫn từng cái (chưa sửa gì, 15/09/2026) Muốn làm ngay vài việc sửa nhanh, ít bước mà đỡ mất tiền. User yêu cầu 15/09: *"chưa sửa gì, chỉ xem lại rồi hướng dẫn tôi từng cái"*. File này là bản hướng dẫn thao tác; mọi giá trị đề xuất đã đối chiếu số đo cùng ngày. Thứ tự xếp theo **ít bước nhất × mất tiền nhiều nhất** trước. ## 0. Ba câu hỏi của user — trả lời trước ### Q1 · Phí dọn ở Booking đang thế nào? Đọc trên trang khách (chỉ dòng "+VND … taxes and fees" là phí dọn; "Includes taxes and fees" = không có phí): | Căn | Booking đang thu | Airbnb đang thu (14/09) | Lệch | Nguồn | |---|---|---|---|---| | 305 | 300.000 | 402.500 | −102.500 | trang khách 24–27/10 | | 404 | **300.000** *(mới — 03/09 còn "chưa khai")* | 402.500 | −102.500 | trang khách 24–27/10 | | 502 | 150.000 | 230.000 | −80.000 | trang khách 20–23/10 | | 25 AT 11 | 300.000 | 575.000 | −275.000 | trang khách 20–23/10 | | 181 THT | **0** | 575.000 | −575.000 | trang khách 02–05/11 "Includes taxes and fees" | | 41 LHC | **0** | 690.000 | −690.000 | trang khách 20–23/10 "Includes taxes and fees" | | 15 MN | **0** *(đọc 03/09; nay không mở bán nên không xem lại được)* | 575.000 | −575.000 | extranet 03/09 | Cơ chế: Booking cộng phí này vào tổng, tính hoa hồng 15 % trên nó (đo 15/15 đơn), khách thấy dòng riêng. Để 0 không "tiết kiệm hoa hồng" — chỉ mất trọn 575–690 k mỗi đơn. ### Q2 · Vì sao có căn khai sai phòng ngủ ở Booking? Hai nguyên nhân khác nhau, phải sửa ở hai chỗ khác nhau: | Căn | PriceLabs đang ghi | Booking đang khai (trang khách + FAQ "How many bedrooms") | Nguyên nhân | Sửa ở | |---|---|---|---|---| | **181 THT** | 1 BR | **"1 bedroom"**, giường: *1 king bed and 1 sofa bed* | **Room details trên Booking khai 1 phòng ngủ** — villa được tạo như một "Villa" một phòng, chỉ khai giường của phòng 1. PriceLabs đọc đúng cái sai đó | **Booking** → Room details | | **15 MN** | 1 BR | **"1 bedroom"**, giường: *1 full bed* (cho 10 khách) | Cùng lỗi — thậm chí giường khai sai loại | **Booking** → Room details | | **41 LHC** | 1 BR | **4 bedrooms** (Bedroom 1–4: king · Living room: sofa bed · 300 m²) | Booking đã đúng; **PriceLabs giữ giá trị cũ / đọc hụt** | **PriceLabs** → BR Count | | **404** | 1 BR | **2 bedrooms** (1 king + 2 twin) | Booking đã đúng (audit 08/09 ghi 1 BR — nay đã là 2); PriceLabs chưa cập nhật | **PriceLabs** → BR Count | | 305 · 502 · 25 AT 11 | 2 · 1 · 4 | 2 · 1 · 4 | đúng | — | PriceLabs KB: *"PriceLabs reads basic property information including location, currency and bedroom count from Booking.com"*; khi không đọc được thì cột **BR Count** trong Manage Listings cho chọn tay ([How to edit the listing bedroom count](https://help.pricelabs.co/portal/en/kb/articles/how-to-edit-the-listing-bedroom-count)). BR quyết định comp set — dòng Booking 181/41/15 MN đang bị so với căn 1 phòng ngủ nên bị ép xuống sàn Min gấp 2–4 lần dòng Airbnb (`2026-09-15-pricing-setup-review.md` §2a). ### Q3 · Còn căn nào chưa nối PriceLabs? | Căn | Airbnb | Booking | Agoda | |---|---|---|---| | 305 | ✅ đẩy giá | ✅ đẩy giá (hạng 1) · ⚠️ dòng `1331150302` "hạng 2" **không có trên Booking** (Property Layout chỉ có *Room 305 · 1331150301*) → dòng ma trong PriceLabs, Base "Not set", chưa sync | ❌ | | 404 | ✅ | 🔴 **có dòng nhưng Base/Min "Not set", `Last synced NA`** → Booking đang bán **giá tĩnh 2.500.000/đêm** = **+35 % so với Airbnb** cùng đêm (24–27/10: 7.800.000 vs 5.563.857). Vừa không bán được, vừa **ngược wide parity** | ❌ | | 502 | ✅ | ✅ | ❌ | | 181 THT | ✅ | ✅ | ❌ | | 41 LHC | ✅ | ✅ | ❌ | | 15 MN | ✅ | ✅ | ❌ | | 25 AT 11 | ✅ | ✅ (nối 11/09, đẩy giá từ 15/09) | — không có listing | **Agoda:** PriceLabs chỉ nối trực tiếp Airbnb · Booking.com · VRBO; Agoda phải đi qua PMS/channel manager — tài khoản này không có PMS ⇒ **không nối được bằng cách hiện tại** (`L-14`). Sáu listing Agoda đang giá tĩnh; giữ tay hoặc dùng công cụ giá của chính Agoda. **Cập nhật 17:40 15/09:** user đã làm tròn phí dọn Airbnb (script ghi, đọc lại 7/7 khớp): 305/404 **400.000** · 502 **250.000** · 181/15 MN/25 AT 11 **600.000** · 41 **700.000**. Bước ④ dưới đây dùng bộ số MỚI này cho Booking. ## 1. Danh sách làm trước — xếp theo ít bước × mất tiền Mỗi việc độc lập, làm xong việc nào kiểm việc đó. Mọi thao tác dưới đây **user tự bấm**; agent chỉ đọc lại sau khi user báo xong. ### ① PriceLabs · 404 dòng Booking: đặt giá + bật sync — ✅ ĐÃ LÀM 15/09 ~18:00 (`ota-pricelabs-set-base.mjs`; gói đẩy 18:01 giá 1,55–2,28 tr; trang khách 24–27/10 = 4.989.318 khớp) - **Vì sao trước:** 404 mở 54 đêm 22/10 → 14/12 trên Airbnb; Booking đang treo giá tĩnh 2.500.000 (+35 %) nên không bán được và vi phạm parity. - **Ở đâu:** `app.pricelabs.co/pricing?listings=15702704___1570270401&pms_name=bcom&open_calendar=true` - **Điền:** Minimum **1.552.500** · Base **2.506.360** (đúng số dòng Airbnb 404) → **Save & Refresh** → gạt **Enable Price Sync** → chờ "Last synced" đổi. - **Kiểm:** mở trang khách Booking 404 với 24–27/10: giá phải ≈ 5.16 tr (3 đêm) thay vì 7.500.000. - Mã: `L-21`. ### ② Booking · Room details 181 THT và 15 MN: số phòng ngủ + giường — 1 form/căn - **Ở đâu:** extranet → *Property → Room details* (`rooms.html?hotel_id=14740288` và `…=15668679`) → nút **Edit** cạnh "Villa". - **181 THT điền:** Number of bedrooms **3** · bathrooms **3** · living rooms 1 · kitchens 1 · Bedroom 1: 1 king + 1 sofa bed · Bedroom 2: 1 king · Bedroom 3: 1 queen · Max guests 8 (giữ). - **15 MN điền:** Number of bedrooms **4** · bathrooms **5** (4 en-suite + 1 powder) · living rooms 1 · kitchens 1 · Bedroom 1–4: mỗi phòng 1 queen · Max guests 10 (giữ). Bỏ "1 full bed". - **Kiểm:** FAQ trên trang khách đổi thành "3 bedrooms" / "4 bedrooms"; bảng phòng hiện Bedroom 1–3 / 1–4. - Nguồn giường: `vault/02-villas/property_details_181tohienthanh.md` · `property_details_15nuocman5.md`. - Mã: `L-18` (gốc Booking). ### ③ PriceLabs · BR Count cho 41 LHC (4) và 404 (2) — 2 dropdown - **Ở đâu:** *Dynamic Pricing → Manage Listings* → cuộn phải tới cột **BR Count** → chọn số. - Sau ② một ngày, kiểm cột này cho 181 (3) và 15 MN (4); nếu vẫn 1 thì chọn tay. - Mã: `L-18` (gốc PriceLabs). ### ④ Booking · Phí dọn 7 căn = Airbnb — ✅ ĐÃ LÀM 15/09 ~18:15 (script `ota-booking-cleaning-fee.mjs`, 7/7 đọc lại khớp) - **Ở đâu:** extranet → *Property → Property policies → Additional fees & charges* → **Cleaning fee** · *per stay* · *not included in the price* (giữ dạng đang dùng; hoa hồng như nhau). - **Điền (bộ số mới sau khi làm tròn Airbnb 15/09):** 181 THT **600.000** · 41 LHC **700.000** · 15 MN **600.000** (ba căn đang 0) · 25 AT 11 300.000 → **600.000** · 305 300.000 → **400.000** · 404 300.000 → **400.000** · 502 150.000 → **250.000**. - **Kiểm:** dòng "+VND … taxes and fees" trên trang khách đổi số. - Mã: `L-25` · `L-95`. *(Nếu sau này chốt "Booking rẻ hơn X %" thì vẫn giữ phí dọn bằng nhau, lệch bằng Pricing Offset.)* ### ⑤ PriceLabs · Min cho 502 — 2 ô - Hai dòng đang trống ⇒ PriceLabs tự lấy Base −30 % (Airbnb 1.359.288 · Booking 1.190.000) mà không ai nhìn thấy. - **Điền:** Airbnb `1432771761830735457`: Minimum **1.360.000** · Booking `14756473___1475647301`: Minimum **1.360.000** (cùng số để sẵn parity). Save & Refresh. - Mã: `L-16`. ### ⑥ PriceLabs · ẩn dòng ma 305 "hạng 2" — 1 cú bấm - Dòng `13311503___1331150302` không tương ứng phòng nào trên Booking (Property Layout của `13311503` chỉ có *Room 305 · 1331150301*). Base "Not set", chưa sync, không bán gì. - **Ở đâu:** Manage Listings → dòng đó → **Hide/Remove listing** (chỉ ẩn trong PriceLabs, không đụng Booking). ### ⑦ Airbnb · promotion cũ của 305 (15–27/09) — để hết hạn hoặc xoá - Còn ăn giá khuyến mãi cũ thấp hơn PriceLabs 0–8 % tới 27/09. Airbnb Calendar 305 → nhóm ngày 15–27/09 → xoá promotion, hoặc để tự hết 27/09. Chưa quét 6 căn kia (`L-96`). ### ⑧ Xác nhận 15 MN khoá 19/09 → 20/12 (93 đêm, cả hai kênh) - Chỉ cần bạn trả lời: cố ý (ghi vào `business.md`) hay khoá nhầm (mở lại trên Airbnb Calendar, Booking theo iCal). `L-98`. ### ⑨ PriceLabs · Max cho 13 dòng — làm SAU khi nối cha–con - Đề xuất 2,5 × Base (305 ≈ 6,3 tr · 404 ≈ 6,3 tr · 502 ≈ 4,9 tr · 181 ≈ 11,1 tr · 41 ≈ 13,3 tr · 15 MN ≈ 12,9 tr · 25 AT 11 ≈ 11,5 tr). Nối cha–con xong thì chỉ điền 7 lần thay vì 13. `L-33`. **Không thuộc "đơn giản":** nối cha–con + chốt chính sách một mốc giá (`L-97`, cần bạn quyết), Agoda (`L-14`, cần PMS), hạ Min 25 AT 11 (làm sau khi sửa nội dung listing). ## 2. Giới hạn của lần đọc này - 16:40 extranet chuyển sang trang đăng nhập (phiên `ses` hết hạn) — dừng theo `ota-readonly-rule.md` §9. Chưa mở được form *Edit* của Room details; số phòng ngủ Booking lấy từ **trang khách + FAQ tự sinh** (cùng nguồn dữ liệu, đủ tin). Phí dọn 15 MN lấy từ lần đọc 03/09. - Trang `rooms.html` chứa sẵn một form "thêm phòng" trống (num_bedrooms = 1 mặc định) — **đừng đọc form đó thành cấu hình thật**; audit 08/09 của 404 có thể đã dính bẫy này. Nguồn: library/audits/2026-09-15-simple-fixes-guide.md ## Liên quan - [Mọi việc chưa xong](https://harthliving-ota.pages.dev/issues/) - [Checklist thao tác theo thứ tự](https://harthliving-ota.pages.dev/issues/todo/)