Service reservation

Service reservation

Request

<?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

Node

Attribute

Description

Value type

Always present

Repetitive

Node

Attribute

Description

Value type

Always present

Repetitive

...

 

 

 

 

 

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.

 

no

no

ServiceRPH

 

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

 

yes

yes

 

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

 

 

 

Type

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

 

yes

no

 

NumberOfUnits

Number of units reserved

NonNegativeInteger

 

 

 

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.

 

yes

no

 

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

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

Node

Attribute

Description

Value type

Always present

Repetitive

Node

Attribute

Description

Value type

Always present

Repetitive

 

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.

<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

<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

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

<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

<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

<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

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