🏨 Sổ tay tổng quát quản lý giá khách sạn

tp.1bogo.live · cập nhật 2026-07-28 · Chính sách so sánh: Chính sách so sánh giá →  |  한국어 · English · Tiếng Việt

① Bức tranh lớn — Chu trình quản lý giá

1. Thu thậpGiá của ta & đối thủ
tự động + extension + thủ công
2. Kiểm địnhKhớp phòng · cờ QA
bảo đảm độ tin cậy dữ liệu
3. So sánhSo sánh phòng đã tuyển chọn
theo giá niêm yết trên trang
4. Điều chỉnhGiá đề xuất trên workbench
áp dụng/yêu cầu trong giới hạn
5. Theo dõiTín hiệu bán · biến động
xác nhận hiệu quả → về bước 1
🎯 Mục tiêu vận hành: "Luôn rẻ hơn một chút so với giá mà đối thủ niêm yết trên trang của họ, nhưng không bao giờ phá sàn lợi nhuận Net."
🚨 Nguyên tắc giá cao nhất (CEO xác định 2026-08-15): mọi con số hiển thị như một mức giá phải là giá mà khách hàng tự nhìn thấy được trên chính trang đó. Giá ẩn ước tính từ nội dung thông báo khuyến mãi không phải là giá và không được dùng để so sánh, đề xuất hay gửi đi. Nó chỉ xuất hiện dưới dạng thông báo "có thể có giá ẩn −N% (chưa xác minh)"; mức giảm thật chỉ ảnh hưởng đến giá sau khi đã được đo trên trang thanh toán.

② Bản đồ màn hình — Làm gì ở đâu

🏠 Danh sách khách sạn

  • Toàn bộ khách sạn (chế độ thẻ/danh sách)
  • Danh sách khẩn cấp: khách sạn đắt hơn · chênh lệch giá lớn nhất
  • Tìm kiếm (Hàn/Anh), nút thu thập lại & yêu cầu thu thập
  • KPI nhỏ: số khách sạn đắt hơn / thiếu Tourpik

⭐ So sánh phòng tuyển chọn (chính)

  • Giá 3 bên theo từng nhóm phòng đã xác nhận, mỗi nhóm một hàng
  • Dòng tiêu đề: tình hình bán (tuần · tháng · tháng trước · 3 tháng)
  • Bật/tắt thông báo giá ẩn · so sánh toàn bộ mức giá (số tiền hiển thị không đổi)
  • Phán định so với đối thủ (dấu ±) · link ↗ theo phòng (tự đặt mức giá & ngày)
  • KPI: đắt hơn / nghi lỗi nhập / chênh lệch tối đa

💰 Workbench điều chỉnh giá

  • Bảng Sale/Net/markup/giá thấp nhất đối thủ theo phòng & khuyến mãi
  • Áp quy tắc (mặc định chế độ ₩) → xem trước → áp dụng/yêu cầu
  • Cột mở: TP PK TR deep link tự đặt mức giá & ngày
  • Hiển thị lý do "không thay đổi" theo từng hàng

🛏 Quản lý khớp phòng

  • Xác nhận/tạm giữ/loại trừ theo nhóm + tên đại diện & ghi chú
  • Rà soát nghi vấn (lệch số phòng ngủ, v.v.)

📈 Tín hiệu đối thủ / Bảng giá

  • Chuỗi thời gian competitor_signal · doanh số thực của ta
  • Tab bảng giá: giá KV gốc

🧪 QA dữ liệu / Chi tiết

  • Kiểm tra hàng theo mức độ (khẩn/chú ý/thường)
  • Lý do không so sánh được · tóm tắt điều kiện

③ Thu thập — Ba con đường

Con đườngHoạt độngLưu ý
🤖 Pipeline tự độngThu thập theo lịch server (TP_PIPELINE=1). Bảng giá của ta mỗi 6 giờ + thu thập lại bucketThu thập lại toàn bộ bucket dùng khung giờ ranh giới ngày Việt Nam (UTC+7)
Extension Chrome (nhanh)Thu thập ngay trên trang — mặc định khi đã cài extension. Hiển thị tiến độ & giai đoạn; lỗi lưu được báo là thất bạiSửa extension = đóng gói lại + kiểm tra phiên bản zip là một đơn vị. Zip mới nhất: /downloads/tp-ext.zip
🖱 Thu thập lại thủ côngNút thu thập lại trên thẻ/chi tiết khách sạn. Hoàn tất sẽ xoá cache Tripon ngay → hiển thị giá trị mới tức thìLàm mới trang ngay sau khi thu thập lại
🚨 Cấm pm2 restart khi đang thu thập — trạng thái thu thập đang chạy sẽ mất (đã từng xảy ra sự cố restart-wipe). Chỉ triển khai khi không có thu thập nào chạy.

