Reservations

Message Exchange Workflow

  • OTA_HotelResNotifRQ - the request made by the PMS to the pmsXchange endpoint.

  • OTA_HotelResNotifRS - Returned by the SMX Partner Application to confirm receipt or failure to process the reservation message.

Request

<OTA_HotelResNotifRQ
	xmlns="http://www.opentravel.org/OTA/2003/05" ResStatus="Commit" EchoToken="ed8835ff-6198-4f38-b589-3058397f677c" TimeStamp="2025-07-06T15:27:41+00:00" Version="1.0">
	<!-- ... other elements and attributes have been omitted for brevity ... -->
</OTA_HotelResNotifRQ>
Element / @Attribute
Type
M
Description

OTA_HotelResNotifRQ

Element

1

Root element for the request.

@xmlns

String

1

Defines the XML namespace for the request. Will be set to http://www.opentravel.org/OTA/2003/05

@Version

Decimal

1

Specifies the API version. Must be set to 1.0.

@EchoToken

String

1

Unique identifier for the request, used to match requests and responses.

@TimeStamp

DateTime

1

Time when the request was generated.

HotelReservation

<HotelReservations>
	<HotelReservation CreateDateTime="2025-07-06T15:27:41+00:00" LastModifyDateTime="2025-07-06T15:27:41+00:00">
		<UniqueID Type="14" ID="123456789"/>
		<!-- ... other elements and attributes have been omitted for brevity ... -->
	</HotelReservation>
</HotelReservations>
Element / @Attribute
Type
M
Description

HotelReservations

Element

1

Contains the reservation details.

HotelReservation

Element

1

Contains the specific reservation information.

@ResStatus

Enumeration

1

Indicates the current status of the reservation.

Valid values are dependent on the roles:

  • Reserved

  • Waitlisted

  • Cancelled

  • No-show

  • In-house

  • Checked-Out

Mandatory: The SMX partner application should be able to accept all ResStatus values and respond with Success (200 OK status).

@CreateDateTime

DateTime

1

This is the date when the reservation was first made. Format like yyyy-MM-dd'T'HH:mm:ssZZ i.e 2012-03-09T20:05:52+08:00

@CreatorID

String

0..1

ID of the creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.

@LastModifyDateTime

DateTime

0..1

This indicates the last date and time when the reservation was last modified. Format like yyyy-MM-dd'T'HH:mm:ssZZ i.e 2012-03-09T20:05:52+08:00

@LastModifierID

String

0..1

Identifies the last software system or person to modify a record.

Source

<POS>
	<Source>
		<RequestorID Type="22" ID="ABC"/>
		<BookingChannel Primary="true">
			<CompanyName Code="ABC">Channel Name</CompanyName>
		</BookingChannel>
	</Source>
	<!-- Additional Source element -->
</POS>
Element / @Attribute
Type
M
Description

POS

Element

1

Contains source details.

Source

Element

1..10

Contains BookingChannel details.

RequestorID

Element

1

Only present in the first Source element. Identifies the system sending the reservation.

@ID

String

1

Channel code. The ID used will be agreed by trading partners and remain consistent across messages.

BookingChannel

Element

0..2

Contains booking channel information.

@Type

Integer

1

@Primary

Boolean

0..1

true for the primary booking channel in the first Source element.

false in the second Source element, if present.

CompanyName

Element

1

Name of the booking channel.

@Code

String

0..1

Code of the booking channel.

UniqueID

<UniqueID ID="BDC-123456789"/>
Element / @Attribute
Type
M
Description

UniqueID

Element

1

Used to provide PMS and/or CRS identifiers. An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).

@ID

String

1

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.

RoomStays

<RoomStays>
	<RoomStay PromotionCode="AUTUNM2024">
		<!-- ... other elements and attributes have been omitted for brevity ... -->
	</RoomStay>
	<!-- Additional RoomStay elements -->
</RoomStays>
Element / @Attribute
Type
M
Description

RoomStays

Element

1

Contains details of all room stays.

RoomStay

Element

1..n

One instance of RoomStay per room type booked.

@MarketCode

String

0..1

The code that relates to the market being sold to (e.g., the corporate market, packages).

@SourceOfBusiness

String

0..1

To specify where the business came from e.g. radio, newspaper ad, etc.

@PromotionCode

String

0..1

If configured, this is the promotion code indicating, for instance, a specific marketing campaign (not the rate code).

RoomTypes

<RoomTypes>
	<RoomType RoomTypeCode="TPL">
		<RoomDescription Name="Triple Room">Double bed and single bed.</RoomDescription>
	</RoomType>
</RoomTypes>
Element / @Attribute
Type
M
Description

RoomTypes

Element

0..1

Provides more information about the room type for this room stay.

RoomType

Element

0..1

Provides details regarding rooms, usually guest rooms. It can be sent to give more information on the room type for this room stay.

@RoomType

String

0..1

A code value that indicates the type of room for which this request is made, e.g.: double, king, etc. Values may use the Hotel Descriptive Content table or codes specific to the property or hotel brand.

@RoomTypeCode

String

0..1

Specific system room type code, ex: A1K, A1Q etc.

@RoomCategory

Integer

0..1

@RoomID

Integer

0..1

A string value representing the unique identification of a room if the request is looking for a specific room.

@NonSmoking

Boolean

0..1

Non-smoking indicator.

@Configuration

String

0..1

Textual description of room configuration.

RoomDescription

Element

0..1

Description of the room.

@Text

Element

0..n

A text description of the room

AdditionalDetails

Element

0..1

Container for additional information about this room.

AdditionalDetail

Element

1..n

@Type

Integer

0..1

@Code

String

0..1

Trading partner code associated to AdditionalDetailType.

DetailDescription

Element

0..1

Textual description of AdditionalDetail information.

Text

Element

0..n

A text description of AdditionalDetail

RatePlans

<RatePlans>
	<RatePlan RatePlanCode="BAR">
		<RatePlanDescription>Best Available Rate.</RatePlanDescription>
		<Commission>
			<CommissionPayableAmount Amount="60.00" CurrencyCode="EUR"/>
		</Commission>
		<MealsIncluded MealPlanCode="14"/>
		<!-- Additional MealsIncluded elements -->
	</RatePlan>
</RatePlans>
Element / @Attribute
Type
M
Description

RatePlans

Element

0..1

Provides more information about the rate plan for this room stay.

RatePlan

Element

0..1

Contains details about the specific rate plan.

@RatePlanCode

String

0..1

Code of the rate booked.

@EffectiveDate

0..1

The effective date of the RatePlan

@ExpireDate

0..1

The expire date for a RatePlan, this should be considered an exclusive date, the date for which the current rate plan information is no longer valid.

@RatePlanName

0..1

Provides the name of the rate plan or group. Typically used with RatePlanType to further describe the rate plan.

RatePlanDescription

Element

0..1

Textual description of the RatePlan.

Text

Element

0..n

A text description of the RatePlan.

RatePlanInclusions

Element

0..1

Defines charges that are included in this rate plan.

@TaxInclusive

0..1

Indicates that service fees are included in the rate.

@ServiceFeeInclusive

0..1

Indicates that tax is included in the rate.

RatePlanInclusionDescription

Element

0..1

Textual description of what is included in the rate plan.

Text

Element

0..1

Textual description of what is included in the rate plan.

MealsIncluded

Element

0..1

@MealPlanIndicator

0..1

When true, a meal plan is included in this rate plan. When false, a meal plan is not included in this rate plan.

@MealPlanCodes

0..1

AdditionalDetails

Element

0..1

Textual description of AdditionalDetail information.

AdditionalDetail

Element

0..1

A text description of AdditionalDetail

@Type

0..1

@Code

0..1

Trading partner code associated to AdditionalDetailType.

DetailDescription

Element

0..1

Textual description of AdditionalDetail information.

Text

Element

0..n

A text description of AdditionalDetail

RoomRates

<RoomRates>
	<RoomRate RoomTypeCode="TPL" RatePlanCode="BAR" NumberOfUnits="1">
		<Rates>
			<Rate UnitMultiplier="1" RateTimeUnit="Day" EffectiveDate="2024-10-05" ExpireDate="2024-10-08">
				<Base AmountBeforeTax="558.00" AmountAfterTax="620.00" CurrencyCode="EUR">
					<Taxes>
						<Tax Type="inclusive" Code="35" Amount="62.00" CurrencyCode="EUR"/>
						<!-- Additional Tax elements -->
					</Taxes>
				</Base>
				<Total AmountBeforeTax="558.00" AmountAfterTax="620.00" CurrencyCode="EUR">
					<Taxes>
						<Tax Type="inclusive" Code="35" Amount="62.00" CurrencyCode="EUR"/>
						<!-- Additional Tax elements -->
					</Taxes>
				</Total>
			</Rate>
		</Rates>
		<!-- Additional Rates elements -->
		<ServiceRPHs>
			<ServiceRPH RPH="1"/>
			<!-- Additional ServiceRPH elements -->
		</ServiceRPHs>
	</RoomRate>
</RoomRates>
Element / @Attribute
Type
M
Description

