숙박 기간 (LoS) 가격 책정

여행 파트너 가격 API

Travel Partner Price API는 여행에 필요한 요금을 Google에 숙박 시설 가격을 제공합니다.

서비스: travelpartnerprices.googleapis.com

이 서비스를 호출하려면 Google에서 제공하는 클라이언트를 사용하는 것이 좋습니다. 라이브러리를 참조하세요. 만약 이 서비스를 호출하기 위해 자체 라이브러리를 사용해야 하는 경우 기술계정 관리자 (TAM)가 발견 문서를 요청 이 서비스에 적용됩니다

서비스 엔드포인트

서비스 엔드포인트는 기본 URL입니다. 서비스 1개 여러 서비스 엔드포인트가 있을 수 있습니다 이 서비스에는 다음과 같은 서비스가 있습니다. 엔드포인트와 나열된 모든 URI는 이 서비스 엔드포인트를 기준으로 합니다.

https://travelpartnerprices.googleapis.com
메서드
ingestLosPropertyPrices POST /v1/accounts/account_id/properties/property_id:ingestLosPropertyPrices

지정된 숙박 시설에 대해 제공된 숙박 기간 가격을 업로드합니다.

HTTP로 인코딩된 LoS 가격 메시지 (아래 참조)가 필요합니다. 메일 본문입니다.

account_id: 이 문자열 값은 '계정 ID' 호텔의 계정 설정 페이지에 표시된 값 가운데를 클릭합니다.

property_id: 이 요소의 값은 호텔 목록 피드의 등록정보 ID와 일치하는 문자열입니다.

API 인증

Travel Partner Price API는 OAuth 2.0을 사용하여 다음을 수행합니다. 애플리케이션을 인증해야 API에 액세스할 수 있습니다.

단계별 설정 안내를 보려면 OAuth 설정하기를 참조하세요. 버전 2.0을 사용합니다. 이 설정은 안내를 참조하세요. Travel Partner API 및 Travel Partner API는 Travel Partner Price API는 다릅니다. 이 설정 안내에서는 'Travel Partner Price API'를 대체해야 합니다. 모든 곳의 이름을 'Travel Partner API' 참조됩니다.

요청

구문

LoS Prices 메시지는 다음 구문을 사용합니다.

{
  "requestTime": YYYY-MM-DDTHH:mm:ss.SSSZ,
  "propertyPrices": {
    "arrivalDatePrices": [{
      "startDate": {
        "year": int
        "month": int
        "day": int
      }
      "endDate": {
        "year": int
        "month": int
        "day": int
      }
      "productPrices": [{
        "roomTypeId": "string"
        "ratePlanId": "string"
        "occupancyPrices": [{
          "adults": int
          "prices": [{
            "rateRuleId": "string"
            "currencyCode": "string"
            "rates": [night_1,night_2,...]
            "taxes": [night_1,night_2,...]
            "fees": [night_1,night_2,...]
          }]
        }]
      }]
    }]
  }
}

요소 및 특성

숙박 기간 가격 메시지에는 다음 요소와 속성이 있습니다.

요소 발생 횟수 유형 설명
requestTime 1 string

LoS 가격 메시지가 전송된 순간 RFC 3339 형식 문자열.

지난 24일 이내에 requestTime로 전송된 모든 메시지 처리되고 처리되지 않은 시간은 삭제됩니다.

메시지는 requestTime 순으로 처리됩니다. 할 수 있습니다. 예를 들어 requestTime의 가격 업데이트 수신된 2019-05-03T14:09:00Z 동일한 여행 일정에 대한 requestTime 메시지 2019-05-03T14:10:00Z는 나중에 타임스탬프가 지정된 메시지를 표시합니다.

RFC 3339는 완전하게 지정된 날짜/시간을 요구합니다. YYYY-MM-DDThh:mm:ss.SSZ 시간대를 지정해야 합니다. UTC의 양수 또는 음수 hh:mm 오프셋 Z는 UTC의 약칭입니다.

초소수는 선택사항이며 나노초 단위까지 저장할 수 있습니다. 예를 들어 2017-01-15T01:30:15.01-08:00는 15.01초 후를 인코딩합니다. 2017년 1월 15일 01:30 PST

propertyPrices 1 Object 숙박 시설의 가격입니다. 이 propertyPrices 내의 모든 가격 같은 속성에 적용됩니다.

이 요소는 반복되지 않습니다. 여러 숙박 시설의 가격을 전송하려면 여러 HTTP 요청을 해야 합니다 (속성당 하나 이상).

arrivalDayPrices[] 1..n Object 도착 날짜의 가격입니다. 이 arrivalDayPrices 내의 모든 가격 특정 숙박 시설에 적용되지만 도착 날짜가 다릅니다.
startDate 1 Object productPrices은 모든 도착 날짜에 적용됩니다. startDateendDate 사이(두 값 포함)

범위가 아닌 하나의 도착 날짜만 지정하려는 경우 startDateendDate에 모두 도착 날짜를 입력합니다.

startDate.year 1 integer startDate의 연도입니다. 1~9,999 사이의 값이어야 합니다.
startDate.month 1 integer 연도의 월입니다. 1~12 사이의 값이어야 합니다.
startDate.day 1 integer 월의 일입니다. 1~31 사이의 값이어야 하며 연도 및 월에 유효합니다.
endDate 0..1 Object productPrices는 startDateendDate(양 끝값 포함)

