가격 및 객실 인벤토리 (거래) XML 참조

이 페이지에서는 XML 기반 거래 메시지에 대한 참조를 제공합니다.

<Transaction>

Transaction message의 루트 요소 <Transaction>입니다. 이 컨테이너는 광고에 대한 설명 정보를 객실 및 패키지, 가격, 객실 및 패키지 이용 가능 여부

<Transaction> 요소는 다음 위치에 나타납니다. 트랜잭션 메시지 XML 계층 구조:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

<Transaction>를 루트 요소로 사용하는 메시지에는 하나 이상이 필요합니다. 하위 요소 트랜잭션 메시지에는 총 메시지 크기가 100MB를 넘지 않아야 합니다.

구문

<Transaction> 요소는 다음 구문을 사용합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp" id="transaction_ID">

  <!-- Defines data about a room or package (Room Bundle) -->
  <PropertyDataSet>
    ...
  </PropertyDataSet>

  <!-- Updates/sets prices and availability for rooms and Room Bundles -->
  <!-- (Also removes itineraries from inventory) -->
  <Result>
    ...
  </Result>

</Transaction>

속성

<Transaction> 요소는 다음과 같은 속성을 포함합니다.

속성 필수 여부 유형 설명
id Required 문자열 각 거래 메시지의 고유 식별자입니다.
partner Optional string 거래 메시지의 대상 파트너 계정입니다. 나 일반적으로 백엔드에서 여러 개의 가격 피드를 제공하는 경우 이 속성을 사용합니다. 있습니다. 이 문자열 값은 '파트너 키'입니다. 값이 <ph type="x-smartling-placeholder"></ph> 계정 설정 페이지로 이동합니다.
timestamp Required DateTime

거래 메시지가 전송된 순간 전송됩니다.

24시간 이내의 타임스탬프가 있는 메일은 처리되지 않은 항목은 삭제됩니다.

메시지가 timestamp 순으로 처리되며 수신 순서가 들 수 있습니다. 예를 들어 2019-05-03 14:09:00의 타임스탬프로서 타임스탬프가 2019-05-03 14:10:00인 메시지를 실행하면 계속 순서대로 처리되며, 2019-05-03 14:10:00의 타임스탬프가 사용됩니다.

하위 요소

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

하위 요소 필수 여부 유형 설명
<PropertyDataSet> Optional* <PropertyDataSet>

특정 객실 및 객실 패키지를 설명합니다. 일반적으로 요소를 별도의 트랜잭션 메시지에 포함하여 객실 패키지를 업그레이드하고 거래 메시지의 크기를 줄이세요.

<Result> Optional* <Result>

객실 여행 일정 또는 숙박 일정에 대한 가격 데이터입니다. Room 번들을 정의하는 <RoomBundle> 요소 숙박 시설의 추가 객실 유형을 표시합니다. 이 <Result> 요소를 사용하여 여행 일정을 추가할 수 있습니다.

* <PropertyDataSet> 또는 <Result> 중 하나 이상 은(는) 필수입니다.

객실 데이터

다음 예에서는 Transaction 메시지에 방 데이터를 정의합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>5440OF</RoomID>
      <Name>
        <Text text="Single King Bed Room" language="en"/>
        <Text text="Simple Lit de Roi" language="fr"/>
      </Name>
      <Description>
        <Text text="One king bed with pillowtop mattresses, 300-thread-count linens,
          and down comforters (bedspreads). City view. 300 square feet. Desk with
          rolling chair. Multi-line phone with voice mail. Cable/satellite TV with
          complimentary HBO and pay movies." language="en"/>
        <Text text="Un très grand lit avec matelas à plateau-coussin, ..." language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Bathroom View" language="en"/>
          <Text text="La salle de baines" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Capacity>4</Capacity>
    </RoomData>
  </PropertyDataSet>
</Transaction>

가격 책정 데이터

다음 예시에서는 Transaction 메시지에 가격 데이터를 정의합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">278.33</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="site1"/>
    </AllowablePointsOfSale>
  </Result>
  <Result>
    <Property>052213</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">299.98</Baserate>
    <Tax currency="USD">26.42</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="otto"/>
      <PointOfSale id="simon"/>
    </AllowablePointsOfSale>
  </Result>
</Transaction>

1박 요금

다음 예는 2023년 9월 1일부터 1~7박에 대한 가격 데이터를 정의합니다. 2023년 6월 7일:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-08-24T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">209.99</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">419.98</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>3</Nights>
    <Baserate currency="USD">614.97</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>4</Nights>
    <Baserate currency="USD">819.96</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>5</Nights>
    <Baserate currency="USD">999.95</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>6</Nights>
    <Baserate currency="USD">1193.94</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>7</Nights>
    <Baserate currency="USD">1259.93</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
</Transaction>


기본 및 조건부 요금

다음 예시는 기본 스레드가 포함된 트랜잭션 메시지를 보여줍니다. 요율과 조건부 요금이 포함되어 있습니다.

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

인벤토리 삭제

다음 예에서는 여러 인벤토리 (1박 체류: 여러 다른 날짜)가 있는 경우:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-05-23T16:20:00-04:00" id="42">
  <Result>
    <Property>1123581321</Property>
    <Checkin>2023-05-23</Checkin>
    <Nights>1</Nights>
    <Unavailable>
      <NoVacancy/>
    </Unavailable>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
  <Result>
    <Property>1123581321</Property>
    <Checkin>2023-05-24</Checkin>
    <Nights>1</Nights>
    <Unavailable>
      <NoVacancy/>
    </Unavailable>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
  <!---Sending <Baserate> is optional with <Unavailable> -->
  <Result>
    <Property>1123581321</Property>
    <Checkin>2023-05-25</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">-1</Baserate>
    <Unavailable>
      <NoVacancy/>
    </Unavailable>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
</Transaction>

<PropertyDataSet>

방 및 패키지 (또는 Room 번들) 정보를 위한 컨테이너는 <Transaction> 메시지 호텔에 설정된 값은 파트너에 설정된 값보다 우선 적용됩니다. Google은 사용자가 매번 정의할 필요가 없도록 이 정보를 저장합니다. 가격 업데이트를 전송합니다

<PropertyDataSet> 요소는 다음 위치에 나타납니다. 트랜잭션 메시지 XML 계층 구조:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>  // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

자세한 내용은 Room 번들 메타데이터를 참고하세요.

구문

<PropertyDataSet> 요소는 다음 구문을 사용합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet>
    <!-- (Required) ID that matches the Hotel List Feed -->
    <Property>hotel_ID</Property>

    <!-- (Optional) Defines metadata about a room -->
    <RoomData>
      ...
    </RoomData>

    <!-- (Optional) Defines package metadata to be paired with rooms (Room Bundles) -->
    <PackageData>
      ...
    </PackageData>
  </PropertyDataSet>
  ...
</Transaction>

속성

<PropertyDataSet> 요소에 속성이 없습니다.

하위 요소

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

하위 요소 필수 여부 유형 설명
<PackageData> Optional* <PackageData> 객실 번들을 설명합니다. 이 데이터는 파트너와 연결되며 여행 일정은 없습니다. 이 요소는 다음과 유사합니다. <RoomData> 하지만 이 외에 다른 편의시설 및 용어를 설명합니다. 설명하겠습니다.

가격 업데이트에서 패키지 ID를 참조합니다.

자세한 내용은 Room 번들 메타데이터.

<Property> Required string 관련 데이터가 적용되는 호텔의 ID입니다. 이 이 요소의 값은 등록정보와 일치하는 문자열이어야 합니다. <id>이(가) 호텔 목록 피드에 있습니다.
<RoomData> Optional* <RoomData> 방을 설명합니다. 이 데이터는 파트너 및 호텔과 연결되어 있으며, 여행 일정은 없습니다.

가격 업데이트에서 객실 ID를 참조합니다.

* <PackageData> 또는 <RoomData> 중 하나 이상 은(는) 필수입니다.

객실 및 패키지 데이터

다음 예는 객실 및 패키지 데이터를 모두 <PropertyDataSet>:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>180054</Property>
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Bed Room" language="en"/>
        <Text text="Chambre single" language="fr"/>
      </Name>
      <Description>
        <Text text="Non-smoking" language="en"/>
        <Text text="Pas de fumiers" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
        <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Includes a delightful array of jams and jellies." language="en"/>
        <Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

이 객실 및 객실 패키지 가격과 예약 가능 여부를 전송할 때 가격 메시지에서 객실 및 패키지 ID를 참조합니다. 결과는 다음과 같습니다. 메일 크기가 크게 줄어들고 메일도 줄어듭니다. 중복 데이터로 인해 발생할 수 있는 오류의 양을 나타냅니다. 자세히 알아보기 자세한 내용은 Room 번들 메타데이터를 참고하세요.

<RoomData>

객실 및 더 나아가 Room에 관한 일정과 무관한 메타데이터를 정의합니다. 패키지 (객실 패키지는 객실 및 추가 편의시설이기 때문입니다.) 사용 <RoomData>하여 가격에서 설명 데이터의 반복을 줄이세요. 피드를 탭합니다.

<RoomData> 요소는 다음 위치에 나타납니다. 트랜잭션 메시지 XML 계층 구조:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

<RoomData> 요소에는 숙박 일정과는 연동되지 않습니다. 모든 사용자를 대상으로 있습니다.

<RoomData> 요소는 <PackageData>와 비슷하지만 다음을 설명합니다. 편의 시설이나 패키지 약관보다는 실제 방을 선호합니다. 당신이 사용하는 <RoomData><PackageData>를 함께 사용하여 다음에 대한 세부정보를 제공합니다. 객실 패키지 패키지에 포함되지 않은 개별 방의 경우 <RoomData>

<RoomData><PackageData> 요소를 모두 정의할 수 있습니다. 객실 패키지로 예약할 수 있습니다. Google이 해당 객실 또는 패키지를 둘 다의 설명이 나와 있고, 하이픈

자세한 내용은 Room 번들 메타데이터를 참고하세요.

구문

<RoomData> 요소는 다음 구문을 사용합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet>
    ...
    <RoomData>
      <RoomID>room_ID</RoomID>

      <Name>
        <Text text="room_name" language="language_code"/>
        ...
      </Name>

      <Description>
        <Text text="room_description" language="language_code"/>
        ...
      </Description>

      <Capacity>max_number_of_occupants</Capacity>
      <Occupancy>max_number_of_intended_occupants</Occupancy>
      <OccupancyDetails> <!-- optional info about the types of guests,
      whether adults, children, or seniors --></OccupancyDetails>
      <OccupancySettings>
        <MinOccupancy>min_number_of_occupants</MinOccupancy>
        <MinAge>min_age_of_occupants</MinAge>
      </OccupancySettings>

      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      <RoomFeatures>
        ...
      </RoomFeatures>
    </RoomData>
    ...
  </PropertyDataSet>
</Transaction>

속성

<RoomData> 요소에 속성이 없습니다.

하위 요소

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

하위 요소 필수 여부 유형 설명
<Capacity> Optional integer 회의실에서 실제로 참석할 수 있는 최대 투숙객 수 있습니다. 객실 수용 인원은 다음보다 크거나 같습니다. 점유율을 탭합니다.

지정된 경우 이 값은 값보다 크거나 같아야 합니다. <Occupancy> 요소의 값을 반환합니다. 특정 방의 투숙객 수입니다. 예를 들어 대형 스위트룸의 경우 <Capacity>는 6일 수 있지만 따라서 <Occupancy>는 4입니다.

