Requests
Syntax
The Transaction (Property Data)
message uses the following syntax:
<?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>
Elements and Attributes
The Transaction (Property Data) message has the following elements and attributes:
Element / @Attribute | Occurrences | Type | Description |
---|---|---|---|
Transaction | 1 | Complex element | In an ARI implementation, this is the root element for a message defining room types and packages for a single property. |
Transaction / @timestamp | 1 | DateTime | The creation date and time of this message. |
Transaction / @id | 1 | string | A unique identifier for this request message. This value is returned in the response message. Allowed characters are a-z, A-Z, 0-9, _ (underscore), and - (dash). |
Transaction / @partner | 1 | string | The partner account for this message. This string value is the
"Partner key" value listed on
the
Account settings page in Hotel Center.
Note: If you have a backend that provides feeds for
multiple accounts, this value needs to match the |
Transaction / PropertyDataSet | 1.. | PropertyDataSet | A container for defining room types and packages for a single property. |
Transaction / PropertyDataSet / @action | 0..1 | enum | The type of update to apply to room rate definitions. Valid values are:
This attribute is optional and defaults to |
Transaction / PropertyDataSet / Property | 1 | string | The unique identifier for the property. This value must match the
Hotel ID specified using
<id> in the <listing> element
in the Hotel List Feed. The Hotel ID is also listed in Hotel Center. |
Transaction / PropertyDataSet / RoomData | 0..n | RoomData | Describes a room. Note: At least one of |
Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | A unique identifier for a type of room. This value is referenced using
the InvTypeCode attribute in the
<StatusApplicationControl> element in
<OTA_HotelAvailNotifRQ> ,
<OTA_HotelRateAmountNotifRQ> and
<OTA_HotelInvCountNotifRQ> messages. |
Transaction / PropertyDataSet / RoomData / Name | 1 | Name | Container for the name of the category of room in one or more languages. |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | Specifies the name of the category of room in one language. |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | The name of the category of room in the language specified by the
language attribute. |
Transaction / PropertyDataSet / RoomData / Description | 1 | Name | Container for the description of the category of room in one or more languages. |
Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | Specifies the description of the category of room in one language. |
Transaction / PropertyDataSet / RoomData / Description / Text / @text | 1..n | string | The description of the category of room in the language specified
by the language attribute. |
Transaction / PropertyDataSet / RoomData / Description / Text / @language | 1..n | string | A two-letter language code. |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | A container for <AllowablePackageID> elements.
If If Use either |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | Specifies the PackageID of a rate plan that can be combined with this
room type. A rate plan is defined by a combination of
package, rates, and availability. The PackageID
corresponds to the RatePlanCode in the
OTA_HotelRateAmountNotifRQ and OTA_HotelAvailNotifRQ messages.
|
Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | The maximum number of adults and children that a room can
physically accommodate. This should be greater than or equal to
any NumberOfGuests values that you send with rates.
The value of Note:If |
Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | The maximum number of adults that a room can physically
accommodate. This should be greater than or equal to any
NumberOfGuests values that you send with rates.
The value of |
Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | The maximum number of children that a room can physically
accommodate.
The value of |
Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | Settings which can restrict or modify the occupancy requirements of a
room.
The
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> Not all child elements need to be included. |
Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | A URL and optional caption for a photo of the given room or
Room Bundle. You can specify more than one <PhotoURL>
for a room or Room Bundle.
This element takes the following child elements:
<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> |
Contains information about room features. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle | 0..1 | enum | Indicates the style of a Japanese hotel room. Valid values are:
|
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | Contains as many <Bed> as the room has. Please note
that Japanese futons should not be counted here.
Each
<Bed> has the following child elements:
<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 | Provide this element when this room is a suite. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | Provide this element when this room is a capsule room. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | Whether this room is shared with other occupants such as owners
or other guests. Valid values are shared and private . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | Provide this element when this room is outdoor lodging that doesn't have fixed walls, plumbing, and climate control. For example, hotel rooms are not outdoor lodging whereas campsites where guests stay in tents and RV parks where guests bring their own RV are outdoor lodging. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | Provide this element when this room is mobility-accessible. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | Whether this room is a non-smoking room or a smoking room. Valid
values are non_smoking and smoking . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | Contains information about a bath and toilet in the room.
The attribute is:
The element optionally takes the following child elements:
Example: <BathAndToilet relation="separate"> <Bath bathtub="1" shower="1"/> <Toilet electronic_bidet="1" mobility_accessible="1"/> </BathAndToilet> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath | 0..1 | enum | Provide this element when this room has a private open-air bath. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | Provide this element when this room has air conditioning. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | Provide this element when this room has a balcony or lanai. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | Valid options include:
|
Transaction / PropertyDataSet / PackageData | 0..n | PackageData | Container for elements that describe rate features and terms that aren't part of the physical room description. Note: At least one of |
Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | PackageID in these messages corresponds to the
RatePlanCode in the OTA_HotelRateAmountNotifRQ and
OTA_HotelAvailNotifRQ messages. |
Transaction / PropertyDataSet / PackageData / Name | 1 | Name | Container for the name of the package in one or more languages. |
Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | Specifies the name of the package in one language. |
Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | The name of the package in the language specified by the
language attribute. |
Transaction / PropertyDataSet / PackageData / Description | 1 | Description | Container for the description of the package in one or more languages. |
Transaction / PropertyDataSet / PackageData / Description / Text | 1..n | Text | Specifies the description of the package in one language. |
Transaction / PropertyDataSet / PackageData / Description / Text / @text | 1..n | string | The description of the package in the language specified by the
language attribute. |
Transaction / PropertyDataSet / PackageData / Description / Text / @language | 1..n | string | A two-letter language code. |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | A container for <AllowableRoomID> elements.
If If Use either |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | Specifies the RoomID of a room type that can be combined with this
rate plan. A room type is defined in a <RoomData>
element.
|
Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | Enables listing a rate as being fully refundable or cancellable. If not provided, no information about a refund is displayed.
Note: We recommend setting all of the attributes. A feed status warning message is generated when one or more attributes are not set. If you do not set any attributes, the rate does not display as refundable. When setting the attributes, note the following:
|
Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (Required) Set to 1 or
true to indicate if the rate allows a full
refund; otherwise set to 0 or false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Required if
available is true ) Specifies
the number of days in advance of check-in that a full refund can be
requested. The value of refundable_until_days
must be an integer between 0 and 330, inclusive. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (Highly recommended if
available is true ) Specifies
the latest time of day, in the local time of the hotel, that a full
refund request will be honored. This can be combined with
refundable_until_days to specify, for
example, that "refunds are available until 4:00PM two days before
check-in". If refundable_until_time isn't set, the value
defaults to midnight. |
Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | Specifies whether this room type includes breakfast.
Valid values are 0 (or false ) and 1
(or true ).
It is preferred that you use |
Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | Earliest possible check-in time in the local time of the hotel. Time must be less than 24:00. |
Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | Latest possible check-out time in the local time of the hotel. |
Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | Specifies whether the room includes complimentary internet access
while other rooms don't include this amenity. Don't set this element in
a hotel that provides complimentary internet to all rooms. This element
doesn't apply to in-room wired internet or wireless internet that is
not available in guest rooms. Valid values are 0 (or
false ) and 1 (or true ).
|
Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | Contains information about meals in this package.
The
The optional attributes are used only when For meal filters ( |
Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | Whether a room includes parking at no charge, where
parking would otherwise be a paid service at this hotel. Do not specify
a value for this element for a hotel that offers free parking.
Valid values are 0 (or false ) and
1 (or true ). The default value is
false .
|
Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | (Same as <PhotoURL> in <RoomData> ,
but for the package (e.g. meal photos).)
|
Examples
Room and package data
The following is a basic example of how to define a property's room and
package data in a Transaction (Property Data) message. The overlay
attribute is used to ensure that, if any data unexpectedly exists already,
all existing data is deleted and replaced with the data in this message:
<?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>
Add a room type
The following is an example of how to add a room type and package to
existing <Transaction>
data:
<?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>
Remove room types
The following is an example of how to remove existing room types and
packages. In this scenario, if the messages in the "Room and package data"
and "Add a room type" had been sent to Google previously, the King
and
Double
room types would no longer exist once Google receives the message
shown. Note that removing package data affects the overall rate plan
as defined across Transaction (Property Data), OTA_HotelRateAmountNotifRQ,
and OTA_HotelAvailNotifRQ
messages (by referencing the same PackageID
value), and thus corresponding updates using the other message types may be
required to reflect that PackageID_2
and PackageID_3
are no longer
defined here.
<?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>
Restrict rate plans
The following is an example of how to use the <AllowablePackageIDs>
element to restrict the rate plans allowed for a room type. In this example,
the Queen
room type (RoomID_2
) can only be combined with the package and
rate plan identified as 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>
Restrict room capacity
The following is an example of how to use the <Capacity>
, <AdultCapacity>
,
<ChildCapacity>
elements to set restrictions on room capacities.
<?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>
The Double room type (RoomID_1) may have up to 4 guests total. Additionally, it may have up to 4 adults and up to 3 children. All three capacity requirements must be satisfied in order for this room to be bookable. This configuration is representative of a typical room with two beds that each fit two people. The child capacity is one less than the total capacity because the room must have at least one adult present.
Extended examples with <RoomFeatures>
and meals
JapaneseHotelRoomStyle
doesn't have a default value.
Omitting a value does not result in an XML error, but your listing is not
shown in the search results, when the user filters by room style or beds.
Two single beds
The following example shows how to use <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>
Two double beds
The following is an example of western
style room with two
double
beds.
<?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 style without bed
The following is an example of a Japanese style room without bed. Bed
information is not required for japanese
style room.
<?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>
Japanese western w/bed
The following is an example of a japanese_western
style room with king
size bed.
<?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>
If partner doesn't have the number of beds information in japanese_western
rooms, then refer to the following example:
<?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>
Meals
The following example defines room and package metadata for meals, photos, and check-in and check-out times:
<?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>
Breakfast only
<?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>
Responses
Syntax
The TransactionResponse (Property Data)
message uses the following syntax:
<?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>
Elements and attributes
The TransactionResponse (Property Data)
message has the following
elements and attributes:
Element / @Attribute | Occurrences | Type | Description |
---|---|---|---|
TransactionResponse | 1 | Complex element | The root element indicating the success or issues for a received Transaction request message. |
TransactionResponse / @timestamp | 1 | DateTime | The creation date and time of this message. |
TransactionResponse / @id | 1 | string | The unique identifier from the associated Transaction message. |
TransactionResponse / @partner | 1 | string | The partner account for this message. |
TransactionResponse / Success | 0..1 | Success | Indicates that the Transaction message was processed successfully
without warnings, errors, or failures.
Either |
TransactionResponse / Issues | 0..1 | Issues | A container for one or more issues encountered while processing the
Transaction message.
Either |
TransactionResponse / Issues / Issue | 1..n | Issue | The description of a warning, error, or failure encountered while processing the Transaction message. Details on these issues can be found in Feed Status Error Messages. |
TransactionResponse / Issues / Issue / @code | 1 | integer | The identifier for the issue. |
TransactionResponse / Issues / Issue / @status | 1 | enum | The type of issue encountered. Valid values are |
Examples
Success
The following is a response to a successfully processed Transaction message.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
Issues
The following is a response to a Transaction message not processed due to errors.
<?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>