개요
ARI 트랜잭션 (숙박 시설 데이터) 메시지는 각 숙박 시설의 객실 유형 및 패키지 (또는 요금제)에 관한 정보를 정의합니다. 각 객실 유형 데이터에는 고유 식별자 (RoomID
), 현지화된 이름, 설명, 객실 사진의 URL이 포함됩니다. 각 패키지 데이터에는 고유 식별자 (PackageID
), 현지화된 이름, 설명, 숙박 인원, 부가가치가 포함됩니다.
거래 메시지를 사용하여 다음을 수행할 수 있습니다.
- 하나 이상의 속성에 대한 데이터를 정의합니다.
- 숙박 시설별로 객실 유형 및 패키지 정보를 정의합니다.
- 제품 옵션을 관리합니다.
또한 다음 작업을 실행하도록 작업을 설정할 수 있습니다.
숙박 시설에 객실 유형 및 패키지를 추가합니다.
숙박 시설에서 객실 유형 및 패키지를 삭제합니다.
패키지 또는 숙박 시설에 리워드 프로그램인 포인트 제도 추가
거래 메시지의 예는 거래 (속성 데이터) 예를 참고하세요.
필수 요소 및 선택 요소
XML 참조에서는 필수 및 선택적 요소에 관한 설명을 제공합니다. 속성 및 하위 요소에 관한 자세한 내용은 거래 (속성 데이터) 요소 및 속성을 참고하세요.
문법 및 스키마
거래 메시지를 만들 때 거래 (속성 데이터) 문법 예시를 참고하여 올바른 형식을 따르세요.
xmllint와 같은 서드 파티 XML 도구를 사용하여 피드를 Google에 제출하기 전에 게시된 스키마로 피드의 유효성을 검사할 수 있습니다. 거래 메시지 스키마는 호텔 광고 스키마를 참고하세요.
가이드라인
거래 메시지에는 다음 가이드라인을 따르세요.
- 액션 아이템:
delta
: 새 객실 유형 및 패키지 (요금제)를 추가하거나 업데이트하는 데 사용합니다.overlay
: 숙박 시설의 모든 객실 유형 및 패키지를 새 세트로 대체하는 데 사용합니다. 계속 판매하려는 모든 객실 유형 및 요금제에 대한 정보가 포함되어야 합니다.- 언어 지원:
이름, 설명, 자막 입력란에 1~2개 언어 (영어 및 필요한 경우 숙박 시설의 현지 언어)를 지정합니다. 필요한 경우 두 개 이상의 언어를 추가할 수 있습니다.
- 객실 유형 및 패키지:
객실 유형 또는 패키지를 업데이트할 때는 해당 객실 유형 또는 패키지의 모든 관련 정보를 전송해야 합니다. 예를 들어 사진을 추가할 때는 이름과 설명도 포함해야 합니다.
<AllowablePackageIDs>
및<AllowableRoomIDs>
는 선택사항이며, 설정하지 않으면 객실 유형과 요금제를 조합할 수 있습니다. 객실 유형 및 요금제 ID와 함께 예약 가능 여부 및 요금을 전송해야 합니다. 이러한 요소를 사용하면 제품을 제어하고 시스템에서 더 이상 지원하지 않는 조합을 비활성화할 수 있습니다.객실 유형 또는 패키지가 변경되거나 객실 유형 또는 패키지에 추가해야 하는 중요한 세부정보가 있을 때마다 Google에 거래 메시지 업데이트를 전송합니다.
- 적립 포인트:
패키지에 포인트 제도 프로그램을 포함하거나 제외하려면 Google에서 포인트 제도 구성을 설정하세요. 그러면 해당 패키지와 연결된 획득 포인트가 표시됩니다. 포인트 제도에 대해 자세히 알아보세요.
<MilesIncluded>
요소를 사용하여 포인트 제도 캠페인을 정의하거나 업데이트합니다. 자세한 내용은 거래(속성 데이터)를 참고하세요. 적립 포인트는<PackageData>
에 포함할 수 있습니다.
예
이 섹션에서는 필수 요소와 선택적 요소를 사용하는 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의 숙박 가능 여부, 요금 또는 인벤토리는 업데이트하지 않아도 됩니다.
- 객실 유형 또는 패키지가 삭제되거나 비활성화된 경우
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: AllowablePackageIDs를 사용하여 제품을 제어하는 방법
패키지가 객실 유형별로 그룹화된 경우 제품 (객실 유형 및 패키지 조합)을 제어하려면 어떻게 해야 하나요?
설명
특정 객실 유형에서만 사용할 수 있는 특정 패키지가 있습니다. 예를 들어 숙박 시설에 스위트룸 (대통령 스위트 포함) 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: AllowableRoomIDs를 사용하여 제품을 제어하는 방법
객실 유형이 패키지로 그룹화된 경우 제품 (객실 유형 및 패키지 조합)을 제어하려면 어떻게 해야 하나요?
설명
객실 유형 및 패키지 조합이 더 이상 제품으로 판매되지 않거나 새 패키지에 포함되는 항목을 관리하려는 경우 예를 들어 패키지에 바다 전망의 킹룸 및 퀸룸과 같은 특정 객실 유형만 지정하려는 경우
솔루션
<AllowableRoomIDs>
요소를 사용하여 패키지에 포함된 정확한 제품을 지정하는 업데이트된 거래 메시지를 전송합니다.
샘플
이 XML 스니펫은 <AllowableRoomID>
를 사용하여 패키지에서 오션뷰 킹룸 및 퀸룸 유형을 지정하는 방법을 보여줍니다.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>