RoomRates

Element

0..1

Contains details of the rates applied to the room stay.

RoomRate

Element

1..n

One RoomRate per RoomStay. Multiple rates are listed under the RoomRate.

@InvBlockCode

String

0..1

Code that identifies an inventory block.

@RoomID

String

0..1

A string value representing the unique identification of a room.

@NumberOfUnits

Integer

0..1

Must be set to 1. If there are multiple RoomStays for the same RoomTypeCode and RatePlanCode, multiple RoomStay elements should be sent.

@RoomTypeCode

String

0..1

Code of the room booked.

@RatePlanCode

String

0..1

Code of the rate plan booked. Must be included if RoomStay / RatePlans is present.

@RatePlanCategory

String

0..1

Hotel systems often group multiple rate plans into a single category. This refers to that category that is specific to the hotel CRS/ PMS and should not be confused with a GDS rate category.

@EffectiveDate

1

Indicates the starting date.

@ExpireDate

1

ExpireDate is the first day after the applicable period (e.g. when expire date is 2012-04-03 the last date of the period is 2012-04-02). Format yyyy-MM-dd. This date is exclusive.

Rates

Element

0..1

Container that will contain instances of Rates.

Rate

Element

1..n

Rate will contain a timespan for which a rate will apply for a room type. Multiple instances of Rate will be sent if rate changes apply.

@UnitMultiplier

Integer

1

Must be set to 1.

@EffectiveDate

Date

1

Starting date of the rate. This date is inclusive.

@ExpireDate

Date

1

Expire date is the first day after the applicable period. This date is not inclusive.

Base

Element

1

Base amount charged for the accommodation.

@AmountBeforeTax

Decimal

0..1

At least one of AmountAfterTax or AmountBeforeTax must be set.

@AmountAfterTax

Decimal

0..1

At least one of AmountAfterTax or AmountBeforeTax must be set.

@CurrencyCode

String

1

Use ISO 4217 currency codes.

Taxes

Element

0..1

Contains details of the taxes applied.

@CurrencyCode

String

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

@Amount

Decimal

0..1

A monetary amount of tax.

Tax

Element

0..n

Contains specific tax information.

@Code

String

0..1

@Amount

Decimal

0..1

Tax amount applied.

@CurrencyCode

String

0..1

Use ISO 4217 currency codes.

@Percent

Integer

0..1

Tax percentage; if zero, assume use of the Amount attribute (Amount or Percent must be a zero value).

TaxDescription

Element

0..5

Text description of the taxes.

Text

Element

0..n

Textual description of the tax

Total

Element

1

Total amount charged, including additional occupants and fees. If empty, assume the Base amount equals the Total amount.

@AmountBeforeTax

Decimal

0..1

At least one of AmountAfterTax or AmountBeforeTax must be set.

@AmountAfterTax

Decimal

0..1

At least one of AmountAfterTax or AmountBeforeTax must be set.

@CurrencyCode

String

0..1

Use ISO 4217 currency codes.

Taxes

Element

0..1

Contains details of the taxes applied.

@Amount

Decimal

0..1

Tax amount applied.

@CurrencyCode

String

0..1

Use ISO 4217 currency codes.

Tax

Element

0..99

An individual tax per tax element. This element allows for both percentages and flat amounts. If one field is used, the other should be zero since logically, taxes should be calculated in only one of the two ways.

@Code

Integer

0..1

@Amount

Integer

0..1

A monetary amount of tax. if zero, assume use of the Percent attribute (Amount or Percent must be a zero value).

@CurrencyCode

String

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

@Percent

Integer

0..1

Tax percentage; if zero, assume use of the Amount attribute (Amount or Percent must be a zero value).

TaxDescription

Element

0..5

Text description of the taxes.

Text

String

0..n

Textual description of the tax

ServiceRPHs

Element

0..1

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

ServiceRPH

Element

1..n

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

@RPH

Integer

1

Provides a unique reference to the service.

GuestCounts

<GuestCounts>
	<GuestCount AgeQualifyingCode="10" Count="2"/>
	<GuestCount AgeQualifyingCode="8" Age="7" Count="1"/>
	<GuestCount AgeQualifyingCode="8" Age="10" Count="1"/>
	<GuestCount AgeQualifyingCode="7" Count="1"/>
	<!-- Additional GuestCount elements -->
</GuestCounts>
Element / @Attribute
Type
M
Description

GuestCounts

Element

1

Total guest counts, divided by age group (adult, child, infant). Adult count must always be sent.

GuestCount

Element

1..n

Represents the count for a specific age group.

@AgeQualifyingCode

Integer

1

10 = Adult (mandatory)

8 = Child (optional)

7 = Infant (optional)

@Count

Integer

1

Number of guests for this age group.

@Age

Integer

0..1

Age of the guest, required only for children and infants.

@AgeBucket

String

0..1

Defines the age range category or bucket a guest can be booked into. This is typically used in conjunction with the age qualifying code to further define the applicable age range.

TimeSpan

<TimeSpan Start="2024-10-05" End="2024-10-08"/>
Element / @Attribute
Type
M
Description

TimeSpan

Element

1

Contains the timespan for the RoomStay.

@Start

Date

1

Check-in date.

@End

Date

1

Check-out date. Must be after Start.

Guarantee (RoomStay Level)

<Guarantee GuaranteeCode="COMBINED_GUARANTEE" GuaranteeType="DepositRequired">
	<GuaranteesAccepted>
		<GuaranteeAccepted PaymentTransactionTypeCode="charge">
			<PaymentCard CardCode="VI" EffectiveDate="0717" ExpireDate="0720">
				<CardHolderName>Leonard Woolf</CardHolderName>
				<CardNumber Mask="4021XXXXXXXX8995" Token="0087254835699221" TokenProviderID="VTS"></CardNumber>
			</PaymentCard>
		</GuaranteeAccepted>
		<GuaranteeAccepted PaymentTransactionTypeCode="charge">
			<Voucher SeriesCode="4555"/>
		</GuaranteeAccepted>
		<GuaranteeAccepted PaymentTransactionTypeCode="charge">
			<DirectBill DirectBill_ID="4981003"/>
		</GuaranteeAccepted>
	</GuaranteesAccepted>
	<GuaranteeDescription>
		<Text>Combined Guarantees Accepted (Platinum Membership)</Text>
	</GuaranteeDescription>
</Guarantee>
Element / @Attribute
Type
M
Description

Guarantee

Element

0..1

Guarantee provided with the reservation. Used if no deposit is paid for the reservation.

@GuaranteeCode

String

0..1

Contains the details of accepted Guarantee Code.

@GuaranteeType

Enumeration

0..1

An enumerated type defining the guarantee to be applied to this reservation.

Value: CC/DC/Voucher Deposit DepositRequired GuaranteeRequired None PrePay Profile

GuaranteesAccepted

Element

0.1

The guarantee information associated to the Room Stay. A maximum of 5 occurrences are available for use depending on the context.

GuaranteeAccepted

Element

1..n

Guarantee Detail.

One of PaymentCard, Voucher, DirectBill elements must be included within GuranteeAccepted.

@PaymentTransactionTypeCode

String

0..1

This is used to indicate either a charge, reserve (deposit) or refund.

charge: This indicates that an actual payment has been made.

refund: This indicates that the payment amount of this PaymentDetail element is for a refund.

reserve: This indicates that a hold for the indicated amount has been placed on a credit card or that a cash amount has been taken from the customer to guarantee final payment.

PaymentCard

Element

0..1

Specific payment card information. Details of a debit or credit card.

@CardCode

String

1

@EffectiveDate

String

0..1

Indicates the starting date. format MMyy).

@ExpireDate

String

0..1

Expiry date of the credit card (format MMyy).

CardHolderName

Element

0..1

Card Holder Name

CardNumber

String

0..1

Secure information that supports PCI tokens, data masking and other encryption methods.

@Mask

String

0..1

Masked data.

@Token

Integer

0..1

Tokenized information.

@TokenProviderID

String

0..1

Provider ID.

Voucher

Element

0..1

Identification of a series of coupons or vouchers identified by serial number(s).

@SeriesCode

String

0..1

Identification of a series of coupons or vouchers identified by serial number(s).

DirectBill

Element

0..1

Details of a direct billing arrangement.

@DirectBill_ID

Integer

0..1

Identifier for the organization to be billed directly for travel services.

GuaranteeDescription

Element

0..1

Text description relating to the Guarantee.

Text

Sting

0..n

Textual information relating to the Guarantee.

DepositPayments

