이 섹션에서는 Google XML 기반 힌트 요청 메시지, 힌트 응답 메시지, 쿼리 메시지의 참조를 제공합니다.
<Hint>
(힌트 응답 메시지)
힌트 응답 메시지의 루트 요소입니다. 힌트 응답 메시지에는 가격을 조정해야 하는 호텔/여행 일정 조합이 지정됩니다. Google의 힌트 요청 메시지에 대한 응답입니다.
힌트 응답 메시지에서는 Google이 마지막으로 서버로부터 성공적인 힌트 응답을 받은 후 가격이 변경된 호텔만 지정해야 합니다.
힌트 응답 메시지는 다음 방법 중 하나를 사용하여 Google에서 가격을 다시 책정해야 하는 호텔과 숙박 일정을 지정합니다.
정확한 숙박 일정: 체크인 날짜와 숙박 기간의 조합입니다.
체크인 기간: 첫 번째 체크인 날짜부터 시작하여 마지막 체크인 날짜로 끝나는 체크인 날짜 범위를 지정합니다.
원거리 숙박 (또는 예정된 운항 일정)
이러한 각 메서드에는 힌트 응답 메시지에 서로 다른 구문이 필요합니다.
자세한 내용은 힌트 응답 메시지를 참고하세요.
문법
<Hint>
요소는 힌트 응답 메시지의 유형에 따라 다른 구문을 사용합니다.
정확한 여행 일정
다음은 힌트 응답 메시지의 정확한 여행 일정에 대한 구문을 보여줍니다.
<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>hotel_ID</Property>
...
<Stay>
<CheckInDate>checkin_date</CheckInDate>
<LengthOfStay>number_of_nights</LengthOfStay>
</Stay>
</Item>
...
</Hint>
체크인 범위
다음은 힌트 응답 메시지의 체크인 범위 문법을 보여줍니다.
<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<!-- At least one is required -->
<!-- Can be > 1 if MultipleItineraries is "checkin_range" in your
QueryControl message -->
<Property>hotel_ID</Property>
[...]
<!-- Required -->
<FirstDate>first_checkin_date</FirstDate>
<!-- Required -->
<LastDate>last_checkin_date</LastDate>
</Item>
...
</Hint>
원거리 숙박
다음은 힌트 응답 메시지의 범위 지정 스테이 문법을 보여줍니다.
<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<!-- At least one is required -->
<!-- Can be > 1 if MultipleItineraries is "affected_dates" in your
QueryControl message -->
<Property>hotel_ID</Property>
[...]
<StaysIncludingRange>
<!-- Required -->
<FirstDate>first_date</FirstDate>
<!-- Optional -->
<LastDate>last_date</LastDate>
</StaysIncludingRange>
</Item>
...
</Hint>
특성
<Hint>
요소는 선택적 속성인 id
를 포함합니다. 제공되는 경우 이 <Hint>
를 기반으로 전송되는 <Query>
메시지에 hintId
속성으로 포함됩니다.
하위 요소
<Hint>
요소에는 다음과 같은 하위 요소가 있습니다.
하위 요소 | 필수 여부 | 유형 | 힌트 응답 유형 | 설명 |
---|---|---|---|---|
<CheckInDate> | Required | Date | 정확한 여행 일정 | 숙박 일정의 체크인 날짜입니다. |
<FirstDate> | Required | Date | 체크인 범위 및 일정 예약 운항 일정 | 체크인 범위 또는 범위 지정 숙박 힌트 응답 메시지의 기간의 첫 번째 날짜입니다. 날짜는 포괄적입니다. |
<Item> | Required | Object | 모두 | 업데이트할 호텔/여행 일정의 컨테이너입니다. |
<LastDate> | Required* | Date | 체크인 범위 및 일정 예약 운항 일정 | 체크인 범위 또는 범위 지정 숙박 힌트 응답 메시지의 기간의 마지막 날짜입니다. 날짜는 포괄적입니다. * 이 요소는 범위 지정 숙박의 경우 선택사항입니다. |
<LengthOfStay> | Required | integer | 정확한 여행 일정 | 숙박 일정의 숙박 일수로, 양의 정수로 표시됩니다. |
<Property> | Required | string | 모두 | 호텔 목록과 동일한 ID를 사용하는 호텔의 ID입니다. 단일
|
<Stay> | Required | Object | 정확한 여행 일정 | 정확한 여행 일정 힌트 응답 메시지에 포함된 <CheckinDate> 및 <LengthOfStay> 요소의 컨테이너입니다. 각 <Item> 에는 <Stay> 를 하나만 포함할 수 있습니다. |
<StaysIncludingRange> | Required | Object | 원거리 여행 일정 | 범위 지정 유지 힌트 응답 메시지에서 <FirstDate> 및 <LastDate> 요소의 컨테이너 |
예
정확한 여행 일정
다음 예에서는 단일 속성 힌트 응답 메시지에 대한 여러 여행 일정을 정의합니다.
<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>12345</Property>
<Stay>
<CheckInDate>2018-07-03</CheckInDate>
<LengthOfStay>3</LengthOfStay>
</Stay>
</Item>
<Item>
<Property>12345</Property>
<Stay>
<CheckInDate>2018-07-03</CheckInDate>
<LengthOfStay>4</LengthOfStay>
</Stay>
</Item>
</Hint>
체크인 범위
다음 예시에서는 가격이 변경되었으며 다시 가져와야 하는 두 호텔을 지정합니다. Google은 12345 및 67890 숙박 시설에 대한 7월 3일과 7월 6일 사이의 모든 숙박 일정을 가져옵니다.
<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>12345</Property>
<Property>67890</Property>
<FirstDate>2018-07-03</FirstDate>
<LastDate>2018-07-06</LastDate>
</Item>
</Hint>
체크인 범위 메시지에서 단일 <Item>
에 여러 속성을 지정할 수 있으려면 <QueryControl>
의 <MultipleItineraries>
값을 "checkin_range"
로 설정해야 합니다.
원거리 숙박
다음 예에서는 다양한 숙박 일수의 두 가지 용도를 보여줍니다. 하나는 여러 날의 숙박이고 다른 하나는 1박입니다.
<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<!-- Google fetches prices for all itineraries (first and last date are set) -->
<Item>
<Property>12345</Property>
<StaysIncludingRange>
<FirstDate>2018-07-03</FirstDate>
<LastDate>2018-07-06</LastDate>
</StaysIncludingRange>
</Item>
<!-- Google fetches prices for a single night (first date only) -->
<Item>
<Property>67890</Property>
<StaysIncludingRange>
<FirstDate>2018-07-03</FirstDate>
</StaysIncludingRange>
</Item>
</Hint>
범위 지정 유지 메시지에서 단일 <Item>
에 여러 속성을 지정할 수 있으려면 <QueryControl>
의 <MultipleItineraries>
값을 "affected_dates"
로 설정해야 합니다.
이러한 각 예에서 Google은 <Query>
로 응답하므로 개발자는 지정된 호텔/여행 일정의 가격 업데이트가 포함된 <Transaction>
로 응답해야 합니다.
<HintRequest>
힌트 요청 메시지의 루트 요소입니다. Google은 서버에 힌트 요청 메시지를 전송하며, 마지막으로 서버에서 성공적인 힌트 응답을 받은 후 가격이 변경된 호텔 및 숙박 일정을 지정하는 응답을 예상합니다.
가격 변경사항이 있는 경우 Google은 표시된 호텔 및 여행 일정의 업데이트된 가격 데이터를 가져오는 <Query>
를 전송합니다.
자세한 내용은 힌트 요청 메시지를 참조하세요.
문법
<HintRequest>
요소는 다음 구문을 사용합니다.
문법
<?xml version="1.0" encoding="UTF-8"?>
<HintRequest>
<LastFetchTime>last_fetch_time</LastFetchTime>
</HintRequest>
특성
<HintRequest>
요소에 속성이 없습니다.
하위 요소
<HintRequest>
요소에는 다음과 같은 하위 요소가 있습니다.
하위 요소 | 유형 | 설명 |
---|---|---|
<LastFetchTime> | DateTime | Google이 힌트 요청 메시지에 대한 힌트 응답 메시지를 성공적으로 받은 마지막 시간입니다.
이 시간이 서버에서 마지막으로 가격을 업데이트한 시점보다 오래된 경우 변경된 호텔을 지정하는 힌트 응답 메시지로 응답해야 합니다. 최근에 성공적으로 가져오지 않은 경우 큰 백로그로 인한 더 심각한 문제를 방지하기 위해 고정된 간격 값으로 설정됩니다. 현재 고정 간격 값은 1, 000초이지만 변경될 수 있습니다. 자세한 내용은 힌트 응답 메시지를 참조하세요. |
예
다음 예는 힌트 요청 메시지를 보여줍니다.
힌트 요청 메시지
다음 예는 힌트 요청 메시지를 보여줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<HintRequest id="ABCDEF" timestamp="2018-06-07T16:20:00Z">
<LastFetchTime>2018-03-25T00:04:09Z</LastFetchTime>
</HintRequest>
<Query>
Query
메시지의 루트 요소입니다. Query
메시지는 Google의 가격 책정 또는 메타데이터 업데이트 요청입니다. 가져오기 및 변동된 가격 전송 모드에서 모두 사용됩니다.
Query
메시지에는 세 가지 유형이 있습니다.
실시간 가격: Google이 실시간 가격 업데이트를 요청하는 특정 사용자 요청에 응답합니다. 파트너는
Live pricing query
메시지를 받으면<Result>
요소에 요청된 가격 정보가 포함된<Transaction>
메시지로 응답해야 합니다.컨텍스트 가격 사용: Google은 과거에 많이 사용된 컨텍스트를 기반으로 가격 캐시를 업데이트합니다.
With context query
메시지를 받으면<Result>
요소에 요청된 가격 정보가 포함된<Transaction>
메시지로 응답해야 합니다.메타데이터: Google은 지정된 호텔의 객실 및 객실 번들의 메타데이터 업데이트를 요청합니다.
Metadata Query
메시지를 수신하면<PropertyDataSet>
요소의 방 및 Room 번들에 관한 데이터를 지정하는<Transaction>
메시지로 응답해야 합니다.
자세한 내용은 가격 책정 쿼리의 경우 가격 개요를, 메타데이터 쿼리의 경우 Room 번들 메타데이터를 참고하세요.
세 가지 다른 유형의 문법은 아래에 설명되어 있습니다.
문법
<Query>
요소는 다음 구문을 사용합니다.
실시간 가격
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
<Checkin>YYYY-MM-DD</Checkin>
<Nights>number_of_nights</Nights>
<!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
<FirstDate>YYYY-MM-DD</FirstDate>
<LastDate>YYYY-MM-DD</LastDate>
<!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
<AffectedNights>number_of_nights</AffectedNights>
<PropertyList>
<Property>hotel_id</Property>
...
</PropertyList>
<!-- See documentation below for <Context> -->
<Context>
...
</Context>
</Query>
맥락과 함께
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>YYYY-MM-DD</Checkin>
<Nights>number_of_nights</Nights>
<!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
<FirstDate>YYYY-MM-DD</FirstDate>
<LastDate>YYYY-MM-DD</LastDate>
<!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
<AffectedNights>number_of_nights</AffectedNights>
<PropertyContextList>
<PropertyContext>
<Property>hotel_id</Property>
...
<!-- See documentation below for <Context> -->
<Context>
...
</Context>
</PropertyContext>
</PropertyContextList>
</Query>
메타데이터
<HotelInfoProperties>
<Property>property_ID</Property>
...
</HotelInfoProperties>
특성
<Query>
요소는 하나의 속성(latencySensitive
)을 포함할 수 있습니다.
latencySensitive
속성은 선택사항입니다. 제공되고 true
로 설정된 경우 쿼리가 Live Pricing Query
임을 나타냅니다. Google에서 latencySensitive
속성이 포함된 쿼리를 전송하도록 하려면 기술계정 관리자 (TAM)에게 문의하세요.
하위 요소
<Query>
요소에는 다음과 같은 하위 요소가 있습니다.
하위 요소 | 검색어 유형 | 유형 | 설명 |
---|---|---|---|
<AffectedNights> | Pricing | integer | 원거리 숙박의 숙박 일수입니다. 이 요소는 변동된 가격과 함께 사용되는 원거리 숙박 가격 쿼리에만 사용됩니다. |
<Checkin> | Pricing | Date | 특정 가격이 변경되는 날짜입니다. |
<Context> | Pricing (Live Pricing Queries only) | <Context> | 실시간 가격 책정 쿼리의 경우 쿼리가 실행되는 특정 매개변수를 지정합니다. 하위 요소에는 다음이 포함됩니다.
|
<FirstDate> | Pricing | Date | 가격이 적용되는 일정 범위의 시작일입니다. 이 요소는 변동된 가격 책정과 함께 사용되는 체크인 기간 가격 책정 쿼리에만 사용됩니다. |
<HotelInfoProperties> | Metadata | string | Google이 메타데이터 Query 메시지에서 업데이트된 객실 및 Room Bundle 메타데이터를 원하는 하나 이상의 속성입니다. 이 요소에는 호텔 숙박 시설 ID를 지정하는 <Property> 요소가 하나 이상 포함될 수 있습니다. |
<LastDate> | Pricing | Date | 가격이 적용되는 일정 범위의 종료일입니다. 이 요소는 가져오기 + 힌트와 함께 사용되는 체크인 기간 가격 책정 쿼리에만 사용됩니다. |
<Nights> | Pricing | integer | 특정 여행 일정의 숙박 일수입니다(최대 30일). |
<PropertyList> | Pricing | Object | 가격 업데이트가 필요한 호텔에 대한 하나 이상의 ID입니다.
<PropertyList> <Property>pid1</Property> <Property>pid2</Property> </PropertyList> |
예
가격 책정 쿼리
다음 예는 2018년 6월 10일부터 3박 동안 이용할 수 있는 일련의 호텔의 가격 업데이트를 요청하는 가격 쿼리 메시지를 보여줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
실시간 가격 쿼리
다음 예는 응답 시간 제한이 500밀리초인 실시간 가격 쿼리를 보여줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>5</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>8675309</Property>
</PropertyList>
<Context>
<Occupancy>4</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="8"/>
<Child age="5"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
컨텍스트 쿼리 사용
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<!-- In the future, occupancy and device might be specified -->
<Context><UserCountry>US</UserCountry></Context>
<Context><UserCountry>GB</UserCountry></Context>
</PropertyContext>
<PropertyContext>
<Property>8675310</Property>
<Property>8675311</Property>
<Context><UserCountry>CA</UserCountry></Context>
</PropertyContext>
</PropertyContextList>
</Query>
메타데이터 쿼리
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<HotelInfoProperties>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</HotelInfoProperties>
</Query>
기간별 숙박 및 체크인 기간 가격 쿼리 등의 추가 예는 Query
메시지 예시를 확인하세요.
<Context>
<Context>
요소는 투숙객의 수와 유형, 사용자 국가, 사용자 기기 등 Live pricing query
에 관한 정보를 설명합니다.
여러 <Context>
는 다른 사용자 국가 또는 사용자 기기에서 사용되지 않습니다. 여러 <Context>
를 사용하여 여러 숙박 인원을 쿼리하는 경우 각 숙박 인원 가격을 상응하는 숙박 시설/여행 일정의 추가 객실 번들로 제공하세요. 각 숙박 시설/여행 일정에는 여러 숙박 인원의 가격이 포함된 단일 <Result>
블록이 있어야 합니다.
<Context>
쿼리의 응답 세부정보는 <OccupancyDetails>
를 참고하세요.
문법
<Context>
요소는 다음 구문을 사용합니다.
문법
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
<Checkin>date</Checkin>
<Nights>number_of_nights</Nights>
<DeadlineMs>number_of_milliseconds</DeadlineMs>
<PropertyList>
<Property>property_ID</Property>
</PropertyList>
<Context>
<Occupancy>total_number_of_guests</Occupancy>
<OccupancyDetails>
<NumAdults>number_of_adults</NumAdults>
<Children>
<Child age=age_of_one_child_guest/>
<Child age=age_of_one_child_guest/>
</Children>
</OccupancyDetails>
<UserCountry>end_user_country</UserCountry>
<UserDevice>user_device_type</UserDevice>
</Context>
</Query>
하위 요소
<Context>
요소에는 다음과 같은 하위 요소가 있습니다.
하위 요소 | 쿼리 유형 | 유형 | 설명 |
---|---|---|---|
<Occupancy> | Pricing | integer | 총 참석자 수를 지정합니다. 필수는 아니지만 참고: |
<OccupancyDetails> | Pricing | Object | 앞에 <Occupancy> 가 옵니다. 다음을 포함하여 유형별로 게스트를 지정합니다.
필수는 아니지만 참고: |
<UserCountry> | Pricing | string | 사용자가 거주하는 국가를 기준으로 요금을 필터링합니다. 값은 2자리 국가 코드(예: 미국의 경우
|
<UserDevice> | Pricing | string | 사용자가 검색 중인 기기 유형별로 요금을 필터링합니다. 가능한 값은 다음과 같습니다.
|
예
숙박 인원
다음 예시는 <Context>
내에 있는 <Occupancy>
의 실시간 가격 쿼리를 보여줍니다. 실시간 가격 쿼리는 성인 투숙객 3명에 대한 쿼리입니다.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>4</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>45617</Property>
</PropertyList>
<Context>
<Occupancy>3</Occupancy>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
숙박 인원 세부정보
다음 예시는 <Context>
내에 <OccupancyDetails>
가 있는 실시간 가격 쿼리를 보여줍니다.
실시간 가격 쿼리는 투숙객 4명(그 중 2명은 어린이)이며 휴대기기에서 미국 투숙객 예약에 적용할 수 있는 요금을 찾습니다.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>5</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>8675309</Property>
</PropertyList>
<Context>
<Occupancy>4</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="4"/>
<Child age="12"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
여러 컨텍스트
다음 예는 실시간 가격 쿼리에서 추가 <Context>
요소를 사용하는 방법을 보여줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>4</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>45617</Property>
</PropertyList>
<Context>
<Occupancy>3</Occupancy>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
<Context>
<Occupancy>6</Occupancy>
<OccupancyDetails>
<NumAdults>4</NumAdults>
<Children>
<Child age="6"/>
<Child age="10"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>