AnchorIntroduction

This document provides instructions on using our OTA API to work with Newbook.

As with all our documentation, a basic understanding of what Newbook is and how our clients operate will help understand these requests and responses.

Please note that any examples below should not be used on your development servers. These are only examples and do not work.

AnchorRelease Notes

2022.06

2021.05

2019.04

2018.11

AnchorWhat is the OTA Specification

The Open Travel Alliance was founded to enable rapid and extensive exchange of data between systems. By detailing specific requests and their responses, many different systems can exchange data in a standardised way.

The OTA Specification covers the many industries, solutions providers, and technology companies. It is a growing standard with a large established base of users.

The exchange of data between 3rd Party Applications (booking websites and other services), Channel Managers (services which facilitate rapid updates of availability and pricing and booking data between many booking websites), and property management systems like Newbook necessitates all agents 'speak the same language'.

The implementation Newbook offers focuses on the requests and responses relevant to the accommodation industry. Through supporting the OTA Specification, we enable our clients to quickly and easily link up with 3rd Party Applications and Channel Managers. To this end, clients of Newbook are open to the exchange of availability, rate and booking data.

AnchorIntegration with 3rd Party Applications

It is a requirement to use HTTPS to communicate with this API, for both testing and real live use. Your XML request must be sent via HTTP POST.

Live Endpoints:

Australia: https://apiau.newbook.cloud/ota

Asia Pacific: https://apiap.newbook.cloud/ota

Europe: https://apieu.newbook.cloud/ota

United States: https://apius.newbook.cloud/ota

Test Endpoint:

Staging (development): https://testapi.newbook.cloud/ota

Please contact Newbook Support if you are unsure about which endpoint to use.

AnchorAuthentication

This API requires that all inbound requests have authentication.

Newbook utilises the Oasis WSSE Authentication method.

All 3rd Party Applications will need to register with Newbook for a username and password.

Newbook will also provide a unique instance_token for each instance connected to the 3rd Party Application.

Authentication Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Header>
												<wsse:Security xmlns:wsse="http://tempuri.org/" xmlns:soap="soap" soap:mustUnderstand="1">
													<wsse:UsernameToken>
													<wsse:Username>username</wsse:Username>
													<wsse:Password>password</wsse:Password>
													</wsse:UsernameToken>
												</wsse:Security>
												<soap:InstanceToken>instance_token</soap:InstanceToken>
											</soap:Header>
											<soap:Body>
												SOAP REQUEST XML HERE
											</soap:Body>
										</soap:Envelope>
									
								
AnchorHandling Error Responses

In the case of an error Newbook and the 3rd Party Application will respond with XML structured as show in the example.

Response Usage Profile

Node Count Description
ResponseName 1 The ResponseName element will mirror the Request Name element.
e.g.
OTA_PingRQ will become OTA_PingRS.
ResponseName / Errors 1 Contains the Error element
Errors / Error 1 Contains the text, type and code of the Error Message
Error@Type 1 The Error Type
Error@Code 1 OTA ERR Error Codes.

Error Response Example

Response Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<ResponseName>
													<Errors>
														<Error Type="13" Code="0">Text of the error which has occurred</Error>
													</Errors>
												</ResponseName>
											</soap:Body>
										</soap:Envelope>
									
								
AnchorPing Connection Test Request / Ping Response (OTA_PingRQ/RS)

Used as Reference:

http://adriatic.pilotfish-net.com/ota-modelviewer/model/Format.OTA_PingRQ.html

http://adriatic.pilotfish-net.com/ota-modelviewer/model/Format.OTA_PingRS.html

The Ping request / response OTA Messages are used for testing application connectivity, specifically, sending text from a requesting system and determining if the responding system is able to echo back that same text.

The message assumes a push model, with Newbook or the 3rd Party Application pushing the request to the other.

The response from Newbook or the 3rd Party Application verifies application connectivity. Specific text sent with the request is to be echoed back in the response.

Direction of Message

  • Newbook will send OTA_PingRQ
  • The 3rd Party Application will reply with OTA_PingRS

Or:

  • The 3rd Party Application will send OTA_PingRQ
  • Newbook will reply with OTA_PingRS


Request Usage Profile

Node Count Description
EchoData 1 String data that is expected to be echoed back in the response message.

Response Usage Profile

Node Count Description
Success 1 Element exists only when request was successful
EchoData 1 The original request EchoData content

Ping Connection Test Request / Ping Response (OTA_PingRQ/RS) Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Header>
												<wsse:Security xmlns:wsse="http://tempuri.org/" xmlns:soap="soap" soap:mustUnderstand="1">
													<wsse:UsernameToken>
													<wsse:Username>username</wsse:Username>
													<wsse:Password>password</wsse:Password>
													</wsse:UsernameToken>
												</wsse:Security>
												<soap:InstanceToken>instance_token</soap:InstanceToken>
											</soap:Header>
											<soap:Body>
												<OTA_PingRQ xmlns="http://tempuri.org/">
													<EchoData>Hello, World!</EchoData>
												</OTA_PingRQ>
											</soap:Body>
										</soap:Envelope>
									
								
Response Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<OTA_PingRS xmlns="http://tempuri.org/">
													<Success/>
													<EchoData>Hello, World!</EchoData>
												</OTA_PingRS>
											</soap:Body>
										</soap:Envelope>
									
								
AnchorInstance Information Request / Response (OTA_HotelDescriptiveInfoRQ/RS)

Used as Reference:

http://adriatic.pilotfish-net.com/ota-modelviewer/model/Format.OTA_HotelDescriptiveInfoRQ.html

http://adriatic.pilotfish-net.com/ota-modelviewer/model/Format.OTA_HotelDescriptiveInfoRS.html

The Instance Information request / response OTA Messages are used to query basic contact and address information from a instance. A list of Room Types and their basic configuration will also be returned.

The Services returned in this response will be automatically applied by Newbook to any incoming Booking in the Room Type. You should not specify these Services if you Push Bookings to Newbook, as they will double up.

Direction of Message

  • The 3rd Party Application will send OTA_HotelDescriptiveInfoRQ
  • Newbook will reply with OTA_HotelDescriptiveInfoRS


Request Usage Profile

Node Count Description
@HotelCode 1 This must match the InstanceToken that is provided with Authentication.

Response Usage Profile

Node Count Description
Success 1 Element exists only when request was successful
HotelDescriptiveContents@HotelCode 1 This will match the InstanceToken provided
HotelDescriptiveContent@CurrencyCode 1 The Currency in use by the instance
HotelDescriptiveContent / HotelInfo 1 This contains elements relating to the contact information for the instance
HotelInfo / HotelName 1 The name of the instance
HotelInfo / OwnershipManagementInfos / OwnershipManagementInfo 1 Contains the Address, Emails and Phones elements
OwnershipManagementInfo / Address 1-2 Contains the Mailing/Physical Addresses for the instance
Address@UseType 1 Identifies whether the address is Mailing/Physical
2 – Mailing
7 - Physical
OwnershipManagementInfo / Emails 1 Contains the Email elements
Emails / Email 1+ Contains an email address that can be used to contact the instance
OwnershipManagementInfo / Phones 1 Contains the Phone elements
Phones / Phone 1+ Contains a phone number that can be used to contact the instance
OwnershipManagementInfo / URLs 1 Contains a URL for the Newbook Online Booking Engine of the instance
HotelDescriptiveContent / FacilityInfo 1 Contains the GuestRooms element
FacilityInfo / GuestRooms 1 Contains the GuestRoom elements
GuestRoom 1+ Contains information regarding a particular Room Type
GuestRoom@Code 1 Contains the InvTypeCode for Room Availability
GuestRoom@Quantity 1 The maximum possible number of Rooms available (for this Room Type)
GuestRoom@MaxOccupancy 0-1 The maximum number of people (Adults+Children, etc) allowed to stay in this Room Type. if this attribute is not present the Room is not restricted.
GuestRoom@MinOccupancy 0-1 The minimum number of people (Adults+Children, etc) required to stay in this Room Type. If this attribute is not present the Room is not restricted.
GuestRoom@MaxAdultOccupancy 0-1 The maximum number of Adults allowed to stay in this Room Type. If this attribute is not present the Room is not restricted.
GuestRoom@MaxChildOccupancy 0-1 The maximum number of Children allowed to stay in this Room Type. If this attribute is not present the Room is not restricted.
GuestRoom@RoomTypeName 1 The name of this Room Type
GuestRoom@Sort 1 The display order of this Room Type
GuestRoom / DescriptiveText 0-1 The HTML description of the Room, please note this has been escaped for compatibility with XML
GuestRoom / RoomNames 1 Contains the RoomNumber elements
RoomNames / RoomName 1+ Contains the alphanumeric name of an individual Room.
Please note this number of these elements may be different to GuestRoom@Quantity if the instance has elected to reserve a number of Rooms for offline use.
GuestRoom / RoomData 0-1 When Site-level Availability is enabled, will contain elements describing each individual Room
RoomData / Room 1+ Contains the additional data for an individual Room
Room@ID 1 The ID of a Room
Room@Name 1 The Name of a Room
Room / Description 1 The full description of a Room
Room / Size 0-1 Contains the essential data for the size of a Room
Size@Width 1 The width of the Room
Size@Length 1 The legnth of the Room
Size@Height 1 The height of the Room
Size@Unit 1 The unit of the size
Room / MultimediaDescriptions / MultimediaDescription / ImageItems 0-1 This element contains the image elements for this Room Type
GuestRoom / TypeRoom 0+ Gives bedding details about the Room
TypeRoom@BedTypeCode 1 Contains the Bed Type Code
TypeRoom@StandardNumBeds 1 Contains the number of Beds applicable to the Bed Type Code
GuestRoom / Features 0 - 1 This element contains the Feature elements for this Room Type
Features / Feature 1+ Details about a given Room Type Feature
Feature@Quantity 1+ How many of this Feature are available for the given Room Type
Feature / DescriptiveText 1+ The Name of the Feature
GuestRoom / MultimediaDescriptions / MultimediaDescription / ImageItems 0-1 This element contains the image elements for this Room Type
ImageItem@LastModifyDateTime 1 The time stamp this image was last updated.
ImageItem / Description 1 A short description (alt tag / caption) for the image
ImageItem / ImageFormat / URL 1 The publicly accessible URL for the image, please note this has been escaped for XML compatibility
GuestRoom / Services 0-1 If a room has Inventory Items (Services) that are enabled for this booking channel, it will contain those elements related to this room
Services / Service 1+ Contains elements for the Service information
Service@Quantity 1 The quantity of Services to bill the guest
Service / Price 1 The price of each of the Services to bill the guest
Price / Total 1 Contains Total element
Total@AmountBeforeTax 0-1 The total amount before tax of the Service
Total@AmountAfterTax 0-1

