OTA_HotelRateAmountNotifRQ

Demandes

Syntaxe

Le message OTA_HotelRateAmountNotifRQ utilise la syntaxe suivante:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="message_ID"
                            TimeStamp="timestamp"
                            Version="3.0"
                            NotifType="[Overlay|Delta|Remove]"
                            NotifScopeType="[ProductRate]">
  <POS>
    <Source>
      <RequestorID ID="partner_key"/>
    </Source>
  </POS>
  <RateAmountMessages HotelCode="HotelID">
    <RateAmountMessage>
      <StatusApplicationControl Start="YYYY-MM-DD"
                                End="YYYY-MM-DD"
                                Mon="boolean_value"
                                Tue="boolean_value"
                                Weds="boolean_value"
                                Thur="boolean_value"
                                Fri="boolean_value"
                                Sat="boolean_value"
                                Sun="boolean_value"
                                InvTypeCode="RoomID"
                                RatePlanCode="PackageID"
                                RatePlanType="[26]" />
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="float"
                            AmountAfterTax="float"
                            CurrencyCode="currency"
                            NumberOfGuests="integer"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="float"
                                   AgeQualifyingCode="[10|8]"
                                   MaxAge="integer"/>
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Éléments et attributs

Le message OTA_HotelRateAmountNotifRQ contient les éléments suivants et Attributs:

Élément / @Attribut Occurrences Type Description
OTA_HotelRateAmountNotifRQ 1 Complex element Élément racine d'un message sur les tarifs.
OTA_HotelRateAmountNotifRQ / @xmlns 0..1 string (URI) Espace de noms XML.
OTA_HotelRateAmountNotifRQ / @EchoToken 1 string Identifiant unique de ce message de requête. Cette valeur est renvoyée dans le message de réponse. Les caractères autorisés sont a-z, A-Z, 0-9, _ (underscore) et - (dash).
OTA_HotelRateAmountNotifRQ / @TimeStamp 1 DateTime Date et heure de création de ce message.
OTA_HotelRateAmountNotifRQ / @Version 1 decimal Version du message OpenTravel.
OTA_HotelRateAmountNotifRQ / @NotifType 0..1 enum

Type de notification à appliquer à chaque <RateAmountMessage>

Les valeurs valides sont les suivantes :