범위가 아닌 하나의 도착 날짜만 지정하려는 경우 endDate는 생략할 수 있습니다.

endDate.year 1 integer endDate의 연도입니다. 1~9,999 사이의 값이어야 합니다.
endDate.month 1 integer 연도의 월입니다. 1~12 사이의 값이어야 합니다.
endDate.day 1 integer 월의 일입니다. 1~31 사이의 값이어야 하며 연도 및 월에 유효합니다.
productPrices[] 1..n Object 제품의 가격입니다. 이 productPrices 내의 모든 가격 도착일 조합에 적용되지만 있습니다.
roomTypeId 0..1 string 이 가격이 참조하는 객실의 고유 ID입니다. 사용 이 ID를 사용하여 Room Bundle 데이터와 Roomdata에 보낸 데이터를 일치시킵니다. 자세한 내용은 Room 번들 메타데이터.
ratePlanId 0..1 string 이 가격이 참조하는 패키지 데이터의 고유 ID입니다. 사용 이 ID를 사용하여 객실 번들 데이터와 packagedata에 보낸 데이터를 일치시킵니다. 자세한 내용은 Room 번들 메타데이터.
occupancyPrices[] 1..n Object 숙박 인원 가격입니다. 이 occupancyPrices 내의 모든 가격 특정 숙박 시설, 도착일, 제품 조합에 적용되지만 배치할 수 있습니다.
adults 1 integer 다음을 포함하여 객실당 예약할 수 있는 최대 참석자 수 있습니다. 이 값은 해당하는 occupancyPrices 필드이며 양수여야 합니다. 1과 99 사이의 정수입니다.

참고: 숙박 인원을 보내려면 지원팀에 문의하세요. 성인 4명 이상

prices[] 1..n Object 숙박 기간 가격입니다. prices 내의 모든 가격이 적용되는 대상 특정 숙박 시설, 도착일, 제품, 숙박 인원 조합입니다.
rateRuleId 0..1 string 조건부 요금의 경우 이 ID는 요금 규칙 정의 파일의 정의와 요금을 비교합니다. 이 입력란의 글자 수 제한은 40자(영문 기준)입니다.
currencyCode 1 string ratestaxes인 세 글자로 된 통화 코드 제공됩니다 예를 들어 미국 달러의 경우 "USD"입니다.
rates[] 30 float 숙박 기간의 기본 요금 구성요소입니다.

해당하는 taxes 값이 제공되면 이 요율은 포함되지 않습니다. 총 가격은 세율 및 세금입니다.

색인 n의 값이 n+1에 해당합니다. 숙박 기간

30개 가격의 전체 LoS 세트를 한 번에 전송해야 합니다. 보내는 경우 30 미만인 경우 제공된 모든 LoS 가격은 나머지 요율은 LoS 30까지 사용할 수 없습니다. 만약 30번째보다 많이 전송한 경우 30번째 요율을 초과하여 보내는 모든 가격은 이(가) 감소했습니다 .

이용할 수 없는 숙박 기간은 0

taxes[] 30 float 숙박 기간 가격의 세금 구성요소입니다.

색인 n의 값이 n+1에 해당합니다. 숙박 기간

fees[] 30 float 숙박 기간 가격의 수수료 구성요소입니다.

색인 n의 값이 n+1에 해당합니다. 숙박 기간

요금 및 LOS에 따른 세금

다음 예시는 최소 숙박 기간을 2로 설정하는 방법을 보여줍니다. 다른 체크인 날짜에는 예약 가능 여부를 설정할 수 없습니다. endDate 없이 2023년 9월 1일부터 startDate를 설정하면 하나의 날짜에 대해서만 요율을 지정하므로 endDate입니다.

2로 설정된 occupancyPrices 배열을 사용하면 다양한 속도를 설정할 수 있습니다. 서로 다른 숙박 시설에 사용됩니다. 따라서 2023년 9월 4일 한도에 빈틈이 없습니다. rates 사용 가능.

표시된 taxes 배열은 비율의 10% 로 계산됩니다.

표시된 fees 배열에는 숙박 1회당 청소 요금 50달러가 부과됩니다.

전체 체크인 날짜를 확인할 수 없는 경우 ‐9/3/2023 명시적으로 날짜를 보내고 rates, taxes, productPrices를 생략하여 요청된 날짜에 예약할 수 없음을 나타냅니다.

{
  "requestTime": "2023-08-10T12:15:222",
  "propertyPrices": {
    "arrivalDatePrices": [
      {
        "startDate": {
          "year": 2023,
          "month": 9,
          "day": 1
        },
        "productPrices": [
          {
            "occupancyPrices": [
              {
                "adults": 2,
                "prices": [
                  {
                    "currencyCode": "USD",
                    "rates": [
                      0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "taxes": [
                      0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "fees": [
                      0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ]
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "startDate": {
          "year": 2023,
          "month": 9,
          "day": 3
        },
        "productPrices": [
          {
            "occupancyPrices": [
              {
                "adults": 2,
                "prices": [
                  {
                    "currencyCode": "USD",
                    "rates": [
                      0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "taxes": [
                      0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "fees": [
                      0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

응답 본문

성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.

JSON 표현
        {
          "name": "string"
        }
        
필드
name 수정된 PropertyPrices의 리소스 이름입니다. 양식이 있습니다.
accounts/{account}/properties/{property}