The total amount after tax of the Service.

If the property has Exclusive Taxes, they will be included in this value.

Total@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the Service used
Service / ServiceDetails 1 Information about the Service
ServiceDetails / ServiceDescription 1 Descriptive Information about the Service
ServiceDescription@Name 1 The name of the Service
GuestRoom / Taxes 0-1 When a room is not tax-free, it will contain tax elements related to this room
Taxes / Tax 1+ Additional data for each tax
Tax@Percent 0-1 If the tax amount type is percentage, it contains the percentage value
Tax@Amount 0-1 If the tax amount type is a fixed value, it contains the value
Tax@Type 1 The tax contribution, either inclusive or exclusive
Tax@ChargeUnit 1 The Charge Unit Type Code
Tax@ChargeGroup 1 What the tax applies to (Charge Group)
Tax / TaxDescription 1 Descriptive Information about the tax
TaxDescription / Text 1 The name of the tax rate

Instance Information Request / Response (OTA_HotelDescriptiveInfoRQ/RS) Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Header>
												<wsse:Security xmlns:wsse="http://tempuri.org/" xmlns:soap="soap" soap:mustUnderstand="1">
													<wsse:UsernameToken>
													<wsse:Username>username</wsse:Username>
													<wsse:Password>password</wsse:Password>
													</wsse:UsernameToken>
												</wsse:Security>
												<soap:InstanceToken>instance_token</soap:InstanceToken>
											</soap:Header>
											<soap:Body>
												<OTA_HotelDescriptiveInfoRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0">
													<HotelDescriptiveInfos>
														<HotelDescriptiveInfo HotelCode="InstanceToken"/>
													</HotelDescriptiveInfos>
												</OTA_HotelDescriptiveInfoRQ>
											</soap:Body>
										</soap:Envelope>
									
								
Response Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<OTA_HotelDescriptiveInfoRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2015-04-28T09:55:59+10:00">
													<Success/>
													<HotelDescriptiveContents HotelCode="InstanceToken">
														<HotelDescriptiveContent CurrencyCode="AUD">
															<HotelInfo>
																<HotelName>Newbook Test Instance</HotelName>
																<OwnershipManagementInfos>
																	<OwnershipManagementInfo>
																		<Addresses>
																			<Address UseType="7">
																				<AddressLine>Level 2, 9 Ouyan Street</AddressLine>
																				<CityName>Surfers Paradise</CityName>
																				<PostalCode>4217</PostalCode>
																				<StateProv>Queensland</StateProv>
																				<CountryName>Australia</CountryName>
																			</Address>
																			<Address UseType="2">
																				<AddressLine>Level 2, 9 Ouyan Street</AddressLine>
																				<CityName>Surfers Paradise</CityName>
																				<PostalCode>4217</PostalCode>
																				<StateProv>Queensland</StateProv>
																				<CountryName>Australia</CountryName>
																			</Address>
																		</Addresses>
																		<Emails>
																			<Email>support@newbook.cloud</Email>
																		</Emails>
																		<Phones>
																			<Phone PhoneNumber="0756554600"/>
																		</Phones>
																		<URLs>
																			"https://templatedemo.newbook.cloud/book-online"
																		</URLs>
																	</OwnershipManagementInfo>
																</OwnershipManagementInfos>
															</HotelInfo>
															<FacilityInfo>
																<GuestRooms>
																	<GuestRoom Code="1" Quantity="5" MaxAdultOccupancy="2" MaxOccupancy="4" MinOccupancy="2" RoomTypeName="Standard King Room" Sort="1">
																		<DescriptiveText>
																			<p>This is a Standard King Room.</p>
																		</DescriptiveText>
																		<TypeRoom StandardNumBeds="2" BedTypeCode="9" />
																		<MultimediaDescriptions>
																			<MultimediaDescription>
																				<ImageItems>
																					<ImageItem>
																						<Description>Living Room</Description>
																						<ImageFormat>
																							<URL>url_to_image</URL>
																						</ImageFormat>
																					</ImageItem>
																				</ImageItems>
																			</MultimediaDescription>
																		</MultimediaDescriptions>
																		<RoomNames>
																			<RoomName>01</RoomName>
																			<RoomName>02</RoomName>
																			<RoomName>03</RoomName>
																			<RoomName>04</RoomName>
																			<RoomName>05</RoomName>
																		</RoomNames>
																		<RoomData>
																			<Room ID="1" Name="101">
																				<Description>Full Description of the Room</Description>
																				<Size Width="5.00" Length="5.00" Height="0.00" Unit="m"/>
																				<MultimediaDescriptions>
																					<MultimediaDescription>
																						<ImageItems>
																							<ImageItem>
																								<Description>Living Room</Description>
																								<ImageFormat>
																									<URL>url_to_image</URL>
																								</ImageFormat>
																							</ImageItem>
																						</ImageItems>
																					</MultimediaDescription>
																				</MultimediaDescriptions>
																			</Room>
																		</RoomData>
																		<Features>
																			<Feature Quantity="2">
																				<DescriptiveText>Bedroom</DescriptiveText>
																			</Feature>
																			<Feature Quantity="1">
																				<DescriptiveText>Bathroom</DescriptiveText>
																			</Feature>
																		</Features>
																	</GuestRoom>
																	<GuestRoom Code="3" Quantity="10" MaxAdultOccupancy="4" RoomTypeName="Standard Queen Room" Sort="2"/>
																	<GuestRoom Code="4" Quantity="5" MinOccupancy="1" RoomTypeName="Standard Room" Sort="3"/>
																	<GuestRoom Code="2" Quantity="25" MaxAdultOccupancy="2" MaxChildOccupancy="1" RoomTypeName="Superior Suite" Sort="4">
																		<DescriptiveText>
																			<p>This is a superior suite it includes air conditioning, etc.</p>
																		</DescriptiveText>
																		<Services>
																			<Service Quantity="1">
																				<Price>
																					<Total AmountBeforeTax="140.00" CurrencyCode="AUD"/>
																				</Price>
																				<ServiceDetails>
																					<ServiceDescription Name="Booking Fee"/>
																				</ServiceDetails>
																			</Service>
																			<Service Quantity="1">
																				<Price>
																					<Total AmountAfterTax="220.00" CurrencyCode="AUD"/>
																				</Price>
																				<ServiceDetails>
																					<ServiceDescription Name="Pet Fees"/>
																				</ServiceDetails>
																			</Service>
																		</Services>
																		<Taxes>
																			<Tax Percent="10.0000" Type="Inclusive" ChargeUnit="24" ChargeGroup="others"/>
																				<TaxDescription>
																					<Text>Non stay cost tax</Text>
																				</TaxDescription>
																			</Tax>
																			<Tax Amount="22.0000" Type="Exclusive" ChargeUnit="4" ChargeGroup="stay"/>
																				<TaxDescription>
																					<Text>Stay cost tax</Text>
																				</TaxDescription>
																			</Tax>
																		</Taxes>
																	</GuestRoom>
																</GuestRooms>
															</FacilityInfo>
														</HotelDescriptiveContent>
													</HotelDescriptiveContents>
												</OTA_HotelDescriptiveInfoRS>
											</soap:Body>
										</soap:Envelope>
									
								
AnchorMapping Information Request / Response (GetMappingRQ/RS)

The Mapping Information Request / Response Messages are used for 3rd Party Applications to pull the current RoomTypes and RatePlans from Newbook.

The message assumes a pull model, with the 3rd Party Application requesting mapping details from Newbook.

The response from Newbook will include all active RoomTypes and their RatePlanCodes.

Direction of Message

  • The 3rd Party Application will send GetMappingRQ
  • Newbook will reply with GetMappingRS


Request Usage Profile

Node Count Description
N/A

Response Usage Profile

Node Count Description
GetMappingRS / RoomTypes 1 Container for RoomType elements
RoomTypes / RoomType 0+ Each distinct Room Type
RoomType@InvTypeCode 1 Room Code (for mapping/interchange purposes) of the Room Type
RoomType@Name 1 Name of the Room Type
RoomType / RatePlans 1 Container for RatePlan elements
RatePlans / RatePlan 0+ Each distinct Rate Type
RatePlan@RatePlanCode 1 Rate Plan Code (for mapping/interchange purposes) of the Rate Plan
RatePlan@Name 1 Name of the Rate Plan

Mapping Information Request / Response (GetMappingRQ/RS) Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Header>
												<wsse:Security xmlns:wsse="http://tempuri.org/" xmlns:soap="soap" soap:mustUnderstand="1">
													<wsse:UsernameToken>
													<wsse:Username>username</wsse:Username>
													<wsse:Password>password</wsse:Password>
													</wsse:UsernameToken>
												</wsse:Security>
												<soap:InstanceToken>instance_token</soap:InstanceToken>
											</soap:Header>
											<soap:Body>
												<GetMappingRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2024-12-13T11:30:00+00:00"/>
											</soap:Body>
										</soap:Envelope>
									
								
