Partager via


Utilisation de bundles de salles

Par défaut, vos données d’itinéraire représentent vos chambres à occupation double les moins coûteuses. Toutefois, si vous définissez des données de salle et de package (voir Création d’un flux de prix de métadonnées (anciennement message de transaction)), vous pouvez inclure d’autres salles dans vos données d’itinéraire à l’aide de bundles de salles.

Voici à quoi ressemble un itinéraire de salle de base par défaut :

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-05-25T20:44:56-04:00" id="de0be689-d094-406e-
8027-724309deb373">
  <Result>
    <Property>13579</Property>
    <Checkin>2017-05-26</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">159.99</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">4.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="mobile"/>
      <PointOfSale id="desktop"/>
    </AllowablePointsOfSale>
  </Result>
</Transaction>

Pour ajouter des types de salles et des packages à l’itinéraire, ajoutez un <élément RoomBundle> en tant qu’enfant de Result. Vous pouvez ajouter une ou plusieurs offres groupées de chambres, mais l’un des tarifs des offres groupées de chambres doit correspondre au tarif de l’itinéraire. Vous devez baser le tarif de la chambre sur son occupation ; 2 et 4 chambres d’occupation ne peuvent pas avoir le même tarif.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-05-25T20:44:56-04:00" id="de0be689-d094-406e-
8027-724309deb373">
  <Result>
    <Property>13579</Property>
    <Checkin>2017-05-26</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">159.99</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">4.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="mobile"/>
      <PointOfSale id="desktop"/>
    </AllowablePointsOfSale>

    <!-- This is the double-occupancy room that matches the itinerary's rate -->
    <RoomBundle>  
      <RoomID>12345</RoomID>
      <PackageID>67890</PackageID>
      <Baserate currency="USD">159.99</Baserate>
      <Tax currency="USD">20.00</Tax>
      <OtherFees currency="USD">4.00</OtherFees>
    </RoomBundle>

    <RoomBundle>
      <RoomID>11111</RoomID>
      <PackageID>22222</PackageID>
      <Baserate currency="USD">236.00</Baserate>
      <Tax currency="USD">42.00</Tax>
      <OtherFees currency="USD">4.00</OtherFees>
    </RoomBundle>

  </Result>
</Transaction>

Suppression d’offres groupées de salles

Chaque itinéraire doit contenir la liste complète des salles disponibles. Si une chambre ou un forfait n’est plus disponible, supprimez simplement ce bundle de l’itinéraire.

Priorité pour les données d’itinéraire, de salle et de package

Les données d’itinéraire, de salle et de package incluent certains des mêmes champs. Voici l’ordre de priorité utilisé par le service Hôtel pour déterminer les champs des objets qu’il utilise.

  • RoomBundle (plus haut)
  • PackageData
  • RoomData (plus bas)

Si un ensemble de chambres fait référence à la salle et au package suivants, la chambre est une chambre à occupation double basée sur les règles de précédence (le package a une priorité plus élevée qu’une salle et l’élément du Occupancy package est défini sur 2).

  <RoomData>
    <RoomID>12345</RoomID>
    <Name>
      <Text text="Double queen room - Non-smoking" language="en" />
    </Name>
    <Capacity>4</Capacity>
    <Occupancy>4</Occupancy>
  </RoomData>

  <PackageData>
    <PackageID>67890</PackageID>
    <Name>
      <Text text="Business" language="en" />
    </Name>
    <Occupancy>2</Occupancy>
    <ChargeCurrency>Web</ChargeCurrency>
    <Refundable available="true" refundable_until_days="2" refundable_until_time="17:00:00" />
    <BreakfastIncluded/>
    <ParkingIncluded>true</ParkingIncluded>
    <InternetIncluded>1</InternetIncluded>
  </PackageData>