Reservation XML structure
<HotelReservation>
is used on these interfaces:
Please note that for pushed reservations, the credit card details are not included by default. If the partner is PCI/DSS compliant and can provide a valid AOC, and if there are more than 25 properties connected, the secure transfer of credit card details can be activated. |
Example request and response
<HotelReservation ResStatus="Book" OriginalDeliveryMethodCode="11" RoomStayReservation="1" WalkInIndicator="0" CreateDateTime="2015-11-12T18:06:39+01:00" LastModifyDateTime="2016-12-09T18:06:40+01:00">
<POS>
<Source>
<RequestorID ID="ONLINEBOOKINGSYSTEMIDENTIFIER" Type="22" />
<BookingChannel Type="7">
<CompanyName>ONLINEBOOKINGSYSTEMNAME</CompanyName>
</BookingChannel>
</Source>
</POS>
<RoomStays>
<RoomStay IndexNumber="1" RoomStayStatus="Book">
<RoomTypes>
<RoomType RoomID="ROOMID" IsRoom="1">
<RoomDescription Name="Double Room with lake view"/>
</RoomType>
</RoomTypes>
<RatePlans>
<RatePlan RatePlanID="FIRSTRATEPLANID">
<MealsIncluded MealPlanIndicator="1" MealPlanCodes="4.MPT"/>
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate EffectiveDate="2015-11-20" ExpireDate="2015-11-22" RatePlanID="FIRSTRATEPLANID">
<Rates>
<Rate EffectiveDate="2015-11-20" ExpireDate="2015-11-20">
<Base CurrencyCode="CHF" AmountBeforeTax="150.00" AmountAfterTax="162.00"/>
<Total CurrencyCode="CHF" AmountBeforeTax="150.00" AmountAfterTax="162.00"/>
</Rate>
<Rate EffectiveDate="2015-11-21" ExpireDate="2015-11-21">
<Base CurrencyCode="CHF" AmountBeforeTax="150.00" AmountAfterTax="162.00"/>
<Total CurrencyCode="CHF" AmountBeforeTax="150.00" AmountAfterTax="162.00"/>
</Rate>
</Rates>
<RoomRateDescription>
<Text>Best Available Rate</Text>
</RoomRateDescription>
<ServiceRPHs>
<ServiceRPH RPH="1" />
</ServiceRPHs>
</RoomRate>
<RoomRate EffectiveDate="2015-11-22" ExpireDate="2015-11-23" RatePlanID="OTHERRATEPLANID">
<Rates>
<Rate EffectiveDate="2015-11-22" ExpireDate="2015-11-22">
<Base CurrencyCode="CHF" AmountBeforeTax="155.00" AmountAfterTax="167.00"/>
<Total CurrencyCode="CHF" AmountBeforeTax="155.00" AmountAfterTax="167.00"/>
</Rate>
</Rates>
<RoomRateDescription>
<Text>Best Available Rate High</Text>
</RoomRateDescription>
<ServiceRPHs>
<ServiceRPH RPH="1" />
</ServiceRPHs>
</RoomRate>
<RoomRate EffectiveDate="2015-11-23" ExpireDate="2015-11-24" RatePlanID="FIRSTRATEPLANID">
<Rates>
<Rate EffectiveDate="2015-11-23" ExpireDate="2015-11-23">
<Base CurrencyCode="CHF" AmountBeforeTax="150.00" AmountAfterTax="162.00"/>
<Total CurrencyCode="CHF" AmountBeforeTax="150.00" AmountAfterTax="162.00"/>
</Rate>
</Rates>
<RoomRateDescription>
<Text>Best Available Rate</Text>
</RoomRateDescription>
</RoomRate>
</RoomRates>
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
<TimeSpan Start="2015-11-20" End="2015-11-24" />
<CancelPenalties>
<CancelPenalty>
<Deadline AbsoluteDeadline="2015-11-18T00:00:00+01:00"/>
<AmountPercent FeesInclusive="1" Amount="162.00" CurrencyCode="CHF"/>
<PenaltyDescription Name="free cancellation 48 hours"/>
</CancelPenalty>
</CancelPenalties>
<Total CurrencyCode="CHF" AmountBeforeTax="605.00" AmountAfterTax="653.00"/>
<BasicPropertyInfo HotelCode="HOTELSPIDERHOTELCODE" HotelName="HOTELNAME" CurrencyCode="CHF"/>
<ResGuestRPHs>1</ResGuestRPHs>
</RoomStay>
<RoomStay IndexNumber="2" RoomStayStatus="Book">
<RoomTypes>
<RoomType RoomID="SECONDROOMID" IsRoom="1">
<RoomDescription Name="Double Room"/>
</RoomType>
</RoomTypes>
<RatePlans>
<RatePlan RatePlanID="FIRSTRATEPLANID">
<MealsIncluded MealPlanIndicator="1" MealPlanCodes="4.MPT"/>
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate EffectiveDate="2015-11-20" ExpireDate="2015-11-24" RatePlanID="FIRSTRATEPLANID">
<Rates>
<Rate EffectiveDate="2015-11-20" ExpireDate="2015-11-20">
<Base CurrencyCode="CHF" AmountBeforeTax="132.00" AmountAfterTax="143.00"/>
<Total CurrencyCode="CHF" AmountBeforeTax="132.00" AmountAfterTax="143.00"/>
</Rate>
<Rate EffectiveDate="2015-11-21" ExpireDate="2015-11-21">
<Base CurrencyCode="CHF" AmountBeforeTax="132.00" AmountAfterTax="143.00"/>
<Total CurrencyCode="CHF" AmountBeforeTax="132.00" AmountAfterTax="143.00"/>
</Rate>
<Rate EffectiveDate="2015-11-22" ExpireDate="2015-11-22">
<Base CurrencyCode="CHF" AmountBeforeTax="132.00" AmountAfterTax="143.00"/>
<Total CurrencyCode="CHF" AmountBeforeTax="132.00" AmountAfterTax="143.00"/>
</Rate>
<Rate EffectiveDate="2015-11-23" ExpireDate="2015-11-23">
<Base CurrencyCode="CHF" AmountBeforeTax="132.00" AmountAfterTax="143.00"/>
<Total CurrencyCode="CHF" AmountBeforeTax="132.00" AmountAfterTax="143.00"/>
</Rate>
</Rates>
<RoomRateDescription>
<Text>Best Available Rate</Text>
</RoomRateDescription>
<ServiceRPHs>
<ServiceRPH RPH="1" />
</ServiceRPHs>
</RoomRate>
</RoomRates>
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
<TimeSpan Start="2015-11-20" End="2015-11-24" />
<CancelPenalties>
<CancelPenalty>
<Deadline AbsoluteDeadline="2015-11-18T00:00:00+01:00"/>
<AmountPercent FeesInclusive="1" Amount="143.00" CurrencyCode="CHF"/>
<PenaltyDescription Name="free cancellation 48 hours"/>
</CancelPenalty>
</CancelPenalties>
<DepositPayments>
<GuaranteePayment GuaranteeType="PrePay" Type="RequiredPayment">
<AcceptedPayments>
<AcceptedPayment>
<PaymentCard CardCode="VI" ExpireDate="0917">
<CardHolderName>Dr WhoWho II</CardHolderName>
<CardNumber Mask="xxxxxxxxxxxx4971">
<PlainText>4970497049704971</PlainText>
</CardNumber>
</PaymentCard>
</AcceptedPayment>
</AcceptedPayments>
<AmountPercent ApplyAs="FirstAndLastNightDeposit" Percent="10" Amount="5.9000" CurrencyCode="EUR"/>
<Description AdditionalDetailCode="6">
<Text>This is a test DepositPayment on the RoomStay level</Text>
</Description>
</GuaranteePayment>
</DepositPayments>
<Discount Type="26" AdditionalFeesExcludedIndicator="1" AmountIncludingMarkup="1" TaxInclusive="1" DiscountCode="VACANCES2016" DecimalPlaces="2" CurrencyCode="EUR" Percent="5" AmountAfterTax="5.50">
<DiscountReason>
<Text>This guest is very special and deserves a discount</Text>
</DiscountReason>
</Discount>
<Total CurrencyCode="CHF" AmountBeforeTax="528.00" AmountAfterTax="572.00"/>
<BasicPropertyInfo HotelCode="HOTELSPIDERHOTELCODE" HotelName="HOTELNAME" CurrencyCode="CHF"/>
<ResGuestRPHs>2</ResGuestRPHs>
</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>
<ResGuests>
<ResGuest ResGuestRPH="1">
<Profiles>
<ProfileInfo>
<Profile ProfileType="1">
<Customer MaritalStatus="Unknown" Gender="Unknown">
<PersonName>
<GivenName>James</GivenName>
<Surname>Bond</Surname>
</PersonName>
<Email>jamesbond@secretmail.ch</Email>
<Address>
<StreetNmbr>2</StreetNmbr>
<AddressLine>Bahnhofstrasse</AddressLine>
<CityName>Zurich</CityName>
<PostalCode>1000</PostalCode>
<County>Zurich</County>
<StateProv>Zurich</StateProv>
<CountryName Code="CH">Switzerland</CountryName>
</Address>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
<ResGuest ResGuestRPH="2">
<Profiles>
<ProfileInfo>
<Profile ProfileType="1">
<Customer MaritalStatus="Unknown" Gender="Unknown">
<PersonName>
<GivenName>Money</GivenName>
<Surname>Penny</Surname>
</PersonName>
<Email>moneypenny@secretmail.ch</Email>
<Address>
<StreetNmbr>2</StreetNmbr>
<AddressLine>Bahnhofstrasse</AddressLine>
<CityName>Zurich</CityName>
<PostalCode>1000</PostalCode>
<County>Zurich</County>
<StateProv>Zurich</StateProv>
<CountryName Code="CH">Switzerland</CountryName>
</Address>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
</ResGuests>
<ResGlobalInfo>
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="2"/>
</GuestCounts>
<TimeSpan Start="2015-11-20" End="2015-11-24" Duration="P4D"/>
<Comments>
<Comment>
<Text>They are on a secret mission</Text>
</Comment>
</Comments>
<Guarantee GuaranteeType="CC/DC/Voucher">
<GuaranteesAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="MC" ExpireDate="0717">
<CardHolderName>Gareth Mallory</CardHolderName>
<CardNumber Mask="xxxxxxxxxxxx1111">
<PlainText>4111111111111111</PlainText>
</CardNumber>
<SeriesCode>
<PlainText>123</PlainText>
</SeriesCode>
</PaymentCard>
</GuaranteeAccepted>
</GuaranteesAccepted>
</Guarantee>
<DepositPayments>
<GuaranteePayment GuaranteeType="PrePay" Type="RequiredPayment">
<AcceptedPayments>
<AcceptedPayment>
<PaymentCard CardCode="VI" ExpireDate="0917">
<CardHolderName>Dr WhoWho</CardHolderName>
<CardNumber Mask="xxxxxxxxxxxx4970">
<PlainText>4970497049704970</PlainText>
</CardNumber>
<SeriesCode>
<PlainText>123</PlainText>
</SeriesCode>
</PaymentCard>
</AcceptedPayment>
</AcceptedPayments>
<AmountPercent ApplyAs="FirstNightPayment" Percent="5" Amount="5.0000" CurrencyCode="EUR"/>
<Description AdditionalDetailCode="6">
<Text>Payment via Booking.com (Payout type: Booking virtual credit card)</Text>
</Description>
</GuaranteePayment>
</DepositPayments>
<Total CurrencyCode="CHF" AmountBeforeTax="1133.00" AmountAfterTax="1225.00"/>
<HotelReservationIDs>
<HotelReservationID ResID_Source="ONLINEBOOKINGSYSTEMID" ResID_SourceContext="ONLINEBOOKINGSYSTEMNAME" ResID_Type="14" ResID_Value="ABCD-668591"/>
</HotelReservationIDs>
<Profiles>
<ProfileInfo>
<Profile ProfileType="1">
<Customer MaritalStatus="Unknown" Gender="Unknown">
<PersonName>
<GivenName>Gareth</GivenName>
<Surname>Mallory</Surname>
</PersonName>
<Email>garethmallory@secretmail.ch</Email>
<Address>
<StreetNmbr>2</StreetNmbr>
<AddressLine>Bahnhofplatz</AddressLine>
<CityName>Winterthur</CityName>
<PostalCode>4104</PostalCode>
<County>Winterthur</County>
<StateProv>Winterthur</StateProv>
<CountryName Code="CH">Switzerland</CountryName>
</Address>
</Customer>
</Profile>
</ProfileInfo>
<ProfileInfo>
<Profile ProfileType="4">
<CompanyInfo>
<CompanyName>Her Majesty's secret services</CompanyName>
<Email>quartermaster@secretmail.ch</Email>
<AddressInfo>
<StreetNmbr>2</StreetNmbr>
<AddressLine>Bahnhofplatz</AddressLine>
<CityName>Winterthur</CityName>
<PostalCode>4104</PostalCode>
<County>Winterthur</County>
<StateProv>Winterthur</StateProv>
<CountryName Code="CH">Switzerland</CountryName>
</AddressInfo>
</CompanyInfo>
</Profile>
</ProfileInfo>
</Profiles>
<BasicPropertyInfo HotelCode="HOTELSPIDERHOTELCODE" HotelName="Hôtel du Port" CurrencyCode="CHF"/>
</ResGlobalInfo>
</HotelReservation> |
Request structure
HotelReservation
Parent: HotelReservations
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
ResStatus | Yes | Possible values are:
|
OriginalDeliveryMethodCode | No | The default value is "11" . |
RoomStayReservation | No | |
WalkInIndicator | No | The value will be returned in the OTA_HotelResNotifRS response |
CreateDateTime | Yes | The format respects the ISO 8601 format 2015-11-16T22:23:48+00:00 |
LastModifyDateTime | Yes | The format respects the ISO 8601 format 2015-11-16T22:23:48+00:00 |
Child elements: POS, RoomStays, ResGuests, Services, ResGlobalInfo
POS
Parent: HotelReservation
Mandatory: Yes
Attributes: None
Child elements: HotelReservation
Source
Parent: POS
Mandatory: Yes
Attributes: None
Child elements: POS
RequestorID
Parent: Source
Mandatory: Yes
Attributes:
Name | Mandatory | Description |
---|---|---|
ID | Yes | Unique identifier of the source channel. You can retrieve the full list automatically, see Specific call : retrieve channels list |
Type | Yes | Default value is "22" |
Child elements: CompanyName
BookingChannel
Parent: Source
Mandatory: yes
Attributes: None
Child elements: CompanyName
CompanyName
Parent: BookingChannel
Mandatory: Yes
Attributes: None
Value :
Mandatory | Description |
---|---|
Yes | Name of the source channel. You can retrieve the full list automatically, see Specific call : retrieve channels list |
RoomStays
Parent: HotelReservation
Mandatory: yes
Attributes: None
Child elements: RoomStay
RoomStay
Parent: RoomStays
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
IndexNumber | Yes | Unique identifier of this specific room stay. |
RoomStayStatus | Yes | Possible values are:
|
Child elements: RoomTypes, RoomRates, GuestCounts, TimeSpan, CancelPenalties, Total, BasicPropertyInfo, ResGuestRPHs, ServiceRPHs
RoomTypes
Parent: RoomStay
Mandatory: yes
Attributes: None
Child elements: RoomType
RoomType
Parent: RoomTypes
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
RoomID | Yes | The ID of the room |
IsRoom | No | The default value is "1" |
Child elements: RoomDescription
RoomDescription
Parent: RoomType
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
Name | Yes | The name of the room |
Child elements: None
RatePlans
Parent: RoomStay
Mandatory: No
Attributes: None
Child elements: RatePlan
RatePlan
Parent: RatePlans
Mandatory: No
Attributes: None
Child elements: MealsIncluded
MealsIncluded
Parent: RatePlan
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
MealPlanIndicator | Yes | Indicate if there is a mealplan included or not with this rateplan |
MealPlanCodes | No | List of MealPlan codes included separated by spaces. Example : "4.MPT 3.MPT" |
Child elements: None
RoomRates
Parent: RoomStay
Mandatory: yes
Attributes: None
Child elements: RoomRate
RoomRate
Parent: RoomRate
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
EffectiveDate | Yes | The day on which this rate plan was applied for a reservation. The format respects the ISO 8601 2015-11-16 |
ExpireDate | Yes | The day on which this rate plan was applied for a reservation. The format respects the ISO 8601 2015-11-16 |
ExpireDateExclusiveInd | No | In the case of a date span, should the ExpireDate be included (ExpireDateExclusiveInd="0") or excluded (ExpireDateExclusiveInd="1") |
RatePlanID | Yes | The ID of the rate plan |
Child elements: Rates, RoomRateDescription
In order to avoid any confusion about the exact day rate and for which days they have been applied, the Hotel-Spider can work with the following three scenarios:
|
Rates
Parent: RoomRate
Mandatory: yes
Attributes: None
Child elements: Rate
Rate
Parent: Rates
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
EffectiveDate | Yes | The day on which this rate was applied for a reservation. The format respects the ISO 8601 2015-11-16 |
ExpireDate | Yes | The day on which this rate was applied for a reservation. The format respects the ISO 8601 2015-11-16 |
Child elements: Base, Total
In order to prevent any interpretation issue, exactly one Rate element is present for each night of the stay while RoomRate elements are used to differentiate rate plans. In the example message above, both room stays are for 4 nights but
|
Base
Parent: Rate
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
CurrencyCode | Yes | The day on which this rate plan was applied for a reservation. The format respects the ISO 8601 2015-11-16 |
AmountBeforeTax / AmountAfterTax | Yes | The day rate for this specific product (room type + rate plan) without any additional services |
Child elements: None
Total
Parent: Rate
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
CurrencyCode | Yes | The day on which this rate plan was applied for a reservation. The format respects the ISO 8601 2015-11-16 |
AmountBeforeTax / AmountAfterTax | Yes | The day rate for this specific product (room type + rate plan) with additional services |
Child elements: None
RoomRateDescription
Parent: RoomRate
Mandatory: yes
Attributes: None
Child elements: Text
Text
Parent: RoomRateDescription
Mandatory: yes
Attributes: None
Child elements: None
ServiceRPHs
Parent: RoomRate
Mandatory: no
Attributes: None
Child elements: ServiceRPH
ServiceRPH
Parent: ServiceRPHs
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
RPH | Yes | Provides a unique reference to the service. |
Child elements: None
GuestCounts
Parent: RoomStay
Mandatory: yes
Attributes: None
Child elements: GuestCount
GuestCount
Parent: GuestCounts
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
AgeQualifyingCode | No | Possible values are:
|
Count | Yes | The number of guests for this specific room stay within a specific age category. |
Child elements: None
The guest count applies per Room Stay |
TimeSpan
Parent: RoomStay
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
Start | Yes | The arrival day for this room stay. The format respects the ISO 8601 2015-11-16 |
End | Yes | The departure day for this room stay. The format respects the ISO 8601 2015-11-16 |
Duration | No | The number of nights for this room stay. The format respectss the ISO 8601 format PnYnMnDTnHnMnS |
Child elements: None
DepositPayments
Parent: RoomStay
Mandatory: no
For content details, please see below.
Discount
Parent: RoomStay
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
AmountAfterTax | Yes | The discount total amount including all associated taxes |
AmountBeforeTax | No | The discount total amount not including any associated tax |
CurrencyCode | Yes | An ISO 4217 (3) alpha character code that specifies a monetary unit. |
DiscountCode | No | Specifies the type of discount (max 16 chars) |
DiscountReason
Parent: Discount
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
Name | No | Can be used to transfer a promotion code (max 64 chars) |
Text
Parent: DiscountReason
Mandatory: no
Value: A textual description of the discount
Total
Parent: RoomStay
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
CurrencyCode | Yes | The currency in which the price is transmitted. The format will be provided in ISO 4214 |
AmountBeforeTax | No | The price for this particular room stay without any taxes |
AmountAfterTax | No | The price for this particular room stay with taxes |
Child elements: None
Price for the room night + services
The value in the Total element will reflect the price of the room stay with any additional services.
BasicPropertyInfo
Parent: RoomStay
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
HotelCode | Yes | The ID of the hotel as defined on the online booking system |
HotelName | Yes | The name of the hotel as defined on the online booking system |
CurrencyCode | No | The currency code that has been configured for the hotel on the online booking system. |
Child elements: None
Comments
Parent: RoomStay
Mandatory: No
Attributes: None
Child elements: Comment
Comment
Parent: Comments
Mandatory: yes
Attributes:None
Child elements: Text
Text
Parent: Comment
Mandatory: yes
Attributes:None
Child elements: None
ResGuestRPHs
Parent: RoomStay
Mandatory: yes
Attributes: None
Child elements: None
The ResGuestRPHs element contains a comma separated string of integers that each link uniquely to a guest profile as described in the ResGuest elements. |
ServiceRPHs
Parent: RoomStay
Mandatory: yes
Attributes: None
Child elements: ServiceRPH
ServiceRPH
Parent: ServiceRPHs
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
IsPerRoom | No | The default value is "1" |
RPH | Yes | An integer that will uniquely link a service described in the Service element to a RoomStay |
Child elements: None
ResGuests
Parent: HotelReservation
Mandatory: yes
Attributes: None
Child elements: ResGuest
ResGuest
Parent: ResGuests
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
ResGuestRPH | Yes | An integer that will uniquely link the current guest profile to a RoomStay |
Child elements: Profiles
Profiles
Parent: ResGuest
Mandatory: yes
Attributes: None
Child elements: ProfileInfo
ProfileInfo
Parent: Profiles
Mandatory: yes
Attributes: None
Child elements: Profile
Profile
Parent: ProfileInfo
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
ProfileType | Yes | Possible values are:
|
Child elements: Customer, CompanyInfo
Customer
Parent: Profile
ProfileType: 1 (Customer)
Mandatory: yes
Attributes: None
Child elements: PersonName, Email, Telephone, Address
PersonName
Parent: Customer
ProfileType: 1 (Customer)
Mandatory: yes
Attributes: None
Child elements: NamePrefix, NameTitle, GivenName, MiddleName, SurnamePrefix, Surname, NameSuffix
NamePrefix
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Salutation of honorific. Example: Mr, Mrs, Ms, Miss, Dr |
NameTitle
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Degree or honors. Example: Ph. D., M.D. |
GivenName
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Given name, first name or names. Example: John, James, Martin |
MiddleName
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
The middle name of the person name. Example: Johny, James, Martin |
SurnamePrefix
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
The surname prefix. Example: "van der", "von", "de" |
Surname
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: yes
Attributes: None
Child elements: None
Family name, last name. Even though this is not recommended, it may also be used for full name if the online booking system does have the ability to separate a full name into its parts. |
NameSuffix
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Can contain various name suffixes and letters. Example: "Jr.", "Sr.", "III" |
Telephone
Parent: Customer
ProfileType
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
PhoneTechType | Yes | Possible values are:
|
PhoneNumber | Yes | The numerical string representing the telephone number |
FormattedInd | no | Is the telephone number provided formatted or unformatted |
CountryAccessCode | no | Code assigned by telecommunications authorities for international country access identifier |
AreaCityCode | no | Code assigned for telephones in a specific region, city or area |
Child elements: None
When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes should contain the appropriate information. |
When the telephone is transmitted formatted, the PhoneNumber attribute should not contain the CountryAccessCode nor the AreaCityCode values. |
Email
Parent: Customer
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Address
Parent: Customer
ProfileType: 1 (Customer)
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
FormattedInd | No | When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted, street number and street name are sent independently: the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. |
Child elements: StreetNmbr, AddressLine, PostalCode, CityName, County, StateProv, CountryName
StreetNmbr
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Contains the street number. |
AddressLine
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted and street number and street name are sent independently: the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. |
PostalCode
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Postal Office Code number |
CityName
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
City, town or postal station (i.e., a postal service territory, often used in a military address) |
County
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
County or Region Name |
StateProv
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
State or Province name |
CountryName
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
Code | Yes | ISO 3166 alpha 2 code for a county |
Child elements: None
The CountryName can also be transmitted for readability. |
Description of the ProfileType="3" and ProfileType="4" |
CompanyInfo
Parent: Profile
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: yes
Attributes: None
Child elements: CompanyName, Email, TelephoneInfo, AddressInfo
CompanyName
Parent: CompanyInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: No
Attributes: None
Child elements: none
TelephoneInfo
Parent: CompanyInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
PhoneTechType | Yes | Possible values are:
|
PhoneNumber | Yes | The numerical string representing the telephone number |
FormattedInd | no | Is the telephone number provided formatted or unformatted |
CountryAccessCode | no | Code assigned by telecommunications authorities for international country access identifier |
AreaCityCode | no | Code assigned for telephones in a specific region, city or area |
Child elements: None
When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes should contain the appropriate information. |
When the telephone is transmitted formatted, the PhoneNumber attribute should not contain the CountryAccessCode nor the AreaCityCode values. |
Email
Parent: CompanyInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
AddressInfo
Parent: CompanyInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
FormattedInd | No | When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted the street number and street name are sent independently: the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. |
Child elements: StreetNmbr, AddressLine, PostalCode, CityName, County, StateProv, CountryName
StreetNmbr
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
Contains the street number. |
AddressLine
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted the street number and street name are sent independently: the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. |
PostalCode
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
Postal Office Code number |
CityName
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
City, town or postal station (i.e., a postal service territory, often used in a military address) |
County
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
County or Region Name |
StateProv
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
State or Province name |
CountryName
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
Code | Yes | ISO 3166 alpha 2 code for a county |
Child elements: None
The CountryName can also be transmitted for readability. |
ResGlobalInfo
Parent: HotelReservation
Mandatory: Yes
Attributes: None
Child elements: GuestCounts, TimeSpan, Comments, Guarantee, DepositPayments, Total, HotelReservationIDs, Profiles, BasicPropertyinfo
GuestCounts
Parent: HotelReservation
Mandatory: yes
Attributes: None
Child elements: GuestCount
GuestCount
Parent: GuestCounts
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
AgeQualifyingCode | No | Possible values are:
|
Count | Yes | The total number of guests for this specific reservation within a specific age category. |
Child elements: None
TimeSpan
Parent: ResGlobalInfo
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
Start | Yes | The arrival day for this reservation. The format respects the ISO 8601 2015-11-16 |
End | Yes | The departure day for this reservation. The format respects the ISO 8601 2015-11-16 |
Duration | No | The number of nights for this reservation. The format respects the ISO 8601 format PnYnMnDTnHnMnS |
Child elements: None
Comments
Parent: HotelReservation
Mandatory: No
Attributes: None
Child elements: Comment
Comment
Parent: Comments
Mandatory: yes
Attributes:None
Child elements: Text
Text
Parent: Comment
Mandatory: yes
Attributes:None
Child elements: None
Guarantee
Parent: ResGlobalInfo
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
GuaranteeType | Yes | Possible values are:
|
Child elements: GuaranteesAccepted
GuaranteesAccepted
Parent: Guarantee
Mandatory: yes
Attributes:None
Child elements: GuaranteeAccepted
GuaranteeAccepted
Parent: GuaranteesAccepted
Mandatory: yes
Attributes:None
Child elements: PaymentCard
PaymentCard
Parent: ResGlobalInfo
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
CardCode | Yes | Possible values are:
|
ExpireDate | Yes | The expire date of the payment card. The format is mmYY |
Child elements: CardHoldername, CardNumber, SeriesCode
CardHolderName
Parent: PaymentCard
Mandatory: Yes
Attributes: None
Child elements: None
CardNumber
Parent: PaymentCard
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
Mask | No | The masked version of the credit card number. Only the last 4 digits will be displayed. |
Child elements: PlainText
PlainText
Parent: CardNumber
Mandatory: No
Attributes: None
Child elements: None
SeriesCode
Parent: PaymentCard
Mandatory: No
Attributes: None
Child elements: PlainText
PlainText
Parent: SeriesCode
Mandatory: No
Attributes: None
Child elements: None
DepositPayments
Parent: ResGlobalInfo
Mandatory: no
GuaranteePayment
Parent: DepositPayments
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
GuaranteeType | No | An enumerated type defining the guarantee to be applied to this reservation. Possible values are:
|
Type | No | Used to specify the type of information being sent (i.e., RequiredPayment, GuaranteePolicy, AcceptedPaymentForms) |
AcceptedPayments
Parent: GuaranteePayment
Mandatory: no
AcceptedPayment
Parent: AcceptedPayments
Mandatory: no
PaymentCard
Parent: AcceptedPayment
Mandatory: no
The PaymentCard content here is the same as described above.
AmountPercent
Parent: GuaranteePayment
Mandatory: no
Description
Parent: GuaranteePayment
Mandatory: no
Total
Parent: ResGlobalInfo
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
CurrencyCode | Yes | The currency in which the price is transmitted. The format will be provided in ISO 4214 |
AmountBeforeTax | No | The price for this particular day without any taxes |
AmountAfterTax | No | The price for this particular day with taxes |
Child elements: None
Price for the room nights + services
The value in the Total element will reflect the sum of the room nights with any additional services.
HotelReservationIDs
Parent: ResGlobalInfo
Mandatory: yes
Attributes: None
Child elements: HotelReservationID
HotelReservationID
Parent: HotelReservationIDs
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
ResID_Type | Yes | Possible values are:
|
ResID_Value | Yes | The reservation number as provided by the online booking system to the end customer/guest |
ResID_SourceContext | No | The name of the online booking system |
ResID_Source | Yes | The ID of the online booking system as defined on the Hotel-Spider system. |
ResID_Date | No | The date and time of generation of the given ID |
Child elements: None
When ResID_Source="14" the ResIDSourceContext will contain the name of the channel from which the reservation originated. The ResID_Value will contain the reservation number that was assigned to this specific reservation by the channel through which it was originally made. When ResID_Source="15" the ResID_SourceContext will contain the name of the channel from which the cancellation originated. The ResID_Value will contain the reservation number that was assigned to this specific reservation by the channel through which it was originally made. When ResID_Source="34", the ResID_SourceContext will contain "Hotel-Spider" or the name of any of its white label partners. The ResID_Value will contain the internal reservation number that was assigned by the Hotel-Spider system to this specific reservation. This value must be re-used when the third party software provider confirms the proper processing of any reservations/modifications/cancellations. When ResID_Source="40", the ResID_SourceContext will contain "Hotel-Spider" or the name of any of its white label partners. The ResID_Value will contain the internal reservation number that was assigned by the third party software client to this specific reservation. This value will only be provided if the reservation has previously already been confirmed by the third party software client. |
Profiles
Parent: ResGlobalInfo
Mandatory: yes
Attributes: None
Child elements: ProfileInfo
ProfileInfo
Parent: Profiles
Mandatory: yes
Attributes: None
Child elements: Profile
Profile
Parent: ProfileInfo
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
ProfileType | Yes | Possible values are:
|
Child elements: Customer, CompanyInfo
Customer
Parent: Profile
ProfileType: 1 (Customer)
Mandatory: yes
Attributes: None
Child elements: PersonName, Email, Telephone, Address
PersonName
Parent: Customer
ProfileType: 1 (Customer)
Mandatory: yes
Attributes: None
Child elements: NamePrefix, NameTitle, GivenName, MiddleName, SurnamePrefix, Surname, NameSuffix
NamePrefix
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Salutation of honorific. Example: Mr, Mrs, Ms, Miss, Dr |
NameTitle
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Degree or honors. Example: Ph. D., M.D. |
GivenName
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Given name, first name or names. Example: John, James, Martin |
MiddleName
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
The middle name of the person name. Example: Johny, James, Martin |
SurnamePrefix
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
The surname prefix. Example: "van der", "von", "de" |
Surname
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: yes
Attributes: None
Child elements: None
Family name, last name. Even though this is not recommended, it may also be used for full name if the online booking system does have the ability to separate a full name into its parts. |
NameSuffix
Parent: PersonName
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Can contain various name suffixes and letters. Example: "Jr.", "Sr.", "III" |
Telephone
Parent: Customer
ProfileType
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
PhoneTechType | Yes | Possible values are:
|
PhoneNumber | Yes | The numerical string representing the telephone number |
FormattedInd | no | Is the telephone number provided formatted or unformatted |
CountryAccessCode | no | Code assigned by telecommunications authorities for international country access identifier |
AreaCityCode | no | Code assigned for telephones in a specific region, city or area |
Child elements: None
When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes contains the appropriate information. |
When the telephone is transmitted formatted, the PhoneNumber attribute does not contain the CountryAccessCode nor the AreaCityCode values. |
Email
Parent: Customer
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Address
Parent: Customer
ProfileType: 1 (Customer)
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
FormattedInd | No | When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted the street number and street name are sent independently: the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. |
Child elements: StreetNmbr, AddressLine, PostalCode, CityName, County, StateProv, CountryName
StreetNmbr
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Contains the street number. |
AddressLine
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted the street number and street name are sent independently: the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. |
PostalCode
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
Postal Office Code number |
CityName
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
City, town or postal station (i.e., a postal service territory, often used in a military address) |
County
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
County or Region Name |
StateProv
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes: None
Child elements: None
State or Province name |
CountryName
Parent: Address
ProfileType: 1 (Customer)
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
Code | Yes | ISO 3166 alpha 2 code for a county |
Child elements: None
The CountryName can also be transmitted for readability. |
Description of the ProfileType="3" and ProfileType="4" |
CompanyInfo
Parent: Profile
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: yes
Attributes: None
Child elements: CompanyName, Email, TelephoneInfo, AddressInfo
CompanyName
Parent: CompanyInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: No
Attributes: None
Child elements: none
TelephoneInfo
Parent: CompanyInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
PhoneTechType | Yes | Possible values are:
|
PhoneNumber | Yes | The numerical string representing the telephone number |
FormattedInd | no | Is the telephone number provided formatted or unformatted |
CountryAccessCode | no | Code assigned by telecommunications authorities for international country access identifier |
AreaCityCode | no | Code assigned for telephones in a specific region, city or area |
Child elements: None
When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes contains the appropriate information. |
When the telephone is transmitted formatted, the PhoneNumber attribute does not contain the CountryAccessCode nor the AreaCityCode values. |
Email
Parent: CompanyInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
AddressInfo
Parent: CompanyInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
FormattedInd | No | When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted the street number and street name are sent independently: the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. |
Child elements: StreetNmbr, AddressLine, PostalCode, CityName, County, StateProv, CountryName
StreetNmbr
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
Contains the street number. |
AddressLine
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted the street number and street name are sent independently: the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. |
PostalCode
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
Postal Office Code number |
CityName
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
City, town or postal station (i.e., a postal service territory, often used in a military address) |
County
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
County or Region Name |
StateProv
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes: None
Child elements: None
State or Province name |
CountryName
Parent: AddressInfo
ProfileType: 3 (Company), 4 (Travel Agency)
Mandatory: no
Attributes:
Name | Mandatory | Description |
---|---|---|
Code | Yes | ISO 3166 alpha 2 code for a county |
Child elements: None
The CountryName can also be transmitted for readability. |
BasicPropertyInfo
Parent: ResGlobalInfo
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
HotelCode | Yes | The ID of the hotel as defined on the online booking system |
HotelName | Yes | The name of the hotel as defined on the online booking system |
CurrencyCode | No | The currency code that has been configured for the hotel on the online booking system. |
Child elements: None
Services
Parent: HotelReservation
Mandatory: No
Child elements: Service
Service
Parent: Services
Mandatory: Yes
Attributes:
Name | Mandatory | Description |
---|---|---|
Inclusive | Yes | Whether the price for this service is included in the room rate. Values: False (or No), and True (or Yes). |
ServicePricingType | No | An enumerated type that defines how a service is priced. Refer to Service pricing type (ServicePricingType) |
ServiceRPH | Yes | A unique ID for a service that may be referenced elsewhere in the schema. |
Type | No | A reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT). |
Child elements: Price, ServiceDetails
Price
Parent: Service
Mandatory: Yes
Attributes:
Name | Mandatory | Description |
---|---|---|
NumberOfUnits | Yes | Number of units reserved |
EffectiveDate | Yes | Indicates the starting date. |
Child elements: Base, Total
Base
Parent: Price
Mandatory: Yes
Attributes:
Name | Mandatory | Description |
---|---|---|
AmountAfterTax | Yes | The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax). |
CurrencyCode | Yes | An ISO 4217 (3) alpha character code that specifies a monetary unit. |
Child elements: None
Total
Parent: Price
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
AmountAfterTax | Yes | The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax). |
CurrencyCode | Yes | An ISO 4217 (3) alpha character code that specifies a monetary unit. |
Child elements: None
ServiceDetails
Parent: Service
Mandatory: No
Child elements: SpecialRequests, TimeSpan, ServiceDescription
SpecialRequests
Parent: ServiceDetails
Mandatory: No
Child elements: SpecialRequest
SpecialRequest
Parent: SpecialRequests
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
Name | No | Contains Name/Code value for Special Request |
Child elements: Text
TimeSpan
Parent: ServiceDetails
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
Start | Yes | Start date of the TimeSpan |
End | Yes | End date of the TimeSpan |
Child elements: None
ServiceDescription
Parent: ServiceDetails
Mandatory: No
Attributes:
Name | Mandatory | Description |
---|---|---|
Name | Yes | Contains value for name of service |
Child elements: Text