즉시 예약
이 모듈형 API는 숙박 시설 예약을 완료하는 데 필요한 모든 데이터 포인트를 제공합니다.
Rapid API 작동 방식 및 파트너에게 제공되는 기능에 대한 자세한 내용은 여기를 참조해 주세요.
1. 조회
조회 API는 지정된 숙박 시설(요청당 최대 250개의 숙박 시설)의 모든 객실 유형에 대한 요금 및 예약 가능 여부를 반환합니다. 응답에는 해당 시장의 가격 표시 요건을 충족할 수 있도록 프로모션, 요금 환불 가능 여부, 취소 위약금과 전체 요금 내역 등의 요금 세부 정보가 포함됩니다. 이 서비스에 대한 자세한 내용은 여기를 참조해 주세요.
예약 가능 여부 가져오기
GetAvailabilityOperationParams getAvailabilityOperationParams = GetAvailabilityOperationParams.builder()
.checkin("YYYY-MM-DD")
.checkout("YYYY-MM-DD")
.currency("USD")
.language("en_US")
.countryCode("US")
.occupancy(List.of("OCCUPANCY"))
.propertyId(List.of("PROPERTY ID"))
.customerIp("127.0.0.1")
.ratePlanCount(BigDecimal.ONE)
.salesChannel("SALES CHANNEL")
.salesEnvironment("SALES ENVIRONMENT")
.build();
GetAvailabilityOperation getAvailabilityOperation = new GetAvailabilityOperation(getAvailabilityOperationParams);
Response<List<Property>> propertiesResponse = rapidClient.execute(getAvailabilityOperation);
객실 요금 확인
Property property = propertiesResponse.getData().get(0);
if (!(property instanceof PropertyAvailability)) {
return;
}
PropertyAvailability propertyAvailability = (PropertyAvailability) property;
Link propertyAvailabilityLink = propertyAvailability.getRooms().get(0).getRates().get(0).getBedGroups().entrySet().stream().findFirst().get().getValue().getLinks().getPriceCheck(); // selecting the first rate for the first room
PriceCheckOperationContext priceCheckOperationContext = PriceCheckOperationContext.builder().customerIp("1.2.3.4").customerSessionId("12345").build(); // fill the context as needed
PriceCheckOperation priceCheckOperation = new PriceCheckOperation(propertyAvailabilityLink, priceCheckOperationContext);
Response<RoomPriceCheck> response = rapidClient.execute(priceCheckOperation);
RoomPriceCheck roomPriceCheck = response.getData();
2. 예약
예약 API를 사용하여 요금 확인 응답을 통해 확정된 요금으로 객실을 예약할 수 있습니다. Rapid 예약 API에 대한 자세한 내용은 여기를 참조해 주세요.
일정 생성
예약 API의 기본 일정 메서드는 선택한 숙박 시설, 객실, 요금, 투숙 인원에 대한 예약을 생성합니다. 청구/카드 소유자 연락처 정보를 포함한 결제 정보는 요청에 직접 제공됩니다. 자세한 내용은 여기를 참조해 주세요.
Link postItineraryLink = roomPriceCheck.getLinks().getBook(); // from the previous step
PostItineraryOperationContext postItineraryOperationContext = PostItineraryOperationContext.builder().customerIp("1.2.3.4").customerSessionId("12345").build(); // fill the context as needed
PostItineraryOperation itineraryCreationOperation = new PostItineraryOperation(postItineraryLink, postItineraryOperationContext, createItineraryRequest(false));
Response<ItineraryCreation> response = rapidClient.execute(itineraryCreationOperation);
ItineraryCreation itineraryCreationResponse = response.getData();