Panoramica
Questa API ti consente di definire modi per applicare dinamicamente azioni a una tariffa ogni volta che vengono soddisfatte determinate condizioni, ad esempio modificare il prezzo o attivare la rimborsabilità. A differenza dell'API Promotions, che può applicare solo le promozioni idonee con gli sconti più elevati, questa API applica qualsiasi azione quando vengono soddisfatte determinate condizioni, inclusi gli aggiustamenti dei prezzi che potrebbero alla fine aumentare il prezzo finale.
Richieste
Sintassi
La sintassi del messaggio RateModifications è la seguente:
<?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>Countries
      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
Elementi e attributi
Il messaggio RateModifications contiene i seguenti elementi e
attributi:
| Elemento / @attributo | Occorrenze | Tipo | Descrizione | 
|---|---|---|---|
| RateModifications | 1 | Complex element | L'elemento principale di un messaggio di modifica delle tariffe. | 
| RateModifications / @partner | 1 | string | L'account partner di questo messaggio. Il valore della stringa è
        il valore "Chiave del partner" presente
        nella 
        pagina Impostazioni account in Hotel Center. Nota: se hai un backend che fornisce feed per
        più account, questo valore deve corrispondere al valore dell'attributo  | 
| RateModifications / @id | 1 | string | Un identificatore univoco per questo messaggio di richiesta. Questo valore viene restituito nel messaggio di risposta. I caratteri consentiti sono a-z, A-Z, 0-9, _ (trattino basso) e - (trattino). | 
| RateModifications / @timestamp | 1 | DateTime | La data e l'ora di creazione di questo messaggio. | 
| RateModifications / HotelRateModifications | 0..n | HotelRateModifications | Modifiche tariffarie per una proprietà. Ogni modifica tariffaria si applica a una singola proprietà. Nota: se è possibile applicare più modifiche alla stessa tariffa, vengono applicate tutte le modifiche. Non viene garantito un ordine specifico. | 
| RateModifications / HotelRateModifications / @hotel_id | 1 | string | L'identificatore univoco della struttura. Questo valore deve corrispondere
        all'ID hotel specificato utilizzando <id>nell'elemento<listing>nel feed elenco hotel. L'ID hotel è indicato anche in Hotel Center. | 
