본문으로 건너뛰기

콘텐츠 생성

숙소·객실타입·요금제 모델·요금제 콘텐츠를 생성할 때 지켜야 할 규칙입니다. 생성 순서는 최초 판매 준비 개요를 참고하세요.

코드 카탈로그(meta) 활용​

숙소·객실의 코드성 필드(_tags 등)는 임의 문자열이 아니라 ONDA가 정의한 tag code를 사용해야 합니다.

  • 조회: GET /gds/vendor/meta — 사용 가능한 코드 목록 반환
  • 최초 동기화(콘텐츠 생성) 전 meta 조회로 코드 매핑 테이블을 내재화합니다
  • 콘텐츠 업데이트 시에도 동일 코드 체계를 참조해 _tags를 설정합니다
  • meta 코드 변경(추가·삭제) 대응을 위한 주기적 재조회 정책을 수립합니다

한국어 외 언어 콘텐츠 전송​

콘텐츠에 한국어 외 언어를 포함할 때는 i18n 다국어 필드에 언어별 값을 전달합니다.

  • 대상: 숙소·객실타입·요금제 모델·요금제의 i18n 필드
  • 지원 언어 코드 체계를 정의합니다 (예: ko, en, ja, zh)
  • 언어별 콘텐츠 매핑 및 기본(fallback) 언어 규칙을 정합니다
  • 표기 불가 특수문자 제거 규칙을 함께 적용합니다

요금제 모델 · 요금제 구조​

요금제는 객실타입(roomtype) × 요금제 모델(rateplan-model) 의 결합입니다. 객실타입과 요금제 모델은 모두 숙소(property) 하위에 있습니다.

요금제 모델 type 생성 규칙

숙소(property) 단위로 type별 생성 개수 제한이 다릅니다.

  • standalone: 숙소당 1개 필수, 최대 1개만 생성 가능
  • package: 생성 개수 제한 없음
채널 전용 요금제 — 요금제 모델 channels 필드

POST .../rateplan-models의 optional channels 필드로 채널 전용 판매를 지정합니다.

  • 미전송 시 전체 채널 판매, 전송 시 channels에 포함된 채널에만 판매
  • 채널 오픈 시 channels에 포함된 채널에만 요금제 매핑 생성 (해당 채널에 객실 매핑이 생성·오픈된 경우에 한함)
  • 오픈 후 수정 동작
    • 추가([131] → [131, 132]): 132만 매핑 생성
    • 삭제([131, 132] → [131]): 기존 매핑 유지, 이후 생성되는 요금제는 132 매핑 미생성
    • 빈값([131, 132] → []): 생성 가능한 모든 채널 매핑 생성

숙소 기본 추가 성인요금 (settings.extra_adult_price)​

숙소 생성·수정 요청 바디의 settings object에 포함하는 숙소 단위 기본 추가 성인요금 필드입니다.

  • 값: 정수(KRW). null 전송 시 미설정으로 초기화됩니다.
  • 레거시 채널: Agoda·Trip.com의 Occupancy Based 요금에 포함됩니다. Per Room 요금에는 포함되지 않습니다.
  • 플러스 채널: 인원추가비용으로 사용됩니다.

콘텐츠 엔드포인트​

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

객체메서드경로필수값 · 비고
숙소POST/properties필수 id, i18n (ko-kr) · settings.extra_adult_price 지원
숙소PATCH/properties/{vendor_property_id}숙소 수정 · extra_adult_price 초기화(null)
숙소GET/properties · /{vendor_property_id}비상용 조회
객실타입POST/properties/{vendor_property_id}/roomtypes필수 id, i18n (ko-kr)
객실타입PATCH.../roomtypes/{vendor_roomtype_id}객실 수정
객실타입GET.../roomtypes · /{vendor_roomtype_id}비상용 조회
요금제 모델POST/properties/{vendor_property_id}/rateplan-models필수 id, i18n (ko-kr) · optional channels
요금제 모델PATCH.../rateplan-models/{vendor_rateplan_model_id}모델 수정
요금제 모델GET.../rateplan-models · /{vendor_rateplan_model_id}비상용 조회
요금제POST.../roomtypes/{vendor_roomtype_id}/rateplans필수 id, vendor_rateplan_model_id
요금제PATCH.../rateplans/{vendor_rateplan_id}요금제 수정
요금제GET.../rateplans · /{vendor_rateplan_id}비상용 조회
경고

요금제 생성 시 요청 바디 필수값 vendor_rateplan_model_id로 요금제 모델과 결합되는지 반드시 검증하세요.