Response Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<GetMappingRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2024-12-13T11:30:00+00:00">
													<RoomTypes>
														<RoomType InvTypeCode="1" Name="Deluxe Cabin">
															<RatePlans>
																<RatePlan RatePlanCode="1" Name="Standard"/>
																<RatePlan RatePlanCode="2" Name="Special"/>
															</RatePlans>
														</RoomType>
														<RoomType InvTypeCode="3" Name="Lakeside Villa">
															<RatePlans>
																<RatePlan RatePlanCode="1" Name="Standard"/>
																<RatePlan RatePlanCode="2" Name="Special"/>
															</RatePlans>
														</RoomType>
													</RoomTypes>
												</GetMappingRS>
											</soap:Body>
										</soap:Envelope>
									
								
AnchorSingle Booking Availability Request / Response (OTA_HotelAvailRQ/RS)

Used as Reference:

http://adriatic.pilotfish-net.com/ota-modelviewer/model/Format.OTA_HotelAvailRQ.html

http://adriatic.pilotfish-net.com/ota-modelviewer/model/Format.OTA_HotelAvailRS.html

The Single Booking Availability Request / Response OTA Messages are used for retrieving availability and rates for a single bookable date range instead of returning daily Availability/Pricing. This is useful for ensuring that the entire date range is available in a single Room (as multiple RoomStays will be returned if the Booking needs to be split, or when requesting multiple Rate Plans / Rooms).

The message assumes a pull model, with the 3rd Party Application initiating the request to Newbook.

The response from Newbook will include the availability for the specified period and Room Code/s.

Direction of Message

  • The 3rd Party Application will send OTA_HotelAvailRQ
  • Newbook will reply with OTA_HotelAvailRS


Request Usage Profile

Node Count Description
StayDateRange@Start 1 The Arrival date of the Booking, must be in the format YYYY-MMDD
StayDateRange@End 1 The Departure date, must be in the format YYYY-MM-DD
AvailRequestSegment / RatePlanCandidates 0-1 Contains the RatePlanCandidate elements
RatePlanCandidates / RatePlanCandidate +1 Contains the RatePlanCode information
RatePlanCandidate@RatePlanCode 1 The Rate Code of the desired RatePlan
AvailRequestSegment / RoomStayCandidates 1 Contains the RoomStayCandidate elements
RoomStayCandidates / RoomStayCandidate 1+ Contains the RoomTypeCode and GuestCounts information
RoomStayCandidate@RoomTypeCode 1
RoomStayCandidate / GuestCounts 1 Contains the GuestCount elements
GuestCounts / GuestCount 1+ Contains the Number of Guests specified per AgeQualifyingCode
GuestCount@AgeQualifyingCode 1 Specifies the guest type for this GuestCount - uses OTA Spec for identifiers, will be one of three values:
  • 10: Adult
  • 8: Child
  • 7: Infant
GuestCount@Count 1 The Number of Guests for the specified AgeQualifyingCode

Response Usage Profile

Node Count Description
Warnings 0-1 Contains Occupancy, MinLOS and MaxLOS warnings for the requested dates (if applicable)
Warnings / Warning 1+ Contains the description of the particular Warning
Warning@RPH 1 An identifier used to match a particular Warning to a specific RoomStay element
RoomStays 1 Contains the RoomStay elements
RoomStays / RoomStay 0+ Contains information regarding the RoomStay
RoomStay@WarningRPH 0-1 If a warning applies to this particular RoomStay the WarningRPH will indicate which warning.
RoomStay / RoomRates 1 Contains the RoomRate elements
RoomRates / RoomRate 1 Contains the RoomRate Description and Rate elements
RoomRate / RoomRateDescription 1 Contains the Name element for this RoomRateDescription
RoomRateDescription / Name 1 Contains the Name for this RoomRate
RoomRate / Rates 1 Contains the Rate elements
Rates / Rate 1+ Contains Rate information for a specific timeframe for the Booking
Rate@Start 1 The start of the date range for the current rate element, in the format YYYY-MM-DD
Rate@End 1 The end of the date range for the current rate element, in the format YYYY-MM-DD
Rate / Base 1 Contains the price information for the current rate element
Base@AmountBeforeTax 0-1

This attribute will only be present if the property has Exclusive Taxes setup.

The price for the current rate element, before Exclusive taxes.

Base@AmountAfterTax 1

The price for the current rate element, is inclusive of Additional Pricing. So when pushing back to Newbook (OTA_HotelResNotifRQ) this does not need to be provided separately

If the property has Exclusive Taxes, they will be included in this value.

Base@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked
RoomStay / TimeSpan 1 Contains the Arrival and Departure date for the roomstay element
TimeSpan@Start 1 The Arrival Date for the particular RoomStay
TimeSpan@End 1 The Departure Date for the particular RoomStay

Single Booking Availability Request / Response (OTA_HotelAvailRQ/RS) Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Header>
												<wsse:Security xmlns:wsse="http://tempuri.org/" xmlns:soap="soap" soap:mustUnderstand="1">
													<wsse:UsernameToken>
													<wsse:Username>username</wsse:Username>
													<wsse:Password>password</wsse:Password>
													</wsse:UsernameToken>
												</wsse:Security>
												<soap:InstanceToken>instance_token</soap:InstanceToken>
											</soap:Header>
											<soap:Body>
												<OTA_HotelAvailRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2013-06-18T11:05:11+12:00" Version="1.0">
													<AvailRequestSegments>
														<AvailRequestSegment>
															<StayDateRange Start="2016-01-21" End="2016-01-28"/>
															<RatePlanCandidates>
																<RatePlanCandidate RatePlanCode="BAR"/>
															</RatePlanCandidates>
															<RoomStayCandidates>
															<RoomStayCandidate RoomTypeCode="1BE">
																<GuestCounts>
																	<GuestCount AgeQualifyingCode="10" Count="2"/>
																	<GuestCount AgeQualifyingCode="8" Count="0"/>
																</GuestCounts>
															</RoomStayCandidate>
															</RoomStayCandidates>
														</AvailRequestSegment>
													</AvailRequestSegments>
												</OTA_HotelAvailRQ>
											</soap:Body>
										</soap:Envelope>
									
								
Response Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<OTA_HotelAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2013-06-18T13:03:34+12:00" Version="1.0">
													<Success/>
													<Warnings RPH="1">
														<Warning>The occupation limit been exceeded (Max Combined: 5)</Warning>
													</Warnings>
													<RoomStays>
														<RoomStay WarningRPH="1">
															<RoomRates>
																<RoomRate RoomTypeCode="1BE" RatePlanCode="BAR">
																	<RoomRateDescription>
																		<Name>Standard</Name>
																	</RoomRateDescription>
																	<Rates>
																		<Rate Start="2016-01-21" End="2016-01-22">
																			<Base AmountAfterTax="110.00" />
																		</Rate>
																		<Rate Start="2016-01-22" End="2016-01-24">
																			<Base AmountAfterTax="130.00" />
																		</Rate>
																		<Rate Start="2016-01-24" End="2016-01-28">
																			<Base AmountAfterTax="110.00" />
																		</Rate>
																	</Rates>
																</RoomRate>
															</RoomRates>
															<TimeSpan Start="2016-01-21" End="2016-01-28" />
														</RoomStay>
													</RoomStays>
												</OTA_HotelAvailRS>
											</soap:Body>
										</soap:Envelope>
									
								
AnchorBookings Request / Response (OTA_ReadRQ/RS)

Used as Reference:

http://adriatic.pilotfish-net.com/ota-modelviewer/model/Format.OTA_ReadRQ.html

http://adriatic.pilotfish-net.com/ota-modelviewer/model/Format.OTA_HotelResRS.html

The Reservation request / response OTA Message allows 3rd Party Applications to request a list of Bookings based on their ID numbers, or Arrival/Departure dates, or Guest Details. There is also an optional timeframe limit to further narrow results.

The message assumes a pull model, with the 3rd Party Application initiating the request to Newbook.

The response from Newbook is the full Booking information, based on the search parameters provided.

Verification Options

You may provide a Booking ID (Newbook-sourced, or your platform-sourced) for a specific lookup:

								
									
										<HotelReservationIDs>
											<HotelReservationID ResID_Type="14" ResID_Source="Newbook" ResID_Value="865" />
										</HotelReservationIDs>
																	
							

Alternatively you may provide a details for a Guest - all of the below examples are independently optional:

								
									
										<PersonName>
											<GivenName>John</GivenName>
											<Surname>Doe</Surname>
										</PersonName>
										<Telephone PhoneNumber="0756554600"/>
										<Telephone PhoneNumber="0412345678" PhoneTechType="5" />
										<Email>john.doe@example.com</Email>
																	
							

Please be aware that multiple bookings may be returned if the Guest details match more than one Booking.

If you need, you may also provide a ReservationTimeSpan to narrow the results:

								
									<ReservationTimeSpan Start="2015-03-14" End="2015-03-15" />								
							

Direction of Message

  • The 3rd Party Application will send OTA_ReadRQ
  • Newbook will reply with OTA_ReadRS


Request Usage Profile

