Yêu cầu
Cú pháp
Thông báo Transaction (Property Data)
sử dụng cú pháp sau:
<?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>
Phần tử và thuộc tính
Thông báo Giao dịch (Dữ liệu của cơ sở lưu trú) có các thành phần sau và thuộc tính:
Phần tử / @Thuộc tính | Số lần xuất hiện | Loại | Mô tả |
---|---|---|---|
Transaction | 1 | Complex element | Trong quá trình triển khai ARI, đây là thành phần gốc của thông báo xác định loại phòng và gói dịch vụ cho một cơ sở lưu trú. |
Transaction / @timestamp | 1 | DateTime | Ngày và giờ tạo thông báo này. |
Transaction / @id | 1 | string | Giá trị nhận dạng duy nhất cho thông báo yêu cầu này. Giá trị này được trả về trong tin nhắn phản hồi. Các ký tự được phép là a-z, A-Z, 0-9, _ (dấu gạch dưới) và - (dấu gạch ngang). |
Transaction / @partner | 1 | string | Tài khoản đối tác dùng cho thư này. Giá trị chuỗi này là
"Khoá đối tác" giá trị được liệt kê trên
Trang Cài đặt tài khoản trong Hotel Center.
Lưu ý: Nếu bạn có phần phụ trợ cung cấp nguồn cấp dữ liệu cho
nhiều tài khoản, thì giá trị này cần phải khớp với |
Transaction / PropertyDataSet | 1.. | PropertyDataSet | Vùng chứa dùng để xác định loại phòng và gói dịch vụ cho một cơ sở lưu trú. |
Transaction / PropertyDataSet / @action | 0..1 | enum | Loại nội dung cập nhật áp dụng cho định nghĩa về giá phòng. Các giá trị hợp lệ là:
Thuộc tính này là không bắt buộc và đặt mặc định là |
Transaction / PropertyDataSet / Property | 1 | string | Giá trị nhận dạng duy nhất của cơ sở lưu trú. Giá trị này phải khớp với
Mã khách sạn được chỉ định bằng
<id> trong phần tử <listing>
trong Nguồn cấp dữ liệu danh sách khách sạn. Mã khách sạn cũng có trong Hotel Center. |
Transaction / PropertyDataSet / RoomData | 0..n | RoomData | Mô tả một phòng. Lưu ý: Ít nhất một trong |
Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | Giá trị nhận dạng duy nhất của một loại phòng. Giá trị này được tham chiếu bằng
thuộc tính InvTypeCode trong
Phần tử <StatusApplicationControl> trong
<OTA_HotelAvailNotifRQ> và
<OTA_HotelRateAmountNotifRQ> tin nhắn. |
Transaction / PropertyDataSet / RoomData / Name | 1 | Name | Vùng chứa tên loại phòng của một hoặc nhiều ngôn ngữ. |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | Xác định tên của danh mục phòng bằng một ngôn ngữ. |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | Tên của danh mục phòng bằng ngôn ngữ do
Thuộc tính language . |
Transaction / PropertyDataSet / RoomData / Description | 1 | Name | Vùng chứa nội dung mô tả của danh mục phòng của một hoặc nhiều ngôn ngữ. |
Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | Xác định nội dung mô tả của danh mục phòng bằng một ngôn ngữ. |
Transaction / PropertyDataSet / RoomData / Description / Text / @text | 1..n | string | Nội dung mô tả của danh mục phòng bằng ngôn ngữ được chỉ định
theo thuộc tính language . |
Transaction / PropertyDataSet / RoomData / Description / Text / @language | 1..n | string | Một chữ cái gồm hai chữ cái mã ngôn ngữ. |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | Vùng chứa các phần tử <AllowablePackageID> .
Nếu bạn chỉ định Nếu bạn không chỉ định Sử dụng |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | Chỉ định PackageID của một gói giá có thể kết hợp được với gói giá này
loại phòng. Gói giá được xác định bằng cách kết hợp
gói, giá và tình trạng còn phòng. PackageID
tương ứng với RatePlanCode trong
Các thông báo OTA_HotelRateAmountNotifRQ và OTA_HotelAvailNotifRQ.
|
Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | Số lượng người lớn và trẻ em tối đa mà một phòng có thể cho phép
điều kiện thực tế. Giá trị này phải lớn hơn hoặc bằng
mọi giá trị NumberOfGuests mà bạn gửi cùng với giá.
Giá trị của Lưu ý: Nếu bạn không đặt |
Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | Số lượng người lớn tối đa mà một phòng có thể thực tế cho phép
điều chỉnh cho phù hợp. Giá trị này phải lớn hơn hoặc bằng bất kỳ giá trị nào
Giá trị NumberOfGuests mà bạn gửi cùng với giá.
Giá trị của |
Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | Số lượng trẻ em tối đa mà một phòng có thể thực tế
điều chỉnh cho phù hợp.
Giá trị của |
Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | Những chế độ cài đặt có thể hạn chế hoặc sửa đổi các yêu cầu về số người lưu trú của
phòng.
Phần tử
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> Bạn không cần thêm tất cả các phần tử con. |
Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | URL và nội dung chú thích không bắt buộc về hình ảnh của căn phòng hoặc
Gói dịch vụ phòng. Bạn có thể chỉ định nhiều <PhotoURL>
cho một phòng hoặc Gói dịch vụ phòng.
Phần tử này có các phần tử con sau đây:
<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> |
Chứa thông tin về các đặc điểm của phòng. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle | 0..1 | enum | Cho biết kiểu phòng khách sạn kiểu Nhật. Các giá trị hợp lệ là:
|
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | Chứa nhiều <Bed> nhất có trong phòng. Xin lưu ý
rằng không nên tính đệm futon của Nhật Bản ở đây.
Mỗi
<Bed> có các phần tử con như sau:
<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 | Hãy cung cấp phần tử này khi phòng này là phòng suite. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | Hãy cung cấp phần tử này khi phòng này là phòng con nhộng. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | Phòng này có được dùng chung với những người cư ngụ khác, chẳng hạn như chủ sở hữu hay không
hoặc các khách mời khác. Các giá trị hợp lệ là shared và private . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | Cung cấp phần tử này khi phòng này là nơi lưu trú ngoài trời không có tường cố định, hệ thống ống nước và điều hoà không khí. Ví dụ: phòng khách sạn không phải là nơi lưu trú ngoài trời trong khi khu cắm trại nơi khách lưu trú trong lều và Những khu vui chơi giải trí nơi khách mang xe RV riêng đến là nơi lưu trú ngoài trời. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | Cung cấp phần tử này nếu phòng này có hỗ trợ người khuyết tật. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | Phòng này là phòng không hút thuốc hay phòng hút thuốc. Hợp lệ
là non_smoking và smoking . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | Chứa thông tin về bồn tắm và nhà vệ sinh trong phòng.
Thuộc tính này là:
Phần tử này có thể lấy các phần tử con sau đây (không bắt buộc):
Ví dụ: <BathAndToilet relation="separate"> <Bath bathtub="1" shower="1"/> <Toilet electronic_bidet="1" mobility_accessible="1"/> </BathAndToilet> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath | 0..1 | enum | Hãy cung cấp phần tử này khi phòng này có bồn tắm riêng ngoài trời. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | Cung cấp phần tử này khi phòng này có máy điều hoà không khí. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | Cung cấp phần tử này khi phòng này có ban công hoặc mái hiên. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | Các lựa chọn hợp lệ bao gồm:
|
Transaction / PropertyDataSet / PackageData | 0..n | PackageData | Vùng chứa các phần tử mô tả tính năng theo giá và điều khoản không phải là một phần của nội dung mô tả phòng thực tế. Lưu ý: Ít nhất một trong |
Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | PackageID trong những tin nhắn này tương ứng với
RatePlanCode trong OTA_HotelRateAmountNotifRQ và
Thông báo OTA_HotelAvailNotifRQ. |
Transaction / PropertyDataSet / PackageData / Name | 1 | Name | Vùng chứa tên gói bằng một hoặc nhiều ngôn ngữ. |
Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | Chỉ định tên của gói bằng một ngôn ngữ. |
Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | Tên của gói bằng ngôn ngữ được chỉ định bởi
Thuộc tính language . |
Transaction / PropertyDataSet / PackageData / Description | 1 | Description | Vùng chứa nội dung mô tả gói bằng một hoặc nhiều ngôn ngữ. |
Transaction / PropertyDataSet / PackageData / Description / Text | 1..n | Text | Cho biết nội dung mô tả gói bằng một ngôn ngữ. |
Transaction / PropertyDataSet / PackageData / Description / Text / @text | 1..n | string | Mô tả của gói bằng ngôn ngữ được chỉ định bởi
Thuộc tính language . |
Transaction / PropertyDataSet / PackageData / Description / Text / @language | 1..n | string | Một chữ cái gồm hai chữ cái mã ngôn ngữ. |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | Vùng chứa các phần tử <AllowableRoomID> .
Nếu bạn chỉ định Nếu bạn không chỉ định Sử dụng |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | Chỉ định RoomID của một loại phòng có thể kết hợp được với loại phòng này
gói giá. Một loại phòng được xác định trong một <RoomData>
.
|
Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | Cho phép niêm yết giá là có thể hoàn tiền đầy đủ hoặc có thể huỷ. Nếu không được cung cấp, sẽ không có thông tin nào về khoản tiền hoàn lại được hiển thị.
Lưu ý: Bạn nên đặt tất cả các thuộc tính. Nguồn cấp dữ liệu Thông báo cảnh báo về trạng thái sẽ được tạo khi một hoặc nhiều thuộc tính chưa được đặt. Nếu bạn không thiết lập thuộc tính thì thuế suất sẽ không xuất hiện dưới dạng có thể hoàn lại. Khi đặt thuộc tính, hãy lưu ý những điều sau:
|
Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (Bắt buộc) Đặt thành 1 hoặc
true để cho biết liệu mức giá này có cho phép
refund; nếu không, hãy đặt thành 0 hoặc false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Bắt buộc nếu
available là true ) Chỉ định
số ngày trước khi nhận phòng mà có thể được hoàn lại toàn bộ tiền
đã yêu cầu. Giá trị của refundable_until_days
phải là một số nguyên từ 0 đến 330, gồm cả hai giá trị này. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (Nên dùng nếu
available là true ) Chỉ định
thời điểm mới nhất trong ngày, theo giờ địa phương của khách sạn,
yêu cầu hoàn tiền sẽ được thực hiện. Bạn có thể kết hợp các
refundable_until_days để chỉ định, cho
ví dụ: "có thể hoàn tiền đến 4 giờ chiều hai ngày trước khi
xác nhận có mặt". Nếu bạn không đặt refundable_until_time thì giá trị này
mặc định là nửa đêm. |
Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | Xác định xem loại phòng này có bao gồm bữa sáng hay không.
Các giá trị hợp lệ là 0 (hoặc false ) và 1
(hoặc true ).
Bạn nên sử dụng |
Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | Thời gian nhận phòng sớm nhất có thể theo giờ địa phương của khách sạn. Thời gian phải ít hơn 24:00. |
Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | Thời gian trả phòng muộn nhất theo giờ địa phương của khách sạn. |
Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | Chỉ định xem phòng có cho phép truy cập Internet miễn phí hay không
còn các phòng khác thì không có tiện nghi này. Đừng đặt phần tử này trong
khách sạn cung cấp Internet miễn phí cho tất cả phòng. Phần tử này
không áp dụng cho mạng có dây trong phòng hoặc Internet không dây
không có trong phòng dành cho khách. Các giá trị hợp lệ là 0 (hoặc
false ) và 1 (hoặc true ).
|
Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | Chứa thông tin về các bữa ăn trong gói này.
Phần tử
Các thuộc tính không bắt buộc chỉ được dùng khi Đối với bộ lọc bữa ăn ( |
Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | Liệu phòng có chỗ đỗ xe miễn phí hay không, nơi
nếu không thì việc đỗ xe sẽ là dịch vụ có tính phí tại khách sạn này. Không chỉ định
một giá trị cho phần tử này đối với khách sạn cung cấp chỗ đỗ xe miễn phí.
Các giá trị hợp lệ là 0 (hoặc false ) và
1 (hoặc true ). Giá trị mặc định là
false .
|
Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | (Tương tự như <PhotoURL> trong <RoomData> ,
nhưng cho gói hàng (ví dụ: ảnh bữa ăn).
|
Ví dụ
Dữ liệu về phòng và gói dịch vụ
Sau đây là ví dụ cơ bản về cách xác định phòng của cơ sở lưu trú và
dữ liệu về gói trong thông báo Giao dịch (Dữ liệu của cơ sở lưu trú). overlay
được dùng để đảm bảo rằng nếu đã có dữ liệu tồn tại đột ngột,
tất cả dữ liệu hiện có đều sẽ bị xoá và thay thế bằng dữ liệu trong thông báo này:
<?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>
Thêm loại phòng
Sau đây là ví dụ về cách thêm một loại phòng và gói dịch vụ vào
dữ liệu <Transaction>
hiện có:
<?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>
Xoá loại phòng
Sau đây là ví dụ về cách xoá các loại phòng hiện có và
. Trong trường hợp này, nếu các thông báo trong "Dữ liệu về phòng và gói dịch vụ"
và "Thêm loại phòng" đã từng được gửi tới Google, King
và
Double
loại phòng sẽ không còn tồn tại sau khi Google nhận được tin nhắn
hiển thị. Lưu ý rằng việc xoá dữ liệu gói sẽ ảnh hưởng đến gói giá tổng thể
như được xác định trên Giao dịch (Dữ liệu của cơ sở lưu trú), OTA_HotelRateAmountNotifRQ,
và OTA_HotelAvailNotifRQ
tin nhắn (bằng cách tham chiếu cùng một PackageID
giá trị) và do đó, các bản cập nhật tương ứng sử dụng các loại thông báo khác có thể là
bắt buộc để phản ánh rằng PackageID_2
và PackageID_3
không còn nữa
xác định ở đây.
<?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>
Hạn chế các gói giá
Sau đây là ví dụ về cách sử dụng <AllowablePackageIDs>
để hạn chế các gói giá được phép cho một loại phòng. Trong ví dụ này,
Loại phòng Queen
(RoomID_2
) chỉ có thể kết hợp với gói dịch vụ này và
gói giá được xác định là 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>
Giới hạn sức chứa của phòng
Sau đây là ví dụ về cách sử dụng <Capacity>
, <AdultCapacity>
Các phần tử <ChildCapacity>
để đặt giới hạn về sức chứa của phòng.
<?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>
Loại phòng đôi (RoomID_1) có thể có tổng cộng tối đa 4 khách. Ngoài ra, phòng có thể có tối đa 4 người lớn và tối đa 3 trẻ em. Cả 3 sức chứa phải đáp ứng các yêu cầu để có thể đặt phòng này. Chiến dịch này Biểu đồ này thể hiện một căn phòng thông thường có 2 giường, mỗi giường vừa với 2 người. Sức chứa của tài khoản con nhỏ hơn 1 so với tổng sức chứa vì phòng phải có ít nhất một người lớn có mặt.
Ví dụ mở rộng về <RoomFeatures>
và bữa ăn
JapaneseHotelRoomStyle
không có giá trị mặc định.
Việc bỏ qua một giá trị sẽ không dẫn đến lỗi XML nhưng trang thông tin của bạn thì không
hiển thị trong kết quả tìm kiếm, khi người dùng lọc theo kiểu phòng hoặc giường.
2 giường đơn
Ví dụ sau đây trình bày cách sử dụng <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 giường đôi nhỏ
Sau đây là ví dụ về phòng kiểu western
có hai
double
giường.
<?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>
Kiểu Nhật không có giường
Sau đây là ví dụ về phòng kiểu Nhật không có giường. Giường
không cần thông tin cho phòng kiểu 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>
Giường kiểu phương Tây theo phong cách Nhật Bản
Sau đây là ví dụ về phòng kiểu japanese_western
có king
giường cỡ nhỏ.
<?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>
Nếu đối tác không có thông tin về số lượng giường tại japanese_western
phòng, thì hãy tham khảo ví dụ sau:
<?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>
Bữa ăn
Ví dụ sau đây xác định siêu dữ liệu về phòng và gói dịch vụ cho bữa ăn, ảnh và thời gian nhận và trả phòng:
<?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>
Chỉ có bữa sáng
<?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>
Phản hồi
Cú pháp
Thông báo TransactionResponse (Property Data)
sử dụng cú pháp sau:
<?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>
Phần tử và thuộc tính
Thông báo TransactionResponse (Property Data)
có những nội dung sau
phần tử và thuộc tính:
Phần tử / @Thuộc tính | Số lần xuất hiện | Loại | Mô tả |
---|---|---|---|
TransactionResponse | 1 | Complex element | Phần tử gốc cho biết ứng dụng nhận được thành công hay gặp vấn đề Tin nhắn yêu cầu giao dịch. |
TransactionResponse / @timestamp | 1 | DateTime | Ngày và giờ tạo thông báo này. |
TransactionResponse / @id | 1 | string | Giá trị nhận dạng duy nhất lấy từ thông báo Giao dịch tương ứng. |
TransactionResponse / @partner | 1 | string | Tài khoản đối tác dùng cho thư này. |
TransactionResponse / Success | 0..1 | Success | Cho biết rằng thông báo Giao dịch đã được xử lý thành công
mà không có cảnh báo, lỗi hoặc hỏng hóc.
|
TransactionResponse / Issues | 0..1 | Issues | Vùng chứa một hoặc nhiều vấn đề gặp phải trong khi xử lý
Thông báo giao dịch.
|
TransactionResponse / Issues / Issue | 1..n | Issue | Nội dung mô tả về cảnh báo, lỗi hoặc thất bại xảy ra trong khi đang xử lý thông báo Giao dịch. Bạn có thể xem thông tin chi tiết về các vấn đề này trong Thông báo lỗi về trạng thái nguồn cấp dữ liệu. |
TransactionResponse / Issues / Issue / @code | 1 | integer | Giá trị nhận dạng của vấn đề. |
TransactionResponse / Issues / Issue / @status | 1 | enum | Loại vấn đề mà bạn gặp phải. Các giá trị hợp lệ là |
Ví dụ
Thành công
Dưới đây là phản hồi cho thông báo Giao dịch được xử lý thành công.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
Vấn đề
Dưới đây là phản hồi cho thông báo Giao dịch chưa được xử lý do .
<?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>