Übersicht
Mit dieser API können Sie festlegen, wie Aktionen dynamisch auf einen Preis angewendet werden, wenn bestimmte Bedingungen erfüllt sind, z. B. der Preis angepasst oder die Erstattung aktiviert wird. Im Gegensatz zur Promotions API, mit der nur infrage kommende Angebote mit den höchsten Rabatten angewendet werden können, werden mit dieser API alle Aktionen angewendet, wenn bestimmte Bedingungen erfüllt sind. Dazu gehören auch Preisanpassungen, die den Endpreis letztendlich erhöhen können.
Anfragen
Syntax
Die Nachricht RateModifications
verwendet die folgende Syntax:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="partner_key"
id="message_ID"
> < timestamp="timestamp"
HotelRateM>odifi<cations hotel_id="HotelID" action="[overlay]&quo>t;
<ItineraryRat>eModifica<tion id="ModificationID" action="[delete]"
BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=&q>uot;&qu<ot;MTWHFSU_or>_subset<""/
DateRange start=&quo>t;YYYY-<MM-DD" >end="<;YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/
/>Booking<Dates
B>ookingW<indow min=&qu>ot;intege<r" max="integer"/
CheckinDates
DateRange start=">;YYYY-M<M-DD" end>="<YYYY-MM>-DD"< days_of_week=""MTWHFSU_or_s>ubset&q<uot;&quo>t;/
< /CheckinDates
CheckoutDates
> Dat<eRange start="YYYY-MM-DD" end=>"Y<YYY-MM-DD>" da<ys_of_week=""MTW>HFSU_or_s<ubset""/
/>Checkou<tDates
> Devi<ces
> Device< type="[desktop|ta>blet|mobi<le]"/
/Devic>es
< L>engthOfStay mi<n="integer" max="i>nteger&qu<ot;/
MinimumAmount before_discount="integer"/
RatePlans
> Ra<tePlan id=>"P<ackageID_1"/
RatePlan id=>"Pac<kageID_2"/
/RateP>lans
< Roo>mTypes
< RoomType id=">RoomID_1&<quot;/
RoomType id="Ro>omID_2&qu<ot;/
/RoomTypes
> StayDa<tes application="[all|any]"
DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_su>bset"<;"/
/StayDates
User>Countri<es type="[inclu>de|ex<clude]"
Count>ry <code="country_code>&<quot;/
/User>C
ountries
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
Elemente und Attribute
Die Nachricht RateModifications
enthält folgende Elemente und Attribute:
Element / @Attribut | Häufigkeit | Typ | Beschreibung |
---|---|---|---|
RateModifications | 1 | Complex element | Das Stammelement einer Nachricht zu Preisänderungen. |
RateModifications / @partner | 1 | string | Das Partnerkonto für diese Nachricht. Dieser Stringwert ist der Wert „Partnerschlüssel“, der im Hotel Center auf der
Seite „Kontoeinstellungen“ aufgeführt ist.
Hinweis: Wenn Sie ein Backend haben, das Feeds für mehrere Konten bereitstellt, muss dieser Wert mit dem Attributwert |
RateModifications / @id | 1 | string | Eine eindeutige Kennung für diese Anfragenachricht. Dieser Wert wird in der Antwortnachricht zurückgegeben. Zulässige Zeichen sind a–z, A–Z, 0–9, _ (Unterstrich) und - (Bindestrich). |
RateModifications / @timestamp | 1 | DateTime | Erstellungsdatum und -uhrzeit der Nachricht. |
RateModifications / HotelRateModifications | 0..n | HotelRateModifications | Preisänderungen für eine Unterkunft. Jede Preisänderung gilt für eine einzelne Unterkunft. Hinweis:Wenn auf denselben Preis mehrere Preisänderungen angewendet werden können, werden alle Änderungen angewendet. Eine bestimmte Reihenfolge ist nicht garantiert. |
RateModifications / HotelRateModifications / @hotel_id | 1 | string | Die eindeutige Kennung der Unterkunft. Dieser Wert muss mit der Hotel-ID übereinstimmen, die mit
<id> im Element <listing> im Hotellistenfeed angegeben wird. Die Hotel-ID ist auch im Hotel Center aufgelistet. |
RateModifications / HotelRateModifications / @action | 0..1 | enum | Wenn |
RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | Eine einzelne Preisänderung für eine Unterkunft. Hinweis:Preisänderungen sind schwer zu debuggen und sollten daher sparsam verwendet werden. Wenden Sie sich an Ihren Technical Account Manager (TAM), wenn Sie mehr als 200 Preisänderungen vornehmen möchten. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Eine eindeutige Kennung für die Preisänderung. Es sind maximal 40 Zeichen zulässig. Zulässige Zeichen sind a–z, A–Z, 0–9, _ (Unterstrich), - (Bindestrich) und . (Punkt). |
RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | Falls dieser Wert nicht angegeben ist und eine Preisänderung mit derselben Falls angegeben, muss der Wert |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Ein Container für einen oder mehrere Zeiträume, die definieren, wann eine Buchung erfolgen muss, damit die Preisänderung angewendet wird. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Ein Zeitraum, der angibt, wann eine Buchung erfolgen muss, damit die Preisänderung angewendet wird. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | Das einschließliche Startdatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss vor dem end -Datum liegen oder mit diesem übereinstimmen. Wird start nicht angegeben, ist der Zeitraum in Bezug auf das Startdatum prinzipiell unbegrenzt. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | Das einschließliche Enddatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss nach dem start -Datum liegen oder mit diesem übereinstimmen. Wird end nicht angegeben, ist der Zeitraum in Bezug auf das Enddatum nahezu unbegrenzt. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | Die Wochentage, die im Zeitraum zulässig sind. Falls nicht angegeben, sind alle Tage im Zeitraum zulässig. Jedes Zeichen im String gibt einen Tag an. Beispiel: „MTWHF“ gibt an, dass Wochentage im Zeitraum zulässig sind. Folgende Zeichen sind zulässig:
Jede Zeichenkombination ist gültig. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | Gibt den Zeitraum an, in dem die Reservierung in Bezug auf das Check-in-Datum erfolgen muss (basierend auf der Zeitzone der Unterkunft). Beispielsweise kann der Reservierungszeitraum auf mindestens 7 Tage und maximal 180 Tage vor dem Check-in festgelegt werden. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | Die Mindestanzahl von Tagen vor dem Check-in, wann eine Buchung erfolgen muss, damit die Preisänderung angewendet wird. Falls nicht angegeben, gibt es keine Mindestanzahl. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | Die maximale Anzahl von Tagen vor dem Check-in, wann eine Buchung erfolgen muss, damit die Preisänderung angewendet wird. Falls nicht angegeben, gibt es keine maximale Anzahl. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Ein Container für einen oder mehrere Zeiträume, die definieren, wann der Check-in erfolgen muss, damit die Preisänderung angewendet wird. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Ein Zeitraum, der angibt, wann ein Check-in erfolgen muss, damit die Preisänderung angewendet wird. Dieses Element ist nicht erforderlich, wenn Sie eine oder mehrere Preisänderungen löschen. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | Das einschließliche Startdatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss vor dem end -Datum liegen oder mit diesem übereinstimmen. Wird start nicht angegeben, ist der Zeitraum in Bezug auf das Startdatum prinzipiell unbegrenzt. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | Das einschließliche Enddatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss nach dem start -Datum liegen oder mit diesem übereinstimmen. Wird end nicht angegeben, ist der Zeitraum in Bezug auf das Enddatum nahezu unbegrenzt. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | Die Wochentage, die im Zeitraum zulässig sind. Falls nicht angegeben, sind alle Tage im Zeitraum zulässig. Jedes Zeichen im String gibt einen Tag an. Beispiel: „MTWHF“ gibt an, dass Wochentage im Zeitraum zulässig sind. Folgende Zeichen sind zulässig:
Jede Zeichenkombination ist gültig. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | Ein Container für einen oder mehrere Zeiträume, die definieren, wann der Check-out erfolgen muss, damit die Preisänderung angewendet wird. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Ein Zeitraum, der angibt, wann ein Check-out erfolgen muss, damit die Preisänderung angewendet wird. Dieses Element ist nicht erforderlich, wenn Sie eine oder mehrere Preisänderungen löschen. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | Das einschließliche Startdatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss vor dem end -Datum liegen oder mit diesem übereinstimmen. Wird start nicht angegeben, ist der Zeitraum in Bezug auf das Startdatum prinzipiell unbegrenzt. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | Das einschließliche Enddatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss nach dem start -Datum liegen oder mit diesem übereinstimmen. Wird end nicht angegeben, ist der Zeitraum in Bezug auf das Enddatum nahezu unbegrenzt. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Die Wochentage, die im Zeitraum zulässig sind. Falls nicht angegeben, sind alle Tage im Zeitraum zulässig. Jedes Zeichen im String gibt einen Tag an. Beispiel: „MTWHF“ gibt an, dass Wochentage im Zeitraum zulässig sind. Folgende Zeichen sind zulässig:
Jede Zeichenkombination ist gültig. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Container zum Auflisten der Nutzergeräte, für die die Preisänderung gilt. Wenn angegeben, wird die Preisänderung nur angewendet, wenn der Nutzer mit einem der aufgeführten Geräte übereinstimmt. Wenn keine Angabe erfolgt, gilt die Preisänderung nicht nur für bestimmte Nutzer. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | Definiert einen Typ des Nutzergeräts, für den die Preisänderung gilt. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | Ein Gerätetyp. Der Wert muss desktop , tablet oder mobile sein. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | Aktionen, die auf den Preis angewendet werden, wenn alle angegebenen Bedingungen erfüllt sind. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | Ändert den Preis, indem sowohl AmountBeforeTax als auch AmountAfterTax mit dem angegebenen Multiplikator multipliziert werden. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | Sowohl AmountBeforeTax als auch AmountAfterTax werden mit diesem Wert multipliziert. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | Der Preis wird durch Anwenden der angegebenen Preisregel-ID geändert. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | Diese ID entspricht einem Preis in einer Definition in Ihrer Datei zum Festlegen der Preisregel.
Hinweis:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Überschreibt die Erstattungsfähigkeit des Tarifs mit dem angegebenen Wert.
Beachten Sie beim Festlegen der Attribute Folgendes:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (Erforderlich) Legen Sie 1 oder true fest, um anzugeben, ob für den Preis eine vollständige Erstattung möglich ist. Andernfalls geben Sie 0 oder false an. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Erforderlich, wenn available den Wert true hat) Gibt die Anzahl der Tage vor dem Check-in an, für die eine vollständige Erstattung beantragt werden kann. Der Wert für refundable_until_days muss eine Ganzzahl zwischen 0 und 330 sein. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (Empfohlen, wenn available den Wert true hat) Gibt die späteste Uhrzeit des Tages in der Ortszeit des Hotels an, bis zu der ein Antrag auf vollständige Erstattung berücksichtigt wird. Dies kann mit refundable_until_days kombiniert werden, um beispielsweise anzugeben, dass „Erstattungen bis 16:00 Uhr zwei Tage vor dem Check-in möglich sind“. Wenn refundable_until_time nicht festgelegt ist, wird Mitternacht als Standardeinstellung verwendet. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Überschreibt die Verfügbarkeit des Preises mit dem angegebenen Wert.
Wir unterstützen nur die Einstellung des Preises auf unavailable . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Bei status="unavailable" wird der Preis so behandelt, als wäre er nicht verfügbar, unabhängig davon, ob ein gültiger Preis dafür vorhanden ist. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Definiert die Mindest- und Höchstwerte der Aufenthaltsdauer, innerhalb derer diese Preisänderung angewendet werden kann. Die Preisänderung wird nicht angewendet, wenn die Aufenthaltsdauer außerhalb der Mindest- und Höchstwerte liegt. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | Die Mindestanzahl von Übernachtungen, die während des Aufenthalts erlaubt sind, damit die Preisänderung angewendet werden kann. Falls nicht angegeben, gibt es keine Mindestanzahl. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Die maximale Anzahl von Übernachtungen, die während des Aufenthalts erlaubt sind, damit die Preisänderung angewendet wird. Falls nicht angegeben, gibt es keine maximale Anzahl. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | Gibt die Mindestsumme der täglichen Zimmerpreise (mit dem größeren Wert von AmountBeforeTax oder AmountAfterTax ) an, die überschritten werden muss, damit die Preisänderung angewendet werden kann. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | Der Wert, der überschritten werden muss, damit die Preisänderung angewendet wird. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Container für eine Liste von Preisplänen, für die die Preisänderung gilt. Wenn <RatePlans> nicht angegeben ist, gilt die Preisänderung für alle Preispläne. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | Gibt einen Preisplan an. Ein Preisplan wird durch eine Kombination aus Paket, Preisen und Verfügbarkeit definiert, die in den Nachrichten „Transaktion (Unterkunftsdaten)“, „OTA_HotelRateAmountNotifRQ“ und „OTA_HotelAvailNotifRQ“ definiert und durch die PackageID identifiziert wird. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | Die eindeutige Kennung für den Preisplan. Dieser Wert ist dem PackageID-Wert in <PackageData> in einer Nachricht „Transaktion (Unterkunftsdaten)“ und im Attribut RatePlanCode in <StatusApplicationControl> in den Nachrichten <OTA_HotelRateAmountNotifRQ> sowie <OTA_HotelAvailNotifRQ> zugeordnet.
Es sind maximal 50 Zeichen zulässig. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | Container für eine Liste von Zimmertypen, für die die Preisänderung gilt.
Die Preisänderung wird auf jeden angegebenen <RoomType> angewendet. Wenn <RoomTypes> nicht angegeben ist, gilt die Preisänderung für alle Zimmer. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Gibt einen Zimmertyp an. Ein Zimmertyp wird in einem <RoomData> -Element in einer Nachricht Transaktion (Unterkunftsdaten) definiert und wird mit seinem <RoomID> -Wert referenziert. (Sein <RoomID> -Wert wird auch durch das Attribut InvTypeCode in OTA_HotelRateAmountNotifRQ-Nachrichten referenziert.) |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | Die eindeutige Kennung für das Inventar (Zimmertyp). Dieser Wert ist <RoomID> in einer Nachricht „Transaktion (Unterkunftsdaten)“ zugeordnet.
Es sind maximal 50 Zeichen zulässig. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | Ein Container für einen oder mehrere Zeiträume, die bestimmen, wie die Preisänderung angewendet wird, z. B. für saisonale Preise. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Beschreibt, wie die Preisänderung angewendet werden soll. Gültige Werte sind:
Dieses Attribut muss immer angegeben werden. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Ein Zeitraum, der angibt, wann die Preisänderung angewendet werden soll. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | Das einschließliche Startdatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss vor dem end -Datum liegen oder mit diesem übereinstimmen. Wird start nicht angegeben, ist der Zeitraum in Bezug auf das Startdatum prinzipiell unbegrenzt. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | Das einschließliche Enddatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss nach dem start -Datum liegen oder mit diesem übereinstimmen. Wird end nicht angegeben, ist der Zeitraum in Bezug auf das Enddatum nahezu unbegrenzt. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | Die Wochentage, die im Zeitraum zulässig sind. Falls nicht angegeben, sind alle Tage im Zeitraum zulässig. Jedes Zeichen im String gibt einen Tag an. Beispiel: „MTWHF“ gibt an, dass Wochentage im Zeitraum zulässig sind. Folgende Zeichen sind zulässig:
Jede Zeichenkombination ist gültig. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | Wenn angegeben, wird die Preisänderung nur angewendet, wenn sich der Nutzer in einem der angegebenen Länder befindet. Wenn nicht angegeben, wird die Preisänderung unabhängig vom Standort des Nutzers angewendet. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | Der Typ der UserCountries-Spezifikation.
Gültige Werte sind Wenn „UserCountries“ Wenn „UserCountries“ Wenn „UserCountries“ |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Gibt ein zulässiges Nutzerland für die Preisänderung an. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | Ein CLDR-Ländercode, z. B. DE oder FR . Bei einigen Ländern ist der CLDR-Ländercode nicht identisch mit dem aus zwei Buchstaben bestehenden ISO-Ländercode. Regionale CLDR-Codes werden nicht unterstützt. |
Beispiele
Einfache Nachricht
Das folgende Beispiel zeigt eine einfache RateModifications
-Nachricht:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id>="<Property_1&q>uot;
I<tineraryRateModification id="1"
BookingDates
> DateRan<ge start="2023-07-01" end="2023>-07-31&<quot; days_of>_week=&<quot;MTWHF"/
DateR>ange st<art="20>23-09-01&q<uot; end="2023-09-30"/
/BookingDates
Bookin>gWindow< min="7&>quot; m<ax="330&>quot;/
< CheckinDates
DateRange start="2023-10-01" e>nd=&quo<t;2023-10-31&q>uot; da<ys_of_w>eek="<;FSU"/
/Ch>eckinDate<s
CheckoutDates>
< DateRange st<art="2023-10-08" end>="<2023-11-0>7" da<ys_of_week="F>SU"/
< /CheckoutDat>es
< D>evices
< Device t>ype="<mobile"/
> Device< type="tablet>"/<
/De>vices
< L>engthOfStay min=<"2" max=>"14&<quot;/
RateP>lans
< >RatePlan id=&q<uot;234"/
> Rate<Plan id="567"/
/R>atePlan<s
RoomTypes
> < RoomType id="123&qu>ot;</
RoomType id=>&<quot;456"/
>
/RoomTypes
UserCountries
Country code="US"/
Country code="GB"/
/UserCountries
ModificationActions
PriceAdjustment multiplier="1.2"/
/ModificationActions
/ItineraryRateModification
/HotelRateModifications
/RateModifications
Preisänderung löschen
Im folgenden Beispiel wird gezeigt, wie eine Preisänderung für eine Unterkunft gelöscht wird:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id="Property_1>&qu<ot;
ItineraryRateMo>d<ification id=">;1
" action="delete"/
/HotelRateModifications
/RateModifications
Alle Preisänderungen löschen
Im folgenden Beispiel wird gezeigt, wie alle Preisänderungen für eine Unterkunft gelöscht werden:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00"
HotelRateMod>i<fications hotel_id>=&q
uot;Property_1" action="overlay"/
/RateModifications
Alle Preisänderungen überlagern
Im folgenden Beispiel wird gezeigt, wie <HotelRateModifications>
für eine Unterkunft mit einer oder mehreren neuen Preisänderungen überlagert wird. Bei action="overlay"
werden alle gespeicherten Preisänderungen gelöscht, bevor die in der aktuellen Nachricht angegebenen Preisänderungen gespeichert werden:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00"
HotelRateMod>ifica<tions hotel_id="Property_1&>quot; a<ction=">overlay&qu<ot;/
ItineraryRateModification id="1&>quot;
< B>ookingDates
< DateRange st>art="<;2023-09-01" end="2023->09-30&q<uot;/
/Booking>Dates
< ModificationAc<tions
Pric>eAdjustmen<t multiplier=">;1.2&qu<ot;/
> /Modif<icationAc>tions
< RoomTypes
> RoomTyp<e id="123&quo>t;/
< RoomType <id="456"/
>/Ro<omTypes
RatePlans>
< RatePlan >id
="234"/
RatePlan id="567"/
/RatePlans
/ItineraryRateModification
/HotelRateModifications
/RateModifications
Mehrere Änderungsaktionen
Das folgende Beispiel zeigt, wie Sie mehrere Änderungsaktionen gleichzeitig ausführen:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id>="<Property_1&q>uot;
I<tineraryRateModification id="1"
> Booki<ngDates
> Dat<eRange start=">2023-01-0<1" end="2023-02-28">;/
</BookingDates
ModificationActions
PriceAdjustment multiplier=".95"/
Refundable available=">true&qu<ot;
> r<efundable_until_days=">;1&<quot;
> < refundabl>e_until_ti
me="12:00:00"/
/ModificationActions
/ItineraryRateModification
/HotelRateModifications
/RateModifications
Preisplan für Nutzerländer deaktivieren
Im folgenden Beispiel wird gezeigt, wie ein Preisplan nur auf Nutzer in Japan (JP
) beschränkt wird:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id>="<Property_>1"
< ItineraryRate>Modification i<d="1&>quot;
< RatePlans
Rate>Plan id=&<quot;jp_only">/
< /RatePlans
> Use<rCountries type=&qu>ot;exclud<e"
Country code=">;JP&quo<t;/
/UserCount>ries
< ModificationActions
> < Availability statu>s<="unavailable>&qu
ot;/
/ModificationActions
/ItineraryRateModification
/HotelRateModifications
/RateModifications
Antworten
Syntax
Die Nachricht RateModificationsResponse
verwendet die folgende Syntax:
<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="timestamp"
id="message_ID"
> < partner="partner_key"
>!--< Either >Suc<cess o>r Iss<ues will be populated. --
Success/
Issu><es
> Issue code=&q<uot;><issue_>cod<e"> <status="issue_type&qu>o
t;varissue_description/var/Issue
/Issues
/RateModificationsResponse
Elemente und Attribute
Die Nachricht RateModificationsResponse
enthält folgende Elemente und Attribute:
Element / @Attribut | Häufigkeit | Typ | Beschreibung |
---|---|---|---|
RateModifications | 1 | Complex element | Das Stammelement, das den Erfolg oder Probleme für eine empfangene Anfragenachricht vom Typ „RateModifications“ angibt. |
RateModificationsResponse / @timestamp | 1 | DateTime | Erstellungsdatum und -uhrzeit der Nachricht. |
RateModificationsResponse / @id | 1 | string | Die eindeutige Kennung der zugehörigen RateModifications-Nachricht. |
RateModificationsResponse / @partner | 1 | string | Das Partnerkonto für diese Nachricht. |
RateModificationsResponse / Success | 0..1 | Success | Gibt an, dass die RateModifications-Nachricht ohne Warnungen oder Fehler erfolgreich verarbeitet wurde.
Entweder |
RateModificationsResponse / Issues | 0..1 | Issues | Ein Container für ein oder mehrere Probleme, die bei der Verarbeitung der Nachricht „Preisänderungen“ aufgetreten sind.
Entweder |
RateModificationsResponse / Issues / Issue | 1..n | Issue | Die Beschreibung einer Warnung oder eines Fehlers, die bzw. der bei der Verarbeitung der Nachricht „RateModifications“ aufgetreten ist. Weitere Informationen zu diesen Problemen finden Sie unter Fehlercodes für den Feedstatus. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | Die Kennung des Problems. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | Die Art des Problems, das aufgetreten ist. Gültige Werte sind |
Beispiele
Erfolg
Die folgende Antwort ist eine Antwort auf eine erfolgreich verarbeitete Nachricht vom Typ „RateModifications“.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
> < > < partner=&quo>t;partner
_key"
Success/
/RateModificationsResponse
Probleme
Im Folgenden finden Sie eine Antwort auf eine RateModifications-Nachricht, die aufgrund von Fehlern nicht verarbeitet wurde.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
> < > < partner="partne>r_key"
<Issues>
< Issue <code="1001" stat>us
="error"Example/Issue
/Issues
/RateModificationsResponse