쿼리 및 힌트 XML 참조

이 섹션에서는 Google XML 기반 힌트 요청 메시지, 힌트 응답 메시지, 및 메시지 쿼리를 참고하세요.

<Hint> (힌트 응답 메시지)

힌트 응답 메시지의 루트 요소입니다. 힌트 응답 메시지 가격을 조정해야 하는 호텔 또는 여행 일정 조합을 지정할 수 있습니다. 그들은 여러분의 힌트 요청 메시지에 대한 응답 확인하세요.

힌트 응답 메시지는 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 -->
    <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 -->
    <Property>hotel_ID</Property>
    [...]

    <StaysIncludingRange>
      <!-- Required -->
      <FirstDate>first_date</FirstDate>

      <!-- Optional -->
      <LastDate>last_date</LastDate>
    </StaysIncludingRange>
  </Item>
  ...
</Hint>

속성

<Hint> 요소는 선택적 속성인 id를 포함합니다. 날짜 제공된 경우 <Query>hintId 속성으로 포함됩니다. 이 <Hint>을(를) 기반으로 전송된 메시지

하위 요소

<Hint> 요소에는 다음과 같은 하위 요소가 있습니다.

하위 요소 필수 여부 유형 힌트 응답 유형 설명
<CheckInDate> Required Date 정확한 여행 일정 숙박 일정의 체크인 날짜입니다.
<FirstDate> Required Date 체크인 범위 및 일정 예약 운항 일정 체크인 범위 또는 날짜 범위의 첫 번째 날짜입니다. 힌트 응답 메시지 유지. 날짜는 포괄적입니다.
<Item> Required Object 전체 업데이트할 호텔/숙박 일정의 컨테이너입니다.
<LastDate> Required* Date 체크인 기간 및 범위 있는 숙박 일정

체크인 범위 또는 특정 기간의 마지막 날짜입니다. 힌트 응답 메시지 유지. 날짜는 포괄적입니다.

* 이 요소는 범위 지정 숙박의 경우 선택사항입니다.

<LengthOfStay> Required integer 정확한 여행 일정 숙박 일정의 숙박 일수로, 양수로 표시됩니다. 정수입니다.
<Property> Required string 전체

호텔 목록과 동일한 ID를 사용하는 호텔의 ID입니다. 숫자 단일 요소에 지정할 수 있는 <Property>개 요소 중 <Item> 블록은 힌트 유형에 따라 결정됩니다. 응답 메시지:

  • 정확한 여행 일정: 최대 100개 호텔
  • 체크인 범위: 둘 이상의 체크인 시간: <QueryControl> 메시지에서 "checkin_range" 에게 <MultipleItineraries>.
  • 원거리 숙박: 2개 이상(설정한 경우) <QueryControl> 메시지에서 "affected_dates" 에게 <MultipleItineraries>.
<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에서 7월 3일부터 7월 사이의 모든 운항 일정을 가져옵니다. 6 속성 12345 및 67890:

<!-- 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>

원거리 숙박

다음 예에서는 숙박 기간 범위의 두 가지 사용 사례를 보여줍니다. 하나는 숙박 기간 범위이고 다른 하나는 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>

이러한 각 예에서 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가 요청임 (가격 또는 메타데이터 업데이트) 이 값은 가져오기 및 변동된 가격 게재 모드 모두에서 사용됩니다.

Query 메시지에는 세 가지 유형이 있습니다.

  • 실시간 가격: Google은 특정 사용자 요청에 대해 실시간 가격 업데이트입니다 파트너가 Live pricing query를 받는 경우 파트너는 다음과 같은 <Transaction> 메시지로 응답해야 합니다. <Result> 요소에 요청된 가격 정보가 포함되어 있습니다.

  • 컨텍스트 가격 사용: Google에서 컨텍스트에 따라 가격 캐시를 업데이트합니다. 여러 가지 방법이 있습니다 With context query를 받는 경우 <Transaction> 요청된 가격 정보가 <Result> 요소에 포함되어 있습니다.

  • 메타데이터: Google에서 객실 및 객실 번들의 메타데이터 업데이트를 요청합니다. 지정할 수 있습니다. Metadata Query 메시지를 받으면 <Transaction> 메시지로 응답해야 하며, 이 메시지에 대한 Rooms 및 Room Bundle을 <PropertyDataSet> 요소에 포함합니다.

