본문으로 건너뛰기

플러스 채널 예약

플러스 채널 예약의 가예약·확정·변경·취소 흐름입니다. 각 단계마다 ONDA와 공급사가 각자 유효성 검사를 수행합니다.

예약 처리 엔드포인트는 모두 공급사 API(ONDA → 공급사)이므로, 공급사가 서버로 구현합니다.

단계별 흐름

  1. 취소환불정책 사전 조회GET .../rateplans/{vendor_rateplan_id}/refund_policy
  2. 가예약 생성POST /bookings (유효성 검사 후 재고 차감)
  3. 예약 확정PUT /bookings/{vendor_booking_number}/confirm
  4. 예약 변경PUT /bookings/{vendor_booking_number}/modify (Soft Change만 허용)
  5. 예약 취소POST /bookings/{vendor_booking_number}/cancel
  6. 재고 재전송POST .../ari/avails

체크리스트

  • 가예약·확정·취소 각 단계 유효성 검사 (재고·요금·판매상태·영업일)
  • 가예약 생성 후 15분 이내 confirm 미호출 시 가예약 자동 취소(재고 복원) 로직 구현
  • 실제 공급사 예약은 gds_sub_booking_number 기준으로 생성
  • 예약 직전 일자별 취소환불 정책 전달
  • 확정 후 변경된 재고 재전송 (POST .../ari/avails)
  • 예약 typeovernight(숙박)만 사용
  • modify는 Soft Change만 허용 — Hard Change 요청 수신 시 거부·예외 처리 규격 정의
  • 예약 바우처(확정·취소) 숙소에 직접 발송
플러스 채널의 modify는 Soft Change만 허용

예약자·투숙자 정보 변경 같은 메타성 변경만 가능합니다. 투숙일 변경·예약 객실 변경 등 Hard Change는 플러스 채널에서 허용되지 않으며, 필요한 경우 취소 후 재예약으로 처리합니다. (직연동 채널은 Hard Change도 허용)

가예약 자동 취소 — 15분 타임아웃

가예약 생성 후 15분 이내에 예약 확정 호출이 없으면 해당 가예약은 자동으로 취소 처리되고 재고가 복원됩니다.

주요 필드

필드엔드포인트설명
payment_typePOST /bookings · confirm 응답플러스 채널은 항상 prepayment(선결제) 입니다. paid_amount(결제 금액)는 제거됐습니다.
net_pricePOST /bookings · modify 요청수수료를 제외한 정산금액(입금예정액)
canceled_bycancel 요청취소 주체 — user / admin / channel / system
memocancel 요청취소 사유·메모. 채널 관리자가 취소한 경우 canceled_by=channel과 함께 사유가 전달됩니다
typePOST /bookings 요청overnight(숙박)만 사용합니다
플러스 채널에서 취급하지 않는 필드

스펙에는 있지만 플러스 채널 예약에서는 전달되지 않습니다. 구현 대상이 아닙니다.

  • visit_type — 방문수단. 대실을 지원하는 일부 직연동 채널에서만 사용합니다
  • secondary_channel — 2차 채널링 판매 경로. 이를 지원하는 일부 레거시 채널에서만 전달됩니다

예약 번호 구조는 공통 · 개요를 참고하세요. 공급사 예약은 반드시 gds_sub_booking_number 기준으로 생성합니다.

엔드포인트

모두 공급사 API(ONDA → 공급사)입니다.

메서드경로설명
GET.../rateplans/{vendor_rateplan_id}/refund_policy취소·환불 정책 사전 조회
POST/bookings가예약 생성 (재고 차감)
PUT/bookings/{vendor_booking_number}/confirm예약 확정
PUT/bookings/{vendor_booking_number}/modify예약 변경 (Soft Change만)
POST/bookings/{vendor_booking_number}/cancel예약 취소

공급사가 ONDA의 예약 데이터를 조회할 때는 HUB API인 GET /gds/vendor/bookinglist · GET /gds/vendor/booking/{vendor_booking_number}를 사용합니다.