예약 보류 및 재개

Rapid API의 보류 및 재개 기능은 2단계 예약 모델을 지원할 수 있습니다.

2단계 예약 모델을 사용하는 경우 파트너 또는 여행객은 즉각적인 요금 청구 없이 객실을 보류할 수 있으며, 예약을 완료하지 않고 객실을 취소하거나 포기하는 경우 취소 위약금이 발생하지 않습니다.

여행객 또는 파트너가 지정된 기간 내에 객실을 확정하고자 하는 경우 두 번째 단계로 예약을 완료할 수 있습니다. 예약을 포기하면 자동으로 롤백되고 선택한 재고가 해제됩니다.

개요

예약 요청은 `hold` 상태로 전환한 다음, 응답의 링크를 통해 `retrieve`, `resume` 또는 `cancel`로 전환할 수 있습니다.

필요한 변경 작업

보류 및 재개는 새로운 요청 플래그와 응답에 토큰화된 새로운 링크가 있는 기존 API를 사용합니다. 통합하는 데 새로운 API 메서드가 별도로 필요하지 않습니다. 보류 및 재개 기능을 통합하려면 요청을 업데이트하거나 다음의 처리에 응답해야 합니다.

  1. 예약 생성 처리
  2. 예약 검색 처리
  3. 재개 - 검색 응답의 새로운 토큰 링크 처리
  4. 취소 - 생성 응답의 새로운 토큰 링크 처리

전반적인 보류 및 재개 프로세스를 잘 이해할 수 있도록 개별 통합 API 설명서를 참조하기 전에 이 페이지를 충분하게 검토해 주세요. 이 페이지에 나와 있는 특정 옵션은 기존 예약예약 관리 API의 전용 설명서 페이지에서도 각각 확인할 수 있습니다.

응답의 링크를 통해 HTTP 상태 코드를 확인하고 예약 상태를 변경합니다.

보류 중인 예약 생성

현재 예약 요청에는 hold라는 새로운 부울 필드가 있습니다. true 값을 보내면 숙박 시설이 보류 상태로 전환됩니다.

보류 중인 예약은 특정 애플리케이션에 필요한 최소한의 시간 동안 보류 상태로 남게 됩니다. 확인되지 않은 채 보류 상태로 남아 있는 경우에는 예약이 자동으로 롤백됩니다.

성공한 보류 중인 예약 응답은 보류 중인 예약을 재개, 확인 및 결제하는 데 사용되는 토큰화된 추가 링크를 반환합니다. 또한 아직 어떤 객실도 취소할 수 없으므로, 취소 링크를 제공하는 데 일반적으로 사용되는 객실 배열을 생략합니다.

보류 중인 예약에 대한 예약 응답 예

{
    "itinerary_id": "2667552437552",
    "links": [
        {
            "rel": "retrieve",
            "method": "GET",
            "href": "/v3/itinerary/{itinerary_id}?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m"
        },
        {
            "rel": "resume",
            "method": "PUT",
            "href": "/v3/itinerary/{itinerary_id}?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m"
        },
        {
            "rel": "cancel",
            "method": "DELETE",
            "href": "/v3/itinerary/{itinerary_id}?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m"
        }
    ]
}

hold 플래그가 예약에 사용된 경우 예약 결제 금액이 청구되지 않습니다. 보류 중인 예약 응답의 PUT 메서드 링크가 보류 기간 내에 사용되는 경우에 한하여 예약이 완료되고 결제 금액이 청구됩니다.

보류 중인 예약 검색

보류 중인 예약 응답에 제공되는 retrieve 링크를 사용하여 보류 중인 예약을 검색합니다. 보류 및 재개 예약을 검색하는 방법은 1단계 예약의 일반 검색과 다르지 않으며, 요청 본문이 필요하지 않습니다.

응답 시나리오:

  • 계속 보류 중인 보류 중 예약을 검색하면 예약을 즉시 재개하여 완료하거나 취소할 수 있는 링크를 포함하여 데이터가 제한된 응답이 반환됩니다.
  • 취소(요청에 따라 롤백)되었거나 시간이 초과(자동으로 롤백)된 보류 중인 예약을 검색하면 '일정을 찾을 수 없음' 오류가 반환됩니다.
  • 이전에 재개되어 확정된 보류 중 예약을 검색하면 표준 일정 검색과 동일한 작업이 수행되고, 전체 예약 세부 정보가 반환됩니다.

