Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Request

Code Block
languagexml
linenumberstrue
<?xml version="1.0" encoding="utf-8"?>
<OTA_HotelResRQ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" EchoToken="ECHOTOKEN" TimeStamp="2015-09-08T13:11:31.2567097+00:00" Target="Test" Version="1.0" TransactionIdentifier="TRANSACTIONIDENTIFIER" PrimaryLangID="en" AltLangID="en" ResStatus="Book" xmlns="http://www.opentravel.org/OTA/2003/05">
  <POS>
    <Source>
      <RequestorID ID="YOURUSERNAME" MessagePassword="YOURPASSWORD" Type="13"/>
    </Source>
  </POS>
  <HotelReservations>
    <HotelReservation>
      <POS>
		<Sources>
        	<BookingChannel Type="5">
          	<CompanyName>YOURCOMPANYNAME</CompanyName>
      	  </BookingChannel>
		</Sources>
      </POS>
      <RoomStays>
        <RoomStay>
        ...
          <RoomRates>
            <RoomRate>
<!---------------------------------------------------->
              <ServiceRPHs>
				<ServiceRPH RPH="1" />
			  </ServiceRPHs>
<!---------------------------------------------------->
            </RoomRate>
          </RoomRates>
        ...
        </RoomStay>
      </RoomStays>
<!---------------------------------------------------->
	  <Services>
		 <Service Inclusive="1|0" ServicePricingType="Per night|Per person|Per person per night|Per stay|Per use" ServiceRPH="1" ID="00L55df0d5f711a6"  Type="10">
			  <Price NumberOfUnits="2" EffectiveDate="2015-09-10" ExpireDate="2015-09-10">
			    <Base AmountAfterTax="3.00" CurrencyCode="CHF" />
		  		<Total AmountAfterTax="6.00" CurrencyCode="CHF" />
		      </Price>
			  <Price NumberOfUnits="1" EffectiveDate="2015-09-11" ExpireDate="2015-09-11">
			    <Base AmountAfterTax="3.00" CurrencyCode="CHF" />
				<Total AmountAfterTax="3.00" CurrencyCode="CHF" />
			  </Price>
			</Service>
		</Services>
<!---------------------------------------------------->
    </HotelReservation>
  </HotelReservations>






Details

NodeAttributeDescriptionValue typeAlways presentRepetitive

...

 

 

 

 

 






ServiceRPHs

 
A container for the unique references to the services for the room stay.A collection of unsigned integers that reference the RPH (Reference Place holder) attribute in the Service object. The ServiceRPH attribute in the Service object is an indexing attribute that identifies the services attached to a specific guest or to the reservation. 
nono

ServiceRPH

 


This is a reference placeholder used as an index for a service to be associated with this stay 
yesyes

 

RPH

Provides a unique reference to the service.NonNegativeInteger  

...

     






Service 


A Service object represents a non-room product provided to guests. Service products may have associated inventory and charges.A ServiceType class. 


yes

no

 

Inclusive

Whether the price for this service is included in the room rate. Values: False (or No), and True (or Yes).Boolean   


ServicePricingType

An enumerated type that defines how a service is priced. Refer to Service pricing type (ServicePricingType)ServicePricingType   


ServiceRPH

A unique ID for a service that may be referenced elsewhere in the schema.NonNegativeInteger  


 

ID

A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.StringLength1to32  


 TypeA reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT).OTA_CodeType  

Price

 
The selling price of this Service. 
yesno

 

NumberOfUnits

Number of units reservedNonNegativeInteger   


EffectiveDate

Indicates the starting date.Date  


 

ExpireDate

Indicates the ending date.Date  

Base

 


The base amount charged for the accommodation or service per unit of time (ex: Nightly, Weekly, etc). If TaxInclusive is set to True, then taxes are included in the base amount. Note that any additional charges should itemized in the other elements.The total amount charged for the service including additional amounts and fees. 
yesno 

AmountAfterTax

The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax).Money  


 

CurrencyCode

An ISO 4217 (3) alpha character code that specifies a monetary unit.CurrencyCode_TypeCurrency Code Type (CurrencyCode_Type)  


Response

The service response format is a combination of HotelAvailRS and HotelResRQ, containing the service details and the request datas

Code Block
languagexml
titleResponse
linenumberstrue
...
<Services>
  <Service Inclusive="1|0" ReservationStatusType="Reserved" ServicePricingType="Per night|Per person|Per person per night|Per stay|Per use" ServiceRPH="1" ID="00L55df0d5f711a6">
    <Price NumberOfUnits="2" EffectiveDate="2015-09-10" ExpireDate="2015-09-10">
      <Base AmountAfterTax="3.00" CurrencyCode="CHF" />
      <Total AmountAfterTax="6.00" CurrencyCode="CHF" />
    </Price>
    <ServiceDetails>
      <ServiceDescription Name="SERVICENAME">
        <Text>SERVICEDESCRIPTION</Text>
        <Image>IMAGEURL1</Image>
        <Image>IMAGEURL2</Image>
      </ServiceDescription>
    </ServiceDetails>
  </Service>
</Services>
...

In additionnal, the attribute ReservationStatusType is added

 
NodeAttributeDescriptionValue typeAlways presentRepetitive

ReservationStatusType

An enumerated type that defines the status of the reservation for this service. Statuses that exist in a property management system (PMS). Refer to PMS Reservation Status Type (PMS_ResStatusType)PMS_ResStatusType  


Use cases

