힌트 응답 메시지

Google에서 힌트 요청 메시지를 보내면 서버 는 Google에서 동일한 서버로부터 마지막으로 성공적인 힌트 응답을 수신한 이후 가격이 변경된 호텔을 지정하는 힌트 응답 메시지로 응답해야 합니다. 가격이 변경되면 Google은 표시된 호텔 및 여행 일정의 업데이트된 가격 데이터를 가져오는 <Query>를 보냅니다.

가격 재산정 프로세스에 대한 개요는 가격 책정 개요를 참고하세요.

힌트 응답 메시지는 다음 메서드를 사용하여 선택한 호텔과 여행 일정의 가격을 재산정합니다.

힌트 응답 메시지의 루트 요소는 <Hint>입니다. 하나 이상의 <Item> 요소를 사용하여 업데이트할 호텔 또는 여행 일정을 요청합니다. 단일 힌트 응답 메시지는 <Item> 요소를 원하는 만큼 정의할 수 있습니다.

각 힌트 응답 메시지는 각 <Item>에 대해 <Property> 요소를 하나 이상 지정해야 합니다. <Property>호텔 목록과 동일한 ID를 사용하여 호텔을 식별합니다. 기본적으로 각 <Item> 블록에 대해 단일 호텔 ID를 지정합니다. 하지만 가격 재산정을 위해 체크인 날짜 범위 또는 범위 지정 숙박을 사용하는 경우 항목 블록에 여러 호텔을 허용하도록 Google에 지시할 수 있습니다.

정확한 여행 일정 요청 및 응답 흐름

힌트 메시지는 체크인 날짜와 숙박 기간의 조합과 같은 개별 여행 일정을 기반으로 할 수 있습니다. 이 경우 호텔의 체크인 날짜와 숙박 기간을 지정하면 Google은 해당 여행 일정의 새 가격 데이터를 가져옵니다.

파트너의 응답

다음 힌트 응답 메시지는 단일 숙박시설과 단일 여행 일정을 정의합니다.

<Hint>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2023-05-20</CheckInDate>
      <LengthOfStay>3</LengthOfStay>
    </Stay>
  </Item>
</Hint>

Google의 응답

Google은 다음과 비슷한 <Query>로 힌트 응답 메시지에 응답합니다.

<Query>
  <Checkin>2023-05-20</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

<Transaction> 만들기

그런 다음 다음 숙박에 대해 호텔의 가격 업데이트가 포함된 <Transaction>을 만들어야 합니다.

5/20/23 - 5/23/23

체크인 날짜 범위 요청 및 응답 흐름

힌트 응답 메시지는 첫 번째 체크인 날짜부터 마지막 체크인 날짜까지의 체크인 날짜 범위를 지정할 수 있습니다. Google은 새 가격 데이터를 가져올 때 해당 날짜부터 시작하여 지정한 숙박 기간까지 호텔의 모든 체크인 날짜에 대한 여행 일정을 가져옵니다.

파트너의 범위 지정 날짜

다음 힌트 응답 메시지 예에서는 체크인 날짜 범위가 있는 단일 숙박시설을 정의합니다.

<Hint>
  <Item>
    <Property>12345</Property>
    <FirstDate>2023-05-20</FirstDate>
    <LastDate>2023-05-23</LastDate>
  </Item>
</Hint>

Google의 응답

Google은 다음과 비슷한 이 힌트 응답 메시지에 <Query> 응답합니다.

<Query>
  <FirstDate>2023-05-20</FirstDate>
  <LastDate>2023-05-23</LastDate>
  <Nights>5</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

<Transaction> 만들기

그런 다음 해당 호텔의 다음 숙박에 대한 가격 업데이트가 포함된 <Transaction>을 만들어야 합니다.

5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23
5/20/23 - 5/24/23
5/20/23 - 5/25/23

5/21/23 - 5/22/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/21/23 - 5/25/23
5/21/23 - 5/26/23

5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
5/22/23 - 5/26/23
5/22/23 - 5/27/23

이 예에서는 숙박 기간이 5박입니다. 기본 숙박 기간은 30일입니다.

범위 지정 숙박 요청 및 응답 흐름

힌트 응답 메시지에는 변경된 날짜 범위가 포함될 수 있습니다. 이렇게 하면 Google에서 이러한 날짜의 영향을 받는 여행 일정을 가져와야 함을 알립니다. 가져온 실제 여행 일정 집합은 변경사항이 있는 날짜 집합과 최대 숙박 기간의 함수입니다.