| RateModifications / HotelRateModifications / @action | 0..1 | enum | Se  | 
| RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | Una singola modifica tariffaria per una proprietà. Nota:le modifiche alle tariffe sono difficili da eseguire il debug e consigliamo di utilizzarle con parsimonia. Contatta il tuo Technical Account Manager (TAM) per i casi d'uso che richiedono più di 200 modifiche alle tariffe. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Un identificatore univoco per la modifica della tariffa. Il numero massimo di caratteri consentiti è 40. I caratteri consentiti sono a-z, A-Z, 0-9, _ (trattino basso), - (trattino) e . (periodo). | 
| RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | Se non è specificato e se non viene archiviata una modifica tariffaria con lo stesso
         Se specificato, il valore deve essere  | 
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Un contenitore di uno o più intervalli di date che definiscono il periodo in cui deve essere effettuata la prenotazione affinché venga applicata la modifica della tariffa. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Un intervallo di date che specifica il periodo in cui deve essere effettuata la prenotazione affinché venga applicata la modifica tariffaria. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | La data di inizio (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere precedente o uguale alla end. Sestartnon è specificato, l'intervallo di
        date risulta a tutti gli effetti illimitato in termini di data di inizio. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | La data di fine (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere uguale o successiva alla start. Seendnon è specificato, l'intervallo di
        date risulta a tutti gli effetti illimitato in termini di data di fine. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | I giorni della settimana consentiti nell'intervallo di date. Se il valore non viene specificato, saranno consentiti tutti i giorni nell'intervallo di date. Ogni carattere nella stringa specifica un giorno. Ad esempio, "MTWHF" specifica che nell'intervallo di date sono consentiti i giorni feriali. I caratteri validi sono: 
 Sono valide tutte le combinazioni di caratteri. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | Specifica il periodo di tempo in cui deve essere effettuata la prenotazione rispetto alla data di check-in (in base al fuso orario della proprietà). Ad esempio, è possibile impostare una finestra di prenotazione di almeno 7 giorni, ma non oltre 180 giorni, prima del check-in. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | Il numero minimo di giorni prima del check-in in cui deve essere effettuata la prenotazione affinché venga applicata la modifica della tariffa. Se non specificato, non è previsto un limite minimo. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | Il numero massimo di giorni prima del check-in in cui deve essere effettuata la prenotazione affinché venga applicata la modifica della tariffa. Se non specificato, non è previsto un limite massimo. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Un contenitore di uno o più intervalli di date che definiscono il periodo in cui deve essere effettuato il check-in affinché venga applicata la modifica della tariffa. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Un intervallo di date che specifica il periodo in cui deve essere effettuato il check-in affinché la modifica della tariffa possa essere applicata. Questo elemento non è richiesto se stai eliminando una o più modifiche alle tariffe. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | La data di inizio (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere precedente o uguale alla end. Sestartnon è specificato, l'intervallo di
        date risulta a tutti gli effetti illimitato in termini di data di inizio. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | La data di fine (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere uguale o successiva alla start. Seendnon è specificato, l'intervallo di
        date risulta a tutti gli effetti illimitato in termini di data di fine. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | I giorni della settimana consentiti nell'intervallo di date. Se il valore non viene specificato, saranno consentiti tutti i giorni nell'intervallo di date. Ogni carattere nella stringa specifica un giorno. Ad esempio, "MTWHF" specifica che nell'intervallo di date sono consentiti i giorni feriali. I caratteri validi sono: 
 Sono valide tutte le combinazioni di caratteri. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | Un contenitore di uno o più intervalli di date che definiscono il periodo in cui deve essere effettuato il check-out affinché venga applicata la modifica della tariffa. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Un intervallo di date che specifica il periodo in cui deve essere effettuato il check-out affinché la modifica della tariffa possa essere applicata. Questo elemento non è richiesto se stai eliminando una o più modifiche alle tariffe. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | La data di inizio (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere precedente o uguale alla end. Sestartnon è specificato, l'intervallo di
        date risulta a tutti gli effetti illimitato in termini di data di inizio. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | La data di fine (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere uguale o successiva alla start. Seendnon è specificato, l'intervallo di
        date risulta a tutti gli effetti illimitato in termini di data di fine. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | I giorni della settimana consentiti nell'intervallo di date. Se il valore non viene specificato, saranno consentiti tutti i giorni nell'intervallo di date. Ogni carattere nella stringa specifica un giorno. Ad esempio, "MTWHF" specifica che nell'intervallo di date sono consentiti i giorni feriali. I caratteri validi sono: 
 Sono valide tutte le combinazioni di caratteri. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Contenitore dell'elenco di dispositivi utente idonei alla modifica delle tariffe. Se specificato, la modifica della tariffa viene applicata solo se l'utente corrisponde a uno dei dispositivi elencati. Se non è specificato, l'applicazione della modifica della tariffa non è limitata. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | Definisce un tipo di dispositivo utente idoneo alla modifica delle tariffe. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | Un tipo di dispositivo. Il valore deve essere desktop,tabletomobile. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | Azioni che vengono applicate alla tariffa se sono soddisfatte tutte le condizioni specificate. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | Modifica la tariffa moltiplicando sia AmountBeforeTaxcheAmountAfterTaxper il moltiplicatore specificato | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | Sia AmountBeforeTaxcheAmountAfterTaxvengono
        moltiplicati per questo valore. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | Modifica la tariffa applicando l'ID regola tariffaria specificato. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | Questo ID associa una tariffa a una definizione nel
        file di definizione delle regole tariffarie.
        Nota: 
 | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Sovrascrive la rimborsabilità della tariffa con il valore specificato. Quando imposti gli attributi, tieni presente quanto segue: 
 | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (Obbligatorio) Deve essere impostato su 1otrueper indicare che la tariffa prevede il rimborso totale;
          in caso contrario, deve essere impostato su0ofalse. | 
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Obbligatorio se availableètrue) Specifica
          il numero di giorni prima del check-in in cui è possibile richiedere un
          rimborso totale. Il valore direfundable_until_daysdeve essere un numero intero compreso tra 0 e 330 inclusi. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (Consigliato se availableètrue) Specifica
          l'ora precisa del giorno, in base al fuso orario dell'hotel, entro cui la
          richiesta di rimborso totale viene accettata. Puoi associare questo valore arefundable_until_daysper specificare, ad
          esempio, che "i rimborsi sono disponibili fino a due giorni prima del
          check-in entro le ore 16:00". Serefundable_until_timenon è impostato, il valore predefinito è mezzanotte. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Sovrascrive la disponibilità della tariffa con il valore specificato.
        Supportiamo solo l'impostazione della tariffa su unavailable. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Se status="unavailable", la tariffa viene considerata
        non disponibile, indipendentemente dal fatto che esista un prezzo valido per essa. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Definisce i limiti di durata del soggiorno entro i quali è applicabile questa modifica della tariffa. La modifica tariffaria non viene applicata quando la durata del soggiorno non è compresa tra il limite minimo e massimo. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | Il numero minimo di notti consentito per il soggiorno affinché venga applicata la modifica della tariffa. Se non specificato, non è previsto un limite minimo. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Il numero massimo di notti consentito per il soggiorno affinché venga applicata la modifica tariffaria. Se non specificato, non è previsto un limite massimo. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | Specifica la somma minima delle tariffe giornaliere della camera (utilizzando il valore più grande tra AmountBeforeTaxeAmountAfterTax) che deve
        essere superata affinché la modifica della tariffa venga applicata. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | Il valore che deve essere superato affinché la modifica della tariffa venga applicata. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Contenitore di un elenco dei piani tariffari a cui si applica la modifica della tariffa. Se <RatePlans>non è specificato, la modifica della tariffa
        si applica a tutti i piani tariffari. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | Specifica un piano tariffario. Il piano tariffario viene definito da una combinazione di pacchetti, tariffe e disponibilità, come definito nei messaggi Transaction (Property Data), OTA_HotelRateAmountNotifRQ e OTA_HotelAvailNotifRQ e come identificato da PackageID. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | L'identificatore univoco del piano tariffario. Questo valore è mappato al valore PackageID in <PackageData>all'interno di un messaggio Transaction (Property Data) e nell'attributoRatePlanCodein<StatusApplicationControl>nei messaggi<OTA_HotelRateAmountNotifRQ>e<OTA_HotelAvailNotifRQ>.
        Il numero massimo di caratteri consentiti è 50. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | Contenitore di un elenco dei tipi di camera a cui si applica la modifica della tariffa.
        La modifica della tariffa viene applicata a ogni <RoomType>specificato. Se<RoomTypes>non è specificato, la
        modifica tariffaria si applica a tutte le camere. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Specifica un tipo di camera. Il tipo di camera viene definito in un
        elemento <RoomData>all'interno di un
        messaggio Transaction (Property Data) e vi viene fatto
        riferimento tramite il relativo valore<RoomID>(al
        valore<RoomID>viene fatto riferimento anche
        tramite l'attributoInvTypeCodenei messaggi OTA_HotelRateAmountNotifRQ). | 
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | L'identificatore univoco dell'inventario (tipo di camera). Questo valore è mappato
        a <RoomID>in un messaggio Transaction (Property Data).
        Il numero massimo di caratteri consentiti è 50. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | Un contenitore per uno o più intervalli di date che determinano come viene applicata la modifica delle tariffe, ad esempio per adattarsi ai prezzi stagionali. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Descrive in che modo deve essere applicata la modifica della tariffa. I valori validi sono: 
 Questo attributo deve essere sempre specificato. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Un intervallo di date che specifica le date in cui deve essere applicata la modifica tariffaria. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | La data di inizio (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere precedente o uguale alla end. Sestartnon è specificato, l'intervallo di
        date risulta a tutti gli effetti illimitato in termini di data di inizio. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | La data di fine (inclusa) dell'intervallo di date (in base al fuso orario della proprietà). Questa data deve essere uguale o successiva alla
        data di start. Seendnon è specificato, l'intervallo di
        date risulta a tutti gli effetti illimitato in termini di data di fine. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | I giorni della settimana consentiti nell'intervallo di date. Se il valore non viene specificato, saranno consentiti tutti i giorni nell'intervallo di date. Ogni carattere nella stringa specifica un giorno. Ad esempio, "MTWHF" specifica che nell'intervallo di date sono consentiti i giorni feriali. I caratteri validi sono: 
 Sono valide tutte le combinazioni di caratteri. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | Se specificato, la modifica della tariffa viene applicata solo se l'utente si trova in uno dei paesi specificati. Se non specificato, la modifica della tariffa viene applicata indipendentemente dalla località dell'utente. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | Il tipo di specifica UserCountries. I valori validi sono  Se  Se  Se  | 
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Specifica un paese dell'utente consentito per la modifica della tariffa. | 
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | Un codice paese CLDR,
        ad esempio DEoFR. Tieni presente che per alcuni
        paesi il codice paese CLDR non corrisponde a quello ISO di due lettere. Inoltre, non sono supportati i codici regione CLDR. | 
Esempi
Messaggio di base
L'esempio seguente mostra un messaggio RateModifications di base:
<?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
Eliminare una modifica delle tariffe
L'esempio seguente mostra come eliminare una modifica della tariffa per una proprietà:
<?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
Eliminare tutte le modifiche alle tariffe
L'esempio seguente mostra come eliminare tutte le modifiche alle tariffe per una proprietà:
<?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>="Property_1" action="overlay"/
/RateModifications
Sostituire tutte le modifiche alle tariffe
L'esempio seguente mostra come sovrapporre <HotelRateModifications> per la proprietà con una o più nuove modifiche delle tariffe. Quando
action="overlay", tutte le modifiche alle tariffe archiviate vengono eliminate prima dell'archiviazione delle modifiche alle tariffe specificate nel messaggio corrente:
<?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
Più azioni di modifica
L'esempio seguente mostra come eseguire più azioni di modifica contemporaneamente:
<?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_time="12:00:00"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications
Disattivare un piano tariffario per i paesi degli utenti
Il seguente esempio mostra come limitare un piano tariffario solo agli utenti in Giappone (JP):
<?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>"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications
Risposte
Sintassi
La sintassi del messaggio RateModificationsResponse è la seguente:
<?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>ot;varissue_description/var/Issue
  /Issues
/RateModificationsResponse
Elementi e attributi
Il messaggio RateModificationsResponse contiene i seguenti elementi e attributi:
| Elemento / @attributo | Occorrenze | Tipo | Descrizione | 
|---|---|---|---|
| RateModifications | 1 | Complex element | L'elemento principale che indica se l'esito è positivo o negativo per un messaggio RateModifications di richiesta ricevuto. | 
| RateModificationsResponse / @timestamp | 1 | DateTime | La data e l'ora di creazione di questo messaggio. | 
| RateModificationsResponse / @id | 1 | string | L'identificatore univoco del messaggio RateModifications associato. | 
| RateModificationsResponse / @partner | 1 | string | L'account partner di questo messaggio. | 
| RateModificationsResponse / Success | 0..1 | Success | Indica che il messaggio RateModifications è stato elaborato correttamente
        senza avvisi, errori o problemi. In ogni messaggio è
          presente  | 
| RateModificationsResponse / Issues | 0..1 | Issues | Un contenitore per uno o più problemi riscontrati durante l'elaborazione del messaggio
        RateModifications. In ogni messaggio è
          presente  | 
| RateModificationsResponse / Issues / Issue | 1..n | Issue | La descrizione di un avviso, un errore o un problema riscontrato durante l'elaborazione del messaggio RateModifications. Per informazioni dettagliate su questi problemi, consulta la sezione Messaggi di errore relativi allo stato dei feed. | 
| RateModificationsResponse / Issues / Issue / @code | 1 | integer | L'identificatore del problema. | 
| RateModificationsResponse / Issues / Issue / @status | 1 | enum | Il tipo di problema riscontrato. I valori validi sono  | 
Esempi
Operazione riuscita
Di seguito è riportata una risposta a un messaggio RateModifications elaborato correttamente.
<?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
Problemi
Di seguito è riportata una risposta a un messaggio RateModifications non elaborato a causa di errori.
<?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