Node Count Description
ReadRequests / ReadRequest / Verification 1 Contains the elements provided for searching Bookings.
At least one of the child elements must be provided in order to get a valid response.
Verification / HotelReservationIDs 0-1 Container for one or multiple HotelReservationID elements for a specific lookup
HotelReservationIDs / HotelReservationID 1+ Perform a specific lookup using the attributes delivered
HotelReservationID@ResID_Type 1 Always 14 for Reservation Type Code
HotelReservationID@ResID_Source 1 Either "Newbook" to indicate you want to search with the Newbook Booking ID, or
Your 3rd Party Integration name to indicate you want to search with your ID number, which should be saved onto the Booking inside Newbook
HotelReservationID@ResID_Value 1 The ID number to search for matching Bookings
Verification / PersonName 0-1 Contains the GivenName/Surname elements using for Guest searching
Verification / PersonName / GivenName 0-1 First name of the Guest
Verification / PersonName / Surname 0-1 Last name of the Guest
Verification / ReservationTimeSpan 0-1 Contains the Start/End attributes for Booking searching
ReservationTimeSpan@Start 0-1 Specify the Arrival Date of the Booking
ReservationTimeSpan@End 0-1 Specify the Departure Date of the Booking
Verification / Telephone 0+ Contact number/s for Guest
Telephone@PhoneNumber 1 Contains the Telephone Number
Telephone@PhoneTechType 0-1 The type of phone technology, if not provided it should be assumed as a land-line.
  • 1: Land-line
  • 5: Mobile/Cell
  • 3: Fax
Verification / Email 0-1 Contact email address for Guest

Response Usage Profile

Node Count Description
HotelReservation@CreateDateTime 1 Indicates the time the reservation was created in Newbook.
HotelReservation / UniqueID 1 The Reservation reference for the Remote System
UniqueID@Type 1 Value is always '14'
UniqueID@ID 1 Identifier of the reservation according to the Remote System
HotelReservation / RoomStays 1 Contains the RoomStay elements
RoomStays / RoomStay 1+ 1 RoomStay element for each RoomType / RoomRate combination booked.
RoomStay@RoomStayStatus 0-1 Booking Status Code (see appendix)
Providing this attribute on a modify request, will get Newbook to update the status of the Booking
RoomStay / RoomRates 1 Contains the RoomRate elements
RoomRates / RoomRate 1+ Contains the RoomType and Rate information
RoomRate@RoomTypeCode 1 The Room Code of the Selected Room
RoomRate@RatePlanCode 1 The Rate Code of the selected Rate
RoomRate / Rates 1 Contains the Rate elements
Rates / Rate 1+ 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 for the room type over the span of the booking e.g. if Monday-Friday rate is 100, and Sat-Sun rate is 140.
The dates covered in the Rates will cover all the dates in the RoomStay/TimeSpan element
Rate@Start 1 The starting date of the rate in the form YYYY-MM-DD
Rate@End 1 The ending date of the rate in the form YYYY-MM-DD
Rate / Base 1 Specifies the per-night rate for the room
Base@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked
Base@AmountBeforeTax 0-1

This attribute will only be present if the property has Exclusive Taxes setup.

The nightly amount before Exclusive taxes.

Base@AmountAfterTax 1

The nightly amount after tax, please implement a separate Rate element each time this amount changes

If the property has Exclusive Taxes, they will be included in this value

RoomStay / GuestCounts 1 Contains the number of Guests in this Room
GuestCounts / GuestCount 1-3 How many guests will be staying in the room
The count is split over potentially three GuestCount elements under GuestCounts, one for each AgeQualifyingCode (adult, child or infant)
Adult count must always be sent
GuestCount@AgeQualifyingCode 1 Specifies the guest type for this GuestCount - uses OTA Spec for identifiers, will be one of three values
  • 10: Adult
  • 8: Child
  • 7: Infant
GuestCount@Count 1 Number of Guests for the specified type (see above)
RoomStay / TimeSpan 1 Contains the timespan which this RoomStay covers
TimeSpan@Start 1 Check in date in the format YYYY-MM-DD
TimeSpan@End 1 Check out date in the format YYYY-MM-DD
RoomStay / Discount 0-1 The discount granted to the booking, if any
Discount@AmountAfterTax 1 The dollar amount of the discount
Discount@DiscountCode 1 The identifying code of the discount. Will most often be empty
Discount@Type 1 Discount Type Code (see appendix)
Discount / DiscountReason 1 The text name (description) of the discount granted to the booking
RoomStay / Total 1 The total cost of the stay will add up to the sum of Rate/Base*Number of Nights, minus any Travel Agent commission.
Total@AmountBeforeTax 0-1

This attribute will only be present if the property has Exclusive Taxes setup.

The total amount before Exclusive taxes.

Total@AmountAfterTax 1

The total amount after tax

If the property has Exclusive Taxes, they will be included in this value.

Total@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked
RoomStay / ResGuestRPHs 1 Contains ResGuestRPH elements
ResGuestRPH 1+ Used to associated a ResGuest with a RoomStay, can support multiple Guests
ResGuestRPH@RPH 1 Contains the RPH for a particular ResGuest to be linked
RoomStay / ServiceRPHs 1 Contains ServiceRPH elements
ServiceRPH 1+ Used to associated a Service with a RoomStay, can support multiple Services
ServiceRPH@RPH 1 Contains the RPH for a particular Service to be linked
Reservation / Services 0-1 Contains the Service elements
Services / Service 1+ Contains elements for the Service information
Service@Quantity 1 The quantity of Services to bill the guest
Service@ServiceRPH 1 This value links the ResGuest to Service(s) where possible. You can find the links in RoomStay/ServiceRPHs
Service / Price 1 The price of each of the Services to bill the guest
Price / Total 1 Contains Total element
Total@AmountAfterTax 1 The total amount after tax of the Service
Total@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the Service used
Service / ServiceDetails 1 Information about the Service
ServiceDetails@StayCostContribution 1 Increase: the cost of this Service increases the Reservation total.
Exclude: same as above - the cost of this Service increases the Reservation total, but is reported separately inside Newbook PMS software.
Include: the cost of this Service is included in the Reservation total, and is only shown here separately for guest/integrator understanding.
ServiceDetails / ServiceDescription 1 Descriptive Information about the Service
ServiceDescription@Name 1 The name of the Service
Reservation / ResGuests 1 Contains the ResGuest elements
ResGuests / ResGuest 1+ Contains elements for the Guest information
ResGuest@ResGuestRPH 1 This value links the ResGuest to RoomStay(s) where possible. You can find the links in RoomStay/ResGuestRPHs
ResGuestRPH@PrimaryIndicator 1 Boolean whether the ResGuest identified by the RPH is the Primary Guest of the Booking
ResGuest / Profiles 1 Contains ProfileInfo element
Profiles / ProfileInfo 1 Contains Profile Element
ProfileInfo / Profile 1 Contains the guest profile information
Profile@ProfileType 1 Always "1" - The OTA code for "Customer"
Profile / Customer 1 Contains the PersonName element
Customer / PersonName 1 Contains the GivenName and Surname elements
PersonName / GivenName 1 Firstname of the Guest
PersonName / Surname 1 Surname/Family Name of the Guest
Customer / Telephone 0+ Contact number/s for Guest
Telephone@PhoneNumber 1 Contains the Telephone Number
Telephone@PhoneTechType 0-1 The type of phone technology, if not provided it should be assumed as a land-line
  • 1: Land-line
  • 5: Mobile/Cell
  • 3: Fax
Customer / Email 0-1 Contact email address for Guest
Customer / Address 0-1 Postal address for Guest if available
Address / AddressLine 1 Street Address for Guest
Address / CityName 1 City/Suburb for Guest
Address / PostalCode 1 Post/Zip Code for Guest
Address / StateProv 1 State/Province for Guest
Address / CountryName 1 Country for Guest
Customer / CustLoyalty 0-1 Contains Loyalty Program Details
CustLoyalty@MembershipID 1 Contains the Loyal Program Member ID
CustLoyalty@ProgramID 1 Contains the name of the Loyalty Program
CustLoyalty@ExpiryDate 0-1 Expiry date of the Loyalty Membership in the format YYYY-MMDD
HotelReservation / ResGlobalInfo 1 Contains general information about the Reservation
ResGlobalInfo / Guarantee 0-1 Provides guarantee information for a Reservation, i.e. credit card details.
For advising of actual payments received please use the DepositPayments element.
Guarantee / GuaranteesAccepted 1+ Contains payment or Credit Card element
GuaranteeAccepted 1+ Contains Credit Card element
GuaranteeAccepted / PaymentCard 1 Contrains Credit Card details
PaymentCard@CardNumber 1 Credit Card Number
PaymentCard@ExpireDate 1 Credit Card Expiry in the format MMYY
PaymentCard / CardHolderName 1 Name on the Credit Card
ResGlobalInfo / DepositPayments 0-1 Provides payment information for a Reservation, i.e. money taken from the Guest to pay for the Deposit
DepositPayments / GuaranteePayment 1+ Contains payment information
GuaranteePayment / Description 1 Payment Description
GuaranteePayment / AmountPercent 1 Contains Payment Amount and Currency
AmountPercent@Amount 1 Contains the dollar amount in the format 1234.56
AmountPercent@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the payment.
ResGlobalInfo / HotelReservationIDs 1 Contains the HotelReservationID element
HotelreservationIDs / HotelReservationID 1 Contains reservation reference details for the remote system
HotelReservationID@ResID_Type 1 Either 14 – Reservation Type Code or 18 – Other Type Code
HotelReservationID@ResID_Value 1 Reference number provided by the Booking Agent
HotelReservationID@ResID_Source 1 What the ResID_Value relates to, examples include:
Your Remote System Name - echos the HotelReservationID provided back to the Remote System.
"Newbook" - specifies that this HotelReservationID was assigned by Newbook.
"Site" - indicates individual Room Name assignment, is only available once a Reservation has checked in.
ResGlobalInfo / Total 1 The total amount for the Reservation. Will add up to the sum of the RoomStay totals PLUS any additional fees sent by the BookingAgent
Total@AmountBeforeTax 0-1

This attribute will only be present if the property has Exclusive Taxes setup.

The total amount before Exclusive taxes.

Total@AmountAfterTax 1

The total amount after tax

