Présentation
Cette API vous permet de définir des façons d'appliquer dynamiquement des actions à un tarif à chaque fois sont remplies, par exemple en ajustant le prix ou en autorisant le remboursement. Contrairement à l'API Promotions, qui ne peut s'appliquer promotions éligibles offrant les remises les plus importantes, cette API applique les actions lorsque certaines conditions sont remplies, y compris les ajustements de prix finalement augmenter le prix final.
Demandes
Syntaxe
Le message RateModifications
utilise la syntaxe suivante:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="partner_key"
id="message_ID"
timestamp="timestamp">
<HotelRateModifications hotel_id="HotelID" action="[overlay]">
<ItineraryRateModification id="ModificationID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</BookingDates>
<BookingWindow min="integer" max="integer"/>
<CheckinDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</CheckinDates>
<CheckoutDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</CheckoutDates>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<LengthOfStay min="integer" max="integer"/>
<MinimumAmount before_discount="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="[all|any]">
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</StayDates>
<UserCountries type="[include|exclude]">
<Country code="country_code"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="float"/>
<RateRule id="RateRuleID"/>
<Refundable available="[false|true]"
refundable_until_days="number_of_days"
refundable_until_time="time"/>
<Availability status="[unavailable]"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Éléments et attributs
Le message RateModifications
contient les éléments suivants et
Attributs:
Élément / @Attribut | Occurrences | Type | Description |
---|---|---|---|
RateModifications | 1 | Complex element | Élément racine d'un message de modification des tarifs. |
RateModifications / @partner | 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 vous disposez d'un backend qui fournit des flux pour
plusieurs comptes, cette valeur doit correspondre à l' |
RateModifications / @id | 1 | string | Identifiant unique de ce message de requête. Cette valeur est renvoyée dans le message de réponse. Caractères autorisés : a-z, A-Z, 0-9, _ (trait de soulignement) et - (trait d'union). |
RateModifications / @timestamp | 1 | DateTime | Date et heure de création de ce message. |
RateModifications / HotelRateModifications | 0..n | HotelRateModifications | Modifications des tarifs d'un établissement. Chaque modification tarifaire s'applique à une seule propriété. Remarque:Si plusieurs modifications tarifaires peuvent être appliquées au même tarif, toutes les modifications sont appliquées. Aucune commande spécifique n’est sont garantis. |
RateModifications / HotelRateModifications / @hotel_id | 1 | string | Identifiant unique de l'établissement. Cette valeur doit correspondre au
Identifiant de l'hôtel spécifié à l'aide de
<id> dans l'élément <listing>
dans le flux Hotel List Feed. L'ID de l'hôtel est également indiqué dans Hotel Center. |
RateModifications / HotelRateModifications / @action | 0..1 | enum | Si |
RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | Modification unique du tarif d'un établissement. Remarque:Les modifications de tarifs étant difficiles à déboguer, nous recommandez de les utiliser avec parcimonie. Contactez votre responsable de compte technique (TAM) pour les cas d'utilisation nécessitent plus de 200 modifications de tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Identifiant unique de la modification du tarif. Le nombre maximal de Le nombre de caractères autorisés est de 40. Caractères autorisés : a-z, A-Z, 0-9, _ (trait de soulignement), - (trait d'union) et . (point). |
RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | S'il n'est pas spécifié et qu'une modification de tarif avec le même
Si spécifié, la valeur doit être |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Conteneur pour une ou plusieurs plages de dates qui définissent le moment auquel la réservation doit se produire pour que la modification du tarif soit appliquée. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Plage de dates indiquant le moment auquel la réservation doit être effectuée pour le tarif à appliquer. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | Date de début (en fonction du fuseau horaire de l'établissement), date de début incluse,
la plage de dates. Cette date doit être antérieure ou identique à la date
Date end . Si start n'est pas spécifié, la date
est en fait illimitée en termes de date de début. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | Date de fin (en fonction du fuseau horaire de l'établissement), incluse, de l'événement
la plage de dates. Cette date doit être identique ou postérieure au
Date start . Si end n'est pas spécifié, la date
est en réalité illimitée en termes de date de fin. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | Jours de la semaine autorisés dans la plage de dates. Si ce n'est pas le cas tous les jours sont autorisés dans la plage de dates. Chaque caractère de la chaîne indique un jour. Par exemple, « MTWHF ». spécifie que les jours de la semaine sont autorisés dans la plage de dates. Les caractères suivants sont acceptés:
Toute combinaison de caractères est valide. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | Spécifie la période au cours de laquelle la réservation doit être effectuée par rapport au la date d'arrivée (en fonction du fuseau horaire de l'établissement). Par exemple, la période de réservation peut être définie sur au moins 7 jours, mais pas plus de 180 jours. avant l'arrivée. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | Nombre minimal de jours avant l'arrivée où la réservation doit être effectuée pour que la modification du tarif soit appliquée. Si cet attribut n'est pas spécifié, n'est pas un minimum. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | Nombre maximal de jours avant l'arrivée où la réservation doit être effectuée pour que la modification du tarif soit appliquée. Si cet attribut n'est pas spécifié, n'est pas un maximum. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Conteneur pour une ou plusieurs plages de dates qui définissent le moment auquel se produire pour que la modification du tarif soit appliquée. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Plage de dates indiquant à quel moment l'arrivée doit avoir lieu pour le tarif à appliquer. Cet élément n'est pas obligatoire si vous la suppression d'une ou plusieurs modifications de tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | Date de début (en fonction du fuseau horaire de l'établissement), date de début incluse,
la plage de dates. Cette date doit être antérieure ou identique à la date
Date end . Si start n'est pas spécifié, la date
est en fait illimitée en termes de date de début. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | Date de fin (en fonction du fuseau horaire de l'établissement), incluse, de l'événement
la plage de dates. Cette date doit être identique ou postérieure au
Date start . Si end n'est pas spécifié, la date
est en réalité illimitée en termes de date de fin. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | Jours de la semaine autorisés dans la plage de dates. Si ce n'est pas le cas tous les jours sont autorisés dans la plage de dates. Chaque caractère de la chaîne indique un jour. Par exemple, « MTWHF ». spécifie que les jours de la semaine sont autorisés dans la plage de dates. Les caractères suivants sont acceptés:
Toute combinaison de caractères est valide. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | Conteneur pour une ou plusieurs plages de dates qui définissent le moment du départ doit se produire pour que la modification du tarif soit appliquée. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Plage de dates indiquant à quel moment le départ doit avoir lieu pour le tarif à appliquer. Cet élément n'est pas obligatoire si vous la suppression d'une ou plusieurs modifications de tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | Date de début (en fonction du fuseau horaire de l'établissement), date de début incluse,
la plage de dates. Cette date doit être antérieure ou identique à la date
Date end . Si start n'est pas spécifié, la date
est en fait illimitée en termes de date de début. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | Date de fin (en fonction du fuseau horaire de l'établissement), incluse, de l'événement
la plage de dates. Cette date doit être identique ou postérieure au
Date start . Si end n'est pas spécifié, la date
est en réalité illimitée en termes de date de fin. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Jours de la semaine autorisés dans la plage de dates. Si ce n'est pas le cas tous les jours sont autorisés dans la plage de dates. Chaque caractère de la chaîne indique un jour. Par exemple, « MTWHF ». spécifie que les jours de la semaine sont autorisés dans la plage de dates. Les caractères suivants sont acceptés:
Toute combinaison de caractères est valide. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Conteneur permettant de lister les appareils des utilisateurs éligibles à modification du tarif. Si une valeur est spécifiée, la modification du tarif n'est appliquée appliqué si l'utilisateur correspond à l'un des appareils listés. Si aucune valeur n'est spécifiée, cela ne limite pas l'application de la modification du tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | Définit un type d'appareil d'utilisateur éligible à ce tarif modification. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | Type d'appareil. La valeur doit être desktop ,
tablet ou mobile . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | Actions appliquées au tarif si toutes les conditions spécifiées sont remplies. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | Modifie le taux en multipliant à la fois AmountBeforeTax et
AmountAfterTax par le multiplicateur spécifié |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | AmountBeforeTax et AmountAfterTax sont tous les deux
multipliée par cette valeur. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | Modifie le tarif en lui appliquant l'identifiant de règle d'offres spécifié. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | Cet identifiant fait correspondre un tarif à une définition dans votre
Fichier de définition des règles d'offres.
Remarques:
<ph type="x-smartling-placeholder">
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Remplace le remboursement du tarif par la valeur spécifiée.
Lorsque vous définissez les attributs, tenez compte des points suivants:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (Obligatoire) Définissez la valeur sur 1 ou
true pour indiquer si le tarif autorise un
remboursement ; sinon défini sur 0 ou false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Obligatoire si
available est true ) Spécifie
Nombre de jours avant la date d'arrivée pendant lesquels un remboursement total peut être effectué
demandée. La valeur de refundable_until_days
doit être un nombre entier compris entre 0 et 330 inclus. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (Recommandé si available est défini sur true ) Spécifie
à la dernière heure de la journée, à l'heure locale de l'hôtel, qu'une
demande de remboursement acceptée. Cela peut être
combiné avec
refundable_until_days pour spécifier, pour
Exemple : "les remboursements sont possibles jusqu'à 16 h deux jours avant
"check-in". Si refundable_until_time n'est pas défini, la valeur
la valeur par défaut est minuit. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Remplace la disponibilité du tarif par la valeur spécifiée.
Nous pouvons uniquement définir le tarif sur unavailable . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Si la valeur est status="unavailable" , le tarif est traité
comme s'il n'était pas disponible, qu'il existe ou non un prix valide pour
|
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Définit les limites de durée de séjour pendant lesquelles cette modification du taux peut être appliqué. La modification du tarif n'est pas appliquée lorsque la durée du séjour est en dehors des limites minimale et maximale. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | Nombre minimal de nuits autorisées dans le séjour pour que la modification du tarif soit appliquée. Si cet attribut n'est pas spécifié, il n'y a pas de minimum. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Nombre maximal de nuits autorisées dans le séjour pour que la modification du tarif soit appliquée. Si cet attribut n'est pas spécifié, il n'y a pas de valeur maximale. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | Spécifie la somme minimale des prix à la journée des chambres (en utilisant la valeur la plus élevée des
AmountBeforeTax ou AmountAfterTax ) qui doit
être dépassé pour que la modification du tarif soit appliquée. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | Valeur à dépasser pour que la modification du tarif soit appliquée appliquée. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Conteneur pour la liste des plans tarifaires auxquels la modification du tarif a été appliquée
s'applique. Si <RatePlans> n'est pas spécifié, le tarif
s'applique à tous les plans tarifaires. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | Spécifie un plan tarifaire. Un plan tarifaire est défini par une combinaison le forfait, les tarifs et la disponibilité, tels que définis dans l'article (Données sur un établissement), OTA_HotelRateAmountNotifRQ et OTA_HotelAvailNotifRQ et tel qu'identifié par le PackageID. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | Identifiant unique du plan tarifaire. Cette valeur correspond au
Valeur PackageID dans <PackageData>
dans un message Transaction (Données sur un établissement),
Attribut RatePlanCode dans
<StatusApplicationControl> dans les deux cas
<OTA_HotelRateAmountNotifRQ> et
<OTA_HotelAvailNotifRQ> messages.
Le nombre maximal de caractères autorisés est de 50. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | Conteneur pour la liste des types de chambres auxquels la modification du tarif s'applique.
La modification du tarif est appliquée à chaque <RoomType> .
spécifié. Si <RoomTypes> n'est pas spécifié, le
la modification du tarif s'applique à toutes les chambres. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Spécifie un type de chambre. Un type de chambre est défini
Élément <RoomData> dans une
Transaction (Données sur un établissement),
référencée à l'aide de sa valeur <RoomID> . (Il est
La valeur <RoomID> est également référencée par le
Attribut InvTypeCode dans OTA_HotelRateAmountNotifRQ
messages.) |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | Identifiant unique de l'inventaire (type de chambre). Cette valeur correspond
à <RoomID> dans un message Transaction (Données sur un établissement).
Le nombre maximal de caractères autorisés est de 50. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | Conteneur pour une ou plusieurs plages de dates qui déterminent la manière modification du tarif est appliquée, par exemple pour tenir compte des tarifs saisonniers. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Décrit comment la modification du tarif doit être appliquée. Les valeurs valides sont les suivantes :
Cet attribut doit toujours être spécifié. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Plage de dates spécifiant les dates auxquelles la modification du tarif doit être effectuée appliquée. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | Date de début (en fonction du fuseau horaire de l'établissement), date de début incluse,
la plage de dates. Cette date doit être antérieure ou identique à la date
Date end . Si start n'est pas spécifié, la date
est en fait illimitée en termes de date de début. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | Date de fin (en fonction du fuseau horaire de l'établissement), incluse, de l'événement
la plage de dates. Cette date doit être identique ou postérieure au start
la date de début. Si end n'est pas spécifié, la date
est en réalité illimitée en termes de date de fin. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | Jours de la semaine autorisés dans la plage de dates. Si ce n'est pas le cas tous les jours sont autorisés dans la plage de dates. Chaque caractère de la chaîne indique un jour. Par exemple, « MTWHF ». spécifie que les jours de la semaine sont autorisés dans la plage de dates. Les caractères suivants sont acceptés:
Toute combinaison de caractères est valide. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | Si ce paramètre est spécifié, la modification du tarif n'est appliquée que si l'utilisateur situé dans l'un des pays spécifiés. S'il n'est pas spécifié, le tarif s'applique quelle que soit la position géographique de l'utilisateur. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | Type de spécification UserCountries.
Les valeurs valides sont Si la propriété UserCountries Si la Si la propriété UserCountries |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Spécifie le pays de l'utilisateur autorisé pour la modification du tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | Un code pays CLDR
comme DE ou FR . Notez que, pour certains
pays, le code pays CLDR n'est pas le même que les codes ISO à deux lettres
code pays. De plus, les codes de région CLDR ne sont pas acceptés. |
Exemples
Message de base
L'exemple suivant présente un message RateModifications
de base:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-07-01" end="2023-07-31" days_of_week="MTWHF"/>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2023-10-01" end="2023-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2023-10-08" end="2023-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Supprimer une modification de tarif
L'exemple suivant montre comment supprimer une modification de tarif pour un :
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1" action="delete"/>
</HotelRateModifications>
</RateModifications>
Supprimer toutes les modifications tarifaires
L'exemple suivant montre comment supprimer toutes les modifications de tarif pour un :
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
</RateModifications>
Superposer toutes les modifications tarifaires
L'exemple suivant montre comment superposer <HotelRateModifications>
pour
avec une ou plusieurs modifications de tarif. Quand ?
action="overlay"
, toutes les modifications de tarif stockées sont supprimées avant
en stockant les modifications de tarif spécifiées dans le message actuel:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Actions de modification multiples
L'exemple suivant montre comment effectuer plusieurs actions de modification à la fois:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-01-01" end="2023-02-28"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier=".95"/>
<Refundable available="true"
refundable_until_days="1"
refundable_until_time="12:00:00"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Désactiver un plan tarifaire pour les pays des utilisateurs
L'exemple suivant montre comment limiter un plan tarifaire à
Utilisateurs japonais (JP
) :
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<RatePlans>
<RatePlan id="jp_only"/>
</RatePlans>
<UserCountries type="exclude">
<Country code="JP"/>
</UserCountries>
<ModificationActions>
<Availability status="unavailable"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Réponses
Syntaxe
Le message RateModificationsResponse
utilise la syntaxe suivante:
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type"><var>issue_description</var></Issue>
</Issues>
</RateModificationsResponse>
Éléments et attributs
Le message RateModificationsResponse
contient les éléments suivants :
éléments et attributs:
Élément / @Attribut | Occurrences | Type | Description |
---|---|---|---|
RateModifications | 1 | Complex element | Élément racine indiquant le succès ou les problèmes d'une réponse Message de requête RateModifications. |
RateModificationsResponse / @timestamp | 1 | DateTime | Date et heure de création de ce message. |
RateModificationsResponse / @id | 1 | string | Identifiant unique issu du message RateModifications associé. |
RateModificationsResponse / @partner | 1 | string | Compte du partenaire pour ce message. |
RateModificationsResponse / Success | 0..1 | Success | Indique que le message RateModifications a bien été traité
sans avertissement, erreur ni échec.
|
RateModificationsResponse / Issues | 0..1 | Issues | Conteneur pour un ou plusieurs problèmes rencontrés lors du traitement de la
RateModifications.
|
RateModificationsResponse / Issues / Issue | 1..n | Issue | La description d'un avertissement, d'une erreur ou d'un échec rencontré pendant le traitement du message RateModifications. Des détails sur ces problèmes peuvent être trouvé dans Erreur d'état du flux Messages. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | Identifiant du problème. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | Type de problème rencontré. Les valeurs valides sont |
Exemples
Opération réussie
La réponse ci-dessous est une réponse à une erreur RateModifications traitée avec succès. .
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
Problèmes
La réponse ci-dessous est une réponse à un message RateModifications non traité. en raison d'erreurs.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</RateModificationsResponse>