④ Quy trình hằng ngày

1
Danh sách khách sạn → xem danh sách khẩn cấpBắt đầu từ các khách sạn "đắt hơn tối đa +N₩". Ưu tiên theo số lượng đắt hơn / thiếu Tourpik
2
Chi tiết khách sạn → kiểm tra độ tin cậy dữ liệu ở màn tuyển chọnXử lý cờ T0 trước (nghi khớp phòng · lệch bữa sáng · nghi lỗi nhập · giá bất thường) — dữ liệu sai thì điều chỉnh cũng sai
3
So sánh theo giá niêm yết trên trangPhán định đắt/rẻ theo giá mà đối thủ niêm yết trên trang của họ. Huy hiệu thông báo giá ẩn chỉ để tham khảo, không dùng để so sánh. Đối chiếu chéo qua link ↗ tới trang thực tế
4
Workbench → áp quy tắc (xem trước)Chế độ ₩ (giá thấp nhất đối thủ − khoảng ngẫu nhiên) mặc định · kiểm tra kẹp giới hạn 🟡 · bỏ chọn phòng cần loại
5
Áp dụng hoặc ghi yêu cầuKhách sạn LIVE = gửi thật khi duyệt / còn lại = niêm phong (chỉ ghi). Ghi căn cứ điều chỉnh vào memo
6
Theo dõi hiệu quả qua tình hình bán & tín hiệu đối thủDòng doanh số trên tiêu đề màn tuyển chọn (tuần/tháng/tháng trước/3 tháng) + chuỗi thời gian tab tín hiệu

⑤ Từ điển nhãn & cảnh báo — Thấy là làm

Bảng giá đã cập nhật · giá đại diện là snapshot cũSnapshot của ta lệch với bảng giá — bình thường trang sẽ chờ thu thập lại và hiển thị giá mới; nhãn này chỉ còn khi thu thập lại thất bại/quá hạn→ làm mới sau ít phút; báo cáo nếu kéo dài Có thể có giảm giá ẩnThông báo của đối thủ có nhắc đến giảm giá điều kiện, nhưng chưa xác minh được là có thật→ chỉ là thông báo; giá thấp nhất đối thủ vẫn là giá niêm yết Đắt hơn PK +N₩Ta cao hơn giá thấp nhất đối thủ (mỗi đêm)→ ứng viên điều chỉnh Rẻ hơn PK −N₩Ta rẻ hơn — trạng thái mục tiêu→ nếu rẻ quá mức, kiểm tra lợi nhuận ⚠ Nghi lỗi nhập giáGiá ta dưới một nửa giá thấp nhất đối thủ — khả năng nhập nhầm→ kiểm tra bảng giá gốc ⚠ Giá bất thường / nghi khớp phòngVấn đề độ tin cậy khớp/dữ liệu→ kiểm tra lại ở Quản lý khớp phòng △ So sánh lệch điều kiệnKhông có dữ liệu cùng ngày nhận/số đêm — so bằng giá thấp nhất tự động→ thu thập lại để có điều kiện khớp Chưa thu thập N đối thủThiếu dữ liệu một số đối thủ→ thu thập lại Không so sánh được (chỉ hiển thị)VD: sức chứa đối thủ không đủ — loại khỏi tính toán→ chỉ tham khảo Niêm phong · chỉ ghiKhách sạn không LIVE — điều chỉnh không được gửi thật→ chuyển LIVE trong quản lý chính sách nếu cần LIVE · gửi thật khi duyệtKhách sạn này truyền tới API giá thật→ luôn kiểm tra xem trước khi áp dụng 🟡 Kẹp giới hạnGiá đề xuất chạm sàn Net và được nâng lên→ xem lại sàn chính sách

⑥ Vận hành giá ẩn

