콘텐츠 생성
숙소·객실타입·요금제 모델·요금제 콘텐츠를 생성할 때 지켜야 할 규칙입니다. 생성 순서는 최초 판매 준비 개요를 참고하세요.
코드 카탈로그(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로 요금제 모델과 결합되는지 반드시 검증하세요.