If the property has Exclusive Taxes, they will be included in this value.

Total@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked

Bookings Request / Response (OTA_ReadRQ/RS) Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Header>
												<wsse:Security xmlns:wsse="http://tempuri.org/" xmlns:soap="soap" soap:mustUnderstand="1">
													<wsse:UsernameToken>
													<wsse:Username>username</wsse:Username>
													<wsse:Password>password</wsse:Password>
													</wsse:UsernameToken>
												</wsse:Security>
												<soap:InstanceToken>instance_token</soap:InstanceToken>
											</soap:Header>
											<soap:Body>
												<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2015-03-13T13:19:24+10:00">
													<ReadRequests>
														<ReadRequest>
															<Verification>
																See Verification Options in documentation
															</Verification>
														</ReadRequest>
													</ReadRequests>
												</OTA_ReadRQ>
											</soap:Body>
										</soap:Envelope>
									
								
Response Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<OTA_ReadRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2015-03-13T13:19:24+10:00">
													<Success/>
													<ReservationsList>
														<HotelReservation CreateDateTime="2012-06-29T10:41:00">
															<UniqueID Type="14" ID="789"/>
															<RoomStays>
																<RoomStay RoomStayStatus="Reserved">
																	<RoomRates>
																		<RoomRate RoomTypeCode="256" RatePlanCode="281">
																			<Rates>
																				<Rate Start="2014-04-01" End="2014-04-03">
																					<Base AmountAfterTax="100.00" CurrencyCode="AUD"/>
																				</Rate>
																				<Rate Start="2014-04-03" End="2014-04-10">
																					<Base AmountAfterTax="125.00" CurrencyCode="AUD"/>
																				</Rate>
																			</Rates>
																		</RoomRate>
																	</RoomRates>
																	<GuestCounts>
																		<GuestCount AgeQualifyingCode="10" Count="1"/>
																	</GuestCounts>
																	<TimeSpan Start="2012-07-07" End="2012-07-10" />
																	<Discount AmountAfterTax="107.50" DiscountCode="" Type="12">
																		<DiscountReason>10% Manager Special</DiscountReason>
																	</Discount>
																	<Total AmountAfterTax="1327.50" CurrencyCode="AUD"/>
																	<ResGuestRPHs>
																		<ResGuestRPH RPH="1" PrimaryIndicator="1"/>
																	</ResGuestRPHs>
																	<ServiceRPHs>
																		<ServiceRPH RPH="1"/>
																		<ServiceRPH RPH="2"/>
																	</ServiceRPHs>
																	<Comments>
																		<Comment>
																			<Text>I will be arriving later in the afternoon. Please call me if reception is going to close. Thank you.</Text>
																		</Comment>
																		<Comment>
																			<Text>Equipment Name: My Family Caravan, Equipment Width: 2.34 Meters, Equipment Length: 6.60 Meters, Equipment Make: Maui, Equipment Model: 4 Berth Cascade, Equipment Registration: 123456</Text>
																		</Comment>
																	</Comments>
																</RoomStay>
															</RoomStays>
															<Services>
																<Service Quantity="1" ServiceRPH="1">
																	<Price>
																		<Total AmountAfterTax="140.00" CurrencyCode="AUD"/>
																	</Price>
																	<ServiceDetails StayCostContribution="Exclude">
																		<ServiceDescription Name="Booking Fee"/>
																	</ServiceDetails>
																</Service>
																<Service Quantity="1" ServiceRPH="2">
																	<Price>
																		<Total AmountAfterTax="220.00" CurrencyCode="AUD"/>
																	</Price>
																	<ServiceDetails StayCostContribution="Increase">
																		<ServiceDescription Name="Pet Fees"/>
																	</ServiceDetails>
																</Service>
															</Services>
															<ResGuests>
																<ResGuest ResGuestRPH="1">
																	<Profiles>
																		<ProfileInfo>
																			<Profile ProfileType="1">
																			<Customer>
																				<PersonName>
																					<GivenName>John</GivenName>
																					<Surname>Doe</Surname>
																				</PersonName>
																				<Telephone PhoneNumber="0756554600"/>
																				<Telephone PhoneNumber="0412345678" PhoneTechType="5" />
																				<Email>john.doe@example.com</Email>
																				<Address>
																					<AddressLine>Level 2, 9 Ouyan Street</AddressLine>
																					<CityName>Surfers Paradise</CityName>
																					<PostalCode>4217</PostalCode>
																					<StateProv>Queensland</StateProv>
																					<CountryName>Australia</CountryName>
																				</Address>
																				<CustLoyalty MembershipID="1234567890" ProgramID="Program Name" ExpiryDate="2017-03-31"/>
																			</Customer>
																			</Profile>
																		</ProfileInfo>
																	</Profiles>
																</ResGuest>
															</ResGuests>
															<ResGlobalInfo>
																<DepositPayments>
																	<GuaranteePayment>
																	<Description>Deposit Payment</Description>
																	<AmountPercent Amount="100.00" CurrencyCode="AUD" />
																	</GuaranteePayment>
																</DepositPayments>
																<HotelReservationIDs>
																	<HotelReservationID ResID_Type="14" ResID_Value="123456" ResID_Source="Newbook" />
																	<HotelReservationID ResID_Type="14" ResID_Value="789" ResID_Source="RemoteSystemName" />
																	<HotelReservationID ResID_Type="18" ResID_Value="Powered Site 101" ResID_Source="Site" />
																</HotelReservationIDs>
																<Total AmountAfterTax="1327.50" CurrencyCode="AUD"/>
															</ResGlobalInfo>
														</HotelReservation>
													</ReservationsList>
												</OTA_ReadRS>
											</soap:Body>
										</soap:Envelope>
									
								
AnchorARI Settings Request / Response (ARISettingsRQ/RS)

The ARI Settings request / response is used for 3rd Party Applications to enable Availability and Rate Information pushes from Newbook.

The 3rd Party Application must be registered with our platform to use this option.

Direction of Message

  • The 3rd Party Application will send ARISettingsRQ
  • Newbook will reply with ARISettingsRS


Request Usage Profile

Node Count Description
ARISettingsRQ / PushEnabled 1 Boolean whether to enable Availability and Rate Information pushes from Newbook.
Enabling this on our live environment will immediately queue a full (365 day) Availability and Rate Information push.
PushTest / TimeSpan 0 - 1 The Newbook testing environment does not push data to 3rd Party Applications. However you can force this behaviour from the test environment using this element. Define the Start and End date you want to receive, and a ARI push will be immediately queued even from the testing environment.
TimeSpan@Start 1 The Start Date for the test Availability and Rate Information push
TimeSpan@End 1 The End Date for the test Availability and Rate Information push

Response Usage Profile

Node Count Description
Success 1 Element only exists when request was successful

ARI Settings Request / Response (ARISettingsRQ/RS) Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Header>
												<wsse:Security xmlns:wsse="http://tempuri.org/" xmlns:soap="soap" soap:mustUnderstand="1">
													<wsse:UsernameToken>
													<wsse:Username>username</wsse:Username>
													<wsse:Password>password</wsse:Password>
													</wsse:UsernameToken>
												</wsse:Security>
												<soap:InstanceToken>instance_token</soap:InstanceToken>
											</soap:Header>
											<soap:Body>
												<ARISettingsRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2021-06-21T02:32:21-04:00">
													<PushEnabled>true</PushEnabled>
													<PushTest>
														<TimeSpan Start="2021-06-21" End="2021-06-22"/>
													</PushTest>
												</ARISettingsRQ>
											</soap:Body>
										</soap:Envelope>
									
								
Response Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<ARISettingsRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2021-06-21T02:43:27-04:00">
													<Success/>
												</ARISettingsRS>
											</soap:Body>
										</soap:Envelope>
									
								
AnchorBookings Request / Response (OTA_HotelResNotifRQ/RS)

Used as Reference:

http://adriatic.pilotfish-net.com/ota-modelviewer/model/Format.OTA_HotelResNotifRQ.html

http://adriatic.pilotfish-net.com/ota-modelviewer/model/Format.OTA_HotelResNotifRS.html

The Reservation request / response OTA Message allows Newbook to respond to booking data received from 3rd Party Applications. This can be used to Place, Modify or Cancel a Booking within Newbook.

The message assumes a push model, with the 3rd Party Application pushing the request to Newbook.

The response from Newbook is a confirmation of the requested action occurring within Newbook.

Direction of Message

  • The 3rd Party Application will send OTA_HotelResNotifRQ
  • Newbook will reply with OTA_HotelResNotifRS


Request Usage Profile

Node Count Description
HotelReservation@CreateDateTime 1 Indicates the time the reservation was created in the Remote System
HotelReservation@ResStatus 1 Will always be one of the following:
  • "Book" for placing a new Booking
  • "Modify" for modifying an existing Booking
  • "Cancel" for cancelling an existing Booking