Phân tích quy tắcTrang chi tiết PK
long-stay · early-bird · mùa
Cổng rủi roquy tắc mơ hồ bị tạm giữ
(không hiển thị > giảm quá tay)
Thông báohuy hiệu "có thể −pct% (chưa xác minh)"
giá không thay đổi
Kiểm toánđơn giá 1 đêm vs N đêm
kiểm tra toàn bộ áp trùng
Khi nàoLàm gì
Không thấy huy hiệu thông báo giá ẩn
(không liên quan đến con số giá — D-030)
Kiểm tra theo thứ tự: ① ngày nhận có trong kỳ hạn quy tắc ② đủ số đêm/lead-days ③ quy tắc có bị tạm giữ rủi ro (rulesHeld). Làm mới quy tắc: node scripts/refresh-hidden-promos.js --apply
Giá ẩn có vẻ saiĐối chiếu với cửa sổ đặt phòng thực (bước thanh toán) — mục giảm thêm như [ưu đãi ở dài] — cấm phán định bằng tỷ lệ giảm hiển thị
Kiểm tra định kỳGiữ "đã áp sẵn" = 0 bằng scripts/audit-hidden-applied.js. Khách sạn chỉ có early-bird phải kiểm tra thủ công cửa sổ đặt phòng

⑦ Quy tắc an toàn

MứcQuy tắc
🚨Cấm restart khi đang thu thập — mất trạng thái thu thập
🚨Cấm gửi thử tới khách sạn LIVE — giá bán thật sẽ thay đổi. Thử trên khách sạn niêm phong
🚨Cấm kết luận giá ẩn "đã áp sẵn" từ tỷ lệ giảm hiển thị — đừng mắc bẫy cách trình bày marketing
⚠️Đổi quy tắc khớp phòng (room-sig) phải chạy hồi quy npm test + rà thủ công entry TRIPON mới
⚠️Sửa extension chỉ tính là đã triển khai sau khi đóng gói lại + xác minh phiên bản zip
⚠️Trước khi áp dụng, tạo thói quen kiểm tra kẹp giới hạn & lý do "không thay đổi" trong xem trước
ℹ️Triển khai: sau khi sửa code chạy pm2 restart tourpik-price-report (không cần build; public/* không cần restart)

⑧ Bảng xử lý sự cố nhanh

Triệu chứngNguyên nhân số 1Xử lý
Đăng nhập xong không thấy danh sáchID đăng nhập bị tự điền vào ô tìm kiếmXoá ô tìm kiếm
Giá khác với trang thực tếChênh lệch thời điểm thu thập (thẻ có ghi căn cứ & ngày)Thu thập lại → làm mới. Cache Tripon tự xoá
Nhãn "snapshot cũ" kéo dàiThu thập lại của ta thất bại (cooldown 15 phút)Kiểm tra lại sau; báo cáo nếu kéo dài
Không phát hiện giá ẩnNgày nhận ngoài kỳ hạn / quy tắc bị tạm giữTheo quy trình mục ⑥
Mọi tài khoản không đăng nhập đượcXung đột DB khi khởi độngpm2 restart (lúc không thu thập)
Extension đứng/báo lỗi khi thu thậpLỗi lưu (ingest) — được báo là thất bại, không nguỵ trang thành côngThử lại; báo cáo nếu lặp lại

Dịch vụ: pm2 tourpik-price-report · cổng 3201 · giới hạn bộ nhớ 700M · DB PostgreSQL tourpik_price_report

⑨ Tính năng mới (tính đến v1.0.7.89)

Duyệt / từ chối ngay trên TelegramKhi một đợt điều chỉnh giá tự động kết thúc ở trạng thái chờ duyệt, kênh giá sẽ nhận báo cáo kèm nút Duyệt / Từ chối. Duyệt cần hai lần chạm (có bước xác nhận), từ chối chỉ một. Nếu xử lý trước ở màn hình quản trị, các nút sẽ tự đóng.
Thời gian đã chạy và còn lại trên thanh tiến trìnhThanh tiến trình “Quét ngay” hiển thị thêm thời gian đã chạythời gian còn lại ước tính, tính theo giai đoạn hiện tại.
Tự động bổ sung ghép phòngNếu đối thủ được thêm vào sau, chỉ cần chạy thu thập một lần là ghép phòng được điền tự động — nhưng chỉ với tên phòng trùng khớp chính xác. Trường hợp gần giống sẽ không tự gắn, hãy kiểm tra ở màn hình Curation.
Xem và sửa khoảng giáBấm vào “Đang áp dụng N khoảng theo giá” trong workbench để mở bảng mức giảm theo từng khoảng giá đối thủ, kèm nút Sửa quy tắc đi thẳng tới màn hình quy tắc giá.
Hiển thị phiên bản trên màn hìnhSau tên sản phẩm ở thanh trên cùng có v 1.0.7.89. Số này tăng mỗi lần triển khai — nêu nó khi báo lỗi sẽ giúp xác định chính xác bản dựng bạn đã thấy.