파트너의 범위 지정 숙박

다음 예시 힌트 응답 메시지에서는 범위 지정 숙박을 사용합니다.

<Hint>
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2023-05-20</FirstDate>
      <LastDate>2023-05-23</LastDate>
    </StaysIncludingRange>
  </Item>
</Hint>

Google의 응답

Google은 다음과 비슷한 <Query>로 힌트 응답 메시지에 응답합니다.

<Query>
  <FirstDate>2023-05-20</FirstDate>
  <LastDate>2023-05-23</LastDate>
  <AffectedNights>3</AffectedNights>
  <PropertyList>
    <Property>12345</Property>
    <Property>67891</Property>
  </PropertyList>
</Query>

<Transaction> 만들기

그런 다음 다음 숙박에 대해 호텔의 가격 업데이트가 포함된 <Transaction>을 만들어야 합니다.

5/17/23 - 5/20/23

5/18/23 - 5/20/23
5/18/23 - 5/21/23

5/19/23 - 5/20/23
5/19/23 - 5/21/23
5/19/23 - 5/22/23

5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23

5/21/23 - 5/22/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

5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23

범위 지정 숙박: 일괄 처리 한도 및 쿼리 분할

Google은 각 가져오기 쿼리를 최대 10,000개의 호텔-여행 일정 쌍 (호텔, 체크인 날짜, 숙박 기간) 조합으로 제한합니다. 범위 지정 숙박 힌트의 경우 조합 수는 사다리꼴 공식을 사용하여 범위 지정 숙박 쿼리의 호텔-여행 일정 쌍 조합 수를 계산합니다.

$$ \text{Total Items} = \left( \text{Date Span} \times \text{LOS} + \frac{\text{LOS} \times (\text{LOS} + 1)}{2} \right) \times N_{\text{hotel_batch_size}} $$

각 항목의 의미는 다음과 같습니다.

  • Date Span: <FirstDate><LastDate> 사이의 포함된 일수입니다 (Date span = LastDate - FirstDate + 1).
  • LOS: 힌트에서 요청된 최대 숙박 기간입니다 (예: <AffectedNights>14</AffectedNights>).
  • \(N_{\text{hotel_batch_size}}\): 쿼리 일괄 처리에 포함된 숙박시설 수입니다 (hotel_batch_size를 통해 구성됨).

힌트가 10,000개를 초과하면 어떻게 되나요?

계산된 항목이 10,000개를 초과하면 Google은 쿼리 워크로드를 자동으로 분할합니다.

  1. 초기 시도 (범위 지정 숙박): 범위의 시작을 포함하는 더 작은 날짜 창이 <AffectedNights>를 사용하여 전송됩니다.
  2. 첫 번째 대체 (지원되는 경우 - 체크인 범위): <Nights> (아래 쿼리)를 사용하여 날짜 범위의 더 작은 나머지를 체크인 날짜 범위 쿼리로 전송하려고 시도합니다.
  3. 최종 대체 (정확한 여행 일정): 쿼리 집합을 개별 정확한 여행 일정으로 확장하는 것으로 대체됩니다.
<!-- Example: Remainder batch dispatched after a split -->
<Query>
  <FirstDate>2026-10-01</FirstDate>
  <LastDate>2026-10-31</LastDate>
  <Nights>14</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>
  • 숙박시설 일괄 처리 크기 균형 유지: 숙박 기간이 14박 이상인 큰 날짜 창 (예: 180~365일)을 업데이트하는 경우 Google 기술 계정 관리자에게 힌트가 분할을 트리거하지 않도록 hotel_batch_size를 더 낮은 값으로 설정해 달라고 요청하세요.
  • 힌트 범위 좁히기: Google에 가격 변경사항을 알릴 때 전체 달력을 보내는 대신 <FirstDate><LastDate> 범위를 요금이 실제로 변경된 특정 날짜 간격으로 제한하세요.
  • 힌트가 큰 날짜 범위를 포함하는 경우: 파서가 가져오기 요청을 충족하기 위해 여러 범위 지정 쿼리 유형을 사용할 수 있도록 <FirstDate><LastDate>가 포함된 블록 내에서 또는 를 허용하는지 확인하세요.