HotelReservation / UniqueID 1 The Reservation reference for the Remote System
UniqueID@Type 1 Value is always '14'
UniqueID@ID 1 Identifier of the reservation according to the Remote System
HotelReservation / RoomStays 1 Contains the RoomStay elements
RoomStays / RoomStay 1+ 1 RoomStay element for each RoomType / RoomRate combination booked.
If the same combination is Booked multiple times (e.g. 2 Rooms) you must specify multiple elements and unique IndexNumbers for each
RoomStay@RoomStayStatus 0-1 Booking Status Code (see appendix)
Providing this attribute on a modify request will instruct Newbook to update the status of the Booking as given
RoomStay@IndexNumber 1 The unique identifier of this particular RoomType / RoomRate combination
RoomStay@RoomID 0-1 The unique identifier of the selected Room.
Can only be provided if Site-level availability has been enabled.
Please contact Newbook Support if you would like to explore this option.
RoomStay / TimeSpan 1 Contains the timespan which this RoomStay covers
TimeSpan@Start 1 Check in date in the format YYYY-MM-DD
TimeSpan@End 1 Check out date in the format YYYY-MM-DD
RoomStay / RoomRates 1 Contains the RoomRate elements
RoomRates / RoomRate 1+ Contains the RoomType and Rate information
RoomRate@RoomTypeCode 1 The Room Code of the Selected Room
RoomRate@RatePlanCode 1 The Rate Code of the selected Rate
RoomRate / Rates 1 Contains the Rate elements
Rates / Rate 1+ 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 for the room type over the span of the booking e.g. if Monday-Friday rate is 100, and Sat-Sun rate is 140.
The dates covered in the Rates will cover all the dates in the RoomStay/TimeSpan element
Rate@Start 1 The starting date of the rate in the form YYYY-MM-DD
Rate@End 1 The ending date of the rate in the form YYYY-MM-DD
Rate / Base 1 Specifies the per-night rate for the room
Base@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked
Base@AmountAfterTax 1 The nightly amount after tax, please implement a separate Rate element each time this amount changes
RoomStay / Discount 0-1 Contains discount information for the resulting booking. Discounts are optional.
Discount@AmountAfterTax 1 The amount to grant as the discount for the booking
Discount@DiscountCode 0-1 The code to record on the booking when the discount is applied (optional)
Discount@Inclusive 0-1 True or false. Optional; default false. Whether or not the Discount@AmountAfterTax has already been deducted from each Rate/Base@AmountAfterTax. If true, Newbook will increase each nightly rate as this discount needs to apply without affecting the overall quoted price for the booking.
Discount / DiscountReason 1 If CustLoyalty@ProgramID is specified, and the loyalty program is set up in the database & defines a discount, that discount will be applied to the booking, respecting the amount given via Discount@AmountAfterTax.
Otherwise, Newbook will use DiscountReason to find a matching discount set up in the database. If one is not found, the discount cannot apply.
RoomStay / Total 1 The total cost of the stay will add to the sum of Rate/Base*Number of Nights
Total@AmountAfterTax 1 The total amount after tax
Total@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked
RoomStay / GuestCounts 1 Contains the number of Guests in this Room
GuestCounts / GuestCount 1-3 How many guests will be staying in the room
The count is split over potentially three GuestCount elements under GuestCounts, one for each AgeQualifyingCode (adult, child or infant)
Adult count must always be sent
GuestCount@AgeQualifyingCode 1 Specifies the guest type for this GuestCount - uses OTA Spec for identifiers, will be one of three values:
  • 10: Adult
  • 8: Child
  • 7: Infant
GuestCount@Count 1 Number of Guests for the specified type (see above)
RoomStay / ResGuestRPHs 1 Contains ResGuestRPH elements
ResGuestRPH 1+ Used to associated a ResGuest with a RoomStay, can support multiple Guests
ResGuestRPH@RPH 1 Contains the RPH for a particular ResGuest to be linked
RoomStay / ServiceRPHs 1 Contains ServiceRPH elements
ServiceRPH 1+ Used to associated a Service with a RoomStay, can support multiple Services
ServiceRPH@RPH 1 Contains the RPH for a particular Service to be linked
Reservation / Services 0-1 Contains the Service elements
Services / Service 1+ Contains elements for the Service information
Service@Quantity 1 The quantity of Services to bill the guest
Service@ServiceRPH 1 This value links the ResGuest to Service(s) where possible. You can find the links in RoomStay/ServiceRPHs
Service / Price 1 The price of each of the Services to bill the guest
Reservation / Comments 0-1 Contains the Comments elements
Comments / Comment 1+ Contains elements for the Comment information
Comment / Text 1 Comment text
Price / Total 1 Contains Total element
Total@AmountAfterTax 1 The total amount after tax of the Service
Total@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the Service used
Service / ServiceDetails 1 Information about the Service
ServiceDetails / ServiceDescription 1 Descriptive Information about the Service
ServiceDescription@Name 1 The name of the Service
RoomStay / Comments 0-1 Contains the Comment Elements
Comments / Comment 1+ Comments Guest has made towards this RoomStay
Comment / Text 1 Contains the comment text
Reservation / ResGuests 1 Contains the ResGuest elements
ResGuests / ResGuest 1+ Contains elements for the Guest information
ResGuest@ResGuestRPH 1 This value links the ResGuest to RoomStay(s) where possible. You can find the links in RoomStay/ResGuestRPHs
ResGuestRPH@PrimaryIndicator 1 Boolean whether the ResGuest identified by the RPH is the Primary Guest of the Booking
ResGuest / Profiles 1 Contains ProfileInfo element
Profiles / ProfileInfo 1 Contains Profile Element
ProfileInfo / Profile 1 Contains the guest profile information
Profile@ProfileType 1 Always "1" - The OTA code for "Customer"
Profile / Customer 1 Contains the PersonName element
Customer / PersonName 1 Contains the GivenName and Surname elements
PersonName / GivenName 1 Firstname of the Guest
PersonName / Surname 1 Surname/Family Name of the Guest
Customer / Telephone 0+ Contact number/s for Guest
Telephone@PhoneNumber 1 Contains the Telephone Number
Telephone@PhoneTechType 0-1 The type of phone technology, if not provided it should be assumed as a land-line
  • 1: Land-line
  • 5: Mobile/Cell
  • 3: Fax
Customer / Email 0-1 Contact email address for Guest
Customer / Address 0-1 Postal address for Guest if available
Address / AddressLine 1 Street Address for Guest
Address / CityName 1 City/Suburb for Guest
Address / PostalCode 1 Post/Zip Code for Guest
Address / StateProv 1 State/Province for Guest
Address / CountryName 1 Country for Guest
Customer / CustLoyalty 0-1 Contains Loyalty Program Details
CustLoyalty@MembershipID 1 Contains the Loyal Program Member ID
CustLoyalty@ProgramID 1 Contains the name of the Loyalty Program. Has an affect on Discounts - please see Discount/DiscountReason
CustLoyalty@ExpiryDate 0-1 Expiry date of the Loyalty Membership in the format YYYY-MMDD
HotelReservation / ResGlobalInfo 1 Contains general information about the Reservation
ResGlobalInfo / Guarantee 0-1 Provides guarantee information for a Reservation, i.e. credit card details.
For advising of actual payments received please use the DepositPayments element.
Guarantee / GuaranteesAccepted 1+ Contains payment or Credit Card element
GuaranteeAccepted 1+ Contains Credit Card element
GuaranteeAccepted / PaymentCard 1 Contrains Credit Card details
PaymentCard@CardNumber 1 Credit Card Number
PaymentCard@ExpireDate 1 Credit Card Expiry in the format MMYY
PaymentCard / CardHolderName 1 Name on the Credit Card
ResGlobalInfo / DepositPayments 0-1 Provides payment information for a Reservation, i.e. money taken from the Guest to pay for the Deposit
DepositPayments / GuaranteePayment 1+ Contains payment information
GuaranteePayment / Description 1 Payment Description
GuaranteePayment / AmountPercent 1 Contains Payment Amount and Currency
AmountPercent@Amount 1 Contains the dollar amount in the format 1234.56
AmountPercent@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the @Amount
ResGlobalInfo / HotelReservationIDs 1 Contains the HotelReservationID element
HotelreservationIDs / HotelReservationID 1 Contains reservation reference details for the remote system
HotelReservationID@ResID_Type 1 Always "14" - The OTA code for "Reservation"
HotelReservationID@ResID_Value 1 Reference number provided by the Booking Agent
ResGlobalInfo / Total 1 The total amount for the Reservation. Will add up to the sum of the RoomStay totals PLUS any additional fees sent by the BookingAgent
Total@AmountAfterTax 1 The total amount after tax
Total@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked

Response Usage Profile

Node Count Description
HotelReservation@ResStatus 1 For reservations this status is always 'Book'
UniqueID@Type 1 Value is '14'
UniqueID@ID 1 Identifier of the reservation according to the Remote System
HotelReservationIDs@ResID_Type 1 Value is '14'
HotelReservationIDs@ResID_Value 1 Reference number provided by Newbook

