요청
구문
Transaction (Property Data)
메시지는 다음 문법을 사용합니다.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp "
id="message_ID "
partner="partner_key ">
<PropertyDataSet action="[overlay|delta]">
<!-- (Required) ID that matches the Hotel List Feed -->
<Property>HotelID </Property>
<RoomData>
<!-- (Required) One room ID per RoomData element -->
<RoomID>RoomID </RoomID>
<Name>
<Text text="room_name " language="language_code "/>
</Name>
<Description>
<Text text="room_description " language="language_code "/>
</Description>
<!-- (Optional) Restricts the rate plans allowed for this room type to
those listed here. If specified, don't specify AllowableRoomIDs. -->
<AllowablePackageIDs>
<AllowablePackageID>PackageID </AllowablePackageID>
</AllowablePackageIDs>
<Capacity>max_number_of_occupants </Capacity>
<AdultCapacity>max_number_of_adult_occupants </AdultCapacity>
<ChildCapacity>max_number_of_child_occupants </ChildCapacity>
<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>
<JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
<Beds>
<Bed size="[single|semi_double|double|queen|king]">
<Width unit="cm" number="bed_width "/>
<Length unit="cm" number="bed_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>
<PackageData>
<!-- (Required) One package ID per PackageData element -->
<PackageID>PackageID </PackageID>
<Name>
<Text text="package_name " language="language_code "/>
</Name>
<Description>
<Text text="package_description " language="language_code "/>
</Description>
<!-- (Optional) Restricts the room types allowed for this rate plan to
those listed here. If specified, don't specify AllowablePackageIDs. -->
<AllowableRoomIDs>
<AllowableRoomID>RoomID </AllowableRoomID>
</AllowableRoomIDs>
<Refundable available="[false|true]" refundable_until_days="number_of_days "
refundable_until_time="time "/>
<!-- 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>
</PackageData>
</PropertyDataSet>
</Transaction>
요소 및 속성
거래 (속성 데이터) 메시지에는 다음 요소와 속성이 있습니다.
요소 / @Attribute | 발생 횟수 | 유형 | 설명 |
---|---|---|---|
Transaction | 1 | Complex element | ARI 구현에서 이는 단일 숙박 시설의 객실 유형 및 패키지를 정의하는 메시지의 루트 요소입니다. |
Transaction / @timestamp | 1 | DateTime | 이 메시지의 생성 날짜 및 시간입니다. |
Transaction / @id | 1 | string | 이 요청 메시지의 고유 식별자입니다. 이 값은 응답 메시지에 반환됩니다. 허용되는 문자는 a~z, A~Z, 0~9, _(밑줄), - (대시)입니다. |
Transaction / @partner | 1 | string | 이 메시지의 파트너 계정입니다. 이 문자열 값은 Hotel Center의
계정 설정 페이지에 표시된 '파트너 키' 값입니다.
참고: 여러 계정의 피드를 제공하는 백엔드가 있는 경우 이 값은 동일한 계정의 |
Transaction / PropertyDataSet | 1.. | PropertyDataSet | 단일 숙박 시설의 객실 유형 및 패키지를 정의하는 컨테이너입니다. |
Transaction / PropertyDataSet / @action | 0..1 | enum | 객실 요금 정의에 적용할 업데이트 유형입니다. 유효한 값은 다음과 같습니다.
이 속성은 선택사항이며 지정하지 않으면 기본값은 |
Transaction / PropertyDataSet / Property | 1 | string | 숙박 시설의 고유 식별자입니다. 이 값은 호텔 목록 피드의 <listing> 요소에서
<id> 를 사용하여 지정된 호텔 ID와 일치해야 합니다. 호텔 ID는 Hotel Center에도 표시됩니다. |
Transaction / PropertyDataSet / RoomData | 0..n | RoomData | 방을 설명합니다. 참고: |
Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | 객실 유형의 고유 식별자입니다. 이 값은 <OTA_HotelAvailNotifRQ> , <OTA_HotelRateAmountNotifRQ> , <OTA_HotelInvCountNotifRQ> 메시지의 <StatusApplicationControl> 요소에 있는 InvTypeCode 속성을 사용하여 참조됩니다. |
Transaction / PropertyDataSet / RoomData / Name | 1 | Name | 하나 이상의 언어로 된 객실 카테고리 이름을 위한 컨테이너입니다. |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | 한 언어로 객실 카테고리의 이름을 지정합니다. |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | language 속성으로 지정된 언어로 된 객실 카테고리의 이름입니다. |
Transaction / PropertyDataSet / RoomData / Description | 1 | Name | 하나 이상의 언어로 객실 카테고리의 설명을 위한 컨테이너입니다. |
Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | 한 언어로 객실 카테고리의 설명을 지정합니다. |
Transaction / PropertyDataSet / RoomData / Description / Text / @text | 1..n | string | language 속성에서 지정한 언어로 된 객실 카테고리의 설명입니다. |
Transaction / PropertyDataSet / RoomData / Description / Text / @language | 1..n | string | 두 글자로 된 언어 코드입니다. |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | <AllowablePackageID> 요소의 컨테이너입니다.
|
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | 이 객실 유형과 결합할 수 있는 요금제의 PackageID를 지정합니다. 요금제는 패키지, 요금, 예약 가능 여부의 조합으로 정의됩니다. PackageID 는 OTA_HotelRateAmountNotifRQ 및 OTA_HotelAvailNotifRQ 메시지의 RatePlanCode 에 해당합니다.
|
Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | 객실에 실제로 숙박할 수 있는 성인 및 어린이의 최대 수입니다. 이 값은 요금과 함께 전송하는 모든 NumberOfGuests 값보다 크거나 같아야 합니다.
참고: |
Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | 객실에 실제로 숙박할 수 있는 성인 최대 인원입니다. 이 값은 요금과 함께 전송하는 모든 NumberOfGuests 값보다 크거나 같아야 합니다.
|
Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | 객실에 실제로 숙박할 수 있는 어린이의 최대 수입니다.
|
Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | 객실의 숙박 인원 요구사항을 제한하거나 수정할 수 있는 설정입니다.
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> 모든 하위 요소를 포함할 필요는 없습니다. |
Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | 지정된 객실 또는 객실 패키지의 사진에 대한 URL 및 자막(선택사항)입니다. 객실 또는 객실 번들에 <PhotoURL> 를 두 개 이상 지정할 수 있습니다.
이 요소는 다음과 같은 하위 요소를 사용합니다.
<PhotoURL> <URL>http://www.example.com/image1.jpg</URL> <Caption> <Text text="A bright way to enjoy your mornin' cuppa tea." language="en"/> <Text text="Une façon lumineuse pour profiter de votre tasse de thé." language="fr"/> </Caption> </PhotoURL> |
Transaction / PropertyDataSet / RoomData / RoomFeatures | 0..1 | <RoomFeatures> |
객실 기능에 관한 정보를 포함합니다. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle | 0..1 | enum | 일본 호텔 객실의 스타일을 나타냅니다. 유효한 값은 다음과 같습니다.
|
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | 방의 수만큼 <Bed> 를 포함합니다. 일본식 이불은 여기에 포함되지 않습니다.
각
<Bed> 에는 다음과 같은 하위 요소가 있습니다.
<Beds> <Bed size="double"> <Width unit="cm" number="140"/> <Length unit="cm" number="195"/> </Bed> <Bed/> <!-- Size unknown --> </Beds> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite | 0.. | enum | 이 객실이 스위트인 경우 이 요소를 제공합니다. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | 이 객실이 캡슐 객실인 경우 이 요소를 제공합니다. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | 이 객실이 소유자 또는 다른 투숙객과 공유되는지 여부입니다. 유효한 값은 shared , private 입니다. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | 고정된 벽, 배관, 온도 조절기가 없는 야외 숙박 시설인 경우 이 요소를 제공합니다. 예를 들어 호텔 객실은 야외 숙박 시설이 아니지만 투숙객이 텐트에서 숙박하는 캠핑장과 투숙객이 자체 RV를 가져오는 RV 캠핑장은 야외 숙박 시설입니다. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | 이 공간에 휠체어 사용자의 접근이 가능한 경우 이 요소를 제공합니다. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | 객실이 금연 객실인지 흡연 객실인지 여부입니다. 유효한 값은 non_smoking 및 smoking 입니다. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | 객실의 욕조 및 변기에 관한 정보를 포함합니다.
속성은 다음과 같습니다.
이 요소는 선택적으로 다음 하위 요소를 사용합니다.
예: <BathAndToilet relation="separate"> <Bath bathtub="1" shower="1"/> <Toilet electronic_bidet="1" mobility_accessible="1"/> </BathAndToilet> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath | 0..1 | enum | 객실에 전용 노천탕이 있는 경우 이 요소를 제공합니다. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | 객실에 에어컨이 있는 경우 이 요소를 제공합니다. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | 객실에 발코니 또는 베란다가 있는 경우 이 요소를 제공합니다. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | 유효한 옵션은 다음과 같습니다.
|
Transaction / PropertyDataSet / PackageData | 0..n | PackageData | 실제 객실 설명에 포함되지 않는 요금 특징 및 약관을 설명하는 요소의 컨테이너입니다. 참고: |
Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | 이 메시지의 PackageID 는 OTA_HotelRateAmountNotifRQ 및 OTA_HotelAvailNotifRQ 메시지의 RatePlanCode 에 해당합니다. |
Transaction / PropertyDataSet / PackageData / Name | 1 | Name | 하나 이상의 언어로 된 패키지 이름을 위한 컨테이너입니다. |
Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | 한 언어로 패키지 이름을 지정합니다. |
Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | language 속성으로 지정된 언어의 패키지 이름입니다. |
Transaction / PropertyDataSet / PackageData / Description | 1 | Description | 하나 이상의 언어로 된 패키지 설명을 위한 컨테이너입니다. |
Transaction / PropertyDataSet / PackageData / Description / Text | 1..n | Text | 한 언어로 된 패키지 설명을 지정합니다. |
Transaction / PropertyDataSet / PackageData / Description / Text / @text | 1..n | string | language 속성으로 지정된 언어로 된 패키지 설명입니다. |
Transaction / PropertyDataSet / PackageData / Description / Text / @language | 1..n | string | 두 글자로 된 언어 코드입니다. |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | <AllowableRoomID> 요소의 컨테이너입니다.
|
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | 이 요금제와 결합할 수 있는 객실 유형의 RoomID를 지정합니다. 객실 유형은 <RoomData> 요소에 정의됩니다.
|
Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | 요금을 전액 환불 가능 또는 취소 가능으로 표시할 수 있습니다. 제공하지 않으면 환불에 관한 정보가 표시되지 않습니다.
참고: 모든 속성을 설정하는 것이 좋습니다. 하나 이상의 속성이 설정되지 않으면 피드 상태 경고 메시지가 생성됩니다. 속성을 설정하지 않으면 요금이 환불 가능으로 표시되지 않습니다. 속성을 설정할 때는 다음 사항에 유의하세요.
|
Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (필수) 요금이 전액 환불을 허용하는지 나타내려면 1 또는 true 로 설정합니다. 그렇지 않으면 0 또는 false 로 설정합니다. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (available 이 true 인 경우 필요) 체크인 전에 전액 환불을 요청할 수 있는 일 수를 지정합니다. refundable_until_days 의 값은 0과 330 사이의 정수여야 합니다(양 끝값 포함). |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (available 이 true 인 경우 적극 권장) 전액 환불 요청이 처리될 수 있는 가장 늦은 시간(호텔 현지 시간 기준)을 지정합니다. 이 속성을 refundable_until_days 와 결합하여 '체크인 2일 전 오후 4시까지 환불 가능'과 같이 지정할 수 있습니다. refundable_until_time 가 설정되지 않으면 기본값은 자정입니다. |
Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | 이 객실 유형에 조식이 포함되는지 여부를 지정합니다.
유효한 값은 0 (또는 false ) 및 1 (또는 true )입니다.
|
Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | 호텔의 현지 시각으로 표시된 가장 이른 체크인 시간입니다. 시간은 24:00 미만이어야 합니다. |
Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | 호텔의 현지 시간으로 표시된 체크아웃 가능 시간입니다. |
Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | 객실에 무료 인터넷 액세스가 포함되는지 여부를 지정합니다. 다른 객실에는 이 편의시설이 포함되지 않습니다. 모든 객실에 무료 인터넷을 제공하는 호텔에서는 이 요소를 설정하지 마세요. 이 요소는 객실 내 유선 인터넷 또는 투숙객 객실에서 이용할 수 없는 무선 인터넷에는 적용되지 않습니다. 유효한 값은 0 (또는 false ) 및 1 (또는 true )입니다.
|
Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | 이 패키지의 식사에 관한 정보를 포함합니다.
선택적 속성은 식사 필터 ( |
Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | 이 호텔에서 주차가 유료인 경우 객실에 주차가 무료로 포함되는지 여부입니다. 무료 주차를 제공하는 호텔의 경우 이 요소의 값을 지정하지 마세요.
유효한 값은 0 (또는 false ) 및 1 (또는 true )입니다. 기본값은 false 입니다.
|
Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | (<RoomData> 의 <PhotoURL> 와 동일하지만 패키지 (예: 식사 사진)에 관한 것입니다.)
|
예
다음은 트랜잭션 (숙박 시설 데이터) 메시지에서 숙박 시설의 객실 및 패키지 데이터를 정의하는 방법을 보여주는 기본 예입니다. overlay
속성은 예기치 않게 이미 데이터가 있는 경우 기존의 모든 데이터를 삭제하고 이 메시지의 데이터로 대체하는 데 사용됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Description>
<Text text="Room with a king bed" language="en"/>
</Description>
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a king bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</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>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<Description>
<Text text="Free breakfast rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
다음은 기존 <Transaction>
데이터에 객실 유형과 패키지를 추가하는 방법의 예입니다.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_3</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_3</PackageID>
<Name>
<Text text="Non-Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="false"/>
</PackageData>
</PropertyDataSet>
</Transaction>
다음은 기존 객실 유형 및 패키지를 삭제하는 방법의 예입니다. 이 시나리오에서 '객실 및 패키지 데이터' 및 '객실 유형 추가'의 메시지가 이전에 Google에 전송된 경우 Google에서 표시된 메시지를 수신하면 King
및 Double
객실 유형이 더 이상 존재하지 않습니다. 패키지 데이터를 삭제하면 거래 (숙박 시설 데이터), OTA_HotelRateAmountNotifRQ, OTA_HotelAvailNotifRQ
메시지에서 정의된 전체 요금제에 영향을 미칩니다 (동일한 PackageID
값 참조). 따라서 PackageID_2
및 PackageID_3
가 더 이상 여기에 정의되지 않음을 반영하기 위해 다른 메시지 유형을 사용하는 상응하는 업데이트가 필요할 수 있습니다.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a queen bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
다음은 <AllowablePackageIDs>
요소를 사용하여 객실 유형에 허용되는 요금제를 제한하는 방법을 보여주는 예입니다. 이 예에서 Queen
객실 유형 (RoomID_2
)은 PackageID_1로 식별된 패키지 및 요금제와만 결합할 수 있습니다.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<AllowablePackageIDs>
<AllowablePackageID>PackageID_1</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
다음은 <Capacity>
, <AdultCapacity>
, <ChildCapacity>
요소를 사용하여 객실 수용 인원에 제한을 설정하는 방법의 예입니다.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<Capacity>4</Capacity>
<AdultCapacity>4</AdultCapacity>
<ChildCapacity>3</ChildCapacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
</Transaction>
더블룸 유형 (RoomID_1)은 최대 4명까지 투숙할 수 있습니다. 또한 최대 4명의 성인과 최대 3명의 어린이가 숙박할 수 있습니다. 이 객실을 예약하려면 세 가지 객실 수 요구사항을 모두 충족해야 합니다. 이 구성은 2인용 침대 2개가 있는 일반적인 객실을 나타냅니다. 객실에 성인이 1명 이상 있어야 하므로 어린이 수용 인원은 총 수용 인원보다 1명이 적습니다.
<RoomFeatures>
및 식사가 포함된 확장된 예시
JapaneseHotelRoomStyle
에는 기본값이 없습니다.
값을 생략해도 XML 오류가 발생하지는 않지만 사용자가 객실 스타일 또는 침대 수를 기준으로 필터링하면 등록정보가 검색 결과에 표시되지 않습니다.
다음 예시에서는 <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>
다음은 double
침대 2개가 있는 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>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>
파트너가 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>
다음 예에서는 식사, 사진, 체크인 및 체크아웃 시간의 객실 및 패키지 메타데이터를 정의합니다.
<?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>
대답
구문
TransactionResponse (Property Data)
메시지는 다음 문법을 사용합니다.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp "
id="message_ID "
partner="partner_key ">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code " status="issue_type ">issue_description </Issue>
</Issues>
</TransactionResponse>
요소 및 속성
TransactionResponse (Property Data)
메시지에는 다음과 같은 요소와 속성이 있습니다.
요소 / @Attribute | 발생 횟수 | 유형 | 설명 |
---|---|---|---|
TransactionResponse | 1 | Complex element | 수신된 거래 요청 메시지의 성공 또는 문제를 나타내는 루트 요소입니다. |
TransactionResponse / @timestamp | 1 | DateTime | 이 메시지의 생성 날짜 및 시간입니다. |
TransactionResponse / @id | 1 | string | 연결된 거래 메시지의 고유 식별자입니다. |
TransactionResponse / @partner | 1 | string | 이 메시지의 파트너 계정입니다. |
TransactionResponse / Success | 0..1 | Success | 경고, 오류 또는 실패 없이 트랜잭션 메시지가 성공적으로 처리되었음을 나타냅니다.
각 메시지에 |
TransactionResponse / Issues | 0..1 | Issues | 트랜잭션 메시지를 처리하는 동안 발생한 하나 이상의 문제를 위한 컨테이너입니다.
각 메시지에 |
TransactionResponse / Issues / Issue | 1..n | Issue | 트랜잭션 메시지를 처리하는 동안 발생한 경고, 오류 또는 실패에 관한 설명입니다. 이러한 문제에 관한 자세한 내용은 피드 상태 오류 메시지를 참고하세요. |
TransactionResponse / Issues / Issue / @code | 1 | integer | 문제의 식별자입니다. |
TransactionResponse / Issues / Issue / @status | 1 | enum | 발생한 문제의 유형입니다. 유효한 값은 |
예
다음은 처리가 완료된 거래 메시지에 대한 응답입니다.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
다음은 오류로 인해 처리되지 않은 거래 메시지에 대한 응답입니다.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</TransactionResponse>