📊 가격 비교 정책 — 한눈에 보기

투어픽 vs 피크타임·트립온 · 2026-07-28 기준 · 운영 매뉴얼: 총괄 매뉴얼 →

① 전체 파이프라인

수집자사 요금표·스냅샷
PK·TR API/확장
정렬같은 체크인·박수·인원
버킷으로 맞춤
숨은가경쟁사 조건 할인
실효가 계산
판정1박 단가 비교
티어·플래그
가격 조정경쟁최저 대비
추천가 · 가드
🎯 비교의 기본 단위 = “같은 조건(체크인·박수·인원)의 1박 환산 단가” — 조건이 안 맞으면 가격이 아무리 있어도 그대로 비교하지 않는다

② 3사 가격은 어디서 오나

TP 투어픽 (우리)

  • 요금표: 관리자 API KV(net/sale) × 환율
  • 공식 스냅샷: 상품 API 원화 확정가 → 화면 대표가
  • stale 감지: 스냅샷 vs 요금표 내용 비교 (가격 불일치·키 누락)
  • stale이면 재수집을 기다렸다 최신가 표시. 실패·45초 초과시에만 “옛 스냅샷” 배지

PK 피크타임

  • 상세 API (박수·날짜별 실가격)
  • 1/2/3BR은 residual별 버킷 분리 (하위요금 혼입 방지)
  • 상세 페이지에서 숨은가 룰 파싱 (롱스테이·얼리버드)

TR 트립온

  • 객실 API (호텔 단위 최저가 성격)
  • “가장 싼 객실 기준” 주석 병기
  • 재수집 시 캐시 즉시 무효화 — 수집 시점의 신선한 값 바로 표시
경쟁사 가격 출처 우선순위의미
1️⃣ 조건일치 (bucket)같은 체크인·박수로 수집된 값 — 가장 신뢰
2️⃣ 라이브실시간 수집값
3️⃣ 자동최저다른 체크인의 최저값 — 날짜를 표기하고 “조건 미일치 비교 △” 경고

③ 숨은가 결정 트리 — 경쟁사의 “진짜 가격” 찾기

1. 이 호텔에 파싱된 할인 룰이 있나? (롱스테이 N박+ x% / 얼리버드 N일전 x%)
NO숨은가 없음 — 표시가 그대로 비교 YES↓ 다음
2. 체크인이 룰 기간(시즌 합집합) 안 + 제외기간(블랙아웃) 미저촉?
NO미적용 YES↓ 다음
3. 조건 충족? (박수 ≥ minNights / 예약 리드일수 ≥ leadDays)
NO미적용 YES↓ 다음
4. 이미 표시가에 반영됐나? — 유일한 근거는 박수별 단가 비교
같은 룸·같은 체크인의 1박 단가보다 N박 단가가 0.5% 이상 낮으면 반영된 것
반영됨이중 할인 방지 — 미계산 미반영숨은가 = 표시 판매가 × (100 − 최대 할인율)%
🚨 절대 규칙: 정가→판매가 할인(예: ↓10%)은 박수와 무관한 상시 마케팅 할인이다. 표시 할인율이 룰과 비슷하다는 이유로 “이미 반영됨” 처리 금지 — 조건 할인은 결제 단계에서 그 위에 추가로 빠진다 (API 1/2/3박 단가 동일 + 결제창 [연박혜택] 실측 확인).
안전 원칙: 룰이 모호하면(같은 조건에 상이한 할인율, 기간 미상 등) 위험 게이트가 룰을 통째로 보류 — 숨은가 미표시가 과잉 할인보다 안전. 전수 감사(53룰): 미반영 49 · 이미반영 0 (2026-07-28).

④ 판정 — 누가 싸고 얼마나 차이나나

자사 대표가 (1박) vs 경쟁사별 실효가 (숨은가 ON이면 숨은가, OFF면 표시가)
diff = 우리 − 경쟁최저+N원 비쌈 / −N원 저렴 / 동일
플래그 검사 → 우선순위 티어 부여
T0
⚠ 데이터 의심

룸매칭 의심 · 가격 괴리 · 조식 불일치 · 입력오류 의심(경쟁최저 ½ 이하) · 고지≠실제 할인율

T1
🔴 우리가 비쌈

diff > 0 — 가격 조정 1순위

T2
⚪ 비교 불가

가격 미상 · 경쟁가 미수집 · 정원 미달(표시만)

T3
🟢 정상

우리가 같거나 저렴

룸매칭: 자동매칭 폐기 → stay-level 비교 + 수동 확정 매핑. room-sig 정규화로 후보 생성, 침실수 불일치 등은 suspect 플래그로 경고만.

⑤ 가격 조정(워크벤치) — 추천가와 안전장치

경쟁최저실효가 기준
원모드 (기본)최저가 − 설정범위
룸별 랜덤 (10원 단위)
Net 하한 가드Net+원/% 미달 시
클램프 🟡
전송LIVE만 실전송
그 외 봉인(기록만)
마크업 우선순위프로모션 행 > 룸 행 > 호텔 공통  ·  새 Sale = Net × (1+마크업%)
건너뜀경쟁가 없는 룸 · 체크 해제 룸 (사유 행별 표시: 제외됨/가드동일/경쟁가없음/이미목표)
최종 방어서버 정책 가드가 전송 직전 재검증·차단

⑥ 검증 도구

도구용도
npm test문법 + 스케줄 + 락 + 룸매칭(room-sig) 회귀
scripts/audit-hidden-applied.js숨은가 전제(조건 할인 미반영) 전수 감사 — 1박 vs N박 단가
scripts/refresh-hidden-promos.js숨은가 룰 전수 재파싱 (dry-run 기본 · --apply 백업 후 반영 · 위험 청소)
scripts/audit-room-matches.js · audit-official-products.js · check-curated-cond.mjs룸매칭 · 자사 스냅샷 · 큐레이션 조건 정합 감사