Pour comprendre le fonctionnement de ces attributs, consultez les exemples.

  • Overlay: Supprimer tous les des tarifs par nombre de personnes en fonction du type de chambre, du plan tarifaire et des dates spécifié dans <StatusApplicationControl> et remplacez-les par de nouveaux tarifs.
  • Remove: Supprimer tous les des tarifs par nombre de personnes en fonction du type de chambre, du plan tarifaire et des dates spécifié dans <StatusApplicationControl>.
  • Delta: (valeur par défaut si NotifType n'est pas spécifiée). Ajoutez ou mettez à jour les tarifs par nombre de personnes existants pour le type de chambre, le plan tarifaire et les dates <StatusApplicationControl>
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

Champ d'application de l'NotifType à appliquer à chaque <RateAmountMessage>

Les valeurs valides sont les suivantes :

  • ProductRate: (valeur par défaut si NotifScopeType n'est pas spécifiée). La valeur NotifType s'applique à produits : combinaisons de types de chambre (InvTypeCode) et le plan tarifaire (RatePlanCode).
OTA_HotelRateAmountNotifRQ / POS 0..1 POS Conteneur permettant de spécifier le compte partenaire pour ce message (généralement utilisé si votre backend fournit des flux de prix pour plusieurs comptes partenaires).
OTA_HotelRateAmountNotifRQ / POS / Source 1 Source Obligatoire si <POS> est présent. Un conteneur pour <RequestorID>
OTA_HotelRateAmountNotifRQ / POS / RequestorID 1 RequestorID Obligatoire si <POS> est présent. Définit le partenaire de service.
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID 1 string Compte du partenaire pour ce message. Cette valeur de chaîne est la "Clé partenaire" valeur indiquée sur le <ph type="x-smartling-placeholder"></ph> Page "Paramètres du compte" dans Hotel Center.

Remarque:Si votre backend fournit des flux pour plusieurs comptes, cette valeur doit correspondre à l'partner de votre message Transaction (Données sur un établissement) et l'attribut la valeur de l'attribut ID dans <RequestorID> élément de votre <OTA_HotelAvailNotifRQ> message pour le même de service.

OTA_HotelRateAmountNotifRQ / RateAmountMessages 1 RateAmountMessages Un ensemble d'éléments <RateAmountMessage> qui définir les tarifs.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode 1 string Identifiant unique de l'établissement. Cette valeur doit correspondre au Identifiant de l'hôtel spécifié à l'aide de la balise <id> dans l'élément <listing> dans la section Flux de listes. L'ID de l'hôtel est également indiqué dans Hotel Center.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage 1..n RateAmountMessage Conteneur permettant de fixer le prix d'une chambre (un type et un tarif de chambre sur une période donnée).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl 1 StatusApplicationControl Définit la plage de dates et les identifiants du type de chambre. (InvTypeCode) et le plan tarifaire (RatePlanCode).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start 1 Date Date de début (en fonction du fuseau horaire de l'établissement), date de début incluse, la plage de dates.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End 1 Date Date de fin (en fonction du fuseau horaire de l'établissement), incluse, de l'événement la plage de dates. Doit être supérieure ou égale à la valeur start. Si les valeurs start et end sont égales, la mise à jour s'applique. à cette date. Notez que Google accepte jusqu'à trois ans de données.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon 0..1 boolean Définissez cet attribut sur true ou 1 pour l'inclure explicitement. le lundi.

S'il est défini sur true, les autres jours de la semaine qui ne le sont pas définies explicitement sur true sont exclus (en effet, ils sont sont exclues des dates comprises dans les Start et End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean Définissez cet attribut sur true ou 1 pour l'inclure explicitement. le mardi

S'il est défini sur true, les autres jours de la semaine qui ne le sont pas définies explicitement sur true sont exclus (en effet, ils sont sont exclues des dates comprises dans les Start et End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean Définissez cet attribut sur true ou 1 pour l'inclure explicitement. mercredi

S'il est défini sur true, les autres jours de la semaine qui ne le sont pas définies explicitement sur true sont exclus (en effet, ils sont sont exclues des dates comprises dans les Start et End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean Définissez cet attribut sur true ou 1 pour l'inclure explicitement. jeudi

S'il est défini sur true, les autres jours de la semaine qui ne le sont pas définies explicitement sur true sont exclus (en effet, ils sont sont exclues des dates comprises dans les Start et End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri 0..1 boolean Définissez cet attribut sur true ou 1 pour l'inclure explicitement. le vendredi

S'il est défini sur true, les autres jours de la semaine qui ne le sont pas définies explicitement sur true sont exclus (en effet, ils sont sont exclues des dates comprises dans les Start et End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat 0..1 boolean Définissez cet attribut sur true ou 1 pour l'inclure explicitement. Samedi

S'il est défini sur true, les autres jours de la semaine qui ne le sont pas définies explicitement sur true sont exclus (en effet, ils sont sont exclues des dates comprises dans les Start et End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean Définissez cet attribut sur true ou 1 pour l'inclure explicitement. le dimanche

S'il est défini sur true, les autres jours de la semaine qui ne le sont pas définies explicitement sur true sont exclus (en effet, ils sont sont exclues des dates comprises dans les Start et End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode 1 string Identifiant unique de l'inventaire (type de chambre). Cette valeur correspond à <RoomID> dans un message Transaction (Données sur un établissement).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode 1 string Identifiant unique du plan tarifaire. Cet identifiant correspond au <PackageID> dans une transaction (données sur un établissement) . Le plan tarifaire est défini plus précisément en <StatusApplicationControl> dans les deux cas <OTA_HotelRateAmountNotifRQ> et <OTA_HotelAvailNotifRQ> messages.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType 0..1 string Identifiant qui indique le type de modèle de tarification ARI utilisé s'applique à cette mise à jour des prix. Il ne doit être spécifié qu'à l'aide d'un valeur de 26 avec le modèle de tarification basé sur le taux de perte de données. Exclusion de cet attribut indique qu'il s'agit d'une tarification à la date mise à jour.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates 0..1 Rates Conteneur pour un ensemble d'éléments <Rate>. Si NotifType est "Remove", cet élément ne doit pas doit être spécifiée. Sinon, cet élément ne doit être spécifié qu'une seule fois.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate 1 Rate Conteneur pour une collection de <BaseByGuestAmts> éléments.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit 0..1 String Unité selon laquelle la durée du séjour est spécifiée. Le seul modèle compatible la valeur est "Day", ce qui signifie que la durée du séjour est spécifiée en jours.

Pour utiliser la tarification basée sur la perte de données, RateTimeUnit et UnitMultiplier doivent être spécifié. Sinon, aucune des deux ne doit être spécifiée.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier 0..1 Integer Le nombre de RateTimeUnits qui composent la longueur de pour ce tarif.

Par exemple, si la valeur RateTimeUnits est "Day", une UnitMultiplier sur 5 indique que le ou les tarifs spécifiés sous cet objet Rate s'appliquent à chaque nuit d'un séjour de cinq nuits.

Le ou les taux d'occupation spécifiés dans ce Rate est multiplié par le UnitMultiplier (durée du séjour) pour obtenir le prix total du séjour.

Pour utiliser la tarification basée sur la perte de données, RateTimeUnit et UnitMultiplier doivent être spécifié. Sinon, aucune des deux ne doit être spécifiée.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts 1 BaseByGuestAmts Conteneur pour un ensemble de frais de base.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt 1..n BaseByGuestAmt Spécifie le prix des chambres dans une devise spécifiée. Le prix peut être par nombre de personnes en utilisant plusieurs <BaseByGuestAmt> , chacun avec une valeur différente pour NumberOfGuests. Sinon, le prix s'applique pour un nombre maximal de personnes. défini par NumberOfGuests.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax 0..1 float

Prix de la chambre à la journée, hors taxes et frais.

AmountBeforeTax et AmountAfterTax peut être spécifié. Si AmountBeforeTax n'est pas spécifié, AmountAfterTax doit être spécifié. Si AmountBeforeTax est spécifié et AmountAfterTax n'est pas spécifié, alors les taxes et les frais doit être spécifié dans un message <TaxFeeInfo>.

Si vous utilisez des promotions, remise appliquée à AmountBeforeTax. pourcentage des remises sont également appliquées à AmountAfterTax. Étant donné que n'est pas compatible avec certaines structures fiscales, nous vous recommandons vivement en spécifiant AmountBeforeTax ici et en utilisant <TaxFeeInfo> pour indiquer les taxes et les frais.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax 0..1 float Prix de la chambre à la journée, après inclusion des taxes applicables et frais. Si AmountAfterTax est spécifié, séparez chaque propriété. <TaxFeeInfo> messages n'ont pas besoin d'être envoyés. Ce peut être utilisé en combinaison avec AmountBeforeTax afin de fournir les tarifs de base et total qui peuvent être présentés aux utilisateurs en dans certaines régions.

Avertissement:Si vous utilisez des promotions, nous vous recommandons est déconseillé d'utiliser AmountAfterTax montants. Si vous souhaitez utiliser des remises, indiquez les taxes et les frais en à l'aide du message <TaxFeeInfo>. Vos remises seront à appliquer à des montants AmountBeforeTax.

Remarque:Si AmountBeforeTax n'est pas spécifié, AmountAfterTax doit l'être.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode 1 enum Code ISO 4217 à trois caractères alpha pour une unité monétaire spécifique.

Reportez-vous à la liste des devises.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests 0..1 integer Nombre maximal de personnes pouvant bénéficier de ce tarif. Si aucune information n'est fournie, la valeur par défaut est de 2 personnes.

Notez que si <AdditionalGuestAmounts> comporte des frais pour des enfants, NumberOfGuests ne fait référence qu'à par rapport aux adultes. Si <AdditionalGuestAmounts> n'est pas spécifiée ou ne comporte aucuns frais pour les enfants, NumberOfGuests correspond au nombre total de personnes y compris les adultes et les enfants.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts Conteneur regroupant les frais pour des invités supplémentaires.

Cette syntaxe est utile si des tarifs supplémentaires pour des invités ou des enfants changent en fonction de la date. Envisagez d'utiliser l'approche la plus efficace ExtraGuestCharges s'affiche si ces montants peuvent être définis de manière statique au niveau de la propriété d'application.

Les montants supplémentaires pour les clients sont appliqués comme suit: <ph type="x-smartling-placeholder">
    </ph>
  • Ils s'ajoutent au tarif de base. Base le taux d'occupation le plus élevé, spécifié dans <BaseByGuestAmts>, inférieur ou égal à le nombre d'adultes lors d'une recherche utilisateur.
  • Ils s'appliquent dès lors que le nombre de personnes indiqué dans une recherche d'utilisateur est dans les limites de la capacité d'accueil de la salle.
  • <AdditionalGuestAmounts> remplace toujours des montants supplémentaires précédemment spécifiés par de nouveaux montants NotifType correspond à Delta ou à Superposition.
  • <AdditionalGuestAmounts> peut être envoyé indépendamment des tarifs de base uniquement lorsque NotifType est Delta : <BaseByGuestAmts> doit être spécifié lorsque NotifType est défini sur Overlay.
  • Un élément <AdditionalGuestAmounts> vide avec "NotifType" défini sur "Delta" supprime l'existant des montants supplémentaires sans affecter les taux de base.
  • Elles sont appliquées dans la devise spécifiée dans <BaseByGuestAmt>

Par exemple, supposons que des taux de base soient spécifiés pour 1 et 2. les adultes.

  • Si un utilisateur recherche trois adultes, le tarif d'une chambre double être sélectionné comme tarif de base et un montant supplémentaire pour chaque client pour adultes serait superposée à l'image.
  • Si l'utilisateur recherche un adulte et deux enfants, l'unique le tarif en fonction du nombre de personnes est sélectionné comme tarif de base, pour les deux enfants.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount 0..n AdditionalGuestAmount Spécifie les prix en fonction du type de client, spécifié via AgeQualifyingCode et, le cas échéant, l'âge du client spécifié via MaxAge.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode 1 enum Définit le type d'invité supplémentaire (adulte ou enfant). Valide sont les suivantes: <ph type="x-smartling-placeholder">
    </ph>
  • 10: adulte.
  • 8: Enfant.

AgeQualifyingCode peut être défini sur 10 pour à un seul élément AdditionalGuestAmount.

MaxAge doit être spécifié lorsque "AgeQualifyingCode" est "8".

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge 0..1 integer MaxAge doit être spécifié lorsque "AgeQualifyingCode" est "8". Il ne doit pas s'agir spécifié lorsque AgeQualifyingCode est défini sur 10.

MaxAge doit être un entier compris entre 0 et 17.

Si vous définissez la valeur 0, le nombre d'enfants est désactivé.

Les valeurs supérieures à 17 seront traitées comme les valeurs maximales la valeur acceptée est 17.

Vous pouvez spécifier plusieurs tranches d'âge enfants via des AdditionalGuestAmount. Les tranches d'âge doivent être contiguës et sans chevauchement.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float Montant hors taxes et frais ajouté au tarif de base pour chaque invité supplémentaire.

Taxes et frais qui dépendent des clients les âges doivent être spécifiés via l'élément <AgeBrackets> dans une <TaxFeeInfo> message.

Exemples

Cette section fournit des exemples de code qui montrent comment:

Lorsque vous définissez les valeurs add, overlay ou remove, les plages de dates peuvent identiques ou différents selon vos objectifs. Par exemple, vous pouvez utiliser overlay pour ne définir que quelques semaines pour les jours fériés de décembre, plutôt que plage complète définie pour le "Taux d'ajout" . Cela remplacera le nombre de personnes pour cette période uniquement.

Tarification à la date

Pour une chambre et un plan tarifaire donnés, un maximum de 50 tarifs par nombre de personnes peut . Si les prix sont identiques pour tous les nombres de personnes, envoyez simplement le le nombre maximal de personnes avec le prix requis. Ainsi, Google en déduit que le même tarif de base s'applique au nombre de personnes inférieur.

Configurer les tarifs de base et les tarifs totaux

Exemple 1

Tarif de base (hors taxes et frais) pour le nombre de personnes par défaut (deux). Dans ce les taxes et les frais associés à l'établissement doivent être définis à l'aide d'un Message <TaxFeeInfo>. Le tarif de base sera plus sont bien visibles pour les utilisateurs qui effectuent des recherches depuis certaines régions.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Exemple 2

Tarif de base et tarif total pour le nombre de personnes par défaut (deux). Dans ce modèle, les taxes Les frais ne doivent pas être définis séparément à l'aide de <TaxFeeInfo> messages. Le tarif de base sera plus visible pour les utilisateurs effectuant des recherches depuis dans certaines régions.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Exemple 3

Tarif total (taxes et frais compris) pour plusieurs nombres de personnes. Dans ce modèle, les taxes et les frais ne doivent pas être définis séparément à l'aide de <TaxFeeInfo> messages.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Exemple 4

Tarif de base et tarif total pour plusieurs types de chambres et plans tarifaires dans différentes périodes.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-01"
                                End="2020-05-31"
                                InvTypeCode="RoomID_2"
                                RatePlanCode="PackageID_2"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            AmountAfterTax="220.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Ajouter, superposer et supprimer des tarifs

Le nombre de produits est limité à 5 000 (type de chambre et formule) par propriété. Utiliser la notification Overlay ou Remove pour supprimer des produits précédemment définis.

Ajouter des tarifs

Définissez NotifType sur Delta pour ajouter des tarifs par nombre de personnes pour RoomID_1 et PackageID_1 entre le 20/10/2021 et le 31/12/2021. Notez que Google accepte jusqu'à trois ans de données.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountBeforeTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Superposer les tarifs

Définissez NotifType sur Overlay pour supprimer tout le nombre de personnes tarifs pour RoomID_1 et PackageID_1 entre le 20/10/2021 et le 31/12/2021 et remplacez-les par les nouveaux tarifs par nombre de personnes.

Par exemple, si ce message a été envoyé après l'invite "Ajouter des tarifs", le message les tarifs pour le nombre de personnes 1, 2 et 3 seront supprimés, et seul le nouveau nombre de personnes 1 est stockée. Vous pouvez également définir une période plus courte (par exemple, 20/12/2021 et 31/12/2021) afin de ne remplacer qu'une partie du nombre de personnes. à certaines dates, comme les jours fériés.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Supprimer les tarifs

Définissez NotifType sur Remove pour supprimer tout le nombre de personnes. pour RoomID_1 et PackageID_1 entre le 20/10/2021 et le 31/12/2021.

Par exemple, si ce message a été envoyé après l'un des autres exemples messages, aucun tarif par nombre de personnes ne sera stocké.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Ajoutez, superposez et supprimez des montants d'invités supplémentaires

Ajouter des montants

Définissez NotifType sur Delta pour ajouter les tarifs de base pour nombre de personnes 1 et 2, et les montants supplémentaires pour les invités, pour RoomID_1 et PackageID_1 entre le 20/10/2021 et le 31/12/2021.

Des montants supplémentaires pour les clients seront appliqués en plus du tarif de base être déterminée par le nombre de personnes dans une recherche d'utilisateur. L'utilisateur a indiqué le nombre de personnes doit correspondre à la capacité de RoomID_1.

Dans cet exemple, les montants supplémentaires pour les clients seront appliqués comme suit:

  • 5 $ pour les enfants de 0 à 10 ans (inclus).
  • 10 $ pour les enfants de 11 à 17 ans (inclus).
  • 20 $ pour les adultes.
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" />
            <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" />
            <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Montants en superposition

Définissez NotifType sur Overlay pour supprimer tout le nombre de personnes tarifs et tous les montants supplémentaires pour les clients RoomID_1 et PackageID_1 entre le 20/10/2021 et le 31/12/2021, et remplacez-les par les nouvelles des tarifs par nombre de personnes et des montants supplémentaires.

Par exemple, si ce message a été envoyé après l'invite "Ajouter des tarifs", le message les tarifs de base 1 et 2 seront supprimés, et seuls les nouveaux tarifs de base nombre de personnes 1 soit stocké. Ensemble précédent d'invités montants seront supprimés, et seul le nouvel ensemble de montants sera stocké. Le montant supplémentaire d'un client utilisera désormais le nouveau tarif pour le nombre de personnes 1 comme tarif de base. Notez qu'après cette mise à jour, aucun autre invité des frais définis pour les enfants.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Supprimer les montants

Définissez NotifType sur Delete pour supprimer tout le nombre de personnes les tarifs de base et tous les montants supplémentaires réservés aux clients pour RoomID_1 et PackageID_1 entre le 20/10/2021 et le 31/12/2021.

Par exemple, si ce message a été envoyé après l'un des autres exemples sans tarif de base par nombre de personnes ni pour des montants de clients supplémentaires être stockées.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Supprimer uniquement les montants supplémentaires pour les invités

Définissez NotifType sur Delta avec une valeur vide. Élément <AdditionalGuestAmounts> pour tout supprimer des montants supplémentaires pour RoomID_1 et PackageID_1, sans que cela n'affecte tarifs de base entre le 20/10/2021 et le 31/12/2021.

Par exemple, si ce message a été envoyé après l'un des autres exemples messages, seuls les montants de base sont stockés.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <AdditionalGuestAmounts/>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Tarifs basés sur la DDS

Configurer des tarifs basés sur la durée du séjour

Exemple 1

Définissez des tarifs pour des séjours de 1, 2 et 3 nuits à partir du 18/05/2020. La le tarif total pour des séjours de 1, 2 et 3 nuits dans cet exemple serait de 100 $, 180 $ et 240 $respectivement.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="1" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="2" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="90.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2" />
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Ajoutez, superposez et supprimez des tarifs basés sur la durée du séjour

Ajouter la ou les durées de séjour

Avec la tarification basée sur la durée du séjour, une opération Delta permet mises à jour progressivement pour les plages de dates d'arrivée indiquées dans <StatusApplicationControl> et pour toutes les durées de séjour indiquée par chaque élément Rate enfant UnitMultiplier

Pour chaque date d'arrivée et durée de séjour applicables, le nombre de personnes les tarifs doivent être spécifiés.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Superposer les durées de séjour

Avec la tarification basée sur la durée du séjour, une opération Overlay remplace les tarifs pour toutes les durées de séjour du produit et la date d'arrivée la plage <StatusApplicationControl>.

Avec ce message, les tarifs par nombre de personnes pour toutes les durées de séjour les dates d'arrivée spécifiées seront supprimées et remplacées par une chambre double tarif défini uniquement pour la durée du séjour 3.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Supprimer la ou les durées de séjour

Avec la tarification basée sur la durée du séjour, une opération Remove supprime les tarifs pour toutes les durées de séjour du produit et la plage de dates d'arrivée indiquées dans <StatusApplicationControl>

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Réponses

Syntaxe

Le message OTA_HotelRateAmountNotifRS utilise la syntaxe suivante:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                            TimeStamp="timestamp"
                            EchoToken="echo_token"
                            Version="3.0">
  <!-- Either Success or Errors will be populated. -->
  <Success/>
  <Errors>
    <Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>

Éléments et attributs

Le message OTA_HotelRateAmountNotifRS contient les éléments suivants : éléments et attributs:

Élément / @Attribut Occurrences Type Description
OTA_HotelRateAmountNotifRS 1 Complex element Élément racine d'une réponse à un message de disponibilité.
OTA_HotelRateAmountNotifRS / @TimeStamp 1 DateTime Date et heure de création de ce message.
OTA_HotelRateAmountNotifRS / @EchoToken 1 string Il s'agit de l'identifiant unique Message OTA_HotelRateAmountNotifRQ.
OTA_HotelRateAmountNotifRS / Success 0..1 Success Indique que le message OTA_HotelRateAmountNotifRQ a été traité avec succès.

<Success> ou <Errors> est présentes dans chaque message.

OTA_HotelRateAmountNotifRS / Errors 0..1 Errors Conteneur pour un ou plusieurs problèmes rencontrés lors du traitement de la Message OTA_HotelRateAmountNotifRQ.

<Success> ou <Errors> est présentes dans chaque message.

OTA_HotelRateAmountNotifRS / Errors / Error 1..n Error Description d'une erreur rencontrée lors du traitement de la Message OTA_HotelRateAmountNotifRQ. Détails sur ces sont indiquées dans Messages d'erreur concernant l'état du flux.
OTA_HotelRateAmountNotifRS / Errors / Error / @Type 1 integer Le type d'avertissement (EWT, Error Warning Type) d'OpenTravel Alliance associé au . Seule la valeur 12 (Processing exception) est utilisée.
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 integer Code d'erreur (ERR) OpenTravel Alliance associé à l'erreur. Seule la valeur 450 (Unable to process) est utilisée.
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 enum État de la demande d'origine. Uniquement la valeur NotProcessed est utilisé.
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText 1 string Identifiant Google du problème. Des détails sur ces erreurs peuvent être figurant dans Messages d'erreur concernant l'état du flux.

Exemples

Opération réussie

Vous trouverez ci-dessous une réponse à une requête Message OTA_HotelRateAmountNotifRQ.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Success/>
</OTA_HotelRateAmountNotifRS>

Erreurs

La réponse ci-dessous est une réponse à un message OTA_HotelRateAmountNotifRQ qui n'est pas traités en raison d'erreurs.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Errors>
    <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>