Mục lục
- Nối listing Booking.com vào PriceLabs
- 1. Vì sao phải làm — tình trạng đo được 11/09/2026
- 2. Điều kiện tiên quyết — kiểm trước khi bấm gì
- 3. Phần A — Bên Booking extranet: khai PriceLabs là Connectivity provider
- 4. Phần B — Bên PriceLabs: nạp listing vào dashboard
- 5. Phần C — Cấu hình trước khi cho phép đẩy giá
- 6. Phần D — Bật sync, rồi xác minh
- 6b. Kết quả thật của lần chạy đầu — 25anthuong11, 11/09/2026
- 7. Phần E — Việc BẮT BUỘC làm sau: nối lịch bằng iCal
- 8. Những thứ sẽ mất hoặc đổi — biết trước để khỏi hoảng
- 9. Thứ tự rút gọn
- 10. Liên quan
Nối listing Booking.com vào PriceLabs
⚠️ Người bấm là user, KHÔNG phải agent. Mọi bước dưới đây đều là GHI (đổi cấu hình thật, đổi giá thật trên kênh bán). Luật
vault/10-rules/ota-readonly-rule.mdcấm agent tự làm; riêng nhãnAdd/Re-import Listingsnằm trong danh sách cấm chạm ở tầng C. Agent chỉ được làm hai việc: đo trạng thái trước khi nối và xác minh sau khi nối (mục 6).
Viết cho 25anthuong11 — property Booking 16927056, room 1692705601. Các căn khác dùng lại y hệt, chỉ đổi hai số đó.
1. Vì sao phải làm — tình trạng đo được 11/09/2026
Bốn bằng chứng độc lập đều chỉ cùng một kết luận: property này chưa nối channel manager nào.
| Đo ở đâu | 25anthuong11 (chưa nối) |
41lehycat (đã nối, dùng làm mẫu) |
|---|---|---|
Payload home.html |
channelManagerConnected: 0 |
channelManagerConnected: 1 |
| Header lịch | Monthly view (còn xem được theo tháng) |
XML (edits overwritten) |
rate_plans.html, cột Price của Standard Rate |
Managed by your Calendar |
Mapped from PriceLabs |
| Danh sách listing PriceLabs | không có dòng bcom nào mang 16927056 |
có 15668481___1566848101 |
Hệ quả đang gánh: giá Booking của căn này phẳng 5.000.000₫/đêm ở toàn bộ 81 ô lịch đọc được, không theo mùa, không theo cuối tuần, không theo nhu cầu. → issues.md L-15 + L-42.
2. Điều kiện tiên quyết — kiểm trước khi bấm gì
| Điều kiện PriceLabs đòi | Trạng thái căn này |
|---|---|
| Listing đang live và bookable trên Booking | ✅ Open/Bookable |
| Có ít nhất một rate plan loại Standard | ✅ Standard Rate ID 67628679 |
| Không còn PMS/channel manager cũ đang nối | ✅ chưa có cái nào (channelManagerConnected: 0) |
| Tài khoản PriceLabs còn chỗ cho listing mới | ⚠️ xem mục 7 — phí child listing |
Quyết định phải chốt TRƯỚC khi bật sync: ba con số Min · Base · Max cho dòng Booking mới. Nối xong mà chưa đặt là PriceLabs đẩy giá của nó xuống, ghi đè mức 5.000.000₫ hiện tại. Mốc tham chiếu từ căn 4 phòng ngủ cùng cỡ 41lehycat trên Booking:
41 Lê Hy Cát · Booking: Min 4.000.000 Base 5.500.000 Max chưa đặt
25 AT 11 · Booking: giá tĩnh đang chạy 5.000.000
25 AT 11 · Airbnb: Min 3.000.000 Base 4.000.000
Gợi ý điểm xuất phát an toàn: Base = 5.000.000 (đúng giá đang bán, không tạo cú sốc giá), Min = 3.500.000, Max đặt một trần thật thay vì bỏ trống. Đây là đề xuất, không phải số đã chốt — user quyết.
3. Phần A — Bên Booking extranet: khai PriceLabs là Connectivity provider
Nguồn: Booking Partner Help — Setting up and working with a Connectivity provider.
Cách A1 — làm cho riêng một property (đơn giản nhất)
- Đăng nhập extranet, chọn đúng property
16927056(4BR Villa in An Thuong 500m to MyKhe Beach). - Bấm
Accounttrên thanh trên cùng, chọnConnectivity providertrong menu xổ xuống. - Bấm
Search, tìmPriceLabstrong danh sách nhà cung cấp. - Chọn PriceLabs, rồi tick đủ các quyền. PriceLabs nói rõ: "If any one of these is not selected, then the sync will not work."
-
Rates and Availability-Reservations-Content(Booking gọi làContent and photos) - Tick ô đồng ý điều khoản, bấm
Connect.
Cách A2 — làm từ group extranet (hợp với tài khoản này hơn)
Tài khoản này là group account 9 property, và PriceLabs đã là provider của 7 property khác — nên đường bulk là đường tự nhiên để thêm căn thứ 8.
- Đăng nhập group extranet, bấm
Bulk editing. - Mục
Connectivity provider, bấmTake actioncạnhManage connectivity provider. - Tìm
PriceLabs, bấmConnect, chọn các quyền cần tích hợp, bấmNext. - Chọn đúng property
16927056(chỉ căn này, đừng động vào 7 căn đang chạy), bấmCheck and confirm changes. - Soát lại rồi bấm
Apply change.
Sau khi bấm Connect
Booking gửi yêu cầu kết nối sang PriceLabs qua email. PriceLabs làm phần mapping và cấu hình, rồi kết nối tự động hoàn tất khi họ xác nhận xong. Thông báo về hộp thư extranet. Trạng thái kết nối xem lại ở đúng chỗ cũ: Account → Connectivity provider.
⏱️ Không phải lập tức. Đừng kết luận hỏng nếu chưa thấy đổi ngay trong vài phút.
4. Phần B — Bên PriceLabs: nạp listing vào dashboard
Nguồn: PriceLabs — How to Integrate PriceLabs with Booking.com.
- Đăng nhập PriceLabs.
- Bấm
Add/Reconnect Listings(tài khoản mới thì nhãn làAdd your listings). - Chọn nhóm
Airbnb/Booking.com/Houfy/Vrbo, rồi chọnBooking.comtrong dropdown. - Câu hỏi "If you have added PriceLabs as your connectivity provider in Booking.com" → chọn
Yes. - Nhập Property ID / Hotel ID:
16927056
- Bấm
Connect.
Kết quả mong đợi: mỗi room type thành một listing riêng trong PriceLabs. Căn này có đúng một room nên sẽ xuất hiện đúng một dòng, khoá dự kiến:
16927056___1692705601
5. Phần C — Cấu hình trước khi cho phép đẩy giá
Làm đủ ba việc này trước khi bật sync.
5.1 Đặt Min / Base / Max
Mở listing Booking mới, khối Configure Prices, nhập ba ô rồi bấm Save & Refresh. Số đã bàn ở mục 2.
5.2 Map cha–con với listing Airbnb của cùng căn
Đây là việc chống lệch giá giữa hai kênh và chống tính tiền hai lần. Vào Dynamic Pricing → Manage Listings → nút Map Listings:
- Parent: listing Airbnb
1729647978348243002 - Child: listing Booking
16927056___1692705601 - Bấm
Map Listings.
Bằng chứng cách này chạy đúng đã có sẵn trong chính tài khoản: cặp cha–con của 36 Dương Tử Giang có Min và Base giống hệt nhau ở cả hai kênh. Bảy căn trong phạm vi chưa nối cha–con nên Base đang trôi mỗi kênh một kiểu → issues.md L-23.
⚠️ Nối cha–con không sửa số phòng ngủ khai trong PriceLabs. Kiểm riêng ô BR của dòng mới, đừng để nó thành 1 BR như ba dòng Booking đang sai (L-18).
5.3 Chênh lệch hoa hồng giữa hai kênh
Nếu muốn giá hai kênh khác nhau cho đúng phần hoa hồng, PriceLabs bảo dùng pricing offset và áp ở cấp tài khoản, không vá từng ngày.
6. Phần D — Bật sync, rồi xác minh
- Trong PriceLabs, bật
Sync Pricescho listing mới, hoặc bấmSync Nowđể đẩy ngay một lần. - Đợi, rồi kiểm bốn dấu hiệu dưới đây. Nối đúng thì cả bốn phải đổi:
| Kiểm ở đâu | Trước | Sau khi nối đúng |
|---|---|---|
| Lịch Booking | Monthly view |
XML (edits overwritten), mất hẳn chế độ xem theo tháng |
rate_plans.html, cột Price của Standard Rate |
Managed by your Calendar |
Mapped from PriceLabs |
Payload home.html |
channelManagerConnected: 0 |
1 |
| Danh sách listing PriceLabs | 8 dòng bcom |
9 dòng, có 16927056___1692705601 |
Agent chạy hộ bước xác minh này được, vì nó chỉ đọc:
node scripts/chrome-cdp-daemon.mjs &
node scripts/chrome-grab.mjs --out /tmp/verify-25at11 --settle 8000 \
"https://admin.booking.com/hotel/hoteladmin/extranet_ng/manage/rate_plans.html?hotel_id=16927056&lang=xu" \
"https://admin.booking.com/hotel/hoteladmin/extranet_ng/manage/home.html?hotel_id=16927056&lang=xu" \
"https://app.pricelabs.co/pricing"
- Ba rate plan của căn này ăn theo nhau nên chỉ cần Standard Rate được đẩy là cả ba đổi:
Standard Rate 67628679 ← PriceLabs đẩy vào đây
Weekly 67628681 = rẻ hơn Standard 5%
Monthly 69060005 = rẻ hơn Standard 10%
6b. Kết quả thật của lần chạy đầu — 25anthuong11, 11/09/2026
Bốn dấu hiệu đều đã lật ⇒ phần kết nối coi như xong. Nhưng đo tiếp trong PriceLabs thì thấy giá chưa hề được đẩy:
| Đo được | Giá trị |
|---|---|
Enable Price Sync |
chưa bật |
Last synced |
NA (chưa đồng bộ lần nào) |
| Min · Base · Max | 3.450.000 · 4.600.000 · chưa đặt |
Property Type · BR |
Short-Term · 4 BR ✅ |
| Map cha–con với Airbnb | chưa — parent_key hai dòng khác nhau (4100624 vs 4277456) |
📌 Bài học đắt nhất của bước này: nối xong KHÔNG có nghĩa là giá chạy. Booking vẫn phục vụ mức tĩnh cũ cho tới khi bật Enable Price Sync. Ai chỉ nhìn nhãn XML (edits overwritten) rồi báo "xong" là báo sai.
🔎 Cách kiểm map cha–con bằng máy: trong GET /api/pd_dropdown_options, hai listing đã map dùng chung parent_key. Cặp mẫu đã map trong tài khoản: 36 Dương Tử Giang, Airbnb 1614694700651096321 và Booking 15995581___1599558101 cùng parent_key = 3583058.
⚠️ Xem giá PriceLabs định đẩy TRƯỚC khi bật sync. Lịch của căn này hiện phần lớn các đêm nằm đúng ở sàn 3.450.000, tức thuật toán còn muốn xuống thấp hơn nữa nhưng bị Min chặn. Bật sync là giá Booking rơi từ 5.000.000 xuống quanh 3.450.000. Đó có thể là điều mình muốn (lấp đầy 13%), nhưng phải là quyết định có chủ ý, không phải tác dụng phụ.
7. Phần E — Việc BẮT BUỘC làm sau: nối lịch bằng iCal
🔴 PriceLabs KHÔNG đồng bộ tình trạng phòng. Nguyên văn: "PriceLabs does not manage availability. You need another tool to ensure that the calendar for your Airbnb and Booking.com is synced."
Nghĩa là nối xong giá chạy đúng nhưng hai kênh vẫn có thể bán trùng một đêm. Villa nguyên căn thì đặt trùng là hỏng thật, không phải phiền toái nhỏ.
Thêm một bẫy PriceLabs cảnh báo thẳng: "Even if your Airbnb and Booking.com are already synced prior connecting them to PriceLabs, please follow this step again as Booking.com may have removed the sync." ⇒ sau khi nối, phải mở lại phần iCal của Booking và kiểm, kể cả khi trước đó đã nối rồi. iCal do Booking quản, PriceLabs không can thiệp được; hỏng thì hỏi Booking support.
8. Những thứ sẽ mất hoặc đổi — biết trước để khỏi hoảng
| Thay đổi | Chi tiết |
|---|---|
| Mất chế độ xem lịch theo tháng | Booking tắt Monthly view với mọi property nối API. Chỉ còn List view và Yearly view. Đây là hành vi bình thường, không phải lỗi |
| Sửa giá tay trong extranet sẽ bị ghi đè | Nhãn XML (edits overwritten) nói đúng nghĩa đen. Từ đó về sau sửa giá ở PriceLabs, không sửa trong extranet |
| Giá không đổi từng ngày một cách mượt | PriceLabs dùng Delta Push: chỉ đẩy khi giá mới lệch từ ~5 USD trở lên so với lần đẩy trước |
| Lịch sử đặt phòng chỉ kéo về 15 ngày | Giới hạn của API Booking, không phải lỗi PriceLabs |
| Phí | Listing con map từ kênh khác tính khoảng 1 USD/tháng. Không map thì bị tính như một listing đầy đủ ⇒ map cha–con vừa đúng giá vừa rẻ hơn |
9. Thứ tự rút gọn
1. Chốt Min / Base / Max cho dòng Booking (user quyết)
2. Booking extranet → Account → Connectivity provider → PriceLabs → tick đủ quyền → Connect
(hoặc group extranet → Bulk editing → Manage connectivity provider)
3. Đợi PriceLabs xác nhận — thông báo về hộp thư extranet
4. PriceLabs → Add/Reconnect Listings → Booking.com → Yes → 16927056 → Connect
5. Nhập Min/Base/Max → Save & Refresh
6. Map Listings: parent = Airbnb 1729647978348243002, child = 16927056___1692705601
7. Kiểm ô BR của dòng mới (phải là 4 BR)
8. Bật Sync Prices
9. Xác minh 4 dấu hiệu ở mục 6
10. Nối lại iCal Airbnb ↔ Booking và kiểm — PriceLabs không lo tình trạng phòng
10. Liên quan
issues.mdL-15 · L-42 — hai việc mở mà cẩm nang này đóngissues.mdL-23 (chưa map cha–con) · L-18 (dòng Booking khai sai BR) — sửa luôn trong lúc làmplatforms/pricelabs.md§2 — bản đồ 36 listing và cách đọc Baseplatforms/booking.md§3 — ý nghĩa nhãn XML, sửa ở đâuvault/10-rules/ota-readonly-rule.md— vì sao agent không tự bấm