예약 연동 (채널 → 서비스)

각 채널에서 숙소가 ONDA CMS를 사용하도록 설정한 경우, 설정한 시점부터 채널에서 발생한 예약은 ONDA CMS의 규격화 된 데이터로 변환되어 서비스에 전송됩니다.

이 과정에서 맵핑이 되어 있어야 정상적인 예약 연동이 가능하기 때문에, 채널에서 ONDA CMS 사용 설정 직후 맵핑 프로세스가 완료되도록 서비스 내부적으로 고객 안내 및 운영이 필요합니다.

예약 연동을 위해 다음의 과정들이 진행되는데, 서비스는 ONDA CMS가 서비스로 요청하는 웹 훅에 응답할 수 있도록 구현이 필요합니다.
자세한 사항은 ONDA CMS 팀 메일로 문의해주세요.

예약 가능 여부 확인

ONDA CMS는 채널에서 예약을 보내온 경우, 서비스에 웹 훅을 요청해 예약이 가능한 상태인지 판단하고, Airbnb와 같이 지원하는 채널의 경우 예약 거부 응답을 보낼 수 있습니다.

이 요청에 대해 서비스는 재고, 판매 중지, Out of Order/Service 등을 고려하여 예약 가능 여부를 Boolean 값으로 응답해야 합니다.

예약 생성 전

curl --location --request GET 'https://$SERVICE_ENDPOINT?channelId=1&serviceRoomtypeId=1000&checkInDate=2022-01-01&checkOutDate=2022-01-01&count=1' \
--header 'Authorization: $SERVICE_ACCESS_TOKEN' \
--header 'Content-Type: application/json'
QueryTypeComment
channelIdEnum<Int>채널 목록
serviceRoomtypeIdString서비스 객실 ID
checkInDateString (YYYY-MM-DD)확인할 기간의 체크인 날짜
checkOutDateString (YYYY-MM-DD)확인할 기간의 체크아웃 날짜
countInt차감해야 하는 재고

예약 변경 전

curl --location --request GET 'https://$SERVICE_ENDPOINT?channelId=1&serviceRoomtypeId=1000&checkInDate=2022-01-01&checkOutDate=2022-01-01&count=1&channelReservationId=1234567890' \
--header 'Authorization: $SERVICE_ACCESS_TOKEN' \
--header 'Content-Type: application/json'

이 요청의 Query는 예약 생성 전 Query 데이터를 확장합니다.

QueryTypeComment
channelReservationIdString채널 예약 번호

예약 변경 전의 예약 가능 여부 확인 요청에는 채널 예약 번호를 추가적으로 전달하는데, 이 경우 해당 예약 번호를 가진 예약이 포함하는 기간은 제외하고 확인하여야 합니다.

재고 재동기화 요청

만약 ONDA CMS가 위 과정에서 예약 불가능 응답을 받았다면, 재고 동기화를 다시 진행하기 위해 서비스로 웹 훅을 요청합니다.

curl --location --request POST 'https://$SERVICE_ENDPOINT?serviceId=1&channelId=1&serviceRoomtypeId=1000&from=2022-01-01&to=2022-01-01' \
--header 'Authorization: $SERVICE_ACCESS_TOKEN' \
--header 'Content-Type: application/json'
QueryTypeComment
serviceIdIntONDA CMS가 연동된 서비스에 부여한 ID
channelIdEnum<Int>채널 목록
serviceRoomtypeIdString서비스 객실 ID
fromString (YYYY-MM-DD)재고 동기화를 요청해야 할 기간의 시작일
toString (YYYY-MM-DD)재고 동기화를 요청해야 할 기간의 종료일

서비스 API가 이 웹 훅을 요청 받았다면, 재고 동기화 요청 API를 사용하여 해당 기준에 맞는 재고를 동기화 요청한 뒤, 요청 성공 여부를 Boolean 값으로 응답해야 합니다.

예약 전송

위 과정들이 모두 성공으로 진행 완료 되었다면, ONDA CMS는 서비스의 예약 웹 훅 API로 예약 데이터를 전송합니다.

curl --location --request POST 'https://$SERVICE_ENDPOINT' \
--header 'Authorization: $SERVICE_ACCESS_TOKEN' \
--header 'Content-Type: application/json'
--data-raw '{
  ...
}'

Body의 데이터 형식은 예약 문서를 참고해주세요.

서비스 API는 예약의 처리 결과에 따라 다음과 같은 형식의 Object로 응답해야 합니다.

FieldTypeComment
succeedBoolean예약 처리 성공 여부
reason?String | undefined | null예약 처리 실패 사유