이 섹션에서는 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"
로 설정해야 합니다.
원거리 숙소
다음 예시는 일정 기간 및 하루를 위한 범위별 숙박의 두 가지 용도를 보여줍니다.
<!-- 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이 마지막으로 서버에서 성공적인 힌트 응답을 수신한 이후 가격이 변경된 호텔 및 여행 일정을 지정하는 응답을 예상합니다.
가격 변경사항이 있는 경우 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>
요소의 방 및 객실 번들에 관한 데이터를 지정하는<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 번들 메타데이터를 원하는 하나 이상의 속성 이 요소는 호텔 속성 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>