Transmission of the services as part of reservations

In some cases, additional items can be reserved together with the hotel stay such as breakfasts, massages, ski passes etc. In the OTA vocabulary, they are defined as services. Whatever the choosen method for sending reservations to the Hotel-Spider severs (push or pull), the services are defined using the same format in the XML message.

Format

Each service is decribed in one Service node under the Services node which is part of one HotelReservation. In order to link Services to RoomStays, an attribute "ServiceRPH" is added to each service and must be a unique positive integer. Then a ServiceRPHs/ServiceRPH node is added to the RoomRate node if one or several service(s) is to be attached with the corresponding room stay.

Here is an overview of the added nodes:

<?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>
	...
  </POS>
  <HotelReservations>
    <HotelReservation>
	  ...
      <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" Type="10">
			  <Price NumberOfUnits="2" EffectiveDate="2015-09-10">
			    <Base AmountAfterTax="3.00" CurrencyCode="CHF" />
		  		<Total AmountAfterTax="6.00" CurrencyCode="CHF" />
		      </Price>
			  <Price NumberOfUnits="1" EffectiveDate="2015-09-11">
			    <Base AmountAfterTax="3.00" CurrencyCode="CHF" />
				<Total AmountAfterTax="3.00" CurrencyCode="CHF" />
			  </Price>
			  <ServiceDetails>
				<SpecialRequests>
                  <SpecialRequest Name="SR_1">
                    <Text>Special Request 1</Text>
                  </SpecialRequest>
                  <SpecialRequest Name="SR_2">
                    <Text>Special Request 2</Text>
                  </SpecialRequest>
                </SpecialRequests>
                <TimeSpan Start="2015-09-10" End="2015-09-11"/>
                <ServiceDescription Name="Parking place">
                  <Text>Unattended parking lot for the whole stay</Text>
                </ServiceDescription>
              </ServiceDetails>
			</Service>
		</Services>
<!---------------------------------------------------->
    </HotelReservation>
  </HotelReservations>
</OTA_HotelResRQ>

Details

NodeAttributeDescriptionValue typeMandatoryRepetitive

...






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.
yesno

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).Booleanyes

ServicePricingType

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

ServiceRPH

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

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

Price


The selling price of this Service. Please note that one Price node is needed for each different day.
yesno

NumberOfUnits

Number of units reservedNonNegativeIntegeryes

EffectiveDate

Indicates the starting date.Dateyes

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)

ServiceDetails
Service details that contains name and description information for the service.
no


SpecialRequests
Special Requests node that contain Special Request items with content.
no
SpecialRequest
Special Requests information
no

NameContains Name/Code value for Special Request


Text
Child element of SpecialRequest, it contains description for the special request
no
TimeSpan
Child element of ServiceDetails, it contains information for the date range service applied
no

StartStart date of the TimeSpan



EndEnd date of the TimeSpan


ServiceDescription


no

NameContains value for name of serviceStringLength1to32no
Text
Description text for the service.
no