<DepositPayments>
	<GuaranteePayment>
		<AcceptedPayments>
			<AcceptedPayment PaymentTransactionTypeCode="charge">
				<PaymentCard CardCode="VI" EffectiveDate="0717" ExpireDate="0720">
					<CardHolderName>Leonard Woolf</CardHolderName>
					<CardNumber Mask="4021XXXXXXXXX8995" Token="0087254835699221" TokenProviderID="VTS"></CardNumber>
				</PaymentCard>
			</AcceptedPayment>
		</AcceptedPayments>
		<AmountPercent Percent="30" CurrencyCode="AUD" Amount="76.67" NmbrOfNights="2">
			<Taxes CurrencyCode="AUD" Amount="1.53">
				<Tax Code="16" Amount="0" CurrencyCode="AUD" Percent="2">
					<TaxDescription>
						<Text>Credit Card surcharge.</Text>
					</TaxDescription>
				</Tax>
			</Taxes>
		</AmountPercent>
		<Deadline AbsoluteDeadline="2017-11-21T12:00:00+00:00" OffsetTimeUnit="Day" OffsetUnitMultiplier="10" OffsetDropTime="BeforeArrival"/>
		<Description>
			<Text>30% deposit (of the total reservation cost) will be charged to card holder's account 10 days before the date of arrival at the latest.</Text>
		</Description>
		<Address Type="1">
			<AddressLine>12 Pine Street</AddressLine>
			<CityName>Sydney</CityName>
			<PostalCode>2095</PostalCode>
			<StateProv StateCode="NSW">New South Wales</StateProv>
			<CountryName Code="AU">Australia</CountryName>
		</Address>
	</GuaranteePayment>
</DepositPayments>// Some code
Element / @Attribute
Type
M
Description

DepositPayments

Element

0..1

A collection of required payments.

GuaranteePayment

Element

1..n

Used to define the deposit policy, guarantees policy, and/or accepted forms of payment.

AcceptedPayments

Element

0..1

Collection of forms of payment accepted for payment. Used to define the types of payments accepted.

AcceptedPayment

Element

0..1

An acceptable form of payment.

@PaymentTransactionTypeCode

String

0..1

This is used to indicate either a charge, reserve (deposit) or refund.

charge: This indicates that an actual payment has been made.

refund: This indicates that the payment amount of this PaymentDetail element is for a refund.

reserve: This indicates that a hold for the indicated amount has been placed on a credit card or that a cash amount has been taken from the customer to guarantee final payment.

PaymentCard

Element

0..1

Specific payment card information. Details of a debit or credit card.

NOTE: PCI-sensitive payment card information should not be included in the message. Please do not attempt to send any payment card data for there isn't a specific element or attribute in the API.

@CardCode

String

0..1

@EffectiveDate

Date

0..1

Indicates the starting date.

@ExpireDate

Date

0..1

Indicates the ending date.

CardHolderName

Element

0..1

Card holder name.

CardNumber

Element

0..1

Secure information that supports PCI tokens, data masking and other encryption methods.

@Mask

String

0..1

Masked data.

@Token

Integer

0..1

Tokenized information.

@TokenProviderID

String

0..1

Provider ID.

Voucher

Element

0..1

Details of a paper or electronic document indicating prepayment.

@SeriesCode

Integer

0..1

Identification of a series of coupons or vouchers identified by serial number(s).

DirectBill

Element

0..1

Details of a direct billing arrangement.

@DirectBill_ID

Integer

0..1

Identifier for the organization to be billed directly for travel services.

AmountPercent

Element

0..1

Payment expressed as a fixed amount, or a percentage of/or room nights. If the the Total.amountAfterTax is provided, it will be a percentage of this value. If only the amountBeforeTax is provided it will be the percentage of this value. At least @Amount or @Percent will be populated.

@Percent

Integer

0..1

The percentage used to calculate the amount.

@CurrencyCode

String

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

@Amount

Decimal

0..1

A monetary amount taken for the deposit.

@NmbrOfNights

Integer

0..1

The number of nights of the hotel stay that are used to calculate the fee amount.

Taxes

Element

0..1

A collection of taxes relating to the deposit.

@CurrencyCode

String

0..1

@Amount

Integer

0..1

Tax

Element

0..99

An individual tax. This element allows for both percentages and flat amounts. If one field is used, the other should be zero since logically, taxes should be calculated in only one of the two ways.

@Code

String

0..1

@Amount

Decimal

0..1

A monetary amount of tax.

@CurrencyCode

String

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

@Percent

Integer

0..1

Fee percentage; if zero, assume use of the Amount attribute (Amount or Percent must be a zero value).

TaxDescription

Element

0..5

Text description of the taxes.

Text

Element

0..n

Textual description of the tax

Deadline

Element

0..2

Payment deadline, absolute or relative.

@AbsoluteDeadline

DateTime

0..1

Defines the absolute deadline. Either this or the offset attributes may be used.

@OffsetTimeUnit

String

0..1

The units of time, e.g.: days, hours, etc., that apply to the deadline.

@OffsetUnitMultiplier

Integer

0..1

The number of units of DeadlineTimeUnit.

@OffsetDropTime

String

0..1

An enumerated type indicating when the deadline drop time goes into effect.

Description

Element

0..5

Text description of the Payment in a given language.

Text

String

0..n

Textual information information relating to the payment.

Address

String

0..1

The address to which a deposit may be sent.

@Type

Integer

0..1

AddressLine

Element

0..5

Address including any relevant street number.

CityName

Element

0..1