Bookings Request / Response (OTA_HotelResNotifRQ/RS) Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Header>
												<wsse:Security xmlns:wsse="http://tempuri.org/" xmlns:soap="soap" soap:mustUnderstand="1">
													<wsse:UsernameToken>
													<wsse:Username>username</wsse:Username>
													<wsse:Password>password</wsse:Password>
													</wsse:UsernameToken>
												</wsse:Security>
												<soap:InstanceToken>instance_token</soap:InstanceToken>
											</soap:Header>
											<soap:Body>
												<OTA_HotelResNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2007-03-29T09:30:58.0Z" Version="1.0">
													<HotelReservations>
														<HotelReservation CreateDateTime="2014-03-20T10:41:00" ResStatus="Book">
															<UniqueID Type="14" ID="789"/>
															<RoomStays>
																<RoomStay RoomStayStatus="Reserved" IndexNumber="1" RoomID="3">
																	<TimeSpan Start="2014-04-01" End="2014-04-10"/>
																	<RoomRates>
																		<RoomRate RoomTypeCode="256" RatePlanCode="281">
																			<Rates>
																			<Rate Start="2014-04-01" End="2014-04-03">
																				<Base AmountAfterTax="100.00" CurrencyCode="AUD"/>
																			</Rate>
																			<Rate Start="2014-04-03" End="2014-04-10">
																				<Base AmountAfterTax="125.00" CurrencyCode="AUD"/>
																			</Rate>
																			</Rates>
																		</RoomRate>
																	</RoomRates>
																	<Discount AmountAfterTax="100" DiscountCode="abc123">
																		<DiscountReason>VIP Booker</DiscountReason>
																	</Discount>
																	<Total AmountAfterTax="1189.95" CurrencyCode="AUD"/>
																	<GuestCounts>
																		<GuestCount AgeQualifyingCode="10" Count="1"/>
																	</GuestCounts>
																	<ResGuestRPHs>
																		<ResGuestRPH RPH="1" PrimaryIndicator="1"/>
																	</ResGuestRPHs>
																	<ServiceRPHs>
																		<ServiceRPH RPH="1"/>
																		<ServiceRPH RPH="2"/>
																	</ServiceRPHs>
																	<Comments>
																		<Comment>
																			<Text>non-smoking Room requested</Text>
																		</Comment>
																	</Comments>
																</RoomStay>
															</RoomStays>
															<Services>
																<Service Quantity="1" ServiceRPH="1">
																	<Price>
																		<Total AmountAfterTax="99.00" CurrencyCode="AUD"/>
																	</Price>
																	<ServiceDetails>
																		<ServiceDescription Name="Couples Retreat"/>
																	</ServiceDetails>
																</Service>
																<Service Quantity="1" ServiceRPH="2">
																	<Price>
																		<Total AmountAfterTax="15.95" CurrencyCode="AUD"/>
																	</Price>
																	<ServiceDetails>
																		<ServiceDescription Name="Champagne on arrival"/>
																	</ServiceDetails>
																</Service>
															</Services>
															<ResGuests>
																<ResGuest ResGuestRPH="1">
																	<Profiles>
																		<ProfileInfo>
																			<Profile ProfileType="1">
																				<Customer>
																					<PersonName>
																						<GivenName>John</GivenName>
																						<Surname>Doe</Surname>
																					</PersonName>
																					<Telephone PhoneNumber="0756554600"/>
																					<Telephone PhoneNumber="0412345678" PhoneTechType="5"/>
																					<Email>john.doe@example.com</Email>
																					<Address>
																						<AddressLine>Level 2, 9 Ouyan Street</AddressLine>
																						<CityName>Surfers Paradise</CityName>
																						<PostalCode>4217</PostalCode>
																						<StateProv>Queensland</StateProv>
																						<CountryName>Australia</CountryName>
																					</Address>
																					<CustLoyalty MembershipID="1234567890" ProgramID="Program Name" ExpiryDate="2017-03-31"/>
																				</Customer>
																			</Profile>
																		</ProfileInfo>
																	</Profiles>
																</ResGuest>
															</ResGuests>
															<ResGlobalInfo>
																<Guarantee>
																	<GuaranteesAccepted>
																		<GuaranteeAccepted>
																			<PaymentCard CardNumber="4111111111111111" ExpireDate="0217">
																				<CardHolderName>John Doe</CardHolderName>
																			</PaymentCard>
																		</GuaranteeAccepted>
																	</GuaranteesAccepted>
																</Guarantee>
																<DepositPayments>
																	<GuaranteePayment>
																		<Description>Deposit Payment</Description>
																		<AmountPercent Amount="100.00" CurrencyCode="AUD"/>
																	</GuaranteePayment>
																</DepositPayments>
																<HotelReservationIDs>
																	<HotelReservationID ResID_Type="14" ResID_Value="789"/>
																</HotelReservationIDs>
																<Total AmountAfterTax="1189.95" CurrencyCode="AUD"/>
															</ResGlobalInfo>
														</HotelReservation>
													</HotelReservations>
												</OTA_HotelResNotifRQ>
											</soap:Body>
										</soap:Envelope>
									
								
Response Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<OTA_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05">
													<Success/>
													<HotelReservations>
														<HotelReservation ResStatus="Book">
															<UniqueID Type="14" ID="789"/>
															<ResGlobalInfo>
																<HotelReservationIDs>
																	<HotelReservationID ResID_Type="14" ResID_Value="789" ResID_Source="RemoteSystemName"/>
																	<HotelReservationID ResID_Type="14" ResID_Value="123456" ResID_Source="Newbook"/>
																</HotelReservationIDs>
															</ResGlobalInfo>
														</HotelReservation>
													</HotelReservations>
												</OTA_HotelResNotifRS>
											</soap:Body>
										</soap:Envelope>
									
								
AnchorAvailability Request / Response (OTA_HotelAvailNotifRQ/RS)

Newbook will only generate this request when the 3rd Party Application is registered with our platform, and has submitted an ARI Settings Request. Please contact Newbook Support if you would like to explore this option.

Used as Reference:

The Availability Push OTA Messages are used for Newbook to provide availability information to a 3rd Party. The message assumes a push model.

Availability data can be delivered at a Category level (industry & Newbook default) or per Site (Room) in each Category.
The primary use case of Site-level Availability is for 3rd Party Applications to offer Sites which fit equipment (a vehicle) of a fixed size. This information can be queried from Newbook using the Instance Information request.
When Site-level Availability is enabled, each StatusApplicationControl element will gain an extra attribute for RoomID:

								
									<StatusApplicationControl Start="2017-09-11" End="2017-09-12" InvTypeCode="studiovilla" RoomID="1" />								
							

The parent AvailStatusMessage@BookingLimit will only ever be 1 or 0 indicating if the specific Site is available or occupied (unavailable).
Please contact Newbook Support if you need Site-level Availability delivered to your 3rd Party Application.

Direction of Message

  • Newbook will send OTA_HotelNotifRQ
  • The 3rd Party Application will reply with OTA_HotelAvailNotifRS


Request Usage Profile

Node Count Description
AvailStatusMessages@HotelCode 1 The Instance Code as defined by Newbook
AvailStatusMessage@BookingLimit 1 Number of Rooms available
StatusApplicationControl@Start 1 The start of the date range for the current availability element, in the format YYYY-MM-DD
StatusApplicationControl@End 1 The end of the date range for the current availability element, in the format YYYY-MM-DD
StatusApplicationControl@InvTypeCode 1 The Room Code for the current availability element
StatusApplicationControl@RatePlanCode 1 The Rate Code for the current availability element
StatusApplicationControl@RoomID 1 Only delivered when you have contacted Newbook support to activate Site-level Availability (this is optional)
The RoomID identifies the specific Site (room) in the property database, which allows 3rd Party Applications to sell specific Sites.
This is the same RoomID as returned in the Instance Information request.
RestrictionStatus@Status 1 Controls the Stop Sell for the current availability element, can be either "Open" or "Close"
LengthOfStay@MinMaxMessageType 1 "SetMinLOS" for minimum length of stay, or "SetMaxLOS" for maximum length of stay
LengthOfStay@Time 1 The minimum nights required to stay for the current availability element (days)

Response Usage Profile

Node Count Description
Success 1 Element only exists when request was successful

Availability Request / Response (OTA_HotelAvailNotifRQ/RS) Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Header>
												<wsse:Security xmlns:wsse="http://tempuri.org/" xmlns:soap="soap" soap:mustUnderstand="1">
													<wsse:UsernameToken>
													<wsse:Username>username</wsse:Username>
													<wsse:Password>password</wsse:Password>
													</wsse:UsernameToken>
												</wsse:Security>
												<soap:InstanceToken>instance_token</soap:InstanceToken>
											</soap:Header>
											<soap:Body>
												<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2017-09-11T14:48:58+08:00">
													<AvailStatusMessages HotelCode="1865">
														<AvailStatusMessage BookingLimit="1">
															 <StatusApplicationControl Start="2017-09-11" End="2017-09-12" InvTypeCode="studiovilla" />
														</AvailStatusMessage>
														<AvailStatusMessage BookingLimit="2">
															 <StatusApplicationControl Start="2017-09-13" End="2017-09-19" InvTypeCode="studiovilla" />
														</AvailStatusMessage>
														<AvailStatusMessage BookingLimit="0">
															 <StatusApplicationControl Start="2017-09-20" End="2017-09-22" InvTypeCode="studiovilla" />
														</AvailStatusMessage>
														<AvailStatusMessage BookingLimit="2">
															 <StatusApplicationControl Start="2017-09-23" End="2017-09-24" InvTypeCode="studiovilla" />
														</AvailStatusMessage>
														<AvailStatusMessage BookingLimit="0">
															 <StatusApplicationControl Start="2017-09-25" End="2017-09-26" InvTypeCode="studiovilla" />
														</AvailStatusMessage>
														<AvailStatusMessage BookingLimit="3">
															 <StatusApplicationControl Start="2017-09-11" End="2017-09-19" InvTypeCode="2bedcabin" />
														</AvailStatusMessage>
														<AvailStatusMessage BookingLimit="0">
															 <StatusApplicationControl Start="2017-09-20" End="2017-09-24" InvTypeCode="2bedcabin" />
														</AvailStatusMessage>
														<AvailStatusMessage BookingLimit="2">
															 <StatusApplicationControl Start="2017-09-25" End="2017-09-26" InvTypeCode="2bedcabin" />
														</AvailStatusMessage>
														<AvailStatusMessage>
															 <StatusApplicationControl Start="2017-09-11" End="2017-09-26" InvTypeCode="studiovilla" RatePlanCode="1bed_spcl">
																<DestinationSystemCodes>
																	<DestinationSystemCode>NBO</DestinationSystemCode>
																</DestinationSystemCodes>
															 </StatusApplicationControl>
															 <RestrictionStatus Status="Open" />
															 <LengthsOfStay>
																<LengthOfStay MinMaxMessageType="SetMinLOS" Time="1" />
															 </LengthsOfStay>
														</AvailStatusMessage>
														<AvailStatusMessage>
															 <StatusApplicationControl Start="2017-09-11" End="2017-09-26" InvTypeCode="studiovilla" RatePlanCode="1bed_std">
																<DestinationSystemCodes>
																	<DestinationSystemCode>NBO</DestinationSystemCode>
																</DestinationSystemCodes>
															 </StatusApplicationControl>
															 <RestrictionStatus Status="Open" />
															 <LengthsOfStay>
																<LengthOfStay MinMaxMessageType="SetMinLOS" Time="1" />
															 </LengthsOfStay>
														</AvailStatusMessage>
														<AvailStatusMessage>
															 <StatusApplicationControl Start="2017-09-11" End="2017-09-26" InvTypeCode="2bedcabin" RatePlanCode="2bed_spcl">
																<DestinationSystemCodes>
																	<DestinationSystemCode>NBO</DestinationSystemCode>
																</DestinationSystemCodes>
															 </StatusApplicationControl>
															 <RestrictionStatus Status="Open" />
															 <LengthsOfStay>
																<LengthOfStay MinMaxMessageType="SetMinLOS" Time="1" />
															 </LengthsOfStay>
														</AvailStatusMessage>
														<AvailStatusMessage>
															 <StatusApplicationControl Start="2017-09-11" End="2017-09-26" InvTypeCode="2bedcabin" RatePlanCode="2bed_std">
																<DestinationSystemCodes>
																	<DestinationSystemCode>NBO</DestinationSystemCode>
																</DestinationSystemCodes>
															 </StatusApplicationControl>
															 <RestrictionStatus Status="Open" />
															 <LengthsOfStay>
																<LengthOfStay MinMaxMessageType="SetMinLOS" Time="1" />
															 </LengthsOfStay>
														</AvailStatusMessage>
													</AvailStatusMessages>
												</OTA_HotelAvailNotifRQ>
											</soap:Body>
										</soap:Envelope>
									
								
