Esempio di Rate con Type = "25" (prezzo per camera)

54 views
Skip to first unread message

fabio.aiut...@gmail.com

unread,
Feb 14, 2019, 6:53:47 AM2/14/19
to AlpineBits
Buongiorno a tutti,

in riferimento al manuale 2018-10 AlpineBits, l'esempio relativo all'invio dei prezzi nella funzione OTA_HotelRatePlanNotifRQ riporta un esempio di retta calcolata per persona ed è il seguente:

<Rate RateTimeUnit="Day" UnitMultiplier="1">  
<BaseByGuestAmts>  
<BaseByGuestAmt Type="7"/>  
</BaseByGuestAmts>  
<MealsIncluded MealPlanIndicator="true" MealPlanCodes="12"/>
</Rate>
<Rate InvTypeCode="double" Start="2014-03-03" End="2014-03-08">
<BaseByGuestAmts>  
<BaseByGuestAmt NumberOfGuests="1" AgeQualifyingCode="10" AmountAfterTax="106"/>  
<BaseByGuestAmt NumberOfGuests="2" AgeQualifyingCode="10" AmountAfterTax="96"/>
</BaseByGuestAmts>
...
</Rate>

avendo impostato nella retta statica <BaseByGuestAmt Type="7"/> .

Ci servirebbe un esempio con retta per camera (Type = "25") e vedere come gestire il BaseByGuestAmts, relativamente al NumberOfGuests.

Stephan P.

unread,
Feb 18, 2019, 1:27:36 PM2/18/19
to AlpineBits
Ecco qui lo stesso esempio con prezzi per camera:

<Rate RateTimeUnit="Day" UnitMultiplier="1">
    <BaseByGuestAmts>
        <BaseByGuestAmt Type="25"/>

    </BaseByGuestAmts>
    <MealsIncluded MealPlanIndicator="true" MealPlanCodes="12"/>
</Rate>
<Rate InvTypeCode="double" Start="2014-03-03" End="2014-03-08">
    <BaseByGuestAmts>
        <BaseByGuestAmt NumberOfGuests="1" AgeQualifyingCode="10" AmountAfterTax="106"/>
        <BaseByGuestAmt NumberOfGuests="2" AgeQualifyingCode="10" AmountAfterTax="192"/>
    </BaseByGuestAmts>
    ...
</Rate>

Stephan
Message has been deleted

fabio.aiut...@gmail.com

unread,
Feb 19, 2019, 5:48:00 AM2/19/19
to AlpineBits
Grazie del feedback. Il nostro dubbio è il seguente.
Abbiamo creato una stanza quadrupla inviando al server la richiesta

<OTA_HotelDescriptiveContentNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.opentravel.org/OTA/2003/05"
xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelDescriptiveContentNotifRQ.xsd"
Version="8.000">
<HotelDescriptiveContents>
<HotelDescriptiveContent HotelCode="3355" HotelName="Frangart Inn">
<FacilityInfo>
<GuestRooms>
<GuestRoom Code="Quad" MaxOccupancy="4" MinOccupancy="1">
<TypeRoom StandardOccupancy="4" RoomClassificationCode="42"/>
<!-- ....... tutto il resto... -->
</GuestRoom>
</GuestRooms>
</FacilityInfo>
</HotelDescriptiveContent>
</HotelDescriptiveContents>
</OTA_HotelDescriptiveContentNotifRQ>

La nostra necessità è quella di poter creare una retta per ogni occupancy in quanto i nostri clienti di norma vogliono specificare diverse restrizioni in
base all'occupazione.

Di conseguenza abbiamo creato due nuove rette (Rate Plan) con le rispettive chiamate
una per poter configurare il prezzo e restrizioni per una quadrupla occupata da una sola persona e una per configurare il prezzo e restrizioni per
una quadrupla per quattro persone:

Prima retta (CON ATTRIBUTE NumberOfGuests = 1):

