본문으로 건너뛰기

직연동 레거시 채널 오픈

channel_type=cms 채널 중 레거시 직연동 채널(Booking.com, Agoda, Expedia, Trip.com 등)의 오픈 흐름입니다. 플러스 채널과 달리 채널 설정과 매핑 단계가 필요합니다.

매핑 사전 단계 분기​

채널 메타의 requires_cms_authorization 값에 따라 매핑 사전 단계가 갈립니다.

requires_cms_authorization매핑 사전 단계예시 채널
false채널 측 숙소 정보 조회 — GET /gds/vendor/channels/{channel_id}/properties/{channel_property_id}부킹닷컴, 아고다, 익스피디아, 트립닷컴
trueOAuth 인증 — GET /gds/vendor/channels/{channel_id}/authorization · 구현은 에어비앤비 인증 구현 참고에어비앤비

단계별 흐름​

  1. 채널 탐색 — GET /gds/vendor/channels
  2. 채널 ON 신청 — POST .../channels/{channel_id} { "request_type": "on" }
  3. 매핑 사전 단계 — 위 분기 표에 따라 채널 측 숙소 정보 조회 또는 OAuth 인증
  4. 채널별 부가옵션 설정 — PATCH .../channels/{channel_id}/settings (RFC 7396 Merge Patch)
  5. 매핑 — PATCH .../mappings (숙소 → 객실 → 요금제)
  6. 요금·영업일 전송 — POST .../ari (type: overnight)
  7. 재고 전송 — POST .../ari/avails

체크리스트​

  • 채널 메타에서 requires_cms_authorization 값 확인 후 매핑 사전 단계 분기
  • 채널 측 숙소 정보로 channel_roomtype_id / channel_rateplan_id 후보 확보
  • 숙소 → 객실 → 요금제 매핑 완료
  • 에어비앤비: 요금제 개념이 없어 요금제 매핑 시 0으로 매핑
  • ON 신청 후 processing_mode 분기 처리 (auto_approve / external_review)
  • POST .../ari 요금·영업일 전송 완료 (type: overnight)
  • POST .../ari/avails 재고 전송 완료 (객실타입 단위 통합 재고 · 최대 730일)
  • 재고는 룸온리(객실타입) 기준 — package 재고를 standalone에 맞추어 전송
에어비앤비 요금제 매핑

에어비앤비는 요금제 개념이 없으므로 요금제 매핑 시 channel_rateplan_id를 0으로 매핑합니다.

채널 오픈 신청 요청 바디​

{
"request_type": "on",
"channel_property_id": "CP-001",
"note": "채널 담당자와 협의된 오픈 요청입니다."
}
필드설명
request_typeon (오픈) / off (중지)
channel_property_id채널 측 숙소 ID (선택). processing_mode=external_review 채널(예: 부킹닷컴) 신청 시 함께 전송 가능. request_type: "on" 에만 허용되며, off에 전송하면 400. 같은 채널에서 다른 숙소가 이미 사용 중인 ID면 409. 제출 시 신청 시점에 숙소 매핑에 반영됩니다.
note신청자 비고 (선택, 최대 16,000자). on·off 모두 허용되며 운영자가 확인할 전달 사항을 기입합니다.

채널별 인원추가비용 설정​

채널별 부가옵션은 채널 설정 엔드포인트(RFC 7396 Merge Patch)로 설정합니다. 인원추가비용은 채널마다 지원 여부와 설정 방법이 다릅니다.

채널인원추가비용설정 방법
익스피디아미지원—
부킹닷컴미지원—
트립닷컴지원숙소 단위 설정의 pricing_model — OBP(Occupancy Based) / Standard(Per Room). OBP인 경우 숙소 settings.extra_adult_price가 요금에 포함됩니다.
아고다지원인원수별 금액 전송(Occupancy Based). 기준 인원 초과분에 대해 인원수에 해당하는 금액을 채널로 전송하며, 숙소 settings.extra_adult_price가 포함됩니다.
에어비앤비지원객실 단위 설정 시 숙소 settings.extra_adult_price가 자동 반영됩니다.
경고

객실 단위 채널 설정(.../roomtypes/{vendor_roomtype_id}/channels/{channel_id}/settings)은 에어비앤비 전용입니다. 다른 채널에서 호출하면 에러가 발생합니다.

부모 요금제 (channel_parent_rateplan_id)​

GET /gds/vendor/channels/{channel_id}/properties/{channel_property_id} 응답의 rateplans object에 부모 요금제 ID가 반환됩니다.

  • 해당 요금제는 연결은 가능하나, 별도 요금을 전송해도 채널에 전송되지 않습니다
  • 요금은 channel_parent_rateplan_id가 가리키는 부모 요금제 요금을 기준으로 자동 변동합니다
  • 지원 채널: 부킹닷컴 · 아고다

채널 오픈 조건 검증​

검증 항목 전체는 플러스 채널 오픈 가이드와 동일합니다.

레거시 채널 콘텐츠 검증 완화

레거시 채널(requires_cms_authorization=false)은 채널 오픈 시 숙소 대표 이미지 · 카테고리 · 객실 이미지 검증을 하지 않습니다.

엔드포인트​

경로 prefix는 /gds/vendor 입니다.

채널 탐색 · 인증

메서드경로설명
GET/channels전체 채널 메타
GET/properties/{vendor_property_id}/channels숙소별 오픈 가능 채널·신청 상태
GET/channels/{channel_id}/properties/{channel_property_id}채널 측 숙소 정보 · 응답에 channel_parent_rateplan_id 포함
GET/channels/{channel_id}/authorizationOAuth 인증 URL — requires_cms_authorization=true 채널 전용 (구현 가이드)

채널 매핑

범위메서드경로
숙소GET · PATCH/properties/{vendor_property_id}/channels/{channel_id}/mappings
객실GET · PATCH.../roomtypes/{vendor_roomtype_id}/channels/{channel_id}/mappings
요금제GET · PATCH.../rateplans/{vendor_rateplan_id}/channels/{channel_id}/mappings

채널 오픈 신청

메서드경로설명
POST/properties/{vendor_property_id}/channels/{channel_id}ON·OFF 신청
GET/properties/{vendor_property_id}/channels/{channel_id}신청 상태·히스토리 조회