City (e.g., Dublin), town, or postal station (

PostalCode

Element

0..1

PostCode

StateProv

Element

0..1

State, province, or region name or code needed to identify location.

@StateCode

Integer

0..1

The standard code or abbreviation for the state, province, or region.

CountryName

Element

0..1

The name or code of a country (as used in an address).

@Code

Integer

0..1

ISO 3166 code for a country.

Discount

<Discount TaxInclusive="true" Percent="15" DiscountCode="STAYNSAVE15" AmountBeforeTax="33.00" AmountAfterTax="36.30" CurrencyCode="AUD">
	<Taxes CurrencyCode="AUD" Amount="3.30">
		<Tax Code="19" Amount="0" CurrencyCode="AUD" Percent="10">
			<TaxDescription>
				<Text>GST</Text>
			</TaxDescription>
		</Tax>
	</Taxes>
	<DiscountReason>
		<Text>Stay 2 nights and get 15% off.</Text>
	</DiscountReason>
</Discount>
Element / Attribute
Type
M
Description

Discount

Element

0..1

Discount percentage and/or Amount, code and textual reason for discount.

@TaxInclusive

Boolean

0..1

Is Discount tax inclusive.

@Percent

Integer

0..1

Percentage value of the discount.

@DiscountCode

String

0..1

Specifies the type of discount (e.g., No condition, LOS, Deposit or Total amount spent).

@AmountBeforeTax

Decimal

0..1

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

@AmountAfterTax

Decimal

0..1

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

@CurrencyCode

String

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

Taxes

Element

0..1

A collection of taxes relating to Discount

@CurrencyCode

String

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

@Amount

Decimal

0..1

A monetary amount of tax.

Tax

Element

0..1

This element allows for both percentages and flat amounts. If one field is used, the other should be zero since logically, taxes should be calculated in only one of the two ways.

@Code

Integer

0..1

@Amount

Decimal

0..1

A monetary amount of tax.

@CurrencyCode

String

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

@Percent

Integer

0..1

Fee percentage; if zero, assume use of the Amount attribute (Amount or Percent must be a zero value).

TaxDescription

Element

0..1

Text description of the taxes.

Text

Element

0..1

Textual description of the tax

DiscountReason

Element

1

Text description of Discount Reason.

Text

Element

1

Textual description of Discount Reason.

Total

<Total AmountBeforeTax="187.00" AmountAfterTax="215.05" CurrencyCode="AUD">
	<Taxes CurrencyCode="AUD" Amount="28.05">
		<Tax Code="19" Amount="0" CurrencyCode="AUD" Percent="10">
			<TaxDescription>
				<Text>GST</Text>
			</TaxDescription>
		</Tax>
		<Tax Code="21" Amount="0" CurrencyCode="AUD" Percent="5">
			<TaxDescription>
				<Text>Insurance Premium Tax</Text>
			</TaxDescription>
		</Tax>
	</Taxes>
</Total>
Element / @Attribute
Type
M
Description

Total

Element

0..1

The total amount charged for the service including additional amounts and fees.

@AmountBeforeTax

Decimal

0..1

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

@AmountAfterTax

Decimal

0..1

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

@CurrencyCode

String

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

Taxes

Element

0..1

A collection of taxes relating to Discount

@CurrencyCode

String

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

@Amount

Decimal

0..1

A monetary amount of tax.

Tax

Element

0..1

This element allows for both percentages and flat amounts. If one field is used, the other should be zero since logically, taxes should be calculated in only one of the two ways.

@Code

String

0..1

@Amount

Decimal

0..1

A monetary amount of tax.

@CurrencyCode

String

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

@Percent

Integer

0..1

Fee percentage; if zero, assume use of the Amount attribute (Amount or Percent must be a zero value).

TaxDescription

Element

0..5

Text

Element

0..n

Textual description of Discount Reason.

ResGuestRPHs

<ResGuestRPHs>
	<ResGuestRPH RPH="1"/>
	<!-- Additional ResGuestRPH elements -->
</ResGuestRPHs>
Element / @Attribute
Type
M
Description

ResGuestRPHs

Element

0..1

Container for the ResGuestRPH elements.

ResGuestRPH

Element

1..n

Container for the RPH attribute.

@RPH

Integer

1

Memberships

<Memberships>
	<Membership ProgramCode="Platinum" AccountID="8943112"/>
	<Membership ProgramCode="Platinum" AccountID="8943966"/>
</Memberships>
Element / @Attribute
Type
M
Description

Memberships

Element

0..1

A collection of Membership objects. Memberships provides a list of reward programs which may be credited with points accrued from the guest's activity. Which memberships are to be applied to which part is determined by each object's SelectedMembershipRPHs collection.

Membership

Element

1..n

The SelectedMembership object identifies the frequent customer reward program and (optionally) indicates points awarded for stay activity.

@ProgramCode

String

0..1

The code or name of the membership program ('Hertz', 'AAdvantage', etc.).

@AccountID

String

0..1

The account identification number for this particular member in this particular program.

Comments

<Comments>
	<Comment>
		<Text>See the room stay comments here</Text>
	</Comment>
</Comments>
Element / @Attribute
Type
M
Description

Comments

Element

0..1

Contains comment for the RoomStay.

Comment

Element

1

Holds the actual comment.

@GuestViewable

Boolean

0..1

When true, the comment may be shown to the consumer. When false, the comment may not be shown to the consumer.

Text

Element

1

The content of the comment.

PCI sensitive data is prohibited.

SpecialRequests

<SpecialRequests>
	<SpecialRequest Name="Extra Bed">
		<Text>Yes</Text>
	</SpecialRequest>
	<!-- Additional ServiceRPH elements -->
</SpecialRequests>
Element / @Attribute
Type
M
Description

SpecialRequests

Element

0..1

Contains special requests for the RoomStay.

SpecialRequest

Element

1..n

The SpecialRequests related to the RoomStay.

@RequestCode

String

0..1

This identifies a special request for this reservation and is typically hotel-specific.

@CodeContext

String

0..1

Identifies the source authority for the RequestCode.

Text

Element

0..n

Textual information relating to the SpecialRequest.

ServiceRPHs

Element

0..1

ServiceRPH

Element

1..n

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

@RPH

Integer

1

Services

<Services>
	<Service ServiceInventoryCode="EXTRA_BED" Inclusive="true" ServiceRPH="1" Quantity="1" ID="12346">
		<Price>
			<Base AmountBeforeTax="2.50" AmountAfterTax="2.75" CurrencyCode="EUR">
				<Taxes Amount="0.25">
					<Tax Code="19" Percent="10" Amount="0.25">
						<TaxDescription>
							<Text>GST 10 percent</Text>
						</TaxDescription>
					</Tax>
				</Taxes>
			</Base>
			<Total AmountBeforeTax="2.50" AmountAfterTax="2.75" CurrencyCode="EUR">
				<Taxes Amount="0.25">
					<Tax Code="19" Percent="10" Amount="0.25">
						<TaxDescription>
							<Text>GST 10 percent</Text>
						</TaxDescription>
					</Tax>
				</Taxes>
			</Total>
			<RateDescription>
				<Text>Extra person charge EUR 2.50 per day for cot</Text>
			</RateDescription>
		</Price>
		<ServiceDetails>
			<TimeSpan Start="2024-10-05" End="2024-10-08"/>
		</ServiceDetails>
	</Service>
	<!-- Additional Service elements -->
</Services>
Element / @Attribute
Type
M
Description

Services

Element

0..1

This is the collection of all services associated with any part of this reservation (the reservation in its entirety, one or more guests, or one or more room stays).

Service

Element

1..n

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

@ServicePricingType

String

0..1

An enumerated type that defines how a service is priced. Values: Per stay, Per person, Per night, Per person per night, Per use.

@ServiceInventoryCode

String

0..1

@Inclusive

Boolean

1

Must be set to TRUE, as SiteConnect reports totals as inclusive of charges and extras.

@Quantity

Integer

1

Number of units included in the charge. This value does not affect the total amount.

@ServiceRPH

Integer

0..1

Links the Service to a RoomStay or RatePlan. ServiceRPH absence indicates a HotelReservation-level charge.

@Type

Integer

0..1

@ID

String

0..1

Reference ID for the extra/service provided by the source booking channel.

@ID_Context

String

0..1

Used to identify the source of the identifier (e.g., IATA, ABTA).

Price

Element

0..99

Container for pricing details of the service.

Total

Element

0..1

The total amount charged for this rate including additional occupant amounts and fees.The total amount charged for the service including additional amounts and fees.

@AmountAfterTax

Decimal

0..1

The total amount not including any associated tax. At least one of AmountAfterTax or AmountBeforeTax must be set.

@AmountBeforeTax

Decimal

0..1

The total amount including any associated tax. At least one of AmountAfterTax or AmountBeforeTax must be set.

@CurrencyCode

String

0..1

Use ISO 4217 currency codes.

Taxes

Element

0..1

Contains details of the taxes applied.

Tax

Element

1

Contains specific tax information.

@Code

1

@Percentage

Decimal

0..1

Percentage rate of the applied tax.

@Amount

Decimal

0..1

Tax amount applied.

TaxDescription

Element

0..1

Container for a detailed description of the tax.

Text

Element

1

Text description of the tax.

Total

Element

1

Container for the total amount of the service.

@CurrencyCode

String

0..1

Use ISO 4217 currency codes.

@AmountAfterTax

Decimal

0..1

At least one of AmountAfterTax or AmountBeforeTax must be set.

@AmountBeforeTax

Decimal

0..1

At least one of AmountAfterTax or AmountBeforeTax must be set.

Taxes

Element

0..1

Contains details of the taxes applied.

@CurrencyCode

String

0..1

Use ISO 4217 currency codes.

@Amount

Decimal

0..1

A monetary amount.

Tax

Element

0..99

Contains specific tax information.

@Code

1

@Amount

Decimal

0..1

Tax amount applied.

@CurrencyCode

String

0..1

Use ISO 4217 currency codes.

@Percent

Integer

0..1

Percentage rate of the applied tax.

TaxDescription

Element

0..5

Text description of the taxes in a given language

Text

Element

1

Text description of the tax.

ServiceDetails

Element

0..1

Container for additional service details.

GuestCounts

Element

0..1

A collection of Guest Counts associated to the whole Reservation or a particular Room Stay or Service.

GuestCount

Element

0..99

A recurring element that identifies the number of guests and ages of the guests.

@AgeQualifyingCode

Integer

0..1

@Age

Integer

0..1

Defines the age of a guest.

@Count

Integer

0..1

The number of guests in one AgeQualifyingCode or Count. Valid value between 1 and 9999.

@AgeBucket

String

0..1

This defines the age range category or bucket into which a guest can be booked. It is typically used in conjunction with the age qualifying code to further define the applicable age range.

TimeSpan

Element

0..1

Contains the time span for which the service is provided.

@Start

Date

0..1

The starting value of the time span.

@End

Date

0..1

The ending value of the time span.

Comments

Element

0..1

A collection of Comment objects. Comments which apply to the Service.

Comment

Element

0..n

Comment details.

@GuestViewable

Boolean

0..1

When true, the comment may be shown to the consumer. When false, it may not be.

Text

Element

0..n

Service detail comments

ServiceDescription

Element

0..1

Description of the service

Text

Element

0..n

A text description of the service

ServiceCategory

Element

0..n

Hotel systems often group multiple services into a single category. This refers to the category specific to the hotel CRS/PMS.

@ServiceCategoryCode

String

1

The representation of the specific service category for the service being reserved.

BillingInstructionCode

<BillingInstructionCode BillingCode="385H45991" AccountNumber="WOOLF05301300" Start="2017-12-01" End="2017-12-03" AuthorizationCode="7985" Description="Please follow billing instructions for Platinum Membership.">
	<ResGuestRPH RPH="1"/>
</BillingInstructionCode>
Element / @Attribute
Type
M
Description

BillingInstructionCode

Element

0..n

Billing codes apply to a set of instructions for a set of transactions that are routed to a designated folio.

@BillingCode

String

1

The individual billing code that applies to a set of instructions that are routed to a designated folio.

@AccountNumber

String

0..1

Identifies the account number where the charges will be routed.

@Start

Date

0..1

The starting value of the time span.

@End

Date

0..1

The ending value of the time span.

@AuthorizationCode

Integer

0..1

The authorization code associated with the billing code.

@Description

String

0..1

A short description of the billing code or instructions.

ResGuestRPH

Element

0..1

A reference to a guest ID object that may be defined in ResGuests/ResGuest

@RPH

Integer

0..1

A unique reference to the guest ID.

ResGuests

<ResGuests>
	<ResGuest ResGuestRPH="1" ArrivalTime="14:00:00" PrimaryIndicator="1">
		<Profiles>
			<ProfileInfo>
				<Profile ProfileType="1">
					<Customer>
						<PersonName>
							<NamePrefix>Mr</NamePrefix>
							<GivenName>John</GivenName>
							<Surname>Smith</Surname>
						</PersonName>
						<Telephone PhoneNumber="+61123456789"/>
						<Email>test@siteminder.com</Email>
						<Address>
							<AddressLine>200 George St</AddressLine>
							<AddressLine>Level 3</AddressLine>
							<CityName>Sydney</CityName>
							<PostalCode>2000</PostalCode>
							<StateProv>NSW</StateProv>
							<CountryName>Australia</CountryName>
						</Address>
						<CustLoyalty ProgramID="LoyaltyProgramName" MembershipID="123456789" ExpireDate="2020-12-31"/>
						<Document DocID="987654321P" DocType="5" DocHolderNationality="AU" BirthDate="1996-10-05" Gender="Male" BirthCountry="AU" BirthPlace="AU" EffectiveDate="2015-10-05" ExpireDate="2025-10-05" DocIssueAuthority="The Australian Passport Office" DocIssueLocation="Sydney" DocIssueStateProv="NSW" DocIssueCountry="?">
							<DocHolderName>John Smith</DocHolderName>
						</Document>
					</Customer>
				</Profile>
			</ProfileInfo>
		</Profiles>
	</ResGuest>
	<!-- Additional ResGuest elements -->
</ResGuests>
Element / @Attribute
Type
M
Description

ResGuests

Element

0..1

Contains the guests for the reservation.

ResGuest

Element

1..n

Contains the specific guest details.

@ResGuestRPH

Integer

0..1

@AgeQualifyingCode

Integer

0..1

@ArrivalTime

Time

0..1

Arrival time of the guest.

@PrimaryIndicator

Boolean

0..1

When true, indicates this is the primary guest. Only one ResGuest can be the primary guest.

@Age

Integer

0..1

The age of the guest.

Profiles

Element

0..1

Contains the guest profile information.

ProfileInfo

Element

1..n

Contains the profile information for the guest.

UniqueID

Element

0..9

A unique ID for a profile. This element can repeat to accommodate multiple unique IDs for a single profile across multiple systems.

@ID

Integer

1

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.

@Type

Integer

1

@ID_Context

String

0..1

Used to identify the source of the identifier.

Profile

Element

1

Contains detailed customer profile information.

@ShareAllOptOutInd

Boolean

1

When 'true', a customer has explicitly opted out of marketing communication. This is used in combination with the ShareAllMarketInd and only one of these attributes should have a value of 'true'.

@ShareAllMarketInd

Boolean

1

Permission for sharing all data in profile for marketing purposes. A 'true' value indicates that the customer has chosen to opt-in to marketing communication. This is used in combination with the ShareAllOptOutInd and only one of these attributes should have a value of 'true'.

Customer

Element

0..1

Contains detailed guest information.

@VIP_Indicator

Boolean

0..1

If true, indicates a very important person.

@CustomerValue

String

0..1

The supplier's ranking of the customer (e.g., VIP, numerical ranking).

@BirthDate

Date

0..1

The customer’s birthday information.

PersonName

Element

0..1

Contains the name information for the guest.

@Language

String

0..1

The language code for which the name data is represented.

@NameType

Integer

0..1

NamePrefix

Element

0..3

Title of the guest.

GivenName

Element

0..5

First name of the guest.

MiddleName

Element

0..3

The middle name of the person name.

Surname

Element

1

Last name of the guest.

NameSuffix

Element

0..3

Name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.)