보류 중인 예약에 대한 검색 응답 예

{
    "itinerary_id": "8701934321257",
    "creation_date_time": "2018-03-09T14:42:58.159Z",
    "links": {
        "resume": {
            "method": "PUT",
            "href": "/v3/itineraries/8701934321257?token=QldfCGlcUA…{example trimmed for length}="
        },
        "cancel": {
            "method": "DELETE",
            "href": "/v3/itineraries/9700934721257?token=QldfCGlcUA…{example trimmed for length}="
        }
    }
}

취소/시간 초과된 보류 중인 예약에 대한 검색 응답 예

{
    "type": "resource_not_found",
    "message": "Itinerary was not found with provided request."
}

보류 중인 예약 재개

보류 중으로 전환된 예약을 확인하고 결제를 완료하려면 예약을 재개해야 합니다.

보류 중인 예약의 재개 작업은 원래 보류 중인 예약 응답에 제공되는 resume 링크를 사용하여 수행되며, 요청 본문이 필요하지 않습니다.

응답 시나리오:

  • 계속 보류 중인 보류 중 예약을 재개하면 예약이 완료되고 HTTP 204 - No Content 응답이 반환되어 성공적으로 마쳤음을 나타냅니다. 전체 일정을 검색하려면 초기 보류 중인 예약 응답에서 GET 링크를 사용합니다.
  • 취소(요청에 따라 롤백)되었거나 시간이 초과(자동으로 롤백)된 보류 중인 예약을 재개하면 이전 검색 섹션에 나왔던 '일정을 찾을 수 없음' 오류가 똑같이 반환됩니다.
  • 이미 성공적으로 재개된 보류 중인 예약을 재개하면 예약이 이미 실행되었음을 알려 주는 오류가 반환됩니다.

이미 재개된 예약에 대한 재개 응답 예

{
    "type": "resume.already_resumed",
    "message": "Booking has already been resumed."
}

보류 중인 예약 취소(롤백)

예약 생성 및 검색 응답에 제공되는 토큰화된 cancel 링크는 일정 수준에서 동작합니다. 사용하면 요청된 숙박 시설의 보류 상태가 해제되고 보류된 일정이 롤백됩니다. 객실 수준 취소 링크는 예약이 성공적으로 재개된 이후에 검색 응답에서만 제공됩니다.

또한, cancel 작업을 수행하면 성공적인 재개 응답과 동일한 HTTP 204 상태 코드가 반환됩니다. HTTP 204는 서버가 요청을 성공적으로 수행했고 응답 페이로드 본문에 전송할 추가 콘텐츠가 없음을 나타내는 상황에서 모두 사용됩니다.

보류 중인 예약을 취소하도록 요청하면 예약을 자동으로 롤백할 수 있게 한 것처럼 동일한 최종 시나리오가 결과로 나타납니다.

응답 시나리오:

  • 계속 보류 중인 보류된 예약을 취소하면 재고가 보류 상태에서 해제되고, HTTP 204 상태가 반환됩니다.
  • 취소되었거나(요청에 따라 롤백) 시간이 초과(자동으로 롤백)된 보류 중 예약을 취소하면 이 페이지 앞부분에 나왔던 '일정을 찾을 수 없음' 오류가 반환됩니다.
  • 이미 성공적으로 재개된 보류된 예약을 취소하면 '일정 수준 취소가 지원되지 않음'이라는 오류 메시지가 반환됩니다. 각 객실을 취소하려면 검색 호출을 만들고 응답에 제공된 객실 수준 링크를 사용합니다.

이미 재개된 예약에 대한 취소 응답 예

{
    "type": "resume.itinerary_level_cancel_not_supported",
    "message": "Itinerary level cancel on confirmed booking is not supported."
}
이 페이지가 도움이 되었나요?
이 콘텐츠를 어떻게 개선하면 좋을까요?
더 나은 만드는 데 도움을 주셔서 감사합니다!