Demandes
Syntaxe
Le message Transaction (Property Data)
utilise la syntaxe suivante:
<?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>
Éléments et attributs
Le message Transaction (Données sur un établissement) contient les éléments et les attributs suivants:
Élément / @Attribut | Occurrences | Type | Description |
---|---|---|---|
Transaction | 1 | Complex element | Dans une implémentation ARI, il s'agit de l'élément racine d'un message définissant les types de chambres et les formules pour un même établissement. |
Transaction / @timestamp | 1 | DateTime | Date et heure de création de ce message. |
Transaction / @id | 1 | string | Identifiant unique pour ce message de demande. Cette valeur est renvoyée dans le message de réponse. Les caractères suivants sont autorisés : a-z, A-Z, 0-9, _ (trait de soulignement) et - (tiret). |
Transaction / @partner | 1 | string | Compte partenaire pour ce message. Cette valeur de chaîne correspond à la valeur "Partner key" (Clé partenaire) indiquée sur la page
Paramètres du compte dans Hotel Center.
Remarque:Si vous avez un backend qui fournit des flux pour plusieurs comptes, cette valeur doit correspondre à la valeur de l'attribut |
Transaction / PropertyDataSet | 1.. | PropertyDataSet | Conteneur permettant de définir les types de chambres et les formules pour un même établissement. |
Transaction / PropertyDataSet / @action | 0..1 | enum | Type de mise à jour à appliquer aux définitions des prix de chambres. Les valeurs valides sont les suivantes :
Cet attribut est facultatif et est défini par défaut sur |
Transaction / PropertyDataSet / Property | 1 | string | Identifiant unique de l'établissement. Cette valeur doit correspondre à l'identifiant de l'hôtel spécifié à l'aide de
<id> dans l'élément <listing> du flux Hotel List Feed. L'identifiant de l'hôtel est également répertorié dans Hotel Center. |
Transaction / PropertyDataSet / RoomData | 0..n | RoomData | Décrit une chambre. Remarque:Vous devez indiquer au moins l'un des éléments |
Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | Identifiant unique d'un type de chambre. Cette valeur est référencée à l'aide de l'attribut InvTypeCode dans l'élément <StatusApplicationControl> des messages <OTA_HotelAvailNotifRQ> , <OTA_HotelRateAmountNotifRQ> et <OTA_HotelInvCountNotifRQ> . |
Transaction / PropertyDataSet / RoomData / Name | 1 | Name | Conteneur pour le nom de la catégorie de chambre dans une ou plusieurs langues. |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | Spécifie le nom de la catégorie de chambre dans une langue. |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | Nom de la catégorie de chambre dans la langue spécifiée par l'attribut language . |
Transaction / PropertyDataSet / RoomData / Description | 1 | Name | Conteneur pour la description de la catégorie de chambre dans une ou plusieurs langues. |
Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | Spécifie la description de la catégorie de chambre dans une langue. |
Transaction / PropertyDataSet / RoomData / Description / Text / @text | 1..n | string | Description de la catégorie de chambre dans la langue spécifiée par l'attribut language . |
Transaction / PropertyDataSet / RoomData / Description / Text / @language | 1..n | string | Code de langue à deux lettres. |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | Conteneur pour les éléments <AllowablePackageID> .
Si Si Utilisez |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | Spécifie la valeur PackageID d'un plan tarifaire pouvant être associé à ce type de chambre. Un plan tarifaire est défini par la combinaison d'une formule, de tarifs et d'une disponibilité. La valeur PackageID correspond à l'élément RatePlanCode dans les messages OTA_HotelRateAmountNotifRQ et OTA_HotelAvailNotifRQ.
|
Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | Nombre maximal d'adultes et d'enfants qu'une chambre peut matériellement accueillir. Cette valeur doit être supérieure ou égale à toutes les valeurs NumberOfGuests que vous envoyez avec des tarifs.
La valeur de Remarque:Si |
Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | Nombre maximal d'adultes que la chambre peut matériellement accueillir. Cette valeur doit être supérieure ou égale à toutes les valeurs NumberOfGuests que vous envoyez avec des tarifs.
La valeur de |
Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | Nombre maximal d'enfants qu'une chambre peut matériellement accueillir.
La valeur de |
Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | Paramètres pouvant restreindre ou modifier les exigences d'occupation d'une salle.
L'élément
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> Il n'est pas nécessaire d'inclure tous les éléments enfants. |
Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | URL d'une photo de la chambre ou de l'offre de chambres sélectionnée, et sa légende facultative. Vous pouvez spécifier plusieurs éléments <PhotoURL> pour une chambre ou une offre de chambres.
Cet élément comporte les éléments enfants suivants:
<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> |
Contient des informations sur les caractéristiques de la chambre. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle | 0..1 | enum | Indique le style d'une chambre d'hôtel japonaise. Les valeurs valides sont les suivantes :
|
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | Contient autant de <Bed> que la pièce en compte. Veuillez noter que les futons japonais ne doivent pas être comptabilisés ici.
Chaque
<Bed> comporte les éléments enfants suivants :
<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 | Fournissez cet élément lorsque cette chambre est une suite. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | Fournissez cet élément lorsque cette chambre est une chambre capsule. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | Indique si cette chambre est partagée avec d'autres occupants, tels que les propriétaires ou d'autres clients. Les valeurs valides sont shared et private . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | Indiquez cet élément lorsque cette chambre est un hébergement extérieur qui ne dispose pas de murs fixes, de plomberie ni de contrôle de la température. Par exemple, les chambres d'hôtel ne sont pas des hébergements de plein air, tandis que les terrains de camping où les clients dorment dans des tentes et les aires de camping-cars où les clients garent leurs propres camping-cars sont considérés comme des hébergements de plein air. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | Indiquez cet élément lorsque cette salle est accessible aux personnes à mobilité réduite. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | Indique si la chambre est non-fumeur ou fumeur. Les valeurs valides sont non_smoking et smoking . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | Contient des informations sur une salle de bain et des toilettes dans la chambre.
L'attribut est:
L'élément peut également comporter les éléments enfants suivants:
Exemple : <BathAndToilet relation="separate"> <Bath bathtub="1" shower="1"/> <Toilet electronic_bidet="1" mobility_accessible="1"/> </BathAndToilet> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath | 0..1 | enum | Indiquez cet élément lorsque la chambre dispose d'une salle de bain privée en plein air. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | Indiquez cet élément lorsque la chambre est climatisée. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | Indiquez cet élément lorsque la chambre dispose d'un balcon ou d'une terrasse. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | Les options valides sont les suivantes:
|
Transaction / PropertyDataSet / PackageData | 0..n | PackageData | Conteneur pour les éléments qui décrivent les conditions et les caractéristiques tarifaires ne figurant pas dans la description de la chambre. Remarque:Vous devez indiquer au moins l'un des éléments |
Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | Dans ces messages, PackageID correspond à l'élément RatePlanCode des messages OTA_HotelRateAmountNotifRQ et OTA_HotelAvailNotifRQ. |
Transaction / PropertyDataSet / PackageData / Name | 1 | Name | Conteneur pour le nom du package dans une ou plusieurs langues. |
Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | Spécifie le nom du package dans une langue. |
Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | Nom du package dans la langue spécifiée par l'attribut language . |
Transaction / PropertyDataSet / PackageData / Description | 1 | Description | Conteneur pour la description du package dans une ou plusieurs langues. |
Transaction / PropertyDataSet / PackageData / Description / Text | 1..n | Text | Spécifie la description du séjour organisé dans une langue. |
Transaction / PropertyDataSet / PackageData / Description / Text / @text | 1..n | string | Description du package dans la langue spécifiée par l'attribut language . |
Transaction / PropertyDataSet / PackageData / Description / Text / @language | 1..n | string | Code de langue à deux lettres. |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | Conteneur pour les éléments <AllowableRoomID> .
Si Si Utilisez |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | Spécifie la valeur RoomID d'un type de chambre pouvant être associé à ce plan tarifaire. Un type de chambre est défini dans un élément <RoomData> .
|
Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | Permet de répertorier le tarif comme totalement remboursable ou résiliable. Si cet élément n'est pas défini, aucune information relative au remboursement ne s'affiche.
Remarque:Nous vous recommandons de définir tous les attributs. Un message d'avertissement concernant l'état du flux est généré lorsqu'un ou plusieurs attributs ne sont pas définis. Si vous ne définissez aucun attribut, le tarif ne s'affiche pas comme remboursable. Lorsque vous définissez les attributs, tenez compte des points suivants:
|
Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (Obligatoire) Définissez cet attribut sur 1 ou true pour indiquer si le tarif peut être totalement remboursé. Sinon, définissez-le sur 0 ou false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Obligatoire si available a la valeur true ) Indique le nombre de jours avant la date d'arrivée où un remboursement total peut être demandé. La valeur de refundable_until_days doit être un entier compris entre 0 et 330 inclus. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (Vivement recommandé si available a la valeur true ) Indique l'heure limite, en heure locale de l'hôtel, à laquelle un remboursement total peut être accordé. Cet attribut peut être associé à l'attribut refundable_until_days pour indiquer, par exemple, que "les remboursements sont possibles jusqu'à 16h deux jours avant la date d'arrivée". Si refundable_until_time n'est pas défini, la valeur par défaut est minuit. |
Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | Indique si le type de chambre inclut le petit-déjeuner.
Les valeurs valides sont 0 (ou false ) et 1 (ou true ).
Nous vous recommandons d'utiliser |
Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | Heure d'arrivée la plus proche, à l'heure locale de l'hôtel. L'heure doit être inférieure à 24:00. |
Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | Heure limite de départ, en heure locale de l'hôtel. |
Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | Indique si la chambre inclut un accès Internet sans frais, alors que ce service n'est pas compris dans d'autres chambres. Ne définissez pas cet élément dans un hôtel qui propose un accès sans frais à Internet dans toutes les chambres. Cet élément ne s'applique pas à l'accès Internet câblé ou sans fil non disponible dans les chambres. Les valeurs valides sont 0 (ou false ) et 1 (ou true ).
|
Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | Inclut des informations sur les repas de ce package.
L'élément
Les attributs facultatifs ne sont utilisés que lorsque Pour que les filtres de repas ( |
Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | Indique si une chambre inclut une place de parking sans frais, si le stationnement est normalement payant dans cet hôtel. Ne spécifiez aucune valeur pour cet élément si l'hôtel offre un accès sans frais au parking.
Les valeurs valides sont 0 (ou false ) et 1 (ou true ). La valeur par défaut est false .
|
Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | (Identique à <PhotoURL> dans <RoomData> , mais pour le package (par exemple, les photos de repas).)
|
Exemples
Données sur les chambres et les formules
Ci-dessous figure un exemple de base montrant comment définir les données sur les chambres et les formules d'un établissement dans un message Transaction (Données sur un établissement). L'attribut overlay
permet de s'assurer que, si des données existent déjà de manière inattendue, toutes les données existantes sont supprimées et remplacées par les données figurant dans ce 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>
Ajouter un type de pièce
Ci-dessous figure un exemple d'ajout d'un type de chambre et d'une formule à des données <Transaction>
existantes:
<?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>
Supprimer des types de chambres
Ci-dessous figure un exemple de suppression des types de chambres et des formules existants. Dans ce scénario, si les messages des sections "Données sur les chambres et les formules" et "Ajouter un type de chambre" ont déjà été envoyés à Google, les types de chambres King
et Double
n'existeront plus une fois que Google aura reçu le message affiché. Notez que la suppression des données de package affecte le plan tarifaire global tel que défini dans les messages Transaction (Données sur un établissement), OTA_HotelRateAmountNotifRQ et OTA_HotelAvailNotifRQ
(en référençant la même valeur PackageID
). Par conséquent, des mises à jour correspondantes à l'aide des autres types de messages peuvent être nécessaires pour indiquer que PackageID_2
et PackageID_3
ne sont plus définis ici.
<?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>
Limiter les plans tarifaires
Ci-dessous figure un exemple d'utilisation de l'élément <AllowablePackageIDs>
afin de limiter les plans tarifaires autorisés pour un type de chambre. Dans cet exemple, le type de chambre Queen
(RoomID_2
) ne peut être associé qu'à la formule et au plan tarifaire identifiés comme 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>
Limiter la capacité des salles
Vous trouverez ci-dessous un exemple d'utilisation des éléments <Capacity>
, <AdultCapacity>
et <ChildCapacity>
pour définir des restrictions sur la capacité des salles.
<?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>
Le type de chambre double (RoomID_1) peut accueillir jusqu'à quatre personnes au total. De plus, il peut accueillir jusqu'à quatre adultes et trois enfants. Les trois conditions de capacité doivent être remplies pour que cette salle puisse être réservée. Cette configuration représente une chambre typique avec deux lits pouvant accueillir chacun deux personnes. La capacité enfant est inférieure de 1 à la capacité totale, car la chambre doit comporter au moins un adulte.
Exemples étendus avec <RoomFeatures>
et repas
JapaneseHotelRoomStyle
ne possède pas de valeur par défaut.
L'omission d'une valeur n'entraîne pas d'erreur XML, mais votre fiche ne s'affiche pas dans les résultats de recherche lorsque l'utilisateur filtre par style de chambre ou nombre de lits.
Deux lits simples
L'exemple suivant montre comment utiliser <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>
Deux lits doubles
Voici un exemple de chambre de style western
avec deux lits double
.
<?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>
Style japonais sans lit
Voici un exemple de chambre de style japonais sans lit. Les informations sur les lits ne sont pas obligatoires pour les chambres de style 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>
Chambre japonaise occidentale avec lit
Voici un exemple de chambre de style japanese_western
avec un lit de taille king
.
<?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>
Si le partenaire ne dispose pas d'informations sur le nombre de lits dans les chambres japanese_western
, reportez-vous à l'exemple suivant:
<?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>
Repas
L'exemple suivant définit les métadonnées de chambres et de formules pour les repas, les photos, ainsi que les heures d'arrivée et de départ:
<?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>
Petit-déjeuner uniquement
<?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>
Réponses
Syntaxe
Le message TransactionResponse (Property Data)
utilise la syntaxe suivante:
<?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>
Éléments et attributs
Le message TransactionResponse (Property Data)
inclut les éléments et les attributs suivants:
Élément / @Attribut | Occurrences | Type | Description |
---|---|---|---|
TransactionResponse | 1 | Complex element | Élément racine indiquant le succès ou les problèmes liés à un message de requête Transaction reçu. |
TransactionResponse / @timestamp | 1 | DateTime | Date et heure de création de ce message. |
TransactionResponse / @id | 1 | string | Identifiant unique du message Transaction associé. |
TransactionResponse / @partner | 1 | string | Compte partenaire pour ce message. |
TransactionResponse / Success | 0..1 | Success | Indique que le message Transaction a été traité avec succès, sans avertissement, erreur ou échec.
Chaque message contient soit |
TransactionResponse / Issues | 0..1 | Issues | Conteneur pour un ou plusieurs problèmes rencontrés lors du traitement du message Transaction.
Chaque message contient soit |
TransactionResponse / Issues / Issue | 1..n | Issue | Description d'un avertissement, d'une erreur ou d'un échec survenu lors du traitement du message Transaction. Pour en savoir plus sur ces problèmes, consultez Messages d'erreur concernant l'état du flux. |
TransactionResponse / Issues / Issue / @code | 1 | integer | Identifiant du problème. |
TransactionResponse / Issues / Issue / @status | 1 | enum | Type de problème rencontré. Les valeurs valides sont |
Exemples
Opération réussie
Voici une réponse à un message Transaction correctement traité.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
Problèmes
La réponse ci-dessous est une réponse à un message Transaction non traité en raison d'erreurs.
<?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>