NameTitle

Element

0..5

Degree or honours (e.g., Ph.D., M.D.)

Telephone

Element

0..5

Contains telephone information related to the guest.

@PhoneLocationType

Integer

0..1

@PhoneTechType

Integer

0..1

Indicates type of technology associated with this telephone number, such as Voice, Data, Fax, Pager, Mobile, TTY, etc. Refer to OpenTravel Code List Phone Technology Type (PTT).

@CountryAccessCode

Integer

0..1

Code assigned by telecommunications authorities for international country access identifier.

@AreaCityCode

Integer

0..1

Code assigned for telephones in a specific region, city, or area.

@PhoneNumber

Integer

0..1

Telephone number assigned to a single location.

@Remark

String

0..1

A remark associated with the telephone number.

@FormattedInd

Boolean

0..1

Specifies if the associated data is formatted or not. When true, then it is formatted; when false, then not formatted.

@DefaultInd

Boolean

0..1

When true, indicates a default value should be used.

Email

Element

0..5

Contact email address.

@EmailType

Integer

0..1

Defines the purpose of the e-mail address (e.g. personal, business, listserve). Refer to OpenTravel Code List Email Address Type (EAT).

@DefaultInd

Boolean

0..5

When true, indicates a default value should be used.

Address

Element

0..5

Address information of the guest.

@Type

Integer

0..1

Defines the type of address (e.g. home, business, other). Refer to OpenTravel Code List Communication Location Type (CLT).

AddressLine

Element

0..5

Address lines for the guest.

CityName

Element

0..1

City of residence.

PostalCode

Element

0..1

Postal code.

StateProv

Element

0..1

State or province name.

@StateCode

String

0..1

The standard code or abbreviation for the state, province, or region.

CompanyName

Element

0..1

Identifies a company.

@Code

String

0..1

ISO 3166 code for a country.

CountryName

Element

0..1

Country name (maximum 64 characters).

@Code

String

0..1

ISO 3166 code for a country.

AddresseeName

Element

0..1

Name of the person to whom this address relates.

@Language

String

0..1

The language code for which the name data is represented.

@NameType

Integer

0..1

Former, Nickname, Alternate, etc. Please refer to OpenTravel Code List Name Type (NAM).

NamePrefix

Element

0..1

Salutation of honorific (e.g. Mr., Mrs., Ms., Miss, Dr.)

GivenName

Element

0..5

Given name, first name or names.

MiddleName

Element

0..3

The middle name of the person name.

Surname

Element

1

Family or last name.

NameSuffix

Element

0..3

Name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.)

NameTitle

Element

0..5

Degree or honours (e.g., Ph.D., M.D.)

RelatedTraveler

Element

0..n

Identifies a traveler associated with the customer.

@Relation

String

0..1

Indicates the type of relationship with the person in the profile, such as Spouse, Child, Family, Business Associate, Interest Group, Medical, Security, Other, etc.

@BirthDate

Date

0..1

The related traveler’s birthday information.

@UniqueID

Integer

0..1

Unique identifier of the reservation in the system which sent the message.

@Type

Integer

1

@ID

Integer

1

A unique identifying value is 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.

@ID_Context

String

0..1

Used to identify the source of the identifier.

PersonName

Element

0..1

Contains the name information for the guest.

@NameType

String

0..1

The language code for which the name data is represented.

@Language

String

0..1

Former, Nickname, Alternate, etc. Please refer to OpenTravel Code List Name Type (NAM).

NamePrefix

Element

0..3

Salutation of honorific (e.g. Mr., Mrs., Ms., Miss, Dr.)

GivenName

Element

0..5

Given name, first name or names.

MiddleName

Element

0..3

The middle name of the person name.

Surname

Element

1

Family or last name.

NameSuffix

Element

0..3

Name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.)

NameTitle

Element

0..5

Degree or honours (e.g., Ph.D., M.D.)

CustLoyalty

Element

0..25

Loyalty program information for the customer.

@ProgramID

String

0..1

The ProgramID attribute can be used to indicate the program that is being passed. For instance, we could use it to pass: Frequent Guest, Frequent Traveller and Company ID.

@MembershipID

Integer

0..1

The membershipID attribute will indicate the actual number.

@LoyalLevel

String

0..1

Indicates special privileges in the program assigned to an individual.

@LoyalLevelCode

Integer

0..1

Provides a numeric code assigned to a particular loyalty level.

@SignupDate

Date

0..1

Indicates the starting date of the program.

@EffectiveDate

Date

0..1

Indicates the expiration date of the program.

@ExpireDate

Date

0..1

Indicates the customer’s sign-up date.

@Remark

String

0..1

A remark associated with the customer's loyalty program.

CompanyInfo

Element

0..1

Detailed information about a company.

CompanyName

Element

0..1

Identifies a company by name.

@Code

String

0..1

Identifies a company by the company code.

AddressInfo

Element

0..5

@Type

Integer

0..1

Defines the type of address (e.g. home, business, other). Refer to OpenTravel Code List Communication Location Type (CLT).

AddressLine

Element

0..5

These lines will contain free-form address details.

CityName

Element

0..1

City (e.g., Dublin), town, or postal station.

StateProv

Element

0..1

State, province, or region name.

@StateCode

String

0..1

The standard code or abbreviation for the state, province, or region.

PostalCode

String

0..1

Post Office Code number.

CountryName

String

0..1

Country name (e.g., Ireland).

@Code

Integer

0..1

ISO 3166 code for a country.

TelephoneInfo

Element

0..n

Information on a telephone number for the company.

@PhoneLocationType

Integer

0..1

Describes the location of the phone, such as Home, Office, Property Reservation Office, etc. Refer to OpenTravel Code List Phone Location Type (PLT).

@PhoneTechType

Integer

0..1

@CountryAccessCode

Integer

0..1

Code assigned by telecommunications authorities for international country access identifier.

@AreaCityCode

Integer

0..1

Code assigned for telephones in a specific region, city, or area.