<Capacity> 값은 양의 정수여야 합니다. 1 이상, 20 이하입니다.

<Description> Optional Object 방에 대한 자세한 설명입니다. 이 요소는 다른 요소나 <Name> 요소 모든 단어에 대문자를 사용하여 문자만 반환합니다.

<Description> 요소는 단일 하위 요소를 사용합니다. 다음 두 가지 요소가 있는 <Text> 요소 필수 속성:

  • text: 방에 관한 자세한 설명입니다.
  • language: 2자리 언어 코드입니다. 예를 들어 fr입니다.

언어마다 별도의 <Text> 요소 사용 광고 또는 무료 예약 링크가 표시될 수 있는 위치( language 속성)

다음 예는 프랑스어 및 영어 버전의 회의실을 보여줍니다. 설명:

<Description>
  <Text text="Two queen-sized beds" language="en"/>
  <Text text="Deux lits de la reine" language="fr"/>
</Description>
<Name> Required string 방 카테고리의 이름입니다. 이 값은 호텔의 방문 페이지 (이전의 판매 시점)에 표시됩니다. 설정 안함 이 요소의 값을 모두 대문자로 변경합니다.

이 요소는 단일 하위 요소 <Text>를 사용합니다. 다음 두 가지 필수 속성이 있습니다.

  • text: 방의 이름입니다.
  • language: 2자리 언어 코드입니다. 예를 들어 fr입니다.

언어마다 별도의 <Text> 요소 사용 광고 또는 무료 예약 링크가 표시될 수 있는 위치( language 속성 값)

다음 예는 프랑스어 및 영어 버전의 회의실을 보여줍니다. 이름:

<Name>
  <Text text="Standard Double Room" language="en"/>
  <Text text="Le chambre double" language="fr"/>
</Name>
<Occupancy> Optional integer 회의실 사용 목적의 최대 투숙객 수입니다. 예를 들어, 대형 스위트룸은 6개의 공간을 물리적으로 수용하고 손님 (수용 인원 = 6명), 하지만 최대 4명까지 이용할 수 있습니다.

이 값은 <Capacity> 요소 - 인원수 공간이 물리적으로 수용될 수 있는 것입니다.

<Occupancy> 값은 양수여야 합니다. 1 이상 99 사이의 정수입니다.

<Occupancy>이(가) 동반될 수 있음 <OccupancyDetails>는 성인 또는 어린이) 문법은 <OccupancyDetails>를 참고하세요. 하위 요소의 설명을 볼 수 있습니다.

<OccupancySettings> Optional Object 숙박 인원 요건을 제한하거나 수정할 수 있는 설정입니다. 있습니다.

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

  • <MinOccupancy>: 최소 참석자 수 방에 머무를 수 있습니다. 예를 들어 2, 이 회의실을 한 명으로 예약할 수 없습니다.

    <MinOccupancy> 값은 양수여야 합니다. 1 이상 99 사이의 정수입니다.

  • <MinAge>: 모든 참석자의 최소 연령 방에 머무르기만 하면 되죠. 예를 들어 18로 설정된 경우 이 객실은 모두 만 18세인 그룹에만 예약할 수 있습니다. 합니다.

    <MinAge> 값은 양의 정수여야 합니다. 범위에 해당합니다.

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

모든 하위 요소를 포함할 필요는 없습니다.

<PhotoURL> Optional Object 주어진 방의 사진에 대한 URL 및 캡션(선택사항)입니다. 객실 패키지 <PhotoURL>을 2개 이상 지정할 수 있습니다. '객실 패키지'를 선택합니다. 각 사진 URL은 <PhotoURL>