Response Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<OTA_HotelAvailNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2017-09-11T14:56:50+08:00">
													<Success/>
												</OTA_HotelAvailNotifRS>
											</soap:Body>
										</soap:Envelope>
									
								
AnchorRate Plan Request / Response (OTA_HotelRateAmountNotifRQ/RS)

Newbook will only generate this request when the 3rd Party Application is registered with our platform, and has submitted an ARI Settings Request. Please contact Newbook Support if you would like to explore this option.

Used as Reference:

The Rate Plan Push OTA Messages are used for Newbook to provide Rate information to a 3rd Party. The message assumes a push model.

The response from the 3rd Party will verify whether the Rates were updated successfully.

If any problems are encountered including missing elements/attributes, or invalid room codes or rate codes, the 3rd Party should reject the whole message in its entirety.

Direction of Message

  • Newbook will send OTA_HotelRatePlanAmountNotifRQ
  • The 3rd Party Application will reply with OTA_HotelRatePlanAmountNotifRS


Request Usage Profile

Node Count Description
RateAmountMessages@HotelCode 1 The Instance Code as defined by Newbook
StatusApplicationControl@InvTypeCode 1 The Room Code for the current rate element
StatusApplicationControl@RatePlanCode 1 The Rate Code for the current rate element
DestinationSystemCode 1 The Room Code for the current rate element
Rate@Start 1 The start of the date range for the current rate element, in the format YYYY-MM-DD
Rate@End 1 The end of the date range for the current rate element, in the format YYYY-MM-DD
Rate@InvCode 1 The Room Code for the current rate element
BaseByGuestAmt@AmountAfterTax 1 The total amount after tax
BaseByGuestAmt@CurrencyCode 1 CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked
AdditionalGuestAmount@AgeQualifyingCode 1 Specifies the guest type for this GuestCount - uses OTA Spec for identifiers, will be one of three values: 10: Adult, 8: Child, 7: Infant
AdditionalGuestAmount@Amount 1 The amount per additional guest after tax

Response Usage Profile

Node Count Description
Success 1 Element exists only when request was successful

Rate Plan Request / Response (OTA_HotelRateAmountNotifRQ/RS) Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Header>
												<wsse:Security xmlns:wsse="http://tempuri.org/" xmlns:soap="soap" soap:mustUnderstand="1">
													<wsse:UsernameToken>
													<wsse:Username>username</wsse:Username>
													<wsse:Password>password</wsse:Password>
													</wsse:UsernameToken>
												</wsse:Security>
												<soap:InstanceToken>instance_token</soap:InstanceToken>
											</soap:Header>
											<soap:Body>
												<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2017-07-17T14:10:09+08:00">
													<RateAmountMessages HotelCode="1865">
														<RateAmountMessage>
															<StatusApplicationControl InvTypeCode="cabin" RatePlanCode="cabin-std">
																<DestinationSystemCodes>
																	<DestinationSystemCode>NBOTA</DestinationSystemCode>
																</DestinationSystemCodes>
															</StatusApplicationControl>
															<Rates>
																<Rate Start="2017-07-17" End="2017-07-17" InvCode="cabin">
																	<BaseByGuestAmts>
																		<BaseByGuestAmt AmountAfterTax="75" CurrencyCode="AUD"/>
																	</BaseByGuestAmts>
																	<AdditionalGuestAmounts>
																		<AdditionalGuestAmount AgeQualifyingCode="10" Amount="20.00" IncludedAdditionalGuests="1"/>
																		<AdditionalGuestAmount AgeQualifyingCode="8" Amount="10.00" IncludedAdditionalGuests="0"/>
																		<AdditionalGuestAmount AgeQualifyingCode="7" Amount="5.00" IncludedAdditionalGuests="0"/>
																	</AdditionalGuestAmounts>
																</Rate>
																<Rate Start="2017-07-18" End="2017-07-18" InvCode="cabin">
																	<BaseByGuestAmts>
																		<BaseByGuestAmt AmountAfterTax="170.0000" CurrencyCode="AUD"/>
																	</BaseByGuestAmts>
																	<AdditionalGuestAmounts>
																		<AdditionalGuestAmount AgeQualifyingCode="10" Amount="20.00" IncludedAdditionalGuests="1"/>
																		<AdditionalGuestAmount AgeQualifyingCode="8" Amount="10.00" IncludedAdditionalGuests="0"/>
																		<AdditionalGuestAmount AgeQualifyingCode="7" Amount="5.00" IncludedAdditionalGuests="0"/>
																	</AdditionalGuestAmounts>
																</Rate>
																<Rate Start="2017-07-19" End="2017-07-23" InvCode="cabin">
																	<BaseByGuestAmts>
																		<BaseByGuestAmt AmountAfterTax="75" CurrencyCode="AUD"/>
																	</BaseByGuestAmts>
																	<AdditionalGuestAmounts>
																		<AdditionalGuestAmount AgeQualifyingCode="10" Amount="20.00" IncludedAdditionalGuests="1"/>
																		<AdditionalGuestAmount AgeQualifyingCode="8" Amount="10.00" IncludedAdditionalGuests="0"/>
																		<AdditionalGuestAmount AgeQualifyingCode="7" Amount="5.00" IncludedAdditionalGuests="0"/>
																	</AdditionalGuestAmounts>
																</Rate>
															</Rates>
														</RateAmountMessage>
													</RateAmountMessages>
												</OTA_HotelRateAmountNotifRQ>
											</soap:Body>
										</soap:Envelope>
									
								
Response Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2017-07-18T06:44:10+08:00">
													<Success/>
												</OTA_HotelRateAmountNotifRS>
											</soap:Body>
										</soap:Envelope>
									
								
AnchorAppendices

Table Legend Description

Legend:
1 Only one element/attribute must be provided
0 - 1 Only one element/attribute can be optionally provided
0+ Zero or more elements can be provided
1+ One Element must be provided, multiple elements are supported
@ Denotes an Attribute

Error Types (EWT)

Value Description
3 Business Rule
10 Required field missing
12 Processing Exception
13 Application Error

Charge Types (CHG)

Value Description
4 Additions per stay
21 Per person per night
24 Per item

Charge Groups

Value Description
all Applies to both stay cost items and other items
stay Applies to stay cost items
others Applies to other items

Unique ID Types (UIT)

Value Description
1 Customer
2 CRO (Customer Reservations Office)
3 Corporation representative
4 Company
5 Travel agency
6 Airline
7 Wholesaler
8 Car rental
9 Group
10 Hotel
11 Tour operator
12 Cruise line
13 Internet broker
14 Reservation
15 Cancellation
16 Reference
17 Meeting planning agency
18 Other
19 Insurance agency
20 Insurance agent
21 Profile
22 ERSP (Electronic reservation service provider)
23 Provisional reservation
24 Travel Agent PNR
25 Associated reservation
26 Associated itinerary reservation
27 Associated shared reservation
28 Alliance
29 Booking agent
30 Ticket
31 Divided reservation
32 Merchant
33 Acquirer
34 Master reference
35 Purged master reference
36 Parent reference
37 Child reference
38 Linked reference
39 Contract
40 Confirmation number
41 Fare quote
42 Reissue/refund quote
43 Ground transportation supplier

Phone Use Types (PUT)

Value Description
1 Emergency Contact
2 Travel Arranger
3 Daytime Contact
4 Evening Contact
5 Contact
6 Toll free number
7 Guest use
8 Pickup contact
9 Electronic document reference

Bed Type Codes

Value Description
1 Double
2 Futon
3 King
4 Murphy bed
5 Queen
6 Sofa bed
7 Tatami mats
8 Twin
9 Single
10 Full
11 Run of the house
12 Dorm bed
13 Water bed

Booking Status Codes

Value Description
Cancelled The Booking has been Cancelled
Checked out The Booking has stayed, and left the instance
In-house The Booking is current "In-House" at the instance
No-show The Booking was due to Arrive but did not show up
Reserved The Booking has been accepted at the instance

Discount Type Codes

Value OTA Description Corresponding Newbook Discount Type/s
7 Per person Fixed Amount per Adult, Fixed Amount per Child, Fixed Amount per Person
19 Per room per night Fixed Amount per Night
26 Per reservation/booking Percentage of Total, Fixed Amount, Number of Nights, Number of Nights (Avg)