We consider a stay of 2 guests in 1 room from 2015-09-10 to 2015-09-14.

Please pay attention to the fact that you need to put a price node for every desired day for Per night and Per person per night pricing type, as returned by OTA_HotelAvailRS.

Use case #1: breakfast included (MP)

The breakfast is included in room price, thus it comes at no additional cost. In this case the guest takes 2 breakfasts on 2015-09-11, 1 breakfast on 2015-09-12 and no breakfast on 2015-09-13 and 2015-09-14.

Code Block
languagexml
linenumberstrue
<Service Inclusive="1" ReservationStatusType="Reserved" ServicePricingType="Per person per night" ServiceRPH="1" ID="00L55df0d5f711a6" Type="10">
  <Price NumberOfUnits="2" EffectiveDate="2015-09-11" ExpireDate="2015-09-11" />
  <Price NumberOfUnits="1" EffectiveDate="2015-09-12" ExpireDate="2015-09-12" />
</Service>

Use case #2: breakfast not included (MP)

Idem but not included

Code Block
languagexml
linenumberstrue
<Service Inclusive="0" ReservationStatusType="Reserved" ServicePricingType="Per person per night" ServiceRPH="1" ID="00L55df0d5f711a6" Type="10">
  <Price NumberOfUnits="2" EffectiveDate="2015-09-11" ExpireDate="2015-09-11">
    <Base AmountAfterTax="3.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="6.00" CurrencyCode="CHF" />
  </Price>
  <Price NumberOfUnits="1" EffectiveDate="2015-09-12" ExpireDate="2015-09-12">
    <Base AmountAfterTax="3.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="3.00" CurrencyCode="CHF" />
  </Price>
</Service>

Use case #3: diner (MP)

Diner on first 2 nights for 2 persons, no diner on third night, diner for 3 persons on last night

Code Block
languagexml
linenumberstrue
<Service Inclusive="1" ReservationStatusType="Reserved" ServicePricingType="Per person" ServiceRPH="1" ID="00L55df0d5f711a6" Type="10">
  <Price NumberOfUnits="2" EffectiveDate="2015-09-11" ExpireDate="2015-09-11">
    <Base AmountAfterTax="30.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="60.00" CurrencyCode="CHF" />
  </Price>
  <Price NumberOfUnits="2" EffectiveDate="2015-09-12" ExpireDate="2015-09-12">
    <Base AmountAfterTax="30.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="60.00" CurrencyCode="CHF" />
  </Price>
  <Price NumberOfUnits="3" EffectiveDate="2015-09-14" ExpireDate="2015-09-14">
    <Base AmountAfterTax="30.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="90.00" CurrencyCode="CHF" />
  </Price>
</Service>

Use case #4: computer (BUS)

The guests want a computer for the whole stay length.

Code Block
languagexml
linenumberstrue
<Service Inclusive="0" ReservationStatusType="Reserved" ServicePricingType="Per night" ServiceRPH="1" ID="00L55df0d5f711a6" Type="10">
  <Price NumberOfUnits="1" EffectiveDate="2015-09-11" ExpireDate="2015-09-11">
    <Base AmountAfterTax="15.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="15.00" CurrencyCode="CHF" />
  </Price>
  <Price NumberOfUnits="1" EffectiveDate="2015-09-12" ExpireDate="2015-09-12">
    <Base AmountAfterTax="15.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="15.00" CurrencyCode="CHF" />
  </Price>
  <Price NumberOfUnits="1" EffectiveDate="2015-09-13" ExpireDate="2015-09-13">
    <Base AmountAfterTax="15.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="15.00" CurrencyCode="CHF" />
  </Price>
  <Price NumberOfUnits="1" EffectiveDate="2015-09-14" ExpireDate="2015-09-14">
    <Base AmountAfterTax="15.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="15.00" CurrencyCode="CHF" />
  </Price>
</Service>

Use case #5: spa (CUSTOM)

The guests want a 2 hours spa session on the 2015-09-12 night

Code Block
languagexml
linenumberstrue
<Service Inclusive="0" ReservationStatusType="Reserved" ServicePricingType="Per use" ServiceRPH="1" ID="00L55df0d5f711a6" Type="10">
  <Price NumberOfUnits="2" EffectiveDate="2015-09-12" ExpireDate="2015-09-12">
    <Base AmountAfterTax="13.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="26.00" CurrencyCode="CHF" />
  </Price>
</Service>

Use case #6: ski pass (CUSTOM)

The two guests want to ski during all their stay

Code Block
languagexml
linenumberstrue
<Service Inclusive="0" ReservationStatusType="Reserved" ServicePricingType="Per stay" ServiceRPH="1" ID="00L55df0d5f711a6" Type="10">
  <Price NumberOfUnits="2">
    <Base AmountAfterTax="111.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="222.00" CurrencyCode="CHF" />
  </Price>
</Service>

Use case #7: city guided tour (CUSTOM)

The two guests want to do some sightseeing on the second night

Code Block
languagexml
linenumberstrue
<Service Inclusive="0" ReservationStatusType="Reserved" ServicePricingType="Per use" ServiceRPH="1" ID="00L55df0d5f711a6" Type="10">
  <Price NumberOfUnits="2" EffectiveDate="2015-09-12" ExpireDate="2015-09-12">
    <Base AmountAfterTax="55.00" CurrencyCode="CHF" />
    <Total AmountAfterTax="55.00" CurrencyCode="CHF" />
  </Price>
</Service>