Harthliving OTA · bản chữ cho AI · dựng từ vault (nguồn sửa lần cuối 29/09/2026 09:28) · mục lục: https://harthliving-ota.pages.dev/ai/index.txt URL (HTML): https://harthliving-ota.pages.dev/status/agoda/25anthuong11/full/ [Tổng quan](https://harthliving-ota.pages.dev/) › [Platform Status](https://harthliving-ota.pages.dev/status/) › [Agoda](https://harthliving-ota.pages.dev/status/agoda/) › [25 An Thượng 11](https://harthliving-ota.pages.dev/status/agoda/25anthuong11/) # 25 An Thượng 11 — Agoda · toàn văn hồ sơ Toàn bộ những gì đã chép từ Agoda cho 25 An Thượng 11. ## 1 tài liệu Nguồn: `properties/25anthuong11/agoda*.md` [Tổng quan](#doc-agoda) ### 25 An Thượng 11 trên Agoda — `96450982` **Phiên 19/09/2026 08:15 → 09:40** — căn thứ sáu theo quy trình, nhưng là căn **đầu tiên ở chế độ YCS khách sạn**: Fast-track import từ Booking (18/09) tạo ra property với `IsNonHotelAccommodation=false`, star rating 5, menu *Rate plans · Room mapping · Cancellation policies · Children Rate and Occupancy*, bộ tiện ích **440 mục / 16 nhóm** (không phải 88 toggle Homes) và room amenities nằm trong Rooms (kipp). Content score bản khách sạn có **11 mục** (CMS 522393–522403), khác 18 mục Homes — xem [`../../platforms/agoda-ycs-automation.md`](https://harthliving-ota.pages.dev/library/tech/agoda-ycs-automation/) §10. Điểm lúc bắt đầu và lúc kết thúc phiên: **API 204 (Agoda chưa tính)** — như 404 hôm 17/09. Nguồn sự thật: Booking extranet hotel `16927056` (26 trang 18/09 → [`_raw/2026-09-18-booking/`]) + `property_details_25anthuong11.md`. Snapshot Agoda trước/sau: [`_raw/2026-09-19-agoda-settings/`]. #### Booking nói gì về căn này (18/09) Villa 2 tầng, **200 m²** · **max 8** (8 NL · 7 trẻ · 7 sơ sinh, sơ sinh không tính vào max) · 4 phòng ngủ: PN1 tầng trệt Queen · PN2 Queen + ban công · PN3 King en-suite · PN4 King (Booking còn khai 1 sofa bed — user bỏ) · **3 WC** (WC1 dùng chung tầng trệt · WC2 dùng chung tầng 2 · WC3 en-suite PN3) · không thang máy · WiFi miễn phí · chỉ nhận tiền mặt · check-in từ 14:00 · check-out 07:00–11:00 · phí dọn 600.000₫/lượt · **mã cửa gửi trước 1 ngày, nhập mã + # trên bàn phím** · **gara riêng trong nhà, miễn phí** · Smoke-free + designated smoking area · pets no · parties no · quiet 22:00–07:00 · trẻ em mọi tuổi, 0–2 miễn phí, 3+ tính người lớn · không nôi/ghế ăn. Tiện ích bật: A/C · Fan · balcony · outdoor furniture · karaoke (free) · **massage chair** · airport shuttle free (≥3 đêm) · baggage storage · washer (không dryer) · drying rack · iron · stovetop · microwave · fridge · kettle · coffee machine · kitchenware · wine glasses · bottle of water · flat-screen TV · desk · bidet · hairdryer · shampoo/conditioner/body soap · smoke alarm · CO detector · fire extinguisher · CCTV outside · gate. Tắt: pool · garden · terrace · BBQ · heating · elevator · safe · oven · dishwasher · slippers · bathtub · Netflix. #### Trạng thái listing sau phiên | Mục | Trước | Sau | Nguồn / API | |---|---|---|---| | Tên | `4BR Villa in An Thuong 500m to MyKhe Beach` | giữ (khớp Booking/Airbnb) | — | | Ảnh Property | 38 ảnh import từ Booking, **1280×853, 0 tag**, 2 tấm 0×0 | **38** ảnh gốc bộ `photos/booking-upload/` re-encode ≤2048 (ngang 1800×1200, dọc **1030×1536**), đủ tag: Exterior view (**main**, mặt tiền) · Separate living room ×5 · Interior view ×3 (bàn ăn) · Kitchen ×2 · Bedroom ×16 · Bathroom ×8 · Balcony/terrace (PN2) · Washing machine · Parking lot (gara) — plan [`photos/agoda-upload-plan-2026-09-19.json`] | `UploadPhoto` (tag ngay lúc upload) · `--set-main 213037994` | | Ảnh Room | 38 bản trùng Property, 0 tag | **22** bản sao re-encode q88: Bedroom ×12 (3/phòng) · Bathroom ×6 (2/WC) · living · kitchen · dining · balcony | `UploadPhoto` | | Ảnh cũ | 76 | **đã xoá 76** + 9 bản dọc 1023 px (xem bẫy) — bản tải về [`photos/agoda-2026-09-19-before/`] | `DeletePhotos` | | Property facilities (440) | 32 Yes · **408 chưa khai** | **440/440 khai, 37 Yes**: Car park (free · on-site · self-parking) · Free Wi-Fi · Luggage storage · Smoke-free + Smoking area · **Massage chair** (thay *Massage* = dịch vụ, tắt) · Karaoke · Kitchen · Bottle of water · Family room · Airport transfer · A/C public area · Contactless check-in · **Entire home** · Non-smoking rooms · 12 dòng cleanliness/safety theo Booking · 4 ngôn ngữ · Cash. Tắt: Daily housekeeping (mỗi 2 ngày) · Elevator · Terrace · Check-in [24-hour] · BBQ · Garden · Beach · pets · sustainability/meetings — nguồn từng dòng trong [`_raw/…/facilities-plan.json`] | `PUT /mldc/…/Facilities` (lần 1 ăn 440/440) | | Room amenities (kipp) | 34 (import) · **Air conditioning BỎ SÓT** · children allowed **No** | **50**: +Air conditioning · Individual A/C · Non-smoking · Ironing facilities · Kettle · Kitchenware · Free instant coffee · Complimentary tea · Wi-Fi [free] · Internet wireless · Separate living room · Laptop workspace · Mirror · Additional bathroom/toilet · Freezer; **children allowed = Yes** — plan [`_raw/…/room-update-plan.json`] | `POST kipp/api/roomtype/UpdateRoomType` ×2 (lần 1 chỉ ăn cờ children) — script mới [`scripts/ota-agoda-room-amenities.mjs`] | | Giường | **trống** (NoOfBedroom 1) | PN1 Queen · PN2 Queen · PN3 King · PN4 King → kipp đọc lại **NoOfBedroom 4** | `BedConfigurations` (mldc, chạy được cả hotel-mode) | | Age policy (kipp wizard *Child & extra bed rates*) | **Pending — 3 bước bắt buộc chưa làm** | **Active**: min age 0 · nhóm trẻ 0–2 **Free** trên giường sẵn có (`hotelChildAgeRangeId 4088172`) · 3+ = người lớn · extra bed Not provided · baby cot 0 · occupancy base 8 / +0 / max 8 (8 NL · 7 trẻ) | `ChildRate/setupagepolicy` → `setupuniversalrate` (mode 1, type 4 Free) → `setupextrabed` (false) → `setuproomoccupancy` | | Check-in / check-out | 2PM–11PM · — → 11AM | **14:00–23:00** · **07:00–11:00** · early/late No | `checkincheckouttime` | | Cách nhận phòng · hướng dẫn | Not selected · trống | **5 = Door code** · 1.013 ký tự (mã gửi qua app trước 1 ngày · nhập mã + # · đến sớm gửi hành lý · gara miễn phí · SĐT +84 798 229 922 · đón sân bay ≥3 đêm) | `instructions` | | Chỉ đường · đón sân bay | trống · No | 414 ký tự (25 An Thuong 11, My An ward · 550 m Mỹ Khê · sân bay 15') · transfer **Yes / 0 / 15'** | `directions` | | Đỗ xe | trống | phí **0** · "Free private garage parking on the property for one car, plus space for motorbikes inside the gate." | `parking` | | Nội quy | trống | 1.125 ký tự: 8 khách · tạm trú · self check-in 14:00 / out 11:00 · **cấm hút trong nhà, khu hút thuốc ngoài trời ở lối vào** · karaoke dừng 22:00, yên tĩnh 22:00–07:00 · 2 tầng không thang máy · bỏ giày · không thú cưng · quay phim thương mại · hư hỏng | `houserules` | | Local recommendations | trống | 527 ký tự (An Thượng 3' · chợ đêm 6' · Mỹ Khê 550 m · Ngũ Hành Sơn/Cầu Rồng 10' · golf 10–12' · sân bay 15' · Hội An 35') | `thingsnearby` | | Mô tả | **trống** | **1.942 ký tự** văn xuôi từ profile Booking + property_details (bỏ 2 dòng giảm giá, không URL) — lần POST 1 không ăn, lần 2 ăn | `UpdatePropertyDescription` ×2 | | Địa chỉ | EN `25 An Thượng 11` · không vi | giữ EN · **vi `25 An Thượng 11, Mỹ An, Ngũ Hành Sơn`** (productAddressId 103204929) | `PUT PropertyLocation` | | Booking settings | huỷ **3 ngày (3055)** · No limit · min 1 | **huỷ 5 ngày (4459)** · No limit · min 1 | `UpdateBookingSettings` | | Star rating | 5 (Agoda gán lúc import) | giữ (user chốt) — đổi chỉ qua chat Agoda | — | | Room spec | max 8 · 3 WC · 200 m² | giữ | — | #### Quyết định user (19/09 ~08:50, không lật lại) Làm theo rubric khách sạn, **xong thì ghi issue xin Agoda chuyển sang Homes** (`L-120`) · ảnh 38 Property + 22 Room, xoá 76 cũ · huỷ 5 ngày · trẻ em mọi tuổi, 0–2 free · 8 khách, không giường phụ/nôi · giường Q·Q·K·K (bỏ sofa bed) · check-in 14–23h, out 07–11h, Door code · 3 WC · 200 m² · khu hút thuốc ngoài trời ở lối vào · **giữ 5 sao**. #### Rà 11 mục chấm (bản khách sạn) với trạng thái thật 522393 ảnh property 38 (≥25) · 522394 độ phân giải: mọi ảnh cạnh ngắn ≥1030 · 522395 ảnh tiện ích: Parking lot · Washing machine · Kitchen · Balcony (tag khớp facility Car park · Kitchen) · 522396 ảnh phòng 22 · 522397 độ phân giải phòng ≥1030 · 522398 ảnh room amenities: Bedroom · Bathroom · Kitchen · Balcony · 522399/522400 property facilities 440/440 khai · 522401 room amenities 50 · 522402 star rating 5 (có giá trị) · 522403 age policy Active. → đủ dữ liệu cho **100** khi Agoda tính. Các mục Homes (arrival guide · mô tả · host) cũng đã đủ phòng khi chuyển loại hình. #### Bẫy mới của phiên này 1. **Ảnh dọc 2:3 bị Agoda ép về cao 1536 → rộng 1023 (< ngưỡng 1024×768)** — 181 từng qua với 1030×1536. Cách vá: resize dọc về đúng **1030×1536** trước khi upload (cắt 9 px chiều cao), Agoda giữ nguyên. 9 bản 1023 đã xoá. 2. **Ghi hai lần** lặp lại ở property này với `UpdateRoomType` (lần 1 chỉ ăn `IsChildrenAllowed`, amenities ăn lần 2) và `UpdatePropertyDescription` (lần 1 đọc lại 0 ký tự). `PUT Facilities` lần này ăn ngay 440/440. Luôn đọc lại so plan. 3. `UpdateRoomType` bỏ qua `MaxAdultsOccupancy/MaxChildrenOccupancy` (giữ null) — `MaxAdults/MaxChildren` mới là số thật; `NoOfBedroom` tự tính từ bed config (0 khi chưa có giường). #### Việc còn mở 1. **`--score` sau 24 h** (API 204 lúc 09:40 19/09) — kỳ vọng 100/100 bản khách sạn. 2. `L-120` xin Agoda chuyển sang Homes (user tự chat/Need Help) — sau khi chuyển, chạy lại `--score` vì rubric đổi sang 18 mục (arrival guide + host đã đủ). 3. **Trang khách CHƯA CÓ (kiểm 09:14–09:20 19/09):** `agoda.com/NewSite/en-us/hotel/index/96450982`, `/hotel/index/96450982` và URL slug đều về `pagenotfound.html`; search Da Nang (city 16440, từ khoá "4BR Villa in An Thuong") không thấy — dù YCS ghi *Live/Active* và `SearchProperties` liệt kê (`IsNonAccommodationMode:false`, 6 căn kia `true`). 181 (*Under review*) vẫn mở bình thường → 25AT11 chưa được index công khai, cùng nhịp với content score 204. Kiểm lại sau 24–48 h; vẫn 404 thì Need Help. Khi có trang: soi ảnh chính, nhãn sao (Homes cũng có sao do Agoda tự tính — 181 hiện 3,5★), host card, mô tả có lên không. 4. Chưa distill `booking.md` phần Agoda; chưa có `data/25anthuong11/agoda.json`. #### Minimum stay — xác minh 25/09/2026 (chỉ đọc) User đặt tay **Minimum length of stay = 2 đêm** ở `Rates and availability → Rate plan #24409624 Room Only → Restrictions`. **Đã lưu đúng, phủ kín, không có đường vòng:** | Tầng | Đọc ở đâu | Kết quả | |---|---|---| | Rate plan | `GET supply-pricing-metadata/BookingSettings/GetViewModel/96450982` | `ratePlanSetting: [{ratePlanId: 24409624, minNightsStay: 2, maxNightsStay: -1, minAdvPurchase: -1, maxAdvPurchase: -1}]` | | Ngoại lệ theo ngày | cùng payload | `dateBasedStayConditions: []` — rỗng | | Từng đêm (ARI) | `GET ari/Calendar/GetRate/96450982?roomIds=1600163286&ratePlanIds=0` | `stayByDay[].minNightStay = 2` trên **cả 371 đêm** 25/09/2026 → 30/09/2027; `maxNightStay -1`, `minStayThrough -1` | | Số rate plan | `Rate Plan (1)` · Room types: All · Active · stay period 15/09/2026 → 30/12/2099 | chỉ một plan ⇒ không có plan nào bán 1 đêm vòng qua | **Bảng 7 cột thứ trong ngày (*Minimum length of stay for bookings including this night*) để trống là đúng** — đó là lớp đè lên mức chung; trống nghĩa là 2 đêm áp cho mọi thứ trong tuần. Muốn chặn cuối tuần 1–2 đêm thì điền 3 vào Friday/Saturday, nhưng đó là lựa chọn chính sách, không phải lỗi. ⚠️ **Lệch kênh:** Agoda 2 đêm ✅ · Airbnb 2 đêm ✅ (snapshot 05/09) · **Booking đang bị PriceLabs đẩy min 1 đêm** cho 37 đêm 25/09 → 31/10/2026 — xem `issues.md` **L-123**. Ba kênh chung một lịch nên chốt 2 đêm ở đây chưa đủ. ⚠️ Đọc cùng lượt: **276/371 đêm đang `isClosedOut`** → **L-125**. #### 26/09/2026 — vá content score 97 → 100 (chờ refresh ≤24 h) User ra lệnh: *"còn 2 listing chưa đủ 100 điểm content score… sửa lại cho nó full điểm"*. Điểm đọc bằng `--score` lúc bắt đầu: **97/100**, thiếu hai mục: | Mục | Điểm | Agoda nói | Nguyên nhân thật (giải từ bảng nhóm ảnh, `agoda-ycs-automation.md` §10) | |---|---|---|---| | 522395 ảnh tiện ích | 4/5 | *Things to do* | Tick **Karaoke + Massage chair** (nhóm facility *Things to do*) nhưng không ảnh Property nào mang caption nhóm 7 | | 522398 ảnh room amenities | 3/5 | *Villa* | Room thiếu nhóm **9 = Bed** và **10 = View** — 10 ảnh tag `Bedroom` không thay được `Bed` | **Đã sửa — chỉ ĐỔI TAG ảnh đang có, không upload, không xoá, không đổi thứ tự** (`--tag`, dry trước): - `213037900` Property · `living-room-004` (ghế massage TOSHIKO tiền cảnh + loa karaoke cạnh TV): `Separate living room` → **`Recreational facilities` (24)**. Property còn `living-room-008` giữ tag phòng khách. - `213037939` Room · `bedroom-1-001` (cận giường): `Bedroom` → **`Bed` (110)**. - `213037944` Room · `bedroom-2-005` (giường + cửa kính lớn nhìn ra hàng cây): `Bedroom` → **`View` (29)**. ⚠️ Đây là ảnh #1 của nhóm Room; ảnh "view" rõ hơn là `bedroom-2-011` nhưng tấm đó đã **biến mất** khỏi listing (xem dưới) nên không tải lại khi chưa hỏi user. **Xác minh ngay (API, không chờ điểm):** `GetAllPhotos` → Property `missingPhotoGroup` `[1..7]` → **`[1..6]`** (nhóm 7 đã đủ; 1–6 là nhà hàng/hồ bơi/spa/gym/trẻ em — căn không tick) · Room `[9,10]` → **`[]`** · số ảnh giữ nguyên **30 + 20**. `--score` vẫn 97 (Agoda refresh ≤24 h) → **chạy lại `--score` sau 27/09**. **User trả lời cùng ngày (không lật lại):** (1) **10 ảnh biến mất là user XOÁ CỐ Ý** → không tải lại tấm nào · (2) **giữ tag View trên `bedroom-2-005`**, không đăng lại `bedroom-2-011` · (3) đổi tag ảnh tủ quần áo → đã làm: `213037995` + `213038002` `Balcony/terrace` → **`Bedroom` (154)**, 200 OK, đọc lại khớp, số nhóm thiếu không đổi (Property `[1..6]` · Room `[]`). **Phát hiện kèm (đã giải quyết theo câu trả lời trên):** - 🔴 **10 ảnh đã biến mất kể từ lần upload 19/09** (38+22 → 30+20): Property mất `living-room-002 · 003 · 009` · `dining-area-002 · 004` · `bedroom-2-003 · 004 · 011`; Room mất `bedroom-2-003 · 004`. Chưa rõ user xoá tay hay Agoda loại — **hỏi user trước khi tải lại bất kỳ tấm nào** (tải lại cùng file sẽ làm sống lại photoId cũ). - 🟠 **Ảnh `bedroom-2-002` (dọc, tủ quần áo gỗ) đang gắn tag `Balcony/terrace`** ở cả Property (`213037995`) lẫn Room (`213038002`) — sai từ plan 19/09; ảnh không có ban công. Tag đúng: `Bedroom` (154). Không ảnh hưởng điểm → `issues.md` **L-126**. #### 28/09/2026 — Chương trình đang áp + cách định giá (chỉ đọc) 🟢 Đọc trực tiếp 16 trang YCS + payload; dump nén ở [`_raw/2026-09-28-agoda-programs/`]. - **Promotion đang chạy: 2**, cả hai là *Targeted*, **0 đêm · 0 VND**: `Private Sale` (ID 2, −10 %, từ 18/09) · `US (IP only)` (ID 5144, −10 %, từ 23/09). Tab Inactive = 0. Không Seasonal / Mega Sale / Agoda Deals nào. - **Hoa hồng (Contracted compensation):20 %** cho Retail, Private Sale, US (IP only). - **Không tham gia chương trình nào khác:** AGP (nút *Try it free*) · Growth Express (*No active campaigns*, AGX credit 0) · Sponsored Listing (chưa có campaign) · Agoda Boost Campaigns (`coupons.json` = `[]`) · Maximum Gain (Static + Dynamic đều *Inactive*) · Agoda Intelligence (chỉ nằm trong đề xuất *Engage Activation*) · `GetCrossSellGrowthProgramsViewModel.programs = []`. - **Không có dynamic pricing:** Connectivity `channelManagerMode=false` (*I manage them directly on Partner Portal*) ⇒ PriceLabs không đẩy giá vào được. Một rate plan `Room Only #24409624` *Managed by your calendar*. `GetRate` 18/09/2026 → 30/04/2027: **giá phẳng 3.450.000 VND mọi đêm**, 1–8 khách cùng giá, 0 surcharge. Lịch chỉ nhận **block** từ iCal Airbnb, không nhận giá. → `issues.md` **L-14**. - Chính sách huỷ đang gắn plan: **miễn phí tới 1 ngày trước** (bản 3 ngày có tạo nhưng 0 plan dùng). **Vì sao khách thấy ~2,7 tr/đêm dù lịch đặt 3,45 tr** (đo `citySearch` công khai 28/09, 3 lượt: 11/10 · 8 khách · context sạch / đã đăng nhập, 20/10 · 2 khách — cả ba ra cùng một chuỗi, file `public-price-*.json.gz`): | Lớp | /đêm | Nguồn trong payload | |---|---|---| | Giá lịch YCS — **đã gồm thuế + phí** | 3.450.000 | `inclusive.originalPrice` = 3.105.000 = 3.450.000 × 0,9 đúng từng đồng | | − Private Sale 10 % (Agoda gắn nhãn *Insider Deal*; áp cả khách chưa đăng nhập, chỉ ẩn nhãn) | 3.105.000 | `channelDiscountBreakdown` channelId 2, `display` false/true | | − *Instant discount* ~47–48 nghìn (`PseudoCoupon`, `hasOwnCOR=false` ⇒ không phải promotion của mình) | ~3.057.900 | `corBreakdown` id 2 — **khách trả số này** | | Thẻ tìm kiếm hiện giá **CHƯA thuế + phí** (`suggestPrice: Exclusive`, PRPN) | **~2.696.600** (gạch ~2.743.700) | `perRoomPerNight.exclusive` | Thuế + phí chênh ~13 % (YCS khai sales tax 8 % + service charge 5 %). Ai chịu khoản *Instant discount* thì 🟡 chưa kiểm — cần đối chiếu net payout của một đơn thật. **Nhãn khách thấy trên thẻ tìm kiếm — đo 28/09** (49 thẻ Đà Nẵng, context sạch + đã đăng nhập, desktop; ghép chữ trên thẻ với `pricing` của `citySearch`): | Loại promotion | Nhãn trên thẻ | Ghi chú | |---|---|---| | Seasonal (`pulseCampaignMetadata`) | **tên chiến dịch** (PAYDAY · Deals Abroad · BOOK EARLY · Agoda Save & Go…) + dải *Special Price - Limited time only!* | không cộng dồn giữa các Seasonal, chỉ lấy mức lớn nhất | | Targeted Eco Deals (channel 2236) | **Eco Deals** | Agoda tài trợ WWF; mình chỉ giảm 5–15 % | | Targeted Domestic (channel 6) | **Domestic Deal(s)** | chỉ khách IP Việt Nam thấy | | Targeted Private Sale (channel 2) | **KHÔNG có nhãn** — thẻ 25AT11 chỉ hiện *-2%* (coupon Agoda), 10 % Private Sale nằm chìm trong "Original price" | cả khách chưa đăng nhập lẫn đã đăng nhập | | Essential (Customized · Early Bird · Last-minute) | **không có nhãn trên thẻ tìm kiếm**; chỉ hiện trên **trang chi tiết**, mục *Rewards & discounts* của từng phòng, dạng dòng chữ xám nhỏ: Early Bird → *"Early Booking Saver. Price includes 27% discount!"* · Customized → *"Limited Time Offer. Price includes 49% discount!"* | đo 28/09 trên Parosand `2614325` + Chicland `7443098`; cùng offer còn có tag cam **"Domestic Deals"** (Targeted) ⇒ Essential **cộng dồn** với Targeted thật | | Mobile (7) · US IP (5144) | 🟡 chưa đo được (probe mobile ra 0 thẻ; không có IP Mỹ) | | Nhóm Targeted (`channelCategories`): 1 Product (Private Sale, Package) · 2 Loyalty (VIP, Eco Deals) · 3 Geography (Domestic, International, China, Asia, GoLocal, US) · 4 Platform (Mobile, Mobile App). `isDeactivationRestricted=false` — tắt được. **Form Seasonal (mở xem 28/09, `promotionsetting/96450982?ctype=`):** `460` Deals Abroad 15 %, khung nửa tháng liền 1/10→31/12, **mặc định LOẠI khách Việt Nam** · `2470` Golden Autumn 10 %, đặt 1–31/10 · `1870` Halloween 15 %, 24/10–6/11 · `141` Double Day 15 %, 1–14/10 · 4–17/11 · 5–18/12 · `1871` Black Friday 15 %, 17–30/11 · `4` Payday 20 %, 27–31/10 · 26–30/11 · `2469` Jingle Deals 10 %, 1/12–5/1 · `2590` Agoda Save & Go 16 %, loại 20 nguồn khách. Ngày ở của mọi chiến dịch kéo dài tới tháng 1–4/2027 (có nút *Add blackout dates*). **Cả 18 Seasonal đều có `BadgeCmsId`** (đọc `CampaignTypes` 28/09; Mega Sale chưa đọc): Payday 4 · Night Owl 365 · Deals Abroad 460 · From Asia To The World 2024 · Agoda Save & Go 2590 · Super Wednesday 3 · Double Day 141 · Golden Autumn 2470 · Mid Month 440 · Halloween 1870 · Jingle Deals 2469 · Black Friday 1871 · End Of Year 1872 · Christmas 1873 · Book Early, Pay Less 794 · Stay Longer for Less 795 · Midnight Madness 1055 (min 30 %) · Noon Dash 1056 (min 25 %). Ba cái có giới hạn nguồn khách: 460 · 2024 · 2590. 🔴 **Trần blackout mỗi đợt** (`GetPromotionSettingPageViewModel` → `CampaignOccurrences[].BlackoutDays`): Golden Autumn **15 ngày**, Halloween · Double Day · Black Friday · Payday **5 ngày** ⇒ **không cắt được ngày ở về đúng tháng 10–11** bằng Seasonal; muốn đúng khung ngày ở phải dùng Essential *Customized* (không có nhãn tên). Min discount: Golden Autumn 10 · Halloween/Double Day/Black Friday 15 · Payday 20. API lưu: `HotelPromotion/SavePromotion` (Seasonal/Essential) · `hotelpromotionapi/UpdateChannelDiscountV2` (Targeted) · `GetMaxDiscount` = bộ mô phỏng tổng giảm. **So kênh cùng lượt tìm (26/09 · 11–13/10 · 8 NL):** Agoda 6.115.174 (hạng #1.118/1.088, 0 đơn, 0 review Agoda) vs Booking **5.376.091 gồm thuế phí** (hạng #124) ⇒ Agoda **đắt hơn ~14 %**. Form Seasonal *Double Day Sale* (mở xem 28/09, `promotionsetting/96450982?ctype=141`): mặc định **15 %**, *Stacking enabled* tự động với Essential + Targeted, ba đợt bookable 1–14/10 · 4–17/11 · 5–18/12. #### 28/09/2026 chiều — rà promotion sau khi user bật Seasonal + Eco Deals (chỉ đọc) 🟢 User hỏi: *"rà lại các promotion… tại sao khi tôi thử tìm trên trang khách thì các promotion này chưa hiện"*. Đọc YCS 14:20 + đo trang khách 14:25–14:45; dump ở [`_raw/2026-09-28-agoda-promo-check/`]. **Đang Active (5) — đổi hẳn so với bản 09:35:** user tạo lúc 10:18–10:38 cùng ngày; **Private Sale (2) và US IP (5144) đã TẮT** (`isActive:false`, tab Inactive vẫn ghi 0). | Promotion | Giảm | Ngày ĐẶT (bookable) | Ngày Ở | Hôm nay 28/09 | |---|---|---|---|---| | Payday Sale `219498439` (type 6316) | 20 % | **28–30/09/2026** | 26/09 → 28/12/2026 | ✅ đang chạy | | Golden Autumn `219498166` (7247) | 20 % | 01–31/10/2026 | 01/10 → 31/01/2027 | ⏳ chưa tới ngày đặt | | Halloween Sale `219498267` (6577) | 20 % | 24/10–06/11/2026 | 24/10 → 03/02/2027 | ⏳ | | Black Friday `219498409` (6578) | 20 % | 17–30/11/2026 | 17/11 → 27/02/2027 | ⏳ | | Eco Deals (Targeted channel 2236) | 10 % | từ 28/09, không hạn | — | ✅ đang chạy | Mọi Seasonal: min 1 đêm, mọi ngày trong tuần, không blackout, `IsPromotionStack:true`, `IsApplyChannelDiscount:true`. Danh sách YCS ghi *Recurring* nhưng payload mỗi cái chỉ mang **một** đợt — Payday có tự sinh đợt 27–31/10 và 26–30/11 không thì 🟡 chưa kiểm. **Trang khách ĐANG hiện promotion** — đo `citySearch` + chụp màn hình, 11→13/10: | Lượt | Kết quả | |---|---| | Context sạch · 8 NL | thẻ tìm kiếm có nhãn **PAYDAY** + **Eco Deals**, **−26 %**, gạch 2.824.179 → **2.095.683/đêm chưa thuế** ([ảnh]) | | Context sạch · 2 NL — và — tài khoản đã đăng nhập · 8 NL | cùng chuỗi, cùng nhãn | | Trang chi tiết có ngày | *PAYDAY: ₫ 690,000 off!* · *Limited Time Offer. Price includes 20% discount!* · Offer 1 *Eco Deals* · **AGODASPONSORED − ₫ 76,990** | Cộng dồn **30 % cộng thẳng**, không nhân: `inclusive.originalPrice` 2.415.000 = 3.450.000 × 0,70 đúng từng đồng; sau đó Agoda trừ thêm ~38 nghìn/đêm (nhãn trên trang là **AGODASPONSORED**, tức coupon do Agoda tài trợ — trả lời phần 🟡 ở trên theo nhãn, chưa đối chiếu payout) ⇒ khách trả **~2.376.500/đêm gồm thuế** (sáng nay ~3.057.900). Seasonal chỉ lấy MỘT cái lớn nhất — 24–31/10 Golden Autumn + Halloween trùng nhau vẫn chỉ 20 %. **Vì sao user thử mà "không thấy"** — ba điều kiện làm Agoda trả `isAvailable:false` (không giá ⇒ không nhãn), đo được cả ba: 1. **Mở trang căn không kèm ngày** → Agoda tự điền **28→29/09 · 1 đêm · 2 NL** → *Enter dates to see prices* ([ảnh]). 2. **Tìm 1 đêm** (vd 11→12/10) → không bán, vì rate plan đặt tối thiểu **2 đêm**. 3. **Tìm trong tuần này** → lịch YCS **ĐÓNG 28/09 → 03/10** (6 đêm); mở từ 04/10 tới hết 31/12. Thêm: không kèm `selectedproperty=96450982`, căn nằm sâu (~#1.100 theo đo 26/09) nên lướt danh sách gần như không gặp. Chưa đo: app di động · IP ngoài Việt Nam · nếu user thử lúc ~10:30 thì có thể Agoda chưa kịp đồng bộ (không đo được lúc đó). **Khoảng trống trong lịch đặt** (nếu Payday không tự lặp): 01/10–31/10 Golden Autumn → 01–06/11 Halloween → **07–16/11 chỉ còn Eco 10 %** → 17–30/11 Black Friday → **từ 01/12 chỉ còn Eco 10 %**. #### 28/09/2026 14:30 — căn có HAI thẻ trên Agoda: thẻ thứ hai là Booking.com bán lại → `issues.md` **L-131** User mở link search 11–13/10 · 8 NL và thấy căn xuất hiện hai lần. Đọc tab của user (chỉ đọc) + `citySearch` + trang chi tiết context sạch: | | Thẻ #1 — của mình | Thẻ #4 — bản sao | |---|---|---| | Agoda ID | `96450982` | **`92524653`** (URL `/hotel/all/…`, không có `-h`) | | Nguồn cung | supplier `332` (YCS) (+ `28999` 🟡 chưa rõ) | supplier **`3038`, `supplierHotelId: "16927056"`** = hotel Booking của căn | | Ảnh | `pix8.agoda.net` (ảnh mình upload) | `bstatic.com` — CDN của Booking, 24 ảnh | | Thanh toán | Merchant · *Pay later* | **Agency · Pay at the hotel · No credit card needed** | | Huỷ miễn phí | tới 06/10 | tới 10/10 | | Giường · review · host | 4 giường · 4 review 9,5 · host 7 căn | **5 giường** (Booking còn sofa bed) · 0 review · *New to Agoda* · *Managed by a private host* | | Promotion | PAYDAY + Eco Deals −26 % | **không có** | | Giá thẻ (chưa thuế) / tổng 2 đêm gồm thuế | 2.095.556 / 4.753.010 | **1.877.067** / 4.702.464 | Trang bản sao không nhắc chữ Booking.com với khách. Căn cứ hợp đồng: GDT Việt Nam điều 3.2 (nguyên văn lưu ở `_raw/2026-09-28-agoda-promo-check/booking-gdt-vn-clauses-3.2-3.3.txt`). **Liên quan:** 181 THT · 41 LHC · 305 · Cẩm nang YCS §9–§10 · Booking 16927056 #### 28/09/2026 16:00 — AGX bật + chốt bộ chương trình tháng 10–11 (chỉ đọc) 🟢 User bật thêm **Agoda Growth Express** cho căn: campaign **#1488930 "AGX: All Travelers"**, tạo 28/09 · *Free trial* tới **12/10/2026** · sau đó **13 % × giá trị booking** (`getAgxPrograms → baseDetail.marginAdjustment: 13.0`; trang chỉ hiện "Free* (until 12 Oct 2026)") · thu bằng **payout reduction** · nhắm *All travelers* · stackable bật · `isAutoRenew: false` · credit 0. Không có AGP/Sponsored Listing/Maximum Gain (`getAgpPrograms = []`, `getSlPrograms.campaignList = []`). Promotion không đổi so với bản 14:20 (Payday · Golden Autumn · Halloween · Black Friday 20 % + Eco Deals 10 %). Hoa hồng 20 % (Retail, Eco Deals). Lịch 1/10–30/11: 3.450.000 phẳng, min stay 2, đóng 1–3/10. Báo cáo gộp 3 kênh + PriceLabs: https://claude.ai/artifact/UNKF1nhAvcruPJZv4S41uR · dữ liệu thô [`_raw/2026-09-28-pricing-promo-report/`].