쿼리 메시지는 Google에서 가격 또는 메타데이터 업데이트를 요청하는 것입니다. 이 메시지는 가져오기 및 변동된 가격 게재 모드와 함께 사용됩니다.
쿼리 메시지의 루트 요소는 <Query>입니다.
쿼리 메시지의 구조는 메시지 유형에 따라 다릅니다.
가격: Google은 지정된 호텔의 가격 업데이트를 요청하는 쿼리 메시지를 보냅니다.
메타데이터: Google은 지정된 호텔의 객실 및 패키지 정보에 관한 데이터를 요청하는 쿼리 메시지를 보냅니다.
초기 구성 중에 Google에서 쿼리 메시지 및 실시간 가격 쿼리에 사용하는 엔드포인트를 정의합니다. 자세한 내용은 기술계정 관리자 (TAM)에게 문의하세요.
Google은 Content-Type 헤더가 'application/xml'로 설정되고 User-Agent 헤더가 Google-HotelAdsPrices로 설정된 HTTP POST 요청으로 쿼리 메시지를 보냅니다. 이 규칙의 예외는 Google-TravelAds-Live를 통해 가격 엔드포인트 통합을 수동으로 테스트하는 동안 발생합니다. 이러한 샘플 쿼리에는 User-Agent 헤더가 포함될 수도 있고 포함되지 않을 수도 있습니다.
쿼리 메시지의 세부 형식은 쿼리 XML 참조에서 확인할 수 있습니다.
가격 쿼리 메시지
가격 쿼리 메시지는 가격을 제공하는 숙박 시설 및 여행 일정 조합을 지정합니다.
서버가 가격 쿼리 메시지를 수신하면 요청된 가격 정보가 포함된
<Transaction> 메시지로 응답해야 합니다.
자세한 내용은 가격 개요를 참고하세요.
다음과 같은 세 가지 특별한 유형의 쿼리 메시지가 있습니다.
실시간 가격: 사용 설정된 경우, 사용자가 지정된 숙박 시설 또는 여행 일정 조합의 가격을 적극적으로 탐색할 때 쿼리가 전송되며 응답할 수 있는 지정된 기간이 있습니다.
컨텍스트 포함: 사용 설정된 경우 Google에서 전송하는 각 쿼리에 사용자 컨텍스트 추천이 포함되며 추천은 지정된 숙박 시설 또는 여행 일정 조합을 검색하는 가장 일반적인 유형의 사용자를 반영합니다. 이러한 추천을 따르면 응답 효율성이 향상될 수 있습니다.
메타데이터: 지정된 숙박 시설의 객실 및 패키지에 관한 세부정보를 요청하는 것입니다.
실시간 가격 쿼리
실시간 가격 쿼리는 사용자 검색에 대한 응답으로 Google에서 실시간 가격 업데이트를 요청하는 것입니다. Google은 사용자로부터 호텔 또는 여행 일정 조합에 대한 검색 요청을 수신하며 가격 데이터를 사용할 수 없거나 최신 상태가 아니므로 Google은 검색 시점에 가격 업데이트를 요청합니다. 실시간 가격 쿼리를 사용하면 Google은 검색 시점에 가격을 가져와 결과에 표시하려고 시도합니다.
모든 실시간 가격 쿼리 요청에는 일반적으로 최대 4,000밀리초의 응답 시간 제한이 있습니다. 이 제한은 실시간 가격 쿼리 요청에 지정됩니다. 제한 시간 내에 응답을 제공할 수 없는 경우 특정 기회에 미참여 입찰하게 됩니다. 하지만 가격을 캐시하고 향후 기회에 사용할 수 있도록 가격을 제공하는 것이 좋습니다. 응답 연결은 10분 동안 또는 파트너의 구성에 지정된 대로 열려 있습니다.
실시간 가격 쿼리는 컨텍스트를 포함하며 사용자 국가, 기기 유형, 숙박 인원 (투숙객 수), 투숙객이 성인인지 어린이인지에 관한 매개변수의 가격을 가져올 수 있습니다. 실시간 가격 쿼리를 사용하면 고객이 검색한 내용과 일치하는 최신 가격을 표시할 수 있습니다.
실시간 가격 쿼리는 가격 업데이트를 위한 보조 메커니즘입니다. 가격 재조정을 위한 기본 메커니즘은 여전히 가져오기 또는 변동된 가격을 통한 것입니다. 실시간 가격 쿼리는 Google에 호텔 또는 여행 일정 조합의 가격이 없는 경우 격차를 메우는 데 도움이 됩니다.
실시간 가격 쿼리 사용 규칙
요청된 여행 일정이 비정상적이기 때문에 지정된 여행 일정의 캐시된 데이터가 없습니다. 예를 들어 날짜가 매우 먼 미래이거나 호텔이 매우 드물게 검색되는 경우입니다.
요청된 날짜가 기본 날짜가 아닙니다.
: 참고: 기본 날짜에는 실시간 가격 쿼리가 적용되지 않습니다. 실시간 가격 쿼리는 기본 날짜가 아닌 날짜에만 요청됩니다.
Google은 일반적으로 실시간 가격의 결과를 캐시하므로 동일한 호텔 또는 여행 일정이 다시 쿼리되지 않습니다. 단일 호텔 또는 여행 일정 조합과 다중 호텔 또는 단일 여행 일정 조합을 모두 요청할 수 있습니다.
컨텍스트를 포함한 실시간 가격 기능을 사용하면 Google에서 사용자의 기기 유형, 검색하는 국가, 어린이 포함 숙박 인원수를 기준으로 특정 실시간 가격 요청을 보낼 수 있습니다. 쿼리 매개변수를 정의하는 <Context> 요소를 포함하도록
쿼리 메시지와 거래 메시지가 모두 확장됩니다. 컨텍스트를 포함한
실시간 가격 쿼리에서 수신한 가격은 특정 숙박 인원의 가격인 경우 객실 패키지로,
사용자 국가 또는 사용자 기기의 가격인 경우 조건부 요금으로 캐시할 수 있습니다.
컨텍스트 포함 쿼리
컨텍스트 포함 쿼리는 지정된 숙박 시설 또는 여행 일정 조합에 관한 데이터베이스를 업데이트하기 위한 일반적인 요청입니다. 이러한 조합에 인기 있는 사용자 컨텍스트 목록이 포함되어 있습니다. 조건부 요금이 사용되는 경우 가능한 모든 사용자 컨텍스트의 요금을 전송하는 데 비용이 많이 들 수 있으므로 이 사용자 컨텍스트 목록을 사용하여 응답을 제한할 수 있습니다. 지정된 사용자 컨텍스트의 가격만 반환하면 관련 사용자 쿼리의 대부분을 처리할 수 있습니다.
컨텍스트 포함 쿼리를 수신하려면 기술계정 관리자 (TAM)에게 문의하세요. 기술계정 관리자는 이러한 메시지를 수신할 준비가 되었는지 확인한 다음 쿼리에서 사용자 컨텍스트를 전송하기 시작하도록 구성을 조정할 수 있습니다.
메타데이터 쿼리 메시지
메타데이터 쿼리 메시지에는 지정된 숙박 시설의 객실 및 패키지 정보에 관한 세부정보가 포함되어 있습니다.
메타데이터 쿼리 메시지를 수신하면
요청된 숙박 시설의 가격을 지정하는 <Transaction> 메시지로
<Result> 요소에서 응답해야 합니다.
자세한 내용은 객실 및 패키지 메타데이터 정의를 참고하세요.
쿼리 메시지 예시
이 섹션에서는 가격 쿼리 메시지와 메타데이터 쿼리 메시지의 몇 가지 예를 보여줍니다. 추가 예는 쿼리 XML 참조에서 확인할 수 있습니다.
샘플 여행 일정
다음 예는 2023년 5월 23일부터 3박 동안 이용 가능한 4개 호텔의 가격 업데이트
를 요청하는 가격 <Query>를 보여줍니다.
<?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>
이 예에서는 각 호텔의 가격 업데이트를 요청합니다.
5/23/18 - 6/26/18
실시간 가격 쿼리 예시
다음 예는 응답 시간 제한이 500밀리초인 실시간 가격 쿼리를 보여줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<!-- Note that the latencySensitive attribute is not present by default but can
be configured to be displayed, on request, by Google. This attribute is only
displayed for a Live Pricing Query request -->
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<DeadlineMs>500</DeadlineMs>
<!-- The deadline represents the timeframe by which a response will need to be
received by. This element is only displayed for a Live Pricing Query request -->
<PropertyList>
<Property>6781291</Property>
</PropertyList>
<!-- Note that Context tags are potentially repeatable -->
<Context>
<!-- The total number of guests occupying the room (adults+children) -->
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<!-- In this example one of the 3 guests is a 5yr old child -->
<Children>
<Child age="5"/>
</Children>
</OccupancyDetails>
<!-- The user was located in the US when this search was made -->
<UserCountry>US</UserCountry>
<!-- The user was searching from a mobile device at the time of search -->
<UserDevice>mobile</UserDevice>
</Context>
</Query>
이 예에서는 단일 호텔의 가격을 요청합니다.
6/23/23 - 6/25/23
이 쿼리에 대한 샘플 거래 메시지 응답은 가격 및 객실 인벤토리 (거래) XML 참조에서 확인할 수 있습니다.
컨텍스트 포함 쿼리 예시
다음은 컨텍스트 포함 쿼리의 예입니다.
컨텍스트 포함 기본 쿼리
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<!-- In the future, 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>
<Checkin>2025-07-10</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<Context>
<UserCountry>US</UserCountry>
</Context>
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="7"/>
</Children>
</OccupancyDetails>
</PropertyContext>
<PropertyContext>
<Property>8675310</Property>
<Context>
<UserCountry>GB</UserCountry>
</Context>
<Occupancy>1</Occupancy>
<OccupancyDetails>
<NumAdults>1</NumAdults>
</OccupancyDetails>
</PropertyContext>
</PropertyContextList>
</Query>
컨텍스트 포함 쿼리는 사용자 국가 컨텍스트만 지정합니다. 향후 이러한 쿼리는 사용자 기기도 지정할 수 있습니다.
체크인 날짜 범위
변동된 가격을 사용하는 경우 쿼리 메시지의 구조는 체크인 날짜 범위, 정확한 여행 일정 또는 범위 지정 여행 일정에 사용하는 힌트 유형 에 따라 다릅니다. 이러한 각 힌트 유형에 관한 자세한 내용은 힌트 응답 메시지를 참고하세요.
다음 예는 체크인 날짜
범위의 가격 <Query> 메시지를 보여줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<FirstDate>2023-05-23</FirstDate>
<LastDate>2023-05-26</LastDate>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
이 예에서는 각 호텔의 다음 숙박에 관한 가격 업데이트를 요청합니다.
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/24/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23
범위 지정 숙박
다음 예는 범위 지정
숙박의 가격 <Query>메시지를 보여줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<FirstDate>2023-05-23</FirstDate>
<LastDate>2023-05-26</LastDate>
<AffectedNights>3</AffectedNights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
이 예에서는 각 호텔의 가격 업데이트를 요청합니다.
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/25/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23
지정된 밤 이전 에 시작되었지만 해당 밤을 포함하는 숙박
5/20/23 - 5/23/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
메타데이터 쿼리 메시지
다음 예는 여러 숙박 시설의 객실 및 패키지 정보에 관한 메타데이터
업데이트를 요청하는 <Query> 메시지를 보여줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<HotelInfoProperties>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</HotelInfoProperties>
</Query>
이러한 유형의 쿼리 메시지에 객실 및 패키지 메타데이터를 정의하는 거래 메시지로 응답합니다. 자세한 내용은 객실 및 패키지 메타데이터 정의를 참고하세요.