<OTA_HotelRatePlanNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.opentravel.org/OTA/2003/05"
xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRatePlanNotifRQ.xsd"
Version="1.000">
<RatePlans HotelCode="3355" HotelName="Frangart Inn">
<RatePlan RatePlanNotifType="New" CurrencyCode="EUR" RatePlanCode="Rate-1-quad">
<Rates>
<Rate RateTimeUnit="Day" UnitMultiplier="1">
<BaseByGuestAmts>
<BaseByGuestAmt Type="25"/>
</BaseByGuestAmts>
<MealsIncluded MealPlanIndicator="true" MealPlanCodes="12"/>
</Rate>
<Rate InvTypeCode="Quad" Start="2019-03-03" End="2019-03-08">
<BaseByGuestAmts>
<BaseByGuestAmt NumberOfGuests="1" AgeQualifyingCode="10" AmountAfterTax="106"/>
</BaseByGuestAmts>
</Rate>
</Rates>
<Offers>
<!-- ... -->
</Offers>
</RatePlan>
</RatePlans>
</OTA_HotelRatePlanNotifRQ>

Seconda retta (CON ATTRIBUTE NumberOfGuests = 4, la standard occupancy):

<OTA_HotelRatePlanNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.opentravel.org/OTA/2003/05"
xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRatePlanNotifRQ.xsd"
Version="1.000">
<RatePlans HotelCode="3355" HotelName="Frangart Inn">
<RatePlan RatePlanNotifType="New" CurrencyCode="EUR" RatePlanCode="Rate-4-quad">
<Rates>
<Rate RateTimeUnit="Day" UnitMultiplier="1">
<BaseByGuestAmts>
<BaseByGuestAmt Type="25"/>
</BaseByGuestAmts>
<MealsIncluded MealPlanIndicator="true" MealPlanCodes="12"/>
</Rate>
<Rate InvTypeCode="Quad" Start="2019-03-03" End="2019-03-08">
<BaseByGuestAmts>
<BaseByGuestAmt NumberOfGuests="4" AgeQualifyingCode="10" AmountAfterTax="106"/>
</BaseByGuestAmts>
</Rate>
</Rates>
<Offers>
<!-- ... -->
</Offers>
</RatePlan>
</RatePlans>
</OTA_HotelRatePlanNotifRQ>

Il manuale 2018-10 riporta che l'elemento BaseByGuestAmt avente come attributo NumberOfGuests = OccupancyStandard è OBBLIGATORIO. Di conseguenza
alla prima richiesta ci aspettavamo un errore o un warning. Invece abbiamo ottenuto <Success/> in entrambe le chiamate.
C'è qualcosa che ci sfugge? Non siamo in grado di sapere se la prima chiamata rende effettivamente vendibile una quadrupla per una persona.
Abbiamo modo di verificarlo?
Ringraziamo in anticipo.

Luca Rainone

unread,
Feb 19, 2019, 7:46:45 AM2/19/19
to AlpineBits

Il manuale 2018-10 riporta che l'elemento BaseByGuestAmt avente come attributo NumberOfGuests = OccupancyStandard è OBBLIGATORIO. Di conseguenza
alla prima richiesta ci aspettavamo un errore o un warning. Invece abbiamo ottenuto <Success/> in entrambe le chiamate.
C'è qualcosa che ci sfugge? Non siamo in grado di sapere se la prima chiamata rende effettivamente vendibile una quadrupla per una persona.
Abbiamo modo di verificarlo?
Ringraziamo in anticipo.


Ciao,

Se un campo non è fornito come da specifiche, il comportamento di chi riceve l'XML può variare a seconda 
delle diverse implementazioni, perché di fatto si opera fuori standard.

Non c'è obbligo da parte di chi riceve, salvo dove richiesto esplicitamente, di prevedere tutte le possibili combinazioni 
errate di un XML formalmente valido secondo schemi OTA e schemi ufficiali AlpineBits (i files .xsd e .rng forniti nel
pacchetto), anche se sarebbe ovviamente auspicabile in fase di test & debug con terze parti.

Se un client è consapevole di essere fuori standard, pur riuscendo a passare le validazioni di base,
può quindi aspettarsi comportamenti differenti dai diversi server e soprattutto non può essere certo che tali 
comportamenti rimarranno invariati.

Luca


Reply all
Reply to author
Forward
0 new messages