@PhoneNumber

Integer

1

Telephone number assigned to a single location.

@FormattedInd

Boolean

0..1

Specifies if the associated data is formatted or not. When true, then it is formatted; when false, then not formatted.

@DefaultInd

Boolean

0..1

When true, indicates a default value should be used.

@Remark

String

0..1

A remark associated with the telephone number.

Email

Element

0..5

Information on an email address for the company.

@EmailType

Integer

0..1

Defines the purpose of the e-mail address (e.g. personal, business, listserve). Refer to OpenTravel Code List Email Address Type (EAT).

@DefaultInd

Boolean

0..1

When true, indicates a default value should be used.

ContactPerson

Element

0..n

Information on a contact person for the company. Name of an individual and appropriate contact information. May be contact information for the customer or someone affiliated with the customer.

PersonName

Element

0..1

@Language

String

0..1

The language code for which the name data is represented.

@NameType

Integer

0..1

Former, Nickname, Alternate, etc. Please refer to OpenTravel Code List Name Type (NAM).

NamePrefix

Element

0..3

Salutation of honorific (e.g. Mr., Mrs., Ms., Miss, Dr.)

GivenName

Element

0.5

Given name, first name or names.

MiddleName

Element

0..3

The middle name of the person name.

Surname

Element

1

Family or last name.

NameSuffix

Element

0..3

Name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.)

NameTitle

Element

0..5

Degree or honours (e.g., Ph.D., M.D.)

Telephone

Element

0..5

Information on a telephone number for the customer.

@PhoneLocationType

Integer

0..1

Describes the location of the phone, such as Home, Office, Property Reservation Office, etc. Refer to OpenTravel Code List Phone Location Type (PLT).

@PhoneTechType

Integer

0..1

@CountryAccessCode

Integer

0..1

Code assigned by telecommunications authorities for international country access identifier.

@AreaCityCode

Integer

0..1

Code assigned for telephones in a specific region, city, or area.

@PhoneNumber

Integer

1

Telephone number assigned to a single location.

@FormattedInd

Boolean

0..1

Specifies if the associated data is formatted or not. When true, then it is formatted; when false, then not formatted.

@DefaultInd

Boolean

0..1

When true, indicates a default value should be used.

@Remark

String

0..1

A remark associated with the telephone number.

Address

Element

0..5

Detailed information on an address for the contact person for the company.

@Type

Integer

0..1

Defines the type of address (e.g. home, business, other). Refer to OpenTravel Code List Communication Location Type (CLT).

AddressLine

String

0..5

These lines will contain free-form address details.

CityName

String

0..1

City (e.g., Dublin), town, or postal station.

StateProv

String

0..1

State, province, or region name.

@StateCode

String

0..1

The standard code or abbreviation for the state, province, or region.

PostalCode

Element

0..1

Post Office Code number.

CountryName

Element

0..1

Country name (e.g., Ireland).

@Code

Integer

0..1

ISO 3166 code for a country.

Email

Element

0..5

Information on an email address for the contact person for the company.

@EmailType

Integer

0..1

Defines the purpose of the e-mail address (e.g. personal, business, listserve). Refer to OpenTravel Code List Email Address Type (EAT).

@DefaultInd

Boolean

0..1

When true, indicates a default value should be used.

SpecialRequests

Element

0..1

SpecialRequest

Element

1..n

The SpecialRequest object indicates special requests for a particular guest, service or reservation.

@RequestCode

String

0..1

This identifies a special request for this reservation and is typically hotel-specific.

@CodeContext

String

0..1

Identifies the source authority for the RequestCode.

Text

Element

0..1

Provides more information about the request code or describes requests that are yet uncoded.

Comments

Element

0..1

Comment section relating to the ResGuest.

Comment

Element

1

Comment details.

@Name

String

0..1

Allows types of Comments to be differentiated.

@GuestViewable

Boolean

1

This indicates that the comment can be seen by the guest and is necessary when two different types of comments are passed: one which is guest-viewable and one that isn’t.

Text

Element

1

Textual description of Comments.

ServiceRPHs

Element

0..1

ServiceRPH

Element

1..n

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

@RPH

Integer

1

Services ID

ArrivalTransport

Element

0..1

Contains information about the arrival transportation for a guest

TransportInfo

Element

1..n

Indicates transportation information for a guest.

@Type

String

0..1

Method of conveyance of this guest. Values: Air, Rail, Bus, Boat, Private Auto, Other.

@ID

String

0..1

Identifier of this transportation method (e.g., flight number).

@Time

DateTime

0..1

Time of transportation. The local time of the location, indicated by the LocationCode.

DepartureTransport

Element

0..1

Contains information about the departure transportation for a guest

TransportInfo

Element

1..n

Indicates transportation information for a guest.

@Type

String

0..1

Method of conveyance of this guest. Values: Air, Rail, Bus, Boat, Private Auto, Other.

@ID

String

0..1

Identifier of this transportation method (e.g., flight number).

@Time

DateTime

0..1

Time of transportation. The local time of the location, indicated by the LocationCode.

ResGlobalInfo

<ResGlobalInfo>
	<HotelReservationIDs>
		<HotelReservationID ResID_Type="14" ResID_Value="123456789"/>
	</HotelReservationIDs>
	<!-- ... other elements and attributes have been omitted for brevity ... -->
</ResGlobalInfo>
Element / @Attribute
Type
M
Description

ResGlobalInfo

Element

1

Contains global information about the reservation.

HotelReservationIDs

Element

0..1

Contains the HotelReservationID.

HotelReservationID

Element

1

Reference number/string or PNR as supplied by the booking channel.

@ResID_Type

String

1

Must be set to 14 (Travel Agent PNR).

@ResID_Value

String

1

Actual reference number/string supplied by the booking channel (maximum 64 characters).

Guarantee (Reservation Level)

<Guarantee GuaranteeCode="COMBINED_GUARANTEE" GuaranteeType="DepositRequired">
	<GuaranteesAccepted>
		<GuaranteeAccepted PaymentTransactionTypeCode="charge">
			<PaymentCard CardCode="VI" EffectiveDate="0717" ExpireDate="0720">
				<CardHolderName>Leonard Woolf</CardHolderName>
				<CardNumber Mask="4021XXXXXXXX8995" Token="0087254835699221" TokenProviderID="VTS"></CardNumber>
			</PaymentCard>
		</GuaranteeAccepted>
		<GuaranteeAccepted PaymentTransactionTypeCode="charge">
			<Voucher SeriesCode="4555"/>
		</GuaranteeAccepted>
		<GuaranteeAccepted PaymentTransactionTypeCode="charge">
			<DirectBill DirectBill_ID="4981003"/>
		</GuaranteeAccepted>
	</GuaranteesAccepted>
	<GuaranteeDescription>
		<Text>Combined Guarantees Accepted (Platinum Membership)</Text>
	</GuaranteeDescription>
</Guarantee>
Element / @Attribute
Type
M
Description

Guarantee

Element

0..1

Guarantee provided with the reservation. Used if no deposit is paid for the reservation.

@GuaranteeCode

String

0..1

Guarantee Code

@GuaranteeType

String

0..1

An enumerated type defining the guarantee to be applied to this reservation.

Value: CC/DC/Voucher Deposit DepositRequired GuaranteeRequired None PrePay Profile

GuaranteesAccepted

Element

0..1

Contains the details of accepted guarantees.

GuaranteeAccepted

Element

1..n

Specific details of the accepted guarantee.

@PaymentTransactionTypeCode

String

0..1

This is used to indicate either a charge, reserve (deposit) or refund.

charge: This indicates that an actual payment has been made.

refund: This indicates that the payment amount of this PaymentDetail element is for a refund.

reserve: This indicates that a hold for the indicated amount has been placed on a credit card or that a cash amount has been taken from the customer to guarantee final payment.

PaymentCard

Element

0..1

Details of the payment card used for the guarantee.

@CardType

String

0..1

Must be set to 1 (Credit Card).

@CardCode

String

0..1

@EffectiveDate

String

0..1

Indicates the starting date (format MMyy).

@ExpireDate

String

0..1

Expiry date of the credit card (format MMyy).

CardHolderName

Element

0..1

Name of the cardholder.

CardNumber

Integer

0..1

Secure information that supports PCI tokens, data masking and other encryption methods.

@Mask

String

0..1

Masked data.

@Token

Integer

0..1

Tokenized information.

@TokenProviderID

String

0..1

Provider ID.

Voucher

Element

0..1

Details of a paper or electronic document indicating prepayment.

@SeriesCode

Integer

0..1

Identification of a series of coupons or vouchers identified by serial number(s).

DirectBill

Element

0..1

Details of a direct billing arrangement.

@DirectBill_ID

Integer

0..1

Identifier for the organization to be billed directly for travel services.

DepositPayments

<DepositPayments>
	<GuaranteePayment>
		<AcceptedPayments>
			<AcceptedPayment>
				<PaymentCard CardType="1" CardCode="MC" CardNumber="4321432143214321" SeriesCode="123" ExpireDate="1234">
					<CardHolderName>John Smith</CardHolderName>
				</PaymentCard>
			</AcceptedPayment>
		</AcceptedPayments>
		<AmountPercent Amount="90.00" CurrencyCode="EUR"/>
	</GuaranteePayment>