자세한 내용은 가격 책정 개요를 참고하세요. 가격 책정 쿼리 및 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 숙박 기간 범위의 밤 수입니다. 이 요소는 변동된 요금과 함께 사용되는 Ranged Stay 가격 책정 쿼리에만 해당됩니다.
<Checkin> Pricing Date 특정 가격이 변경되는 날짜입니다.
<Context> Pricing (Live Pricing Queries only) <Context> 실시간 가격 쿼리의 경우 쿼리가 실행되는 특정 매개변수를 지정합니다. 하위 요소에는 다음이 포함됩니다.
  • <Occupancy>: 총 참석자 수
  • <OccupancyDetails>: 참석자 유형(예: 성인 또는 어린이
  • <UserCountry>: 사용자가 거주하는 국가입니다. 위치
  • <UserDevice>: 게스트가 사용한 기기 유형입니다. '"mobile' 등의 호텔을 검색합니다. 'tablet' 또는 'desktop'

<Context> 요소는 다음에서 반복될 수 있습니다. 단일 요청으로 여러 숙박 시설에 대한 쿼리를 허용합니다. 컨설트 <Context>: 하위 요소, 문법, 예시 목록 보기

<FirstDate> Pricing Date 가격이 책정되는 운항 일정의 시작일입니다. 적용됩니다. 이 요소는 가격 변경과 함께 사용되는 체크인 기간 가격 쿼리에만 사용됩니다.
<HotelInfoProperties> Metadata string Google에서 업데이트를 원하는 하나 이상의 숙박 시설 방 및 Room 번들 메타데이터를 메타데이터 Query 메시지에 포함시킵니다. 이 요소에는 하나 이상의 <Property>이 포함될 수 있습니다. 요소(호텔 숙박 시설 ID를 지정하는 요소)가 포함되어 있습니다.
<LastDate> Pricing Date 가격이 책정되는 운항 일정의 종료일입니다. 적용됩니다. 이 요소는 체크인 기간 가격 책정에만 사용됩니다. 가져오기 + 힌트와 함께 사용되는 쿼리
<Nights> Pricing integer 특정 여행 일정의 숙박 일수입니다(최대 30일).
<PropertyList> Pricing Object

가격 업데이트가 필요한 호텔에 대한 하나 이상의 ID입니다.

<Property> 요소에 각 호텔을 정의합니다. 이 값은 호텔 목록에 있는 호텔 ID와 일치하는 문자열입니다. 예:

<PropertyList>
  <Property>pid1</Property>
  <Property>pid2</Property>
</PropertyList>

가격 쿼리

다음 예시는 가격을 요청하는 가격 쿼리 메시지를 보여줍니다. 호텔 그룹에 대한 최신 소식으로, 3박 동안 이용할 수 있으며 2018년 6월 10일:

<?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 총 참석자 수를 지정합니다.

필수는 아니지만 <Occupancy>를 사용한 쿼리는 적절한 객실 번들이 포함된 트랜잭션 메시지를 반환합니다. 각 <Occupancy>에 대해 정의되지만 객실 패키지를 사용할 수 없습니다. <Occupancy> 요소

참고:<Occupancy>이(가) 표시되지 않을 수도 있습니다. 쿼리에서 찾을 수 없습니다. 이 경우 모든 있습니다.

<OccupancyDetails> Pricing Object 앞에 <Occupancy>가 옵니다. 참석자 지정 기준 여기에는 다음이 포함됩니다.
  • <NumAdults>: 성인 투숙객 수
  • <Children><Child="age">: 어린이(일반적으로 0~17세)인 투숙객을 지정하고 원하는 경우 각 어린이의 연령을 포함합니다.

필수는 아니지만 <OccupancyDetails>를 사용한 쿼리는 적절한 Room과의 트랜잭션 메시지가 있어야 합니다. 각 <Occupancy>에 대해 정의된 번들이지만 객실 패키지를 이용할 수 없습니다. <OccupancyDetails> 요소를 지정합니다.

참고: <OccupancyDetails>이(가) 항상 있지는 않을 수도 있습니다. 검색어에 포함되지 않습니다. 이러한 경우 모든 게스트는 성인입니다.

<UserCountry> Pricing string

사용자가 거주하는 국가를 기준으로 요금을 필터링합니다. 값은 2자리 국가 코드(예: 미국의 경우 "US" 또는 지역 코드(예: '유럽'의 경우 "EU")

<UserCountry>가 정의된 쿼리는 다음과 같은 결과를 얻습니다. 적절한 <Rates>가 포함된 트랜잭션 메시지 블록이 쿼리 대상 국가에 정의되어 있습니다.

<UserDevice> Pricing string

사용자가 검색 중인 기기 유형별로 요금을 필터링합니다. 가능한 값은 다음과 같습니다.

  • mobile
  • desktop
  • tablet

<UserDevice>가 정의된 쿼리는 결과는 다음과 같습니다. 적절한 <Rates>를 사용한 트랜잭션 메시지 블록이 정의되어 있어야 합니다.

숙박 인원

다음 예시는 <Occupancy>의 실시간 가격 책정 쿼리를 보여줍니다. <Context> 이내 실시간 가격 쿼리는 성인 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>