개요
ARI 거래 (숙박 시설 데이터) 메시지는 각 숙박 시설의 객실 유형 및 패키지 (또는 요금제)에 관한 정보를 정의합니다. 각 객실 유형 데이터에는 고유 식별자 (RoomID
), 현지화된 이름, 설명, 객실 사진 URL이 포함됩니다. 각 패키지 데이터에는 고유 식별자 (PackageID
), 현지화된 이름, 설명, 숙박 인원, 부가 가치가 포함됩니다.
거래 메시지를 사용하여 다음 작업을 할 수 있습니다.
- 하나 이상의 속성에 대한 데이터를 정의합니다.
- 각 숙박 시설의 객실 유형 및 패키지 정보를 정의합니다.
- 제공되는 제품 관리
또한 다음과 같은 작업을 실행할 수 있습니다.
- 숙박 시설에 객실 유형 및 패키지를 추가합니다.
- 속성에서 객실 유형 및 패키지를 삭제하세요.
트랜잭션 메시지의 예시는 트랜잭션 (숙박 시설 데이터) 예시를 참조하세요.
필수 및 선택 요소
XML 참조는 필수 및 선택적 요소에 대한 설명을 제공합니다. 속성과 하위 요소에 관한 자세한 내용은 트랜잭션 (숙박 시설 데이터) 요소 및 속성을 참고하세요.
구문 및 스키마
트랜잭션 메시지를 만들 때 트랜잭션 (속성 데이터) 구문 예를 참조로 사용하여 올바른 형식을 따릅니다.
Google에 피드를 제출하기 전에 xmllint와 같은 서드 파티 XML 도구를 사용하여 게시된 스키마로 피드를 검증할 수 있습니다. 거래 메시지 스키마는 호텔 광고 스키마를 참고하세요.
가이드라인
거래 메시지에 다음 가이드라인을 따르세요.
- 조치:
delta
: 새로운 객실 유형 및 패키지 (요금제)를 추가하거나 업데이트하는 데 사용합니다.overlay
: 숙박 시설의 모든 객실 유형 및 패키지를 새 세트로 교체하는 데 사용합니다. 판매하려는 모든 객실 유형 및 요금제에 대한 정보를 포함해야 합니다.- 언어 지원:
이름, 설명, 자막 필드에 언어 1~2개 (필요한 경우 영어와 현지 언어)를 지정합니다. 필요한 경우 언어를 2개 이상 추가할 수 있습니다.
- 객실 유형 및 패키지:
객실 유형 또는 패키지를 업데이트할 때 해당 객실 유형 또는 패키지와 관련된 모든 정보를 전송해야 합니다. 예를 들어 사진을 추가할 때는 이름과 설명도 포함해야 합니다.
<AllowablePackageIDs>
및<AllowableRoomIDs>
는 선택사항이며, 설정하지 않은 경우 객실 유형과 요금제를 원하는 대로 조합하여 만들 수 있습니다. 객실 유형 및 요금제 ID를 포함하여 예약 가능 여부 및 요금을 전송해야 합니다. 이러한 요소를 사용하면 제품을 제어하고 시스템에서 더 이상 지원하지 않는 조합을 비활성화할 수 있습니다.객실 유형이나 패키지가 변경되거나 추가해야 하는 객실 유형이나 패키지에 관한 중요한 세부정보가 있을 때마다 Google에 트랜잭션 메시지 업데이트를 전송합니다.
예
이 섹션에서는 필수 및 선택적 요소를 사용하는 ARI 트랜잭션 메시지의
기본 예를 제공합니다. 객실 유형과 패키지를 추가하거나 업데이트하려면 delta
에 작업을 사용하여 객실 유형 및 패키지를 추가 또는 업데이트하거나 overlay
작업을 사용하여 모든 객실 유형 및 패키지 정의를 대체합니다 (이전 항목 삭제).
이름, 설명, 자막 필드에 1~2개 언어 (영어, 필요한 경우 속성에 현지 언어)를 지정해야 합니다. 그런 다음 사진 링크를 포함한 속성 데이터 정보를 추가합니다.
<PropertyID>
및 <RoomID>
의 경우 시스템 내에서 요금제와 객실 유형에 사용하는 것과 동일한 ID를 각각 사용합니다. Google에서 가격과 데이터를 올바르게 표시하려면 시스템과의 일관성이 중요합니다.
파일이 준비되면 https://www.google.com/travel/hotels/uploads/property_data
엔드포인트에 POST 메시지를 통해 Google에 파일을 보내야 합니다.
메시지를 푸시/POST하는 방법에 관한 자세한 내용은 메시지 푸시를 참조하세요.
다음 예에서는 delta
작업을 사용하여 트랜잭션 메시지를 설정하는 방법을 보여줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
<PropertyDataSet action="delta">
<Property>PROPERTYID</Property>
<RoomData>
<RoomID>ROOMID</RoomID>
<Name><Text text="ROOM NAME" language="en"/></Name>
<Description>
<Text text="ROOM DESCRIPTION TEXT" language="en"/>
</Description>
<Capacity>4</Capacity>
<PhotoURL>
<Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
<URL>https://LINK TO PHOTO</URL>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>BASE</PackageID>
<Name><Text text="Internet Special" language="en"/></Name>
<Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
<Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
</PackageData>
</PropertyDataSet>
</Transaction>
overlay
작업을 사용하고, 기존 숙박 시설 데이터에 객실 유형과 패키지를 추가하고, 기존 객실 유형과 패키지를 삭제하는 방법과 같은 더 많은 예는 거래 (숙박 시설 데이터) 예시를 참고하세요.
방법
이 섹션에서는 거래 메시지를 보낼 때 발생할 수 있는 시나리오에 대한 해결 방법을 제공합니다.
시나리오 1: 객실 유형 데이터를 삭제하는 방법
기존 객실 유형 또는 패키지 데이터를 삭제하려면 어떻게 해야 하나요?
설명
킹 및 퀸 객실을 비롯한 여러 객실 유형을 숙박 시설에 보냈습니다. 리모델링 중에는 모든 퀸 객실 유형을 이용할 수 없으며 킹룸 유형만 이용할 수 있습니다.
해결 방법
- 삭제되거나 비활성화된 객실 유형 및 패키지 ID의 경우 1박 예약 가능 여부, 요금 또는 인벤토리를 업데이트할 필요가 없습니다.
- 객실 유형이나 패키지가 삭제되었거나 비활성화된 경우
action="overlay"
를 사용하여 새 트랜잭션 메시지를 전송합니다. 이 메시지에는 아직 활성 상태인 객실 유형과 패키지만 포함되고 삭제된 객실 유형이나 패키지는 제외됩니다.
샘플
다음 XML 스니펫은 overlay
작업을 사용하여 객실 유형을 삭제하는 방법을 보여줍니다.
다음은 킹 및 퀸 객실 유형이 포함된 기존 delta
작업입니다.
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>King</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Capacity>2</Capacity>
</RoomData>
<PackageData>
<PackageID>Standard</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<RoomData>
<RoomID>Queen</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<Capacity>2</Capacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
그런 다음 overlay
를 설정하여 퀸 객실 유형을 삭제하고 킹 객실 유형을 유지할 수 있습니다.
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>King</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Capacity>2</Capacity>
</RoomData>
<PackageData>
<PackageID>Standard</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
시나리오 2: AllowablePackageID를 사용하여 제품을 제어하는 방법
패키지를 객실 유형별로 그룹화할 때 제품 (객실 유형 및 패키지 조합)을 관리하려면 어떻게 해야 하나요?
설명
특정 객실 유형만 이용할 수 있는 특정 패키지가 있습니다. 예를 들어 숙박 시설에 4가지 객실 유형 (프레지덴셜 스위트룸 포함)과 6개의 서로 다른 패키지가 있지만 일부 패키지만 프레지덴셜 스위트룸을 사용할 수 있는 경우 자격요건을 지정할 수 있습니다.
해결 방법
<AllowablePackageIDs>
를 사용하여 패키지에 포함되는 제품을 지정하는 업데이트된 트랜잭션 메시지를 보냅니다.
샘플
이 XML 스니펫은 <AllowablePackageIDs>
를 사용하여 특정 객실 유형에 사용되는 패키지를 지정하는 방법을 보여줍니다. 펜트하우스 스위트룸 객실 유형에는 펜트하우스 올인클루시브 패키지 또는 무료 조식 패키지만 허용되지만 킹 스위트룸 유형의 객실 유형에는 킹 올인클루시브 패키지 또는 반려동물 패키지만 허용됩니다.
<RoomData>
<RoomID>penthouse_suite</RoomID>
<AllowablePackageIDs>
<AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
<AllowablePackageID>free_breakfast</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>king_suite</RoomID>
<AllowablePackageIDs>
<AllowablePackageID>king_all_inclusive</AllowablePackageID>
<AllowablePackageID>pet_friendly</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>pet_friendly</PackageID>
</PackageData>
시나리오 3: AllowableRoomID를 사용하여 제품을 제어하는 방법
객실 유형이 패키지별로 그룹화될 때 제품 (객실 유형과 패키지 조합)을 제어하려면 어떻게 해야 하나요?
설명
객실 유형 및 패키지 조합이 더 이상 제품으로 판매되지 않거나 새 패키지에 포함되는 항목을 관리하려는 경우 예를 들어 바다 전망의 킹 및 퀸 객실과 같은 특정 객실 유형만 패키지를 사용하여 지정하려고 합니다.
해결 방법
<AllowableRoomIDs>
요소를 사용하여 패키지에 포함된 정확한 제품을 지정하는 업데이트된 거래 메시지를 보냅니다.
샘플
이 XML 스니펫은 <AllowableRoomID>
를 사용하여 패키지에 오션뷰 킹 및 퀸 객실 유형을 지정하는 방법을 보여줍니다.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>