이 요소는 다음과 같은 하위 요소를 사용합니다.

  • <URL>: 사진의 위치를 지정합니다. 이 위치는 방화벽 뒤가 아닌 공개되어야 하며 프로토콜 (예: https://) 하나만 사용 <PhotoURL><URL>입니다.
  • <Caption>: 사진의 설명을 정의합니다. 이 요소는 단일 하위 요소 <Text>를 사용합니다. 여기에는 두 가지 필수 속성(textlanguage입니다. text 속성은 자막입니다. language 속성은 두 문자를 언어 코드(예: en)

예:

<PhotoURL>
  <URL>https://www.example.com/static/bar/image1234.jpg</URL>
  <Caption>
    <Text text="A bright and breezy way to enjoy your mornin'
      cuppa tea." language="en"/>
    <Text text="Une façon lumineuse et aérée pour profiter
      de votre journée tasse de thé." language="fr"/>
  </Caption>
</PhotoURL>
<PhotoURL>
  <URL>https://www.foo.com/static/bar/image5678.jpg</URL>
  <Caption>
    <Text text="Or, perhaps you prefer coffee." language="en"/>
    <Text text="Ou peut-être préférez-vous le café." language="fr"/>
  </Caption>
</PhotoURL>
<RoomFeatures> Optional <RoomFeatures> 객실의 특징에 대한 정보가 포함됩니다.
<RoomID> Required string 방의 고유 ID입니다. 이 ID를 사용하여 객실 데이터와 일치시킵니다. 가격 업데이트에서 <Result> 차단이 적용됩니다. 대상 자세한 내용은 Room 번들 메타데이터를 참고하세요. ( 또한 이 ID를 사용하여 단일 객실 데이터를 인라인으로 정의할 때의 거래 메시지)

객실 데이터

다음 예에서는 방 데이터를 정의합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>5440OF</RoomID>
      <Name>
        <Text text="Single King Bed Room" language="en"/>
        <Text text="Simple Lit de Roi" language="fr"/>
      </Name>
      <Description>
        <Text text="One king bed with pillowtop mattresses, 300-thread-count linens,
          and down comforters (bedspreads). City view. 300 square feet. Desk with
          rolling chair. Multi-line phone with voice mail. Cable/satellite TV with
          complimentary HBO and pay movies." language="en"/>
        <Text text="Un très grand lit avec matelas à plateau-coussin, ..." language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Bathroom View" language="en"/>
          <Text text="La salle de baines" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Capacity>4</Capacity>
    </RoomData>
  </PropertyDataSet>
</Transaction>

방 및 패키지 메타데이터

다음 예에서는 방 및 패키지 메타데이터를 정의합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>180054</Property>
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Bed Room" language="en"/>
        <Text text="Chambre single" language="fr"/>
      </Name>
      <Description>
        <Text text="Non-smoking" language="en"/>
        <Text text="Pas de fumiers" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
        <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Includes a delightful array of jams and jellies." language="en"/>
        <Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

여러 객실 패키지

다음 예에서는 여러 Room의 회의실 및 패키지 메타데이터를 정의합니다. 번들:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <!-- A transaction message with room types result. -->
  <PropertyDataSet>
    <Property>12345</Property>
    <RoomData>
      <RoomID>single</RoomID>
      <Name>
        <Text text="Single room" language="en"/>
        <Text text="Chambre simple" language="fr"/>
      </Name>
      <Description>
        <Text text="A single room" language="en"/>
        <Text text="Le chambre simple" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image1235.jpg</URL>
      </PhotoURL>
      <Capacity>2</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>double</RoomID>
      <Name>
        <Text text="Double room" language="en"/>
        <Text text="Chambre double" language="fr"/>
      </Name>
      <Occupancy>1</Occupancy>
    </RoomData>
    <PackageData>
      <PackageID>refundbreakfast</PackageID>
      <Name>
        <Text text="Refundable Room with Breakfast" language="en"/>
        <Text text="Chambre remboursable avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Continental Breakfast" language="en"/>
        <Text text="Petit déjeuner continental" language="fr"/>
      </Description>
      <ChargeCurrency>hotel</ChargeCurrency>
      <Refundable available="1" refundable_until_days="3"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>prepaid</PackageID>
      <Name>
        <Text text="Nonrefundable" language="en"/>
        <Text text="Non remboursable" language="fr"/>
      </Name>
      <Description>
        <Text text="Blah blah blad" language="en"/>
        <Text text="Le blah blah blad" language="fr"/>
      </Description>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="0"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>

<RoomFeatures>

방에서 발견된 특징을 정의합니다.

<RoomFeatures> 요소는 다음 위치에 나타납니다. 트랜잭션 메시지 XML 계층 구조:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
            + <RoomFeatures>

구문

<RoomFeatures> 요소는 다음 구문을 사용합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet ... >
    ...
    <RoomData>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
        <Beds>
           <Bed size="[single|semi_double|double|queen|king]">
             <Width unit="cm" number="width"/>
             <Length unit="cm" number="length"/>
           </Bed>
           <!-- Include with any additional beds. -->
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>[shared|private]</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>[smoking|non_smoking]</Smoking>
        <BathAndToilet relation="[together|separate]">
          <Bath bathtub="[false|true]" shower="[false|true]"/>
          <Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <!-- (Optional) Defines the type of views from the room. -->
          <!-- Example: <OceanView/> -->
        </Views>

      </RoomFeatures>
      ...
    </RoomData>
    ...
  </PropertyDataSet>
</Transactions>

속성

<RoomFeatures> 요소에 속성이 없습니다.

하위 요소

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

하위 요소 필수 여부 유형 설명
<JapaneseHotelRoomStyle> Optional enum

일본식 호텔 객실의 스타일을 나타냅니다.

유효한 값은 다음과 같습니다.

  • western: 침대가 있는 서양식 방
  • japanese: 바닥에 깔 수 있는 요가 제공되는 일본식 객실
  • japanese_western: 일본식 서양식 객실 서양식 침대와 일본식 이불이 모두 제공됩니다.
<Beds> Optional Object 방의 최대한 많은 <Bed>를 포함합니다. 참고 일본 이불은 여기에서 계산되지 않습니다.

<Bed>에는 다음과 같은 속성이 있습니다.

  • size (선택사항): 유효한 값은 single입니다. semi_double, double, queenking.
<Bed>에는 다음과 같은 하위 요소가 있습니다.
  • <Width> (선택사항): 침대 너비를 지정합니다. 필수 값이 cmunit 속성이 있어야 함 침대 너비가 정수인 속성 number 센티미터여야 합니다.
  • <Length> (선택사항): 침대 길이를 지정합니다. unit 속성의 값이 cm이어야 합니다. 침대 길이를 포함하는 속성 number가 정수 센티미터
예:
<Beds>
  <Bed size="double">
    <Width unit="cm" number="140"/>
    <Length unit="cm" number="195"/>
  </Bed>
  <Bed/> <!-- Size unknown -->
</Beds>
<Suite> Optional empty 이 객실이 스위트룸인 경우 이 요소를 제공합니다.
<Capsule> Optional empty 이 객실이 캡슐형 객실인 경우 이 요소를 제공합니다.
<Roomsharing> Optional enum 이 회의실을 소유자 또는 다른 숙박 인원과 같은 다른 숙박자와 공유하는지 여부 있습니다. 유효한 값은 shared, private입니다.
<Outdoor> Optional empty 객실이 고정된 벽, 배관 및 실내 온도 조절기가 있습니다. 예: 호텔 객실 야외 숙박 시설은 아니지만 투숙객이 텐트에서 머무르는 캠핑장은 자신의 RV를 가져오는 RV 캠핑장은 야외 숙박 시설입니다.
<MobilityAccessible> Optional empty 이 방에 거동이 불편한 경우 이 요소를 제공합니다.
<Smoking> Optional enum 이 객실이 금연 객실인지 흡연실인지 여부입니다. 유효한 값 non_smokingsmoking입니다.
<BathAndToilet> Optional Object 객실 내 욕실 및 화장실에 대한 정보가 포함됩니다.

속성은 다음과 같습니다.

  • relation (선택사항): 욕실 및 화장실 방식을 나타냅니다. 크기가 서로 대립됩니다. 유효한 값은 together입니다. (욕실과 화장실이 같은 방에 함께 있음 (예: 욕실)을 나란히 두고 있는 경우 및 separate (욕실과 화장실은 각각 전용 공간이 있습니다.) 이 속성은 방에 욕실과 화장실이 둘 다 없는 경우 설정할 수 있습니다.

이 요소는 선택적으로 다음과 같은 하위 요소를 사용합니다.

  • <Bath> (선택사항): 이 요소의 존재 여부 는 방에 욕조가 있음을 나타냅니다.

    속성은 다음과 같습니다.

    • bathtub (선택사항): 욕조에 욕실에 욕조가 있습니다. 유효한 값은 0입니다. (또는 false) 및 1 (또는 true)
    • shower (선택사항): 욕조에 있습니다. 유효한 값은 0 (또는 false) 및 1 (또는 true).
  • <Toilet> (선택사항): 이 요소의 존재 여부 은 이 방에 화장실이 있음을 나타냅니다.

    속성은 다음과 같습니다.

    • electronic_bidet (선택사항): 화장실에 전자 비데가 있습니다. 유효한 값은 0 (또는 false) 및 1 (또는 true).
    • mobility_accessible (선택사항): 장애인 편의시설이 있습니다. 유효한 값은 0입니다. (또는 false) 및 1 (또는 true)

예:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
<OpenAirBath> Optional empty 객실에 전용 노천탕이 있는 경우 이 요소를 제공합니다.
<AirConditioning> Optional empty 이 객실에 에어컨이 있는 경우 이 요소를 제공합니다.
<Balcony> Optional empty 이 객실에 발코니 또는 베란다가 있는 경우 이 요소를 제공하세요.
<Views> Optional Object 유효한 옵션은 다음과 같습니다.

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

JapaneseHotelRoomStyle에는 기본값이 없습니다. 생략 XML 오류가 발생하지는 않지만 목록이 검색결과는 표시되지 않습니다.

싱글 사이즈 침대 2개

다음 예는 <RoomFeatures>를 사용하는 방법을 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two single beds -->
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>private</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>non_smoking</Smoking>
        <BathAndToilet relation="separate">
          <Bath bathtub="1" shower="1"/>
          <Toilet electronic_bidet="1" mobility_accessible="1"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <LakeView/>
          <MarinaView/>
          <BeachView/>
          <ForestView/>
          <MountainView/>
          <NatureView/>
        </Views>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

더블 사이즈 침대 2개

다음은 두 명이 있는 western 스타일의 일본식 방의 예입니다. 침대가 double개 있습니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two double beds-->
          <Bed size="double"></Bed>
          <Bed size="double"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>


일본식 침대 없음

다음은 침대가 없는 일본식 객실의 예입니다. 침대 japanese 스타일의 방에는 정보가 필요하지 않습니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

침대가 있는 일식 서양식 요리

다음은 king를 사용하는 japanese_western 스타일 방의 예입니다. 침대 사이즈의 침대였습니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
        <Beds>
          <Bed size="king"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

</ph>

파트너가 japanese_western의 침대 수를 알려주지 않는 경우 다음 예를 따르세요.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

<PackageData>

숙박 시설의 객실 번들에 관한 일정과 무관한 메타데이터를 정의합니다. 이 요소에는 파트너 및 호텔과 연결된 정보가 포함됩니다. 여행 일정은 없습니다. 의도된 목적은 여행 일정이 아닌 모든 일정을 정의하는 것입니다. 여행 일정 데이터에서 이를 참조할 수 있습니다

<PackageData> 요소는 다음 위치에 나타납니다. 트랜잭션 메시지 XML 계층 구조:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

<PackageData> 요소는 <RoomData>와 비슷하지만 요금 특징 및 실제 객실이 아닌 용어를 설명합니다. 설명 <RoomData><PackageData>를 다음과 같이 조합하여 사용 은 객실 패키지 및 요금 기능에 관한 세부정보를 제공합니다. 예약 가능한 개별 방의 경우 패키지의 일부가 아니므로 <RoomData>만 사용합니다.

다음과 같이 <RoomData><PackageData> 요소를 모두 정의할 수 있습니다. 객실 패키지를 예약할 수 있습니다. Google이 해당 객실 또는 패키지를 둘 다의 설명이 나와 있고, 하이픈

속성의 단일 <PackageData> 요소를 업데이트하는 경우 속성의 모든 <PackageData><RoomData> 요소를 업데이트합니다. 각 <PropertyDataSet>는 속성에 관한 모든 데이터로 간주됩니다. 기존 데이터를 덮어씁니다.

자세한 내용은 Room 번들 메타데이터를 참고하세요.

구문

<PackageData> 요소는 다음 구문을 사용합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet ... >
    <PackageData>
      <PackageID>package_ID</PackageID>
      <Name>
        <Text text="package_name" language="language_code"/>
        ...
      </Name>
      <Description>
        <Text text="package_description" language="language_code"/>
        ...
      </Description>
      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>
      <Occupancy>max_number_of_intended_occupants</Occupancy>
      <OccupancyDetails><!-- optional info about the types of guests,
      whether adults or children --></OccupancyDetails>
      <!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      ...
      <Meals>
        <Breakfast
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
        <Dinner
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
      </Meals>
      <CheckinTime>checkin_time</CheckinTime>
      <CheckoutTime>checkout_time</CheckoutTime>
      <MembershipBenefitsIncluded>
        <ProgramName>
          <Text language="en" text="Special Rewards">
        </ProgramName>
        <ProgramLevel>
          <Text language="en" text="Platinum">
        </ProgramLevel>
      </MembershipBenefitsIncluded>
      <OnPropertyCredit>
        <Amount currency="USD">123.45</Amount>
      </OnPropertyCredit>
    </PackageData>
    <!-- a PackageID with a MilesIncluded rate feature -->
    <PackageData>
      <PackageID>room_with_miles</PackageID>
      <Name>
       <Text text="Room with Bundled Miles" language="en">
      </Name>
      <ChargeCurrency>hotel </ChargeCurrency>
      <MilesIncluded>
        <NumberOfMiles>1000 </NumberOfMiles>
        <Provider>
          <Text language="en" text="United Airlines">
        </Provider>
      </MilesIncluded>
    </PackageData>
    ...
    ...
  </PropertyDataSet>
  ...
</Transaction>

속성

<PackageData> 요소에 속성이 없습니다.

하위 요소

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

하위 요소 필수 여부 유형 설명
<BreakfastIncluded> Optional boolean 이 패키지에 조식을 요금과 함께 포함할지 지정합니다. 유효한 값은 0 (또는 false) 및 1입니다. (또는 true).

또한 다음에서 교체: <Meals> <BreakfastIncluded>입니다.

<ChargeCurrency> Optional enum 사용자가 예약을 결제하는 시기 및 장소 이 요소는 구문을 <Result><ChargeCurrency>로 표시합니다.

기본값은 web입니다.

<CheckinTime> Optional Time 가장 이른 체크인 시간입니다. 시간은 호텔의 현지 시간으로 24:00 미만이어야 합니다.
<CheckoutTime> Optional Time 호텔의 현지 시간을 기준으로 한 가장 최근 체크아웃 시간입니다.
<Description> Optional Object 패키지에 관한 자세한 설명입니다. 이 요소는 다른 요소나 <Name> 요소 모든 단어에 대문자를 사용하여 문자만 반환합니다.

<Description> 요소는 단일 두 개의 필수 속성이 있는 하위 요소 <Text> textlanguage. text 속성은 설명이고 language 속성입니다. 는 다음 예와 같이 두 글자로 된 언어 코드를 지정합니다. 표시:

<Description>
  <Text text="Two breakfast buffet certificates for
    each night of stay." language="en"/>
  <Text text="Deux certificats petit-déjeuner buffet
    pour chaque nuit de séjour." language="fr"/>
</Description>
<InternetIncluded> Optional boolean 패키지에 무료 인터넷 액세스가 포함된 경우 다른 패키지에는 그러한 편의시설이 포함되어 있지 않습니다. 설정하지 않음 모든 호텔에 무료 인터넷을 제공하는 호텔 객실 패키지 요소를 있습니다. 이 요소는 객실 내 유선 인터넷 또는 무선에는 적용되지 않습니다. 인터넷을 이용할 수 없습니다. 유효한 값은 0 (또는 false) 및 1 (또는 true).
<Meals> Optional Object 이 패키지의 식사 정보가 포함되어 있습니다.

<Meals> 요소는 두 개의 선택적 하위 요소를 사용합니다. 요소, <Breakfast><Dinner> 다음과 같은 속성이 있습니다.

  • included (필수): 1 (또는 true)로 설정합니다. 요금에 조식/석식이 포함된 경우 그렇지 않으면 0로 설정 또는 false
  • in_room (선택사항): 1 (또는 true)로 설정합니다. 투숙객이 객실에서 조식/석식을 제공하는 경우 in; 그렇지 않으면 0 (또는 false)로 설정합니다.
  • in_private_space (선택사항): 1 (또는 true) 다른 아이들과 접촉하지 않을 수 있는 공간 (집에 머무르는 방은 제외) 다른 게스트 그렇지 않으면 0 (또는 false)로 설정합니다.
  • buffet (선택사항): 1 (또는 true)로 설정합니다. 조식/석식이 뷔페로 제공되는 경우 그렇지 않으면 0로 설정 (또는 false).

선택적 속성은 included이 true를 반환합니다.

식사 필터 (no meals, breakfast only, dinner onlybreakfast and dinner) 후 출근해야 합니다. <Breakfast><Dinner> 모두 included 속성과 함께 제공됩니다.

<Name> Required string 패키지의 이름입니다. 이 값은 확인할 수 있습니다. 이 요소의 값을 모두 대문자로 설정하지 마세요. 있습니다.

이 요소는 단일 하위 요소 <Text>를 사용합니다. 여기에는 두 가지 속성 textlanguage가 있습니다. text 속성은 설명이며, language 속성은 두 글자로 된 언어 코드를 지정합니다. 예를 들면 다음과 같습니다.

<Name>
  <Text text="Bed and Breakfast" language="en"/>
  <Text text="Lit et petit déjeuné" language="fr"/>
</Name>
<Occupancy> Optional integer 객실 패키지 대상의 최대 투숙객 수입니다. 예를 들어, 대형 스위트룸은 6개의 공간을 물리적으로 수용하고 단, 최대 4명까지 이용할 수 있습니다.

이 값은 <Capacity> 요소 - 인원수 공간이 물리적으로 수용될 수 있는 것입니다.

<Occupancy> 값은 양수여야 합니다. 1 이상 99 사이의 정수입니다.

이 요소를 <RoomBundle><PackageData>이면 <RoomBundle>의 값이 우선 적용됩니다.

참고:

<Occupancy>이(가) 동반될 수 있음 게스트의 유형을 지정하는 <OccupancyDetails> (성인 또는 어린이) 문법 및 문법은 <OccupancyDetails>를 참고하세요. 하위 요소의 설명입니다.
<PackageID> Required string

패키지의 고유 ID입니다. 이 ID를 사용하여 <Result> 블록이 포함된 Room Bundle 데이터 가격 업데이트 자세한 내용은 회의실 번들 메타데이터.

이 ID를 사용하여 일반적인 Room 번들 정의를 참조할 수도 있습니다. 객실 패키지 데이터를 정의할 때 단일 트랜잭션 메시지에 사용됩니다. inline.)

<ParkingIncluded> Optional boolean 객실 번들에 무료 주차가 포함되는지 여부는 다음과 같습니다. 주차는 이 호텔의 유료 서비스입니다. 지정하지 않음 무료 주차를 제공하는 호텔의 이 요소 값입니다.

유효한 값은 0 (또는 false) 및 1 (또는 true). 기본값은 false입니다.

<PhotoURL> Optional Object (<RoomData><PhotoURL>와 동일, 패키지 (예: 식사 사진)에만 해당합니다.
<Refundable> Optional Object 요금을 전액 환불 가능으로 표시하거나 무료 요금 제공 취소될 수 있습니다. 제공하지 않은 경우 환불에 대한 정보가 표시되지 않습니다. <PackageData> 수준의 환불 정책이 아래의 환불 정책보다 우선 적용됩니다. <Result> 수준 <Rates> 수준의 환불 정책이 재정의됨 <PackageData> 수준의 환불 정책 환불 가능 가격은 또한 사용자에게 직접 표시되지 않은 대체 옵션을 통해 트랜잭션 메시지 스키마 수정 옵션에 대해 자세히 알아보기 환불 요금 정책

다음 예는 <Refundable>를 보여줍니다. 요소를 모두 포함해야 합니다.

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

참고: 모든 속성을 설정하는 것이 좋습니다. 피드 하나 이상의 속성이 설정되지 않았습니다.

속성을 설정하지 않으면 요금이 환불이 가능합니다. 속성은 다음과 같습니다.

  • available: (필수) 1로 설정하거나 true: 요율이 전체 refund; 그렇지 않으면 0 또는 false로 설정합니다.
  • refundable_until_days: (필요한 경우 availabletrue임) 지정 체크인 전 전액 환불이 가능한 기간(일) 있습니다. refundable_until_days의 값 0 이상, 330 이하의 정수여야 합니다.
  • refundable_until_time: (권장되는 경우 availabletrue임) 지정 호텔의 현지 시간으로 하루 중 가장 늦은 시간 환불 요청이 처리될 것입니다. 이 기능은 지정할 refundable_until_days, 예를 들어 '환불은 2일 전 오후 4시까지 가능합니다. 확인합니다. refundable_until_time가 설정되지 않은 경우 값은 기본값은 자정입니다.

    이 속성의 값은 시간 형식을 사용합니다.

속성을 설정할 때는 다음 사항에 유의하세요.

  • available 또는 refundable_until_days이 요금이 환불 가능으로 표시되지 않습니다.
  • available0 또는 false이면 다른 속성은 무시됩니다. 요금은 다른 속성 중 하나 또는 둘 다 설정되어 있더라도 환불이 가능합니다.
<MembershipBenefits Included> Optional boolean 요금에는 숙박 기간 동안 제공되는 엘리트 등급별 혜택이 포함되어 있습니다. 제공 서비스 다음과 같습니다.
  • ProgramName: 엘리트 등급 프로그램의 이름
  • ProgramLevel: 프로그램의 수준입니다. 예를 들면 다음과 같습니다. "금색."
  • NightlyValue (optional): 제공합니다
<CarRentalIncluded> Optional boolean 요금에는 숙박 기간 동안 무료 렌터카가 포함되어 있습니다.
<MilesIncluded>> Optional boolean 요금에는 항공사 마일리지가 포함됩니다. 매개변수는 다음과 같습니다.
  • NumberofMiles: 여정별 마일 수입니다.
  • Provider: 항공사 마일리지 제공.
<OnPropertyCredit> Optional boolean 요금에는 숙박 시설 내 크레딧 (식음료, 리조트, 스파 등)이 포함됩니다. 매개변수:
  • Amount: 숙박 일정별 크레딧 값(현지 시간) 있습니다.
<AirportTransportationIncluded> Optional Object 요금에는 인근 공항을 오가는 무료 교통편이 포함되어 있습니다. 선택적 direction 속성은 운송 수단입니다 유효한 값은 다음과 같습니다.
    from: 공항에서 다음 목적지까지 교통편이 제공됩니다. 속성 방향을 지정하지 않으면 기본값입니다. to: 다음 위치에서 공항까지 교통편이 제공됩니다. 속성 round_trip: 다음 목적지까지 교통편이 제공됩니다. 공항에 있습니다.

싱글룸 패키지

다음 예에서는 점유율이 2명 (성인 1명 및 어린이 1명) 및 조식 포함:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>1</NumAdults>
        <Children>
          <Child age="17"/>
        </Children>
      </OccupancyDetails>
      <PackageID>P54321</PackageID>
      <Name>
         <Text text="Breakfast Included" language="en"/>
         <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Two certificates for continental
          breakfast will be provided." language="en"/>
        <Text text="Deux certificats pour le petit déjeuner
          continental seront fournis." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Room 및 패키지 메타데이터

다음 예에서는 방 및 패키지 메타데이터를 정의합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>180054</Property>
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Bed Room" language="en"/>
        <Text text="Chambre single" language="fr"/>
      </Name>
      <Description>
        <Text text="Non-smoking" language="en"/>
        <Text text="Pas de fumiers" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
        <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Includes a delightful array of jams and jellies." language="en"/>
        <Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

여러 객실 패키지

다음 예에서는 여러 Room의 회의실 및 패키지 메타데이터를 정의합니다. 번들:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <!-- A transaction message with room types result. -->
  <PropertyDataSet>
    <Property>12345</Property>
    <RoomData>
      <RoomID>single</RoomID>
      <Name>
        <Text text="Single room" language="en"/>
        <Text text="Chambre simple" language="fr"/>
      </Name>
      <Description>
        <Text text="A single room" language="en"/>
        <Text text="Le chambre simple" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image1235.jpg</URL>
      </PhotoURL>
      <Capacity>2</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>double</RoomID>
      <Name>
        <Text text="Double room" language="en"/>
        <Text text="Chambre double" language="fr"/>
      </Name>
      <Occupancy>1</Occupancy>
    </RoomData>
    <PackageData>
      <PackageID>refundbreakfast</PackageID>
      <Name>
        <Text text="Refundable Room with Breakfast" language="en"/>
        <Text text="Chambre remboursable avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Continental Breakfast" language="en"/>
        <Text text="Petit déjeuner continental" language="fr"/>
      </Description>
      <ChargeCurrency>hotel</ChargeCurrency>
      <Refundable available="1" refundable_until_days="3"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>prepaid</PackageID>
      <Name>
        <Text text="Nonrefundable" language="en"/>
        <Text text="Non remboursable" language="fr"/>
      </Name>
      <Description>
        <Text text="Blah blah blad" language="en"/>
        <Text text="Le blah blah blad" language="fr"/>
      </Description>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="0"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>


요금이 포함된 객실 패키지

다음 예에서는 Room 번들의 회의실 및 패키지 메타데이터를 정의합니다. 요금 기능:

<Transaction timestamp="2010-04-24T20:44:56-04:00" id="TXNID">
  <PropertyDataSet>
    <Property>12345</Property>
    <RoomData>
     ...
    </RoomData>
<!-- definitions of PackageData types including rate features -->
    <PackageData>
      <PackageID>room_with_addl_benefits</PackageID>
      <Name>
        <Text text="Acme Hotels 2017 Promotion Package" language="en"/>
      </Name>
      <ChargeCurrency>hotel</ChargeCurrency>
      <BreakfastIncluded>1</BreakfastIncluded>
      <MembershipBenefitsIncluded>
        <ProgramName>
          <Text language="en" text="Marriott Rewards"/>
        </ProgramName>
        <ProgramLevel>
          <Text language="en" text="Platinum"/>
        </ProgramLevel>
      </MembershipBenefitsIncluded>
      <OnPropertyCredit>
        <Amount currency="USD">123.45</Amount>
      </OnPropertyCredit>
    </PackageData>
    <PackageData>
      <PackageID>room_with_miles</PackageID>
      <Name>
        <Text text="Room with Bundled Miles" language="en"/>
      </Name>
      <ChargeCurrency>hotel</ChargeCurrency>
      <MilesIncluded>
        <NumberOfMiles>1000</NumberOfMiles>
        <Provider>
          <Text language="en" text="United Airlines"/>
        </Provider>
      </MilesIncluded>
      <AirportTransportationIncluded direction="from"/>
    </PackageData>
  </PropertyDataSet>

<!-- The actual list of prices -->
  <Result>
…
  </Result>
</Transaction>

식사 및 사진

다음 예에서는 식사의 객실 및 패키지 메타데이터를 정의합니다. 사진, 체크인 및 체크아웃 시간:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Meals Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <!-- Guests can choose to have breakfast in their room or in another
        space to avoid contact with other guests. -->
        <Breakfast included="1" in_room="1" in_private_space="1"/>
        <Dinner included="1" buffet="1"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

아침 식사

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <Breakfast included="true"/>
        <!-- Dinner not included needs to be explicitly specified -->
        <Dinner included="false"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

<Result>

<Transaction>의 가격 및 재고 업데이트를 위한 컨테이너입니다. 메시지가 표시됩니다.

<Result> 요소는 다음 위치에 나타납니다. 트랜잭션 메시지 XML 계층 구조:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

<Result>를 사용하여 객실 가격을 설정 또는 업데이트하고 사용 가능한 인벤토리를 말합니다. 이 요소에서 정의된 항목은 일반적으로 숙박 일정과 무관한 객실 또는 패키지 관련 메타데이터 (예: 설명, <PackageData><RoomData>에 정의된 편의시설)

일반적으로 가격 업데이트 관련 거래 메일을 자주 보내시는 편입니다. 이를 수행하는 방법 및 빈도는 게재 모드에 따라 다릅니다.

거래 메시지에서 <Result>를 사용하여 다음과 같이 일정을 삭제할 수 있습니다. 자세한 내용은 인벤토리 삭제를 참조하세요. 거래 메시지를 사용하여 가격을 업데이트하는 방법과 재고, 인벤토리 추가 및 업데이트를 참조하세요.

단일 거래 메시지에 <Result> 요소를 원하는 만큼 포함할 수 있습니다. 파일 크기가 100MB를 넘지 않는 경우에 한합니다.

구문

<Result> 요소는 다음 구문을 사용합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    <!-- Required -->
    <Property>hotel_ID</Property>
    <!-- Required -->
    <Checkin>YYYY-MM-DD</Checkin>
    <!-- Required -->
    <Nights>number_of_nights</Nights>

    <Baserate currency="currency_code">price</Baserate>
    <!-- Only required when <Baserate> contains a real price -->
    <Tax currency="currency_code">tax_amount</Tax>
    <!-- Only required when <Baserate> contains a real price  -->
    <OtherFees currency="currency_code">fee_amount</OtherFees>
    <Refundable available="[false|true]" refundable_until_days="number_of_days"
      refundable_until_time="time"/>

    <RoomID>room_ID</RoomID>
    <PackageID>package_ID</PackageID>
    <ExpirationTime>expiration_time</ExpirationTime>
    <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>

    <Occupancy>max_number_of_intended_occupants</Occupancy>
    <!-- For Baserate, occupancy value must be greater than or equal to 2.
         If a value is not provided for occupancy, it defaults to 2. -->
    <OccupancyDetails>occupancy_info</OccupancyDetails>

    <Rates>...</Rates>

    <RoomBundle>...</RoomBundle>

    <AllowablePointsOfSale>
      <PointOfSale id="landing_page_identifier"/>
      ...
    </AllowablePointsOfSale>

    <Custom[1-5]>custom_value</Custom[1-5]>
  </Result>
  ...
  </Transaction>

속성

<Result> 요소는 다음과 같은 속성을 포함합니다.

속성 필수 여부 유형 설명
mergeable Optional boolean 기본적으로 특정 호텔과 여행 일정 쌍의 새로운 가격은 Google 캐시에 있는 만료되지 않은 이전 가격을 덮어씁니다. 이 병합 가능 속성을 사용하면 Google 캐시에 추가 가격을 저장할 수 있습니다. 기존 가격 책정 정보를 삭제하지 않아도 됩니다 실시간 가격 쿼리: 컨텍스트 응답에서는 항상 이 속성이 true로 설정됩니다. (거래 메시지 응답에 관계없이)

하위 요소

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

하위 요소 필수 여부 유형 설명
<AllowablePointsOfSale> Optional Object 하나 이상의 방문 페이지에서 있습니다. 방문 페이지는 있습니다. 특정 방문 페이지를 명시적으로 포함 (및 제외) 하나 이상의 <AllowablePointsOfSale> 추가) <PointOfSale> 요소의 id 속성에 값을 입력해야 합니다.

이 요소를 포함하지 않으면 방문 페이지 파일은 있습니다. 자세한 내용은 방문 페이지 파일 구문.

<Baserate> Optional float

숙박 시 객실 가격입니다. 이 요소의 값입니다. 다음을 반영해야 합니다.

  • 개인용 객실의 경우 가장 저렴한 2인실 요금을 설정하세요. 선택할 수 있습니다 2인실 요금으로, 계정에 숙박 인원이 2명이 아닌 경우 요금 사용 2인 외의 숙박 인원을 사용 설정하려면 Google에 문의하세요. 1인 숙박 요금은 허용되지 않습니다. <Rates>에서 설정해야 합니다.
  • 공용 객실에서는 비워두고 <RoomBundle>
  • 이 값은 1박 평균 요금

운항 일정에 해당 객실을 이용할 수 없는 경우 <Baserate>를 생략하거나 다음으로 설정해야 합니다. -1<Unavailable>는 다음과 같아야 합니다. 사용할 수 없는 원인에 대한 알려진 이유도 함께 표시됩니다.

객실 번들을 삭제하려면 객실 번들 삭제 안내를 따르세요.

<Baserate>에 숫자 그룹화가 포함되면 안 됩니다. 기호(예: 쉼표(,) 또는 마침표(.))를 사용하지 마세요. 항상 분리 마침표 (.)를 소수점 표시로 사용하는 분수. 예를 들어 1,200.40달러를 다음과 같이 표현합니다.

<Baserate currency="USD">1200.40</Baserate>

<Baserate> 요소는 다음을 사용합니다. 선택적 속성:

  • all_inclusive: 이 비율이 적절한지 나타내는 부울입니다. 세금 및 수수료가 포함됩니다 일반적으로 이 값은 미국 및 캐나다 최종 사용자의 경우 false 및 공급 값 <Tax><OtherFees> 관련 요소 올인클루시브 가격을 사용하는 경우 가격이 세금으로 분리되지 않은 경우 목록에 표시됨 수수료도 부과됩니다.

    이제 올인클루시브 가격이 미국 사용자에게 표시됩니다.

    다른 모든 최종 사용자의 경우 일반적으로 세금 및 수수료를 포함합니다. all_inclusive의 값을 기본 요율로 설정하고 속성을 true로 설정합니다. 자세한 내용은 세금 및 수수료 정책

    기본값은 false입니다.

  • currency: 세 글자로 된 통화 코드입니다. 대상 예를 들어 미국 달러의 경우 USD입니다.
<ChargeCurrency> Optional enum 사용자가 예약을 결제하는 시기 및 장소 이 요소는 <Result>의 트랜잭션 메시지에 사용됩니다. 호텔 가격 또는 <PackageData> 블록에 대한 요소 '객실 패키지'로 예약할 수 있습니다.

유효한 값은 다음과 같습니다.

  • web: 다음 시점에 사용자에게 온라인으로 청구됩니다. 예약. 기본값입니다. 실제 방문 페이지는 방문 페이지 파일의 일부이며 사용자의 통화, 기타 요인에 따라 달라집니다.
  • hotel: 있습니다. 항상 호텔의 통화로 결제해야 하는 경우 <ChargeCurrency>에서 다음까지의 값 hotel입니다. 실제 방문 페이지는 변경할 수 있습니다.
  • deposit: 사용자에게 일부 금액이 즉시 청구됩니다. 나머지는 일반적으로 나중에 청구됩니다 사용자가 호텔에서 체크아웃할 때
  • installments: 사용자에게 초기 분수가 청구됩니다. 총 미결제 금액 중 정해진 잔액을 정기적으로 지불할 것으로 예상됨 100%의 타겟층을 확보합니다

기본값은 web입니다.

<Checkin> Required Date Date를 사용하는 여행 일정의 체크인 날짜입니다. 형식으로 입력합니다. <Nights> 요소와 <Checkin> 요소는 여행 일정을 구성합니다.
<Custom[1‑5]> Optional string 추가 데이터를 전달하는 데 사용할 수 있는 맞춤 필드를 정의합니다. 표시됩니다. 최대 5개의 맞춤 값을 다음 요소 이름을 사용합니다.
  • <Custom1>
  • <Custom2>
  • <Custom3>
  • <Custom4>
  • <Custom5>

<Custom> 요소를 사용하면 임의의 데이터를 전달할 수 있습니다. 예를 들어 이 필드에 입력될 값을 지정하면 방문 페이지 파일에서 사용하여 방문 페이지의 맞춤 URL을 구성하는 데 사용됩니다. 있습니다. 맞춤 입력란당 200자(영문 기준)로 제한됩니다. 대상 자세한 내용은 방문 페이지 파일 를 참고하세요.

&lt;Custom&gt; <Rate>에 제공된 요소 요소가 <RoomBundle> 요소에 상속되지 않습니다. 해야 할 일 <Custom>의 정의 속성을 각 <RoomBundle>에 별도로 적용하시기 바랍니다.

<ExpirationTime> Optional DateTime 가격이 만료된 것으로 간주되는 날짜 및 시간 (3시간) 합니다.

만료 타임스탬프가 필요한 경우 만료 타임스탬프를 제공하지 않는 것이 좋습니다. 가격 책정 구조에 중요하지 않습니다.

Google에서는 만료된 가격 및 운항 일정을 제공하지 않습니다. 가격이 만료된 모든 광고는 실시간 가격 쿼리.

<Nights> Required integer 숙박 일정의 숙박 일수입니다. 이 <Nights> 요소는 양의 정수여야 합니다. <Nights><Checkin>로 여행 일정을 구성합니다.
<OtherFees> Optional float 기본 요금 외의 수수료 및 객실의 최종 가격 <OtherFees> 요소는 단일 필수 속성인 currency는 수수료에 대한 3자리 통화 코드를 제공합니다. 예를 들면 USD입니다.

다음과 같은 경우 <OtherFees> 요소가 필요합니다. <Baserate>이(가) 0보다 큽니다.

<Occupancy> Optional integer 이 요금에 허용되는 최대 숙박 인원을 지정합니다. <Occupancy><Result> 바로 아래에 표시되면 2 이상을 지정해야 합니다. <Occupancy>님이 <OccupancyDetails>가 와야 하며, 이는 투숙객 유형 (성인 또는 어린이) 게스트 유형을 지정하지 않으면 성인으로 간주됩니다 <OccupancyDetails>에 컨설트하기: 하위 요소의 문법과 설명을 확인할 수 있습니다. 만약 요소 <Occupancy>개가 제공되지 않았습니다. 숙박 인원은 다음과 같습니다. 기본값은 2입니다.

참고: 이 기능을 사용 설정하려면 지원팀에 문의하세요. 2인 외의 숙박 인원 가격을 전송합니다.

<PackageID> Optional string 사전 정의된 패키지 데이터에 매핑할 패키지의 고유 ID입니다. PACKAGE-ID 방문 페이지 변수를 채우는 데도 사용됩니다. 자세한 내용은 회의실 번들 메타데이터.
<Property> Required string 관련 데이터의 영향을 받는 호텔의 ID (가격, 숙박 일정, 객실 번들 또는 메타데이터)를 사용할 수 있습니다. 이 요소의 값은 문자열입니다. 이 요소의 값은 등록정보와 일치해야 합니다. 호텔 목록 피드에 정의한 <id>입니다.
<Rates> Optional <Rates> 하나 이상의 <Rate> 블록에 대한 컨테이너. <Rate>마다 <Rates>에서 객실/여행 일정에 다른 가격을 정의합니다. 조합할 수 있습니다.

요금이 여러 개인 경우 <Rates> 요소 사용 동일한 객실/여행 일정 조합이나 요금이 허용되지 않는 경우 <Result> 수준에서 지정해야 합니다. 예를 들어 여러 개의 의 요금 조건부 요금 특별 요금 조건부 요금 객실 패키지 또는 숙박 인원이 다를 수 있습니다.

참고: <Result> 내에서 1인실 요금으로 <Rates>에서만 지정할 수 있습니다. 허용하려면 Google에 문의하세요. 2인 외 숙박 요금입니다.

<Refundable> Optional Object 요금을 전액 환불 가능으로 표시하거나 무료 요금 제공 취소될 수 있습니다. 제공하지 않은 경우 환불에 대한 정보가 표시되지 않습니다. <PackageData> 수준의 환불 정책이 아래의 환불 정책보다 우선 적용됩니다. <Result> 수준 <Rates> 수준의 환불 정책이 재정의됨 <PackageData> 수준의 환불 정책 환불 가능 가격은 또한 사용자에게 직접 표시되지 않은 대체 옵션을 통해 트랜잭션 메시지 스키마 수정 다음에 대해 자세히 알아보기 환불 요금 정책

다음 예는 <Refundable>를 보여줍니다. 요소를 모두 포함해야 합니다.

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

참고: 모든 속성을 설정하는 것이 좋습니다. 피드 하나 이상의 속성이 설정되지 않았습니다.

속성을 설정하지 않으면 요금이 환불이 가능합니다. 속성은 다음과 같습니다.

  • available: (필수) 1 (또는 true)를 사용하여 요율이 전체 refund; 그렇지 않으면 0 (또는 false)로 설정합니다.
  • refundable_until_days: (필요한 경우 availabletrue임) 지정 체크인 전 전액 환불이 가능한 기간(일) 있습니다. refundable_until_days의 값 0 이상, 330 이하의 정수여야 합니다.
  • refundable_until_time: (권장되는 경우 availabletrue임) 지정 호텔의 현지 시간으로 하루 중 가장 늦은 시간 환불 요청이 처리될 것입니다. 이 기능은 지정할 refundable_until_days, 예를 들어 '환불은 2일 전 오후 4시까지 가능합니다. 확인합니다. refundable_until_time가 설정되지 않은 경우 값은 기본값은 자정입니다.

    이 속성의 값은 시간 형식을 사용합니다.

속성을 설정할 때는 다음 사항에 유의하세요.

  • available 또는 refundable_until_days이 요금이 환불 가능으로 표시되지 않습니다.
  • available0 (또는 false)이면 다른 속성은 무시됩니다. 요금은 다른 속성 중 하나 또는 둘 다 설정되어 있더라도 환불이 가능합니다.
<RoomBundle> Optional <RoomBundle> 가격이 책정된 실제 객실 설명에 대한 정보 컨테이너 상품 포장, 서비스 포장, 구매 정책 등 예약할 수 있습니다.

일반적으로 이 요소를 사용하여 기본 객실의 가격을 정의하고 동일한 숙박 시설 내 다른 유형의 객실 가능한 작업은 Room Bundle 설명을 인라인으로 정의하려면 별도의 해당 정보를 정의하는 트랜잭션 메시지입니다. Google에서 다음 항목을 저장합니다. 이를 반복하지 않고 참조할 수 있도록 만듭니다. 향후 가격 업데이트

<RoomID> Optional string 사전 정의된 객실 데이터에 매핑할 방의 고유 ID입니다. 또한 PARTNER-ROOM-ID 방문 페이지 변수를 채우는 데 사용됩니다. 자세한 내용은 회의실 번들 메타데이터.
<Tax> Optional float 객실의 최종 가격에 대해 계산되는 세금입니다. <Tax> 요소는 단일 필수 속성인 currency - 세 글자로 된 통화 코드를 정의합니다. 제공합니다. 예를 들면 USD입니다. 이 다음의 경우 <Tax> 요소가 필요합니다. <Baserate>이(가) 0보다 큽니다.

<Baserate> 요소의 'all_inclusive' 속성을 명시적으로 true로 설정한 다음 값은 선택사항입니다.

<Unavailable> Optional Object 운항 일정을 예약할 수 없음을 나타냅니다. 광고 소재 유형 자세한 이유를 확인할 수 있습니다. 1개 다음 비가용성 이유 중 하나 이상이 <Unavailable> 태그:
  • <NoVacancy/>: 판매 가능한 객실이 더 이상 없습니다. 1박 이상 숙박해야 합니다.
  • <MinNightStay value=N/>: 숙박 일정이 숙박 기간에 최소 N박 이상 숙박하셨습니다.
  • <MaxNightStay value=N/>: 숙박 일정이 숙박 일수의 최대 숙박 일수는 N입니다.
  • <MinAdvancePurchase value=N/>: 여행 일정 숙박 최소 사전 예약 기간 N 미만 날짜.
  • <MaxAdvancePurchase value=N/>: 여행 일정 숙박 요금 최대 사전 예약 기간인 N 초과 날짜.
  • <ClosedToArrival/>: 속성에서 허용되지 않습니다. 숙박 일정 도착 날짜에 체크인
  • <ClosedToDeparture/>: 속성에서 허용되지 않습니다. 숙박 일정 출발 날짜에 체크아웃
  • <PropertyClosed first_open="YYYY-MM-DD" first_closed="YYYY-MM-DD"/>: 일부 또는 있습니다. 권장 속성 first_openfirst_closed는 첫 번째 날짜를 다음 이상으로 지정합니다. 개장 또는 폐업한 숙박 시설의 도착 날짜 도착 날짜 이후에 문을 닫는 숙박 시설의 경우 first_open 도착 날짜와 같아야 하며 first_closed은 매물이 닫히는 날짜입니다. 휴업/폐업한 숙박 시설의 경우 도착 날짜인 경우 first_closed는 도착과 같아야 합니다. first_opened은 속성이 열려 있는지 확인합니다.
  • <NotFetched/>: 운항 일정의 가격이 다름 다운스트림 데이터 소스에서 제공합니다
  • <InvalidProperty/>: 요청된 속성 식별자 을(를) 인식할 수 없습니다.
  • <InvalidOccupancy/>: 요청된 숙박 인원이 아닙니다. 속성이 지원되지 않습니다.
  • <PriceIssue/>: 가격 문제로 인해 전송됩니다.
  • <InternalError reason=""/>: 열거되지 않은 일부 오류 수 있습니다. 이유 속성(선택사항)은 오류를 텍스트로 보고할 수 있습니다.
  • <OtherRestriction restriction=""/>: 여행 일정 일부 열거되지 않은 예약 제한으로 인해 사용할 수 없습니다. 선택 사항 제한 속성을 사용하면 제한을 텍스트로 보고할 수 있습니다.

여러 속성의 예

다음 예시에서는 한 개의 운항 일정과 2개의 운항 가격을 정의합니다. 속성:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">278.33</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="site1"/>
    </AllowablePointsOfSale>
  </Result>
  <Result>
    <Property>052213</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">299.98</Baserate>
    <Tax currency="USD">26.42</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="otto"/>
      <PointOfSale id="simon"/>
    </AllowablePointsOfSale>
  </Result>
</Transaction>

이 예에는 표시되지 않은 회의실 세부정보(예: 방의 이름과 수용 인원이 표시됩니다.

별도의 트랜잭션에 한 번 해당 정보를 정의할 수 있습니다. 메시지가 표시됩니다. 그런 다음 모든 가격 책정 및 인벤토리 업데이트를 수행할 수 있습니다 자세한 내용은 Room 번들 메타데이터.

다중 요율의 예

다음 예에서는 단일 숙박 일정과 여러 개의 숙박 시설이 있는 숙박 시설을 정의합니다. 다양한 숙박 시설별 요금 <Rates> 요소를 사용하여 다음을 수행할 수 있습니다. 특정 숙박 시설에 여러 요금 가격을 제공할 수 있습니다. 다음 예는 공유숙박 (VR) 속성에도 유용합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2021-01-13</Checkin>
    <Nights>9</Nights>
    <Baserate currency="USD">3196.1</Baserate>
    <Tax currency="USD">559.49</Tax>
    <OtherFees currency="USD">543.34</OtherFees>
    <Occupancy>2</Occupancy>
    <Rates>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>1</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>3</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>4</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>5</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>6</Occupancy>
      </Rate>
    </Rates>
  </Result>
</Transaction>

사용할 수 없는 예

다음 예시에서는 이용 가능 여부를 확인할 수 없는 하나의 운항 일정을 정의합니다. 이는 다운스트림 채널에서 검색된 것으로, 둘 다 최솟값보다 낮은 1초입니다. 특정 날짜에 이미 예약된 경우, 3분의 1은 숙박 시설이 도착 날짜에 영업을 종료하지만 숙박:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Unavailable>
      <NotFetched/>
    </Unavailable>
  </Result>
  <Result>
    <Property>073313</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Unavailable>
      <NoVacancy/>
      <MinNightStay value=3/>
    </Unavailable>
  </Result>
  <Result>
    <Property>052213</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>10</Nights>
    <Unavailable>
      <PropertyClosed first_open="2018-06-15" first_closed="2018-06-10"/>
    </Unavailable>
  </Result>
</Transaction>

<Rates>

하나 이상의 <Rate> 블록에 대한 컨테이너. <Rate>마다 <Rates>은 객실 또는 숙박 일정 조합에 다른 가격을 정의합니다.

<Rates> 요소는 요율이 여러 개인 경우에만 사용 동일한 객실 또는 숙박 일정 조합입니다. 예를 들어 여러 개의 조건부 요금 요율 특별 요금 또는 객실 번들의 조건부 요금

<Rates> 요소는 다음 위치에 나타납니다. 트랜잭션 메시지 XML 계층 구조:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>         // Pricing and availability
        + <Rates>
        + <RoomBundle> (Can also contain <Rates>)
        + ...

<Rate>에 설정된 값은 상위 <Result> 또는 <RoomBundle> 요소 <Rate>에 설정되지 않은 경우 상위 요소에서 값을 상속받습니다. 단 &lt;AllowablePointsofSale&gt; <RoomBundle> 요소에 상속됩니다.

구문

<Rates> 요소는 다음 구문을 사용합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    <Rates>
      <Rate rate_rule_id="rate_rule_id">
        <Baserate currency="currency_code">price</Baserate>
        <Tax currency="currency_code">tax_amount</Tax>
        <OtherFees currency="currency_code">fee_amount</OtherFees>
        <ExpirationTime>expiration_time</ExpirationTime>
        <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
        <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>
        <AllowablePointsOfSale>
          <PointOfSale id="landing_page_identifier"/>
        </AllowablePointsOfSale>
        <Occupancy>max_number_of_intended_occupants</Occupancy>
        <OccupancyDetails> <!-- optional info about the types of guests,
      whether adults or children --></OccupancyDetails>
          ...
        <Custom[1-5]>custom_value</Custom[1-5]>
      </Rate>
      ...
    </Rates>
  </Result>
  ...
</Transaction>

속성

<Rates> 요소는 다음과 같은 속성을 포함합니다.

속성 필수 여부 설명
rate_rule_id Optional 용 조건부 요금인 경우 이 ID는 요금을 요금 규칙 정의 파일 이 입력란의 글자 수 제한은 40자(영문 기준)입니다. 있습니다.

하위 요소

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

하위 요소 필수 여부 유형 설명
<AllowablePointsOfSale> Optional Object 하나 이상의 방문 페이지에서 있습니다. 이 요소는 <Result><AllowablePointsOfSale>입니다.
<Baserate> Required float 숙박 시 객실 가격입니다. 이 요소는 구문을 <Result><Baserate>로 사용합니다.

참고: 아래의 <Baserate> 하위 요소는 <Rate>을(를) 사용할 수 없는 것으로 정의할 수 없습니다.

<ChargeCurrency> Optional enum 사용자가 예약을 결제하는 시기 및 장소 이 요소는 <ChargeCurrency>와 동일한 문법 <Result>
<Custom[1‑5]> Optional string 다음과 연결된 추가 데이터를 전달하는 데 사용할 수 있는 맞춤 필드입니다. 방문 페이지에 호텔을 추가하는 것입니다. 이 요소는 <Result><Custom[1‑5]> 제한이 있음 최대 200자(영문 기준)까지 입력할 수 있습니다. 자세한 내용은 방문 페이지 파일을 참고하세요.

<Custom>인 경우 요소는 <Result> 요소를 사용하는 경우 <RoomBundle> 요소이며 각 요소에 대해 별도로 정의되어야 합니다. <RoomBundle> 또는 <PackageData>에 포함될 수 있습니다. 조건: 확인할 수 있습니다

<ExpirationTime> Optional DateTime 요율이 만료된 것으로 간주되는 날짜 및 시간입니다. 이 요소는 <Result><ExpirationTime>
<Occupancy> Optional integer

이 요금에 허용되는 최대 숙박 인원을 지정합니다. 그렇지 않은 경우 상위 요율과 동일한 것으로 간주됩니다. <Occupancy>이(가) 동반될 수 있음 <OccupancyDetails> - 참석자 유형 (성인 또는 합니다. 다음 구문 및 설명은 <OccupancyDetails>를 참고하세요. 하위 요소가 있습니다.

<OtherFees> Required float 기본 요율 이외의 수수료 및 최종 가격에 영향을 주는 세금 방의 공간을 의미합니다. 이 요소는 <Result><OtherFees>

<Baserate> 요소의 'all_inclusive' 속성을 명시적으로 true로 설정한 다음 값은 선택사항입니다.

<Refundable> Optional Object 요금을 전액 환불 가능으로 표시하거나 무료 요금 제공 취소될 수 있습니다. 제공하지 않은 경우 환불에 대한 정보가 표시되지 않습니다. <PackageData> 수준의 환불 정책이 환불 정책보다 우선합니다. <Result> 수준입니다. <Rates> 수준의 환불 정책이 재정의됨 <PackageData> 수준의 환불 정책 환불 가능 가격은 또한 사용자에게 직접 표시되지 않은 대체 옵션을 통해 트랜잭션 메시지 스키마 수정 옵션에 대해 자세히 알아보기 환불 요금 정책

다음 예는 <Refundable>를 보여줍니다. 요소를 모두 포함해야 합니다.

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

참고: 모든 속성을 설정하는 것이 좋습니다. 피드 하나 이상의 속성이 설정되지 않았습니다.

속성을 설정하지 않으면 요금이 환불이 가능합니다. 속성은 다음과 같습니다.

  • available: (필수) 1 (또는 true)를 사용하여 요율이 전체 refund; 그렇지 않으면 0 (또는 false)로 설정합니다.
  • refundable_until_days: (필요한 경우 availabletrue임) 지정 체크인 전 전액 환불이 가능한 기간(일) 있습니다. refundable_until_days의 값 0 이상, 330 이하의 정수여야 합니다.
  • refundable_until_time: (권장되는 경우 availabletrue임) 지정 호텔의 현지 시간으로 하루 중 가장 늦은 시간 환불 요청이 처리될 것입니다. 이 기능은 지정할 refundable_until_days, 예를 들어 '환불은 2일 전 오후 4시까지 가능합니다. 확인합니다. refundable_until_time가 설정되지 않은 경우 값은 기본값은 자정입니다.

    이 속성의 값은 시간 형식을 사용합니다.

속성을 설정할 때는 다음 사항에 유의하세요.

  • available 또는 refundable_until_days이 요금이 환불 가능으로 표시되지 않습니다.
  • available0 (또는 false)이면 다른 속성은 무시됩니다. 요금은 다른 속성 중 하나 또는 둘 다 설정되어 있더라도 환불이 가능합니다.
<Tax> Required float 객실의 최종 가격에 대해 계산되는 세금입니다. 이 요소는<Tax> <Result>

기본 요금 및 조건부 요금

다음 예시는 기본 요율이 포함된 Transaction 메시지를 보여줍니다. 조건부 요금이 포함되어 있습니다.

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

여러 조건부 요금

다음 예시에서는 기본 요금과 여러 조건부 요금을 정의합니다. <RoomBundle> 내에서

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>
    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>

      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>


      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

<RoomBundle>

하위 클래스로 객실 패키지 가격 및 이용 가능 여부를 정의합니다. <Transaction> 메시지의 <Result> 각각에 대해 별도의 요소 정의 패키지 또는 여행 일정 조합입니다. 패키지 및 약관을 정의하려면 객실 패키지인 경우 <RoomData>를 사용합니다.

<RoomBundle> 요소는 다음 위치에 나타납니다. 트랜잭션 메시지 XML 계층 구조:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

자세한 내용은 Room 번들 사용을 참고하세요.

구문

<RoomBundle> 요소는 다음 구문을 사용합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    ...
    <RoomBundle>
      <!-- Required unless specified inline under <RoomData> -->
      <RoomID>room_ID</RoomID>
      <!-- Required  <PackageData> -->
      <PackageID>package_ID</PackageID>

      <!-- Required -->
      <Baserate currency="currency_code">price</Baserate>
      <!-- Required -->
      <Tax currency="currency_code">taxes</Tax>
      <!-- Required -->
      <OtherFees currency="currency_code">other_fees</OtherFees>

      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <!-- Required -->
      <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>
      <Occupancy>max_number_of_intended_occupants</Occupancy>
      <OccupancyDetails> <!-- optional info about the types of guests,
      whether adults or children --></OccupancyDetails>

      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>

      <RatePlanID>rate_plan_ID</RatePlanID>

      <Rates>...</Rates>

      <Custom1>custom_value_1</Custom1>
      <Custom2>custom_value_2</Custom2>
      <Custom3>custom_value_3</Custom3>
      <Custom4>custom_value_4</Custom4>
      <Custom5>custom_value_5</Custom5>
    </RoomBundle>
    ...
  </Result>
</Transaction>

속성

<RoomBundle> 요소에 속성이 없습니다.

하위 요소

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

하위 요소 필수 여부 유형 설명
<Baserate> Required float 숙박의 객실 번들 가격을 정의합니다. 이 요소는 <Result><Baserate>과 동일한 문법 다음과 같은 예외가 적용됩니다.
  • 숙박 일정에 해당 객실을 이용할 수 없는 경우 <RoomBundle> 요소를 사용하여 방이 없는 것을 나타냅니다. 더 길어질 수 있습니다. 자세한 내용은 Room Bundle 삭제를 참조하세요.
<BreakfastIncluded> Optional boolean 이 객실 번들에 조식이 포함되는지 여부를 지정합니다.
<ChargeCurrency> Optional enum 사용자가 예약을 결제하는 시기 및 장소 이 요소는 구문을 <Result><ChargeCurrency>로 표시합니다.

기본값은 web입니다.

<Custom[1‑5]> Optional string 방문 페이지에 추가 데이터를 전달하기 위한 맞춤 필드 객실 번들용입니다. 이러한 요소는 <Result><Custom[1-5]> 한도는 200개입니다. 문자(영문 기준)를 입력할 수 있습니다. 자세한 내용은 방문 페이지 파일

<Custom>인 경우 요소는 <Result> 요소를 사용하는 경우 <RoomBundle> 요소이며 각 요소에 대해 별도로 정의되어야 합니다. <RoomBundle> 또는 <PackageData>에 포함될 수 있습니다. 조건: 확인할 수 있습니다

<InternetIncluded> Optional boolean 객실 번들에 무료 인터넷 액세스가 포함된 경우 다른 번들에는 이러한 편의시설이 포함되어 있지 않습니다. 설정하지 않음 모든 호텔에 무료 인터넷을 제공하는 호텔 객실 패키지 요소를 있습니다. 이 요소는 객실 내 유선 인터넷 또는 무선에는 적용되지 않습니다. 인터넷을 이용할 수 없습니다.
<Occupancy> Required integer 이 요금에 허용되는 최대 숙박 인원을 지정합니다. 예를 들어 대형 스위트룸은 물리적으로 6명을 수용할 수 있지만 '허니문 패키지' 투숙객은 2명만 허용됩니다.

이 값은 <Capacity>: 현재 앱을 사용하는 공간을 물리적으로 수용할 수 있는 것입니다.

방문 페이지 URL에서 숙박 인원을 정의할 때 NUM-ADULTSNUM-CHILDREN 변수: 자세한 내용은 변수 및 조건을 참조하세요. 기본값은 2입니다. 성인과 어린이 0명이 있습니다.

<Occupancy> 값은 양수여야 합니다. 1 이상 99 사이의 정수입니다.

참고:

  • <RoomBundle> 동안 <Occupancy> 필수로 표시하는 것이 좋으며 생략할 경우 1097 오류가 발생합니다.
  • <Occupancy>는 이 주문: <RoomBundle>, <PackageData> 그리고 = <RoomData>입니다. 여기에 값이 없는 경우 기본값은 2입니다.
  • <Occupancy>이(가) 동반될 수 있음 <OccupancyDetails>, 투숙객 유형 (성인 또는 어린이)을 지정합니다. 게스트가 명시되지 않은 경우 성인으로 간주됩니다. 컨설트 <OccupancyDetails>: 하위 요소의 문법 및 설명
  • 두 환경 모두에서 <Occupancy>를 설정하는 경우 <RoomBundle><PackageData>, <RoomBundle>의 값 우선 적용됩니다
<OtherFees> Required float 기본 요금 외의 수수료 및 객실의 최종 가격입니다. <OtherFees> 요소는 단일 필수 속성인 currency는 수수료에 대한 3자리 통화 코드를 제공합니다. 예를 들어 미국 달러는 USD입니다.
<PackageID> Optional (recommended) string 패키지 데이터의 고유 ID입니다. 이 ID를 사용하여 <PackageData>에서 전송된 항목과 함께 객실 번들 데이터입니다. 대상 자세한 내용은 회의실 번들 메타데이터. ( 또한 이 ID를 사용하여 사용된 일반 객실 번들 정의를 참조할 수 있습니다. 객실 패키지 데이터를 정의할 때 단일 거래 메시지로 inline.)
<ParkingIncluded> Optional boolean 객실 번들에 무료 주차가 포함되는지 여부는 다음과 같습니다. 주차는 이 호텔의 유료 서비스입니다. 지정하지 않음 무료 주차를 제공하는 호텔의 이 요소 값입니다.

유효한 값은 0 (또는 false) 및 1 (또는 true). 기본값은 false입니다.

<RatePlanID> Optional string 요금제 ID는 조합할 수도 있습니다. 예를 들어 <RoomID> 값 5 및 <PackageID> 값으로 ABC를 사용하려는 경우 다음 값을 사용할 수 있습니다. <RatePlanID>의 ABC 5-ABC. 따라서 RatePlanID를 동적 방문 페이지 작성을 위한 변수로 사용 (이전 명칭: 판매 시점) URL.

자세한 내용은 변수와 조건을 참조하세요.

<Rates> Optional <Rates> 이 객실 번들의 기본값을 재정의하는 요금입니다. 이 요소는 <Result><Rates>와 동일한 구문을 사용합니다.
<Refundable> Optional Object 요금을 전액 환불 가능으로 표시하거나 무료 요금 제공 취소될 수 있습니다. 제공하지 않은 경우 환불에 대한 정보가 표시되지 않습니다. <PackageData> 수준의 환불 정책이 아래의 환불 정책보다 우선 적용됩니다. <Result> 수준 <Rates> 수준의 환불 정책이 재정의됨 <PackageData> 수준의 환불 정책 환불 가능 가격은 또한 사용자에게 직접 표시되지 않은 대체 옵션을 통해 트랜잭션 메시지 스키마 수정 옵션에 대해 자세히 알아보기 환불 요금 정책

다음 예는 <Refundable>를 보여줍니다. 요소를 모두 포함해야 합니다.

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

참고: 모든 속성을 설정하는 것이 좋습니다. 피드 하나 이상의 속성이 설정되지 않았습니다.

속성을 설정하지 않으면 요금이 환불이 가능합니다. 속성은 다음과 같습니다.

  • available: (필수) 1 (또는 true)를 사용하여 요율이 전체 refund; 그렇지 않으면 0 (또는 false)로 설정합니다.
  • refundable_until_days: (필요한 경우 availabletrue임) 지정 체크인 전 전액 환불이 가능한 기간(일) 있습니다. refundable_until_days의 값 0 이상, 330 이하의 정수여야 합니다.
  • refundable_until_time: (권장되는 경우 availabletrue임) 지정 호텔의 현지 시간으로 하루 중 가장 늦은 시간 환불 요청이 처리될 것입니다. 이 기능은 지정할 refundable_until_days, 예를 들어 '환불은 2일 전 오후 4시까지 가능합니다. 확인합니다. refundable_until_time가 설정되지 않은 경우 값은 기본값은 자정입니다.

    이 속성의 값은 시간 형식을 사용합니다.

속성을 설정할 때는 다음 사항에 유의하세요.

  • available 또는 refundable_until_days인 경우 설정되어 있지 않으면 요금이 환불 가능으로 표시되지 않습니다.
  • available0 (또는 false)이면 다른 속성은 무시됩니다. 요금은 다른 속성 중 하나 또는 둘 다 설정되어 있더라도 환불이 가능합니다.
<RoomID> Required string 방 데이터의 고유 ID입니다. 이 ID를 사용하여 <RoomData>에서 전송한 항목과 객실 번들 데이터가 포함되어 있습니다. 자세한 내용은 Room Bundle 메타데이터를 포함해야 합니다. (또한 이 ID를 사용하여 휴게실 정의를 단일 트랜잭션 메시지에 포함 방 데이터 인라인.)
<Tax> Required float 객실의 최종 가격에 대해 계산되는 세금입니다. <Tax> 요소는 단일 필수 속성인 currency - 세 글자로 된 통화 코드를 정의합니다. 제공합니다. 예를 들어 미국 달러에는 USD를 사용합니다.

1인 패키지

다음 예에서는 숙박 인원 번들이 하나인 응답을 정의합니다. 사용자가 숙박 인원 선택 도구에서 1를 선택하면 가장 낮은 숙박 인원이 표시됩니다. 숙박 인원과 관계없이 대상 가격이 제공됩니다.

1인 숙박 가격을 확인할 수 없는 경우 Google에서 최저 2인실 가격으로 제공됩니다. 1인 숙박 가격은 2인 이상 가격으로 요금이 캐시되는 경우 있습니다.

이 예에서는 <RoomID><PackageID> 요소 <RoomData><PackageData> 요소를 사용하여 해당 정보를 정의합니다.

<!-- Efficient method of defining Room Bundles-->
<!----- Occupancy of 1 example ----->

<Transaction timestamp="2017-07-18T16:20:00-04:00" id="12345678">
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <!-- Note:  Once defined it does not have to be repeated for future
              Transaction Messages.
              PropertyDataSets can also be defined and sent in their own
              Transaction Message separately from pricing. Google can be
              configured to pull just PropertyDataSets once per day
              (or on a predefined frequency). -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate up to 4, but package data specifies occupancy
           between 1 to 4 -->
      <Capacity>4</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <Capacity>4</Capacity>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P11111</PackageID>
      <Occupancy>1</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
  <Result>
    <!-- Single occupancy pricing will be specified in a room bundle below -->
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>
    <!-- Base Room Bundle -->
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P54321</PackageID>
      <Baserate currency="USD">199.99</Baserate>
      <Tax currency="USD">25.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RatePlanID>060773-P54321</RatePlanID>
    </RoomBundle>
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P11111</PackageID>
      <!-- Price for 1 ("occupancy") is the lowest price and will be
           displayed -->
      <Baserate currency="USD">174.99</Baserate>
      <Tax currency="USD">22.08</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RatePlanID>060773-P11111</RatePlanID>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Price for 4 ("occupancy"), any eligible room bundle with 1 or more
           occupancy will be displayed-->
      <Baserate currency="USD">298.88</Baserate>
      <Tax currency="USD">42.12</Tax>
      <OtherFees currency="USD">10.00</OtherFees>
      <RatePlanID>436233-P12345</RatePlanID>
    </RoomBundle>
    <!-- ..Continue providing all available RoomBundle rates under matched
         property for 1 or more occupancies..-->
  </Result>
</Transaction>


숙박 인원 2명 이상

다음 예시에서는 두 개 이상의 점유율이 포함된 응답을 정의합니다.

이 예에서는 <RoomID><PackageID> 요소 <RoomData><PackageData> 요소를 사용하여 해당 정보를 정의합니다.

<!-- Efficient method of defining Room Bundles-->
<!----- Occupancy of 3 example ----->

<Transaction timestamp="2017-07-18T16:20:00-04:00" id="12345678">
  <!-- Efficient method of defining Room Bundles-->
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate up to 4, but package data specifies occupancy
           between 1 to 4 -->
      <Capacity>4</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <Capacity>4</Capacity>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P33333</PackageID>
      <Occupancy>3</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

  <Result>
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>
    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
    <!-- Base Room Bundle -->
    <RoomBundle>
      <!-- Baserate above and attributes must match atleast one room bundle
           below -->
      <RoomID>060773</RoomID>
      <PackageID>P33333</PackageID>
      <Baserate currency="USD">499.99</Baserate>
      <Tax currency="USD">55.12</Tax>
      <OtherFees currency="USD">22.00</OtherFees>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Lowest price for 3 ("occupancy"), shown below, will be displayed -->
      <Baserate currency="USD">598.88</Baserate>
      <Tax currency="USD">62.12</Tax>
      <OtherFees currency="USD">30.00</OtherFees>
    </RoomBundle>
    <!-- ..Continue providing all available RoomBundle rates under matched
         property for 2 or more occupancies..-->
  </Result>
</Transaction>


여러 객실 패키지

다음 예에서는 여러 방 번들에 점유를 설정하여 가능한 호스텔 객실 요금

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    ...
    <!-- Suite Room Bundle -->
    <RoomBundle>
      <RoomID>suite1</RoomID>
      <PackageID>standard</PackageID>
      <Occupancy>2</Occupancy>
      <!-- Price for room -->
      <Baserate currency="USD">80.00</Baserate>
      <Tax currency="USD">5.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RoomData>
        <Name>
          <Text text="Suite for 2" language="en"/>
        </Name>
      </RoomData>
    </RoomBundle>

    <!-- Small Dorm Room Bundle -->
    <RoomBundle>
      <RoomID>small_dorm</RoomID>
      <PackageID>economy</PackageID>
      <Occupancy>1</Occupancy>
      <!-- Price per bed -->
      <Baserate currency="USD">35.00</Baserate>
      <Tax currency="USD">3.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RoomData>
        <Name>
          <Text text="1 bed in small dorm" language="en"/>
        </Name>
      </RoomData>
    </RoomBundle>

    <!-- Large Dorm Room Bundle -->
    <RoomBundle>
      <RoomID>large_dorm</RoomID>
      <PackageID>economy</PackageID>
      <Occupancy>1</Occupancy>
      <!-- Price per bed -->
      <Baserate currency="USD">20.00</Baserate>
      <Tax currency="USD">2.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RoomData>
        <Name>
          <Text text="1 bed in large dorm" language="en"/>
        </Name>
      </RoomData>
    </RoomBundle>
    ...
  </Result>
</Transaction>

여러 조건부 요금

다음 예시에서는 기본 요금과 여러 조건부 요금을 정의합니다. <RoomBundle> 내에서

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>
    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>

      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>


      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

<OccupancyDetails>

트랜잭션 메시지의 <Occupancy>는 최대 투숙객 수를 지정함 객실이나 패키지를 예약할 수 있습니다. <OccupancyDetails>에 추가 정보가 포함될 수 있음 투숙객의 수와 유형 (성인 또는 어린이) 등의 정보를 수집할 수 있습니다.

<Occupancy><OccupancyDetails><Rates> 요소 내에 표시되는 경우 값이 <Result> 또는 <RoomBundle>이면 비율이 세부정보를 확인할 수 있습니다

구문

<OccupancyDetails>가 나타나면 항상 앞에 <Occupancy>가 옵니다. 다음 구문에 유의하세요.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
  ...
    <Occupancy>max_number_of_intended_occupants</Occupancy>
    <OccupancyDetails>
      <NumAdults>number_of_adults</NumAdults>
      <Children>
        <Child age=age_of_one_child_guest/>
        <Child age=age_of_one_child_guest/>
      </Children>
    </OccupancyDetails>
  </Result>
</Transaction>

하위 요소

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

하위 요소 필수 여부 유형 설명
<NumAdults> Required integer 성인 투숙객 수입니다. 최소:1, 최대:20.
<Children> Optional Object 하나 이상의 <Child> 요소를 위한 컨테이너입니다.
<Child age> Optional integer 이 자녀의 최대 연령입니다(예: <Child age="17">).

다음 예는 <OccupancyDetails><Results>, <RoomBundle> 또는 <Rates> 하위 요소

결과 응답

다음 예시에서는 하나의 운항 일정과 1개의 운항 일정을 정의합니다. 실시간 가격 쿼리에 대한 응답으로 투숙객의 수와 유형을 보여줍니다. 다음은 <OccupancyDetails> -- 성인 2명과 하위 요소 1개 -- <Result>에 반환됩니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">278.33</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="site1"/>
    </AllowablePointsOfSale>
    <Occupancy>3</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="17"/>
      </Children>
    </OccupancyDetails>
  </Result>
</Transaction>

응답 평가

다음 예에서는 성인 1명의 숙박 일정 1개와 가격을 정의합니다. 및 어린이 1명이 있습니다. 여기서 <OccupancyDetails><Rates> <Result>의 요소입니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Transaction id="Wtdj8QoQIWcAAbaTGlIAAAC4" timestamp="2018-04-18T11:27:45-04:00">
  <Result>
    <Property>8251</Property>
    <Checkin>2018-06-20</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">62.18</Baserate>
    <Tax currency="USD">2.45</Tax>
    <OtherFees currency="USD">0.00</OtherFees>
    <Rates>
      <Rate rate_rule_id="rule-951">
        <Occupancy>2</Occupancy>
        <OccupancyDetails>
          <NumAdults>1</NumAdults>
          <Children>
            <Child age="17"/>
          </Children>
        </OccupancyDetails>
        <Baserate currency="USD">42.61</Baserate>
        <Tax currency="USD">5.70</Tax>
        <OtherFees currency="USD">0.00</OtherFees>
        <Custom1>abc4</Custom1>
        <AllowablePointsOfSale>
          <PointOfSale id="yourhotelpartnersite.com"/>
        </AllowablePointsOfSale>
      </Rate>
    </Rates>
  </Result>
</Transaction>

객실 패키지

다음 예는 성인 2명과 어린이 1명의 숙박을 다음과 같이 정의합니다. 2박 이상, 환불 가능 여기서는 <OccupancyDetails>가 표시됩니다. <RoomBundle> 내부

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>6781291</Property>
    <Checkin>2017-08-05</Checkin>
    <Nights>2</Nights>
    ...
    <RoomBundle>
      <RoomID>10291</RoomID>
      <RatePlanID>564739</RatePlanID>
      <PackageID>564739</PackageID>
      <Occupancy>3</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
        <Children>
          <Child age="17"/>
        </Children>
      </OccupancyDetails>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="true" refundable_until_days="1" refundable_until_time="23:59:00" />
      <Baserate currency="USD">185.34</Baserate>
      <Tax currency="USD">37.06</Tax>
      <OtherFees currency="USD">2.22</OtherFees>
    </RoomBundle>
  </Result>
</Transaction>

여러 객실 패키지

다음 예시에서는 다음과 같은 여러 <RoomBundle> 요율을 정의합니다. 성인 2명과 어린이 2명까지 투숙할 수 있습니다. 여기에서 <OccupancyDetails><RoomBundle><Rates> 요소에 나타납니다.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">275.00</Baserate>
    <Tax currency="USD">27.50</Tax>
    <OtherFees currency="USD">0</OtherFees>
    <RoomBundle>
      <RoomID>5</RoomID>
      <PackageID>STD</PackageID>
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">0</OtherFees>
      <InternetIncluded>1</InternetIncluded>
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <Custom2>ratebasic</Custom2>
      <Occupancy>4</Occupancy>
      <OccupancyDetails>
          <NumAdults>2</NumAdults>
          <Children>
              <Child age="17"/>
              <Child age="17"/>
          </Children>
      </OccupancyDetails>
      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <ChargeCurrency>hotel</ChargeCurrency>
          <Custom1>ratecode321</Custom1>
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <Custom1>ratecode432</Custom1>
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>