</DepositPayments>
Element / @Attribute
Type
M
Description

DepositPayments

Element

0..1

Deposit provided with the reservation.

GuaranteePayment

Element

1

Contains details of the payment guarantee for the reservation.

AcceptedPayments

Element

0..1

Contains the accepted payment methods.

AcceptedPayment

Element

1

Specific payment method accepted.

PaymentCard

Element

1

Details of the payment card used for the guarantee.

@CardType

String

0..1

Must be set to 1 (Credit Card).

@CardCode

String

1

@CardNumber

String

0..1

Actual credit card number.

@SeriesCode

String

0..1

@ExpireDate

String

0..1

Expiry date of the credit card (format MMyy).

CardHolderName

Element

0..1

Name of the cardholder.

ThreeDomainSecurity

Element

0..1

Contains 3DS (Three Domain Security) transaction details.

Results

Element

1

Transaction results.

@ThreeDSVersion

Element

1

3DS version used for authentication.

@XID

String

0..1

Transaction identifier resulting from authentication processing.

When ThreeDSVersion = 1.x.x the transaction identifier MUST be provided in the @XID attribute.

@DSTransactionID

String

0..1

Unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.

When ThreeDSVersion = 2.x.x the transaction identifier MUST be provided in the @DSTransactionID attribute.

@CAVV

String

0..1

Cardholder Authentication Verification Value (CAVV); Authentication Verification Value (AVV); Universal Cardholder Authentication Field (UCAF)

@ECI

String

1

@PAResStatus

String

0..1

@SignatureVerification

String

0..1

@Enrolled

String

0..1

TPA_Extensions

Element

0..1

Additional elements for the transaction.

VirtualCreditCard

Element

1

Denotes that the payment card is a virtual credit card.

@isVCC

Boolean

1

Must be set to true.

@VCCActivationDate

Date

0..1

Date from when the card can be charged.

@VCCDeactivationDate

Date

0..1

Date from when the card is no longer chargeable.

@VCCCurrentBalance

Decimal

0..1

Total amount that can be charged to the card. If the reservation is modified or canceled, an updated balance should be sent indicating the new total amount that can be charged to the card. If the amount changes to 0 as a result of cancellation, the cancellation should be sent with a 0 balance.

@VCCCurrencyCode

String

0..1

Must be included if there is @VCCCurrentBalance. Use ISO 4217 currency codes.

AmountPercent

Element

1

Mandatory when something is passed in the DepositPayment element.

@Amount

Decimal

1

Amount charged as deposit.

@CurrencyCode

String

1

Use ISO 4217 currency codes.

Total

<Total CurrencyCode="EUR" AmountBeforeTax="558.00" AmountAfterTax="620.00">
	<Taxes>
		<Tax Type="inclusive" Code="35" Amount="62.00" CurrencyCode="EUR"/>
	</Taxes>
	<TPA_Extensions>
		<Total includesCommission="true"/>
	</TPA_Extensions>
</Total>
Element / @Attribute
Type
M
Description

Total

Element

1

Total amount for the reservation. This includes all RoomStays and any additional fees or charges that apply.

@CurrencyCode

String

1

Use ISO 4217 currency codes.

@AmountBeforeTax

Decimal

0..1

At least one of AmountAfterTax or AmountBeforeTax must be set.

@AmountAfterTax

Decimal

0..1

At least one of AmountAfterTax or AmountBeforeTax must be set.

Taxes

Element

0..1

Contains details of the taxes applied.

Tax

Element

1

Contains specific tax information.

@Type

String

0..1

Indicates whether the tax is:

inclusive

exclusive

cumulative

@Code

String

0..1

@Amount

Decimal

0..1

Tax amount applied.

@CurrencyCode

String

0..1

Use ISO 4217 currency codes.

TPA_Extensions

Element

0..1

Indicates if the reservation is using the Net amount or Gross amount. Required if the booking channel uses the Commission Percentage feature.

Total

Element

1

Contains the includesCommission information.

@includesCommission

Boolean

1

false uses Net Amount.

true uses Gross Amount.

When includesCommission is set, all RoomRate and RoomStay level totals will be considered as Net or Gross amounts based on this value.

HotelReservationIDs

<HotelReservationIDs>
	<HotelReservationID ResID_Type="10" ResID_Value="BDC3685170919" ResID_Source="TESTPMS_GRHP6597"/>
</HotelReservationIDs>
Element / @Attribute
Type
M
Description

HotelReservationIDs

Element

0..1

A Collection of HotelReservationID objects for a given reservation.

HotelReservationID

Element

0..n

The HotelReservationID object contains various unique (ReservationID) and non unique (ConfirmationID, CancellationID) identifiers that the trading partners associate with a given reservation.

@ResID_Type

Integer

1

@ResID_Value

String

1

This is the actual value associated with ResID_Type

@ResID_Source

String

0..1

A unique identifier to indicate the source system which generated the ResID_Value.

Profiles

<Profiles>
	<ProfileInfo>
		<UniqueID Type="1" ID="8943112" ID_Context="PROPERTY"/>
		<Profile ProfileType="1" ShareAllOptOutInd="true" ShareAllMarketInd="false">
			<Customer VIP_Indicator="true" CustomerValue="Platinum" BirthDate="1966-07-16">
				<PersonName NameType="2" Language="en">
					<NamePrefix>Mrs.</NamePrefix>
					<GivenName>Ginny</GivenName>
					<MiddleName>Adeline</MiddleName>
					<Surname>Woolf</Surname>
					<NameSuffix>Jr.</NameSuffix>
					<NameTitle>Ph.D.</NameTitle>
				</PersonName>
				<Telephone PhoneLocationType="10" PhoneTechType="5" CountryAccessCode="61" AreaCityCode="4" PhoneNumber="13855956" Remark="Active" FormattedInd="false" DefaultInd="true"/>
				<Email DefaultInd="true" EmailType="1">Virginia.Woolf@hotmail.com</Email>
				<Address Type="2">
					<AddressLine>125 Pitt Street</AddressLine>
					<CityName>Sydney</CityName>
					<PostalCode>2000</PostalCode>
					<StateProv StateCode="NSW">New South Wales</StateProv>
					<CountryName Code="AU">Australia</CountryName>
					<CompanyName Code="DLW">Dalloway</CompanyName>
					<AddresseeName NameType="2" Language="en">
						<NamePrefix>Mrs.</NamePrefix>
						<GivenName>Ginny</GivenName>
						<MiddleName>Adeline</MiddleName>
						<Surname>Woolf</Surname>
						<NameSuffix>Jr.</NameSuffix>
						<NameTitle>Ph.D.</NameTitle>
					</AddresseeName>
				</Address>
				<RelatedTraveler Relation="Security" BirthDate="1958-12-01">
					<UniqueID Type="1" ID="8943125" ID_Context="Platinum_Member"/>
					<PersonName NameType="2" Language="en">
						<NamePrefix>Mr.</NamePrefix>
						<GivenName>Charles</GivenName>
						<MiddleName>Hank</MiddleName>
						<Surname>Bukowski</Surname>
						<NameSuffix>Sr.</NameSuffix>
						<NameTitle>D.Lett.</NameTitle>
					</PersonName>
				</RelatedTraveler>
				<CustLoyalty ProgramID="PLATINUM5+5" MembershipID="8943112" LoyalLevel="VIP" LoyalLevelCode="10" SignupDate="2014-08-08" EffectiveDate="2014-08-08" ExpireDate="2024-08-08" Remark="5+5 DEAL (Sign up for 5 years of Platinum membership, get another 5 years for free)"/>
			</Customer>
			<CompanyInfo>
				<CompanyName Code="DLW">Dalloway</CompanyName>
				<AddressInfo Type="2">
					<AddressLine>88 Pall Mall</AddressLine>
					<CityName>London</CityName>
					<PostalCode>SW1Y 5ER</PostalCode>
					<StateProv StateCode="ENG">England</StateProv>
					<CountryName Code="UK">United Kingdom</CountryName>
				</AddressInfo>
				<TelephoneInfo PhoneLocationType="9" PhoneTechType="1" CountryAccessCode="44" AreaCityCode="20" PhoneNumber="23983039" Remark="Only active during business hours: 8AM-8PM BST" FormattedInd="false" DefaultInd="true"/>
				<Email DefaultInd="true" EmailType="2">info@dalloway.co.uk</Email>
				<ContactPerson>
					<PersonName NameType="3" Language="en-UK">
						<NamePrefix>Mr.</NamePrefix>
						<GivenName>Warren</GivenName>
						<MiddleName>Glass</MiddleName>
						<Surname>Smith</Surname>
						<NameSuffix>II</NameSuffix>
						<NameTitle>M.D.</NameTitle>
					</PersonName>
					<Telephone PhoneLocationType="10" PhoneTechType="5" CountryAccessCode="44" AreaCityCode="20" PhoneNumber="28596654" Remark="Active" FormattedInd="false" DefaultInd="true"/>
					<Address Type="2">
						<AddressLine>88 Pall Mall</AddressLine>
						<CityName>London</CityName>
						<PostalCode>SW1Y 5ER</PostalCode>
						<StateProv StateCode="ENG">England</StateProv>
						<CountryName Code="UK">United Kingdom</CountryName>
					</Address>
					<Email DefaultInd="true" EmailType="2">Phillip.Glass-Smith@dalloway.co.uk</Email>
				</ContactPerson>
			</CompanyInfo>
		</Profile>
	</ProfileInfo>
</Profiles>
Element / @Attribute
Type
M
Description

Profiles

Element

0..1

ProfileInfo

Element

1..n

UniqueID

Element

0..9

A unique ID for a profile. This element can repeat to accommodate multiple unique IDs for a single profile across multiple systems.

@Type

Integer

1

@ID

Integer

1

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.

@ID_Context

String

0..1

Used to identify the source of the identifier.

Profile

Element

1

Provides detailed information regarding either a company or a customer profile.

@ProfileType

Integer

1

@ShareAllOptOutInd

Boolean

1

When 'true', a customer has explicitly opted out of marketing communication. This is used in combination with the ShareAllMarketInd and only one of these attributes should have a value of 'true'.

@ShareAllMarketInd

Boolean

1

Permission for sharing all data in profile for marketing purposes. A 'true' value indicates that the customer has chosen to opt-in to marketing communication. This is used in combination with the ShareAllOptOutInd and only one of these attributes should have a value of 'true'.

Customer

Element

1

Detailed customer information for this profile.

@VIP_Indicator

Boolean

0..1

If true, indicates a very important person.

@CustomerValue

String

0..1

The supplier's ranking of the customer (e.g., VIP, numerical ranking).

@BirthDate

DateTime

0..1

The customer’s birthday information.

PersonName

Element

0..1

Detailed name information for the customer.

@Language

String

0..1

The language code for which the name data is represented.

@NameType

Integer

0..1

Former, Nickname, Alternate, etc. Please refer to OpenTravel Code List Name Type (NAM).

NamePrefix

Element

0..3

Salutation of honorific (e.g. Mr., Mrs., Ms., Miss, Dr.)

GivenName

Element

0..5

Given name, first name or names.

MiddleName

Element

0..3

The middle name of the person name.

Surname

Element

1

Family or last name.

NameSuffix

Element

0..3

Name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.)

NameTitle

Element

0..5

Degree or honours (e.g., Ph.D., M.D.)

Telephone

Element

0..5

Information on a telephone number for the customer.

@PhoneLocationType

Integer

0..1

Describes the location of the phone, such as Home, Office, Property Reservation Office, etc. Refer to OpenTravel Code List Phone Location Type (PLT).

@PhoneTechType

Integer

0..1

@PhoneNumber

String

1

Telephone number assigned to a single location.

@CountryAccessCode

Integer

0..1

Code assigned by telecommunications authorities for international country access identifier.

@AreaCityCode

Integer

0..1

Code assigned for telephones in a specific region, city, or area.

@FormattedInd

Boolean

0..1

Specifies if the associated data is formatted or not. When true, then it is formatted; when false, then not formatted.

@DefaultInd

Boolean

0..1

When true, indicates a default value should be used.

@Remark

String

0..1

A remark associated with the telephone number.

Email

Element

0..5

Information on an email address for the customer.

@EmailType

Integer

0..1

@DefaultInd

Boolean

0..1

When true, indicates a default value should be used.

Address

Element

0..5

Detailed information on an address for the customer.

@Type

Integer

0..1

Defines the type of address (e.g. home, business, other). Refer to OpenTravel Code List Communication Location Type (CLT).

AddressLine

Element

0..5

These lines will contain free form address details.

CityName

Element

0..1

City (e.g., Dublin), town, or postal station.

StateProv

Element

0..1

State, province, or region name.

@StateCode

String

0..1

The standard code or abbreviation for the state, province, or region.

PostalCode

Element

0..1

Post Office Code number.

CountryName

Element

0..1

Country name (e.g., Ireland).

@Code

String

0..1

ISO 3166 code for a country.

Email

Element

0..5

Information on an email address for the contact person for the company.

@EmailType

Integer

0..1

@DefaultInd

Boolean

0..1

When true, indicates a default value should be used.

TotalCommission

<TotalCommissions>
	<UniqueID Type="5" ID="11395LYN"/>
	<CommissionPayableAmount CurrencyCode="AUD" Amount="25.00"/>
	<Comment>
		<Text>Booking agent reservation commission - flat rate.</Text>
	</Comment>
</TotalCommissions>
Element / @Attribute
Type
M
Description

TotalCommissions

Element

0..1

Contains details pertaining to commissions.

UniqueID

Element

0..1

Identifies the recipient of the commission.

@Type

Integer

1

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.

@ID

String

1

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

CommissionPayableAmount

Element

0..1

The amount of commission to be paid.

@CurrencyCode

0..1

An ISO 4217 (3) alpha character code that specifies a monetary unit.

@Amount

0..1

A monetary amount.

Comment

Element

0..1

Text

Element

1

Text related to the commission.

BasicPropertyInfo

<BasicPropertyInfo ChainCode="GLDNRIV" BrandCode="GRH-P" HotelCode="GRHP6597" HotelName="Golden River Hotel - Perth"/>
Element / @Attribute
Type
M
Description

BasicPropertyInfo

Element

1

Property information for the reservation.

@ChainCode

String

0..1

The code that identifies a hotel chain or management group. The hotel chain code is decided between vendors.

@BrandCode

String

0..1

A code that identifies the brand or flag of a hotel, often used for independently owned or franchised properties that are known by a specific brand.

@HotelCode

String

1

The code that uniquely identifies a single hotel property. The hotel code is decided between vendors.

@HotelName

String

0..1

A text field used to communicate the proper name of the hotel.

Response

Examples

<OTA_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="879791900" TimeStamp="2014-01-26T19:31:02-05:00" Version="1.001" ResResponseType="Modified">
   <Success/>
   <HotelReservations>
      <HotelReservation>
         <UniqueID Type="14" ID="3741"/>
      </HotelReservation>
   </HotelReservations>
</OTA_HotelResNotifRS>

Specification

Element / @Attribute
Type
M
Description

OTA_HotelResNotifRS

Element

1

Root element for the response.

@xmlns

String

1

Defines the XML namespace for the request. Will be set to http://www.opentravel.org/OTA/2003/05

@EchoToken

String

1

Unique identifier for the request, used to match requests and responses.

@TimeStamp

DateTime

1

Time when the response was generated.

@Version

String

1

Specifies the API version. Will be set to 1.0.

@ResResponseType

String

0..1

Given that the OTA_HotelResNotifRQ message is used for additions, modifications and cancellations, this attribute is used to replicate whether the original message was an addition, a modification or a cancellation and does not refer to the status of the transaction itself but rather to the nature of the original message. The only three enumerations allowed will therefore be: Committed, Modified and Cancelled. In this case, Committed would be used.

Errors

Element

0..1

Indicates an error occurred during the processing of the request.

Error

Element

1..99

Single error information containing free text.

@Type

Integer

1

Mandatory in OTA. Refers to OpenTravel Alliance EWT list (error warning type).

@Code

Integer

0..1

Refers to OpenTravel Alliance list ERR. Should be used wherever possible.

@RecordID

Integer

0..1

If the receiving system is able to identify within a batch of reservations which reservation failed, the uniqueID of the rejected reservation should be reported here.

Success

Element

1

Mandatory if no Errors were sent. This is the annotation that the reservation batch was received successfully. It could be combined with warning messages if some of the reservations in the batch had issues.

Warnings

Element

0..99

Contains details of the warning returned.

Warning

Element

0..99

Can be used in conjunction with a Success message.

@Type

Integer

1

Refers to OpenTravel Alliance EWT list (error warning type).

@Code

Integer

0..1

Refers to OpenTravel Alliance list ERR. Should be used wherever possible.

@RecordID

Integer

0..1

If the receiving system is able to identify within a batch of reservations which reservation has a warning, the uniqueID of that reservation should be reported here.

HotelReservations

Element

1

Contains details of the reservation made.

HotelReservation

Element

1

Individual hotel reservation information.

@ResStatus

String

0..1

Indicates the current status of the reservation. Valid values are dependent on the roles:

Reserved

Waitlisted

In-house

Checked-Out

UniqueID

Element

1

Unique identifier for the reservation.

@Type

String

0..1

@ID

String

1

Actual confirmation number.

HotelReservationIDs

Element

1

HotelReservationID

Element

1

This is the confirmation number associated by the system that received the booking.

@ResID_Type

Integer

1

@ResID_Value

String

1

ResID_Value is the actual confirmation number.

@ResID_Source

String

0..1

A unique identifier to indicate the source system that generated the ResID_Value.

@ForGuest

Integer

0..1

When 1, the confirmation number is given to the guest. This number should be searchable by the destination.

Last updated