Introduction

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 provided should not be used on your development servers. These are only examples and do not work.

Release Notes

2018.5 (Current Release)

What 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 respective expected responses, many different systems can exchange data in a similar way.

The OTA Specifications cover the airline industry, car rental firms, hotels, cruise lines, railways, leisure suppliers, service providers, tour operators, travel agencies, solutions providers, technology companies and distributors.

NewBook's implementation focuses on those specifications relevant to the accommodation industry.

Why NewBook needs to support the OTA Specification

The OTA Specification 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 (NewBook) necessitates all agents 'speak the same language'.

NewBook is proud to be recognised as a member of the Open Travel Alliance.

What supporting the OTA Specification means to customers of NewBook

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, NewBook's clients have opened up their booking sources to rapid communication and exchange of availability, rate and booking data.

Connectivity with other services such as self-checkin/checkout kiosks is also possible with the same exchange of data.

Integration with 3rd Party Applications

SOAP Transport Destination

You must use HTTPS to communicate with the NewBook SOAP API, for both testing and real live use.

Your XML request must be sent via POST. Please contact us if you are unsure about which endpoint to use.

Live Endpoints:

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

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

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

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

Test Endpoint:

Development: https://testapi.newbook.cloud/ota

Authentication

NewBook's SOAP implementation requires that all 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>									
								
Handling Error Responses

In the case of an error NewBook will respond with XML structured as show in the example.

Response Usage Profile

Node No. (See Appendices) 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, please see Appendices
Error@Code 1 The Error Code, please refer to the "Used as Reference" section for each individual message.

Handling Error Responses Example

Request Example XML
									
										<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
											<soap:Body>
												<ResponseName>
													<Errors>
														<Error Type="13" Code="0">An Error has Occurred</Error>
													</Errors>
												</ResponseName>
											</soap:Body>
										</soap:Envelope>									
								
Ping 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 to 3rd Party Applications and determining if the receiving 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 sends requests to 3rd Party Applications and expects a response:

  • NewBook will send OTA_PingRQ
  • The 3rd Party Application will acknowledge by sending back OTA_PingRS

NewBook receives requests from 3rd Party Applications and issues responses appropriately:

  • The initiating 3rd Party Application will send OTA_PingRQ
  • NewBook will acknowledge by sending back OTA_PingRS


Request Usage Profile

Node No. (See Appendices) Description
EchoData 1 String data that is expected to be echoed back in the response message.

Response Usage Profile

Node No. (See Appendices) Description

Ping Request / Ping Response (OTA_PingRQ/RS) Example

Request Example XML
									
										<OTA_PingRQ xmlns="http://tempuri.org/">
											<EchoData>Hello, World!</EchoData>
										</OTA_PingRQ>									
								
Response Example XML
									
										<OTA_PingRS xmlns="http://tempuri.org/">
											<Success/>
											<EchoData>Hello, World!</EchoData>
										</OTA_PingRS>									
								
Instance 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.

Direction of Message

3rd Party Applications sends a request and expects a response:

  • The initiating 3rd Party Application will send OTA_HotelDescriptiveInfoRQ
  • NewBook will acknowledge by sending back OTA_HotelDescriptiveInfoRS


Request Usage Profile

Node No. (See Appendices) Description
@HotelCode 1 This must match the InstanceToken that is provided with Authentication.

Response Usage Profile

Node No. (See Appendices) 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
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 element is not present the Room is not limited
GuestRoom@MaxAdultOccupancy 0-1 The maximum number of Adults allowed to stay in this Room Type, if this element is not present the Room is not limited
GuestRoom@MaxChildOccupancy 0-1 The maximum number of Children allowed to stay in this Room Type, if this element is not present the Room is not limited
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/TypeRoom 0+ Gives bedding details about the Room
TypeRoom@BedTypeCode 1 Contains the OTA Bed Type Code - see Appendicies
TypeRoom@StandardNumBeds 1 Contains the number of Beds applicable to the Bed Type Code
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

Instance Information Request / Response (OTA_HotelDescriptiveInfoRQ/RS) Example

Request Example XML
									
										<OTA_HotelDescriptiveInfoRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0">
											<HotelDescriptiveInfos>
												<HotelDescriptiveInfo HotelCode="InstanceToken"/>
											</HotelDescriptiveInfos>
										</OTA_HotelDescriptiveInfoRQ>									
								
Response Example XML
									
										<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>
															</OwnershipManagementInfo>
														</OwnershipManagementInfos>
													</HotelInfo>
													<FacilityInfo>
														<GuestRooms>
															<GuestRoom Code="1" Quantity="5" MaxAdultOccupancy="2" MaxOccupancy="4" RoomTypeName="Standard King Room" Sort="1">
																<RoomNames>
																	<RoomName>01</RoomName>
																	<RoomName>02</RoomName>
																	<RoomName>03</RoomName>
																	<RoomName>04</RoomName>
																	<RoomName>05</RoomName>
																</RoomNames>
																<TypeRoom StandardNumBeds="2" BedTypeCode="9" />
																<MultimediaDescriptions>
																	<MultimediaDescription>
																		<ImageItems>
																			<ImageItem>
																			<Description>Living Room</Description>
																			<ImageFormat>
																				<URL>url_to_image</URL>
																			</ImageFormat>
																			</ImageItem>
																		</ImageItems>
																	</MultimediaDescription>
																</MultimediaDescriptions>
															</GuestRoom>
															<GuestRoom Code="3" Quantity="10" MaxAdultOccupancy="4" RoomTypeName="Standard Queen Room" Sort="2"/>
															<GuestRoom Code="4" Quantity="5" 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>
															</GuestRoom>
														</GuestRooms>
													</FacilityInfo>
												</HotelDescriptiveContent>
											</HotelDescriptiveContents>
										</OTA_HotelDescriptiveInfoRS>									
								
Availability Request / Availability Response (OTA_HotelAvailGetRQ/RS)

Used as Reference:

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

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

The Availability request/response OTA Messages are used for retrieving availability from NewBook. The message assumes a pull model.

The response from NewBook will include the availability for the specified period and Channel Code.

Direction of Message

The 3rd Party Application sends requests to NewBook and expects a response

  • The initiating 3rd Party Application will send OTA_HotelAvailGetRQ
  • NewBook will respond with OTA_HotelAvailGetRS

If there are no Rooms mapped or enabled for delivery through to 3rd Parties for the requested period, an error message is returned.



Request Usage Profile

Node No. (See Appendices) Description
DateRange@Start 1 The start of the date range to get availability, must be in the format YYYY-MM-DD
DateRange@End 1 The start of the date range to get availability, must be in the format YYYY-MM-DD

Response Usage Profile

Node No. (See Appendices) Description
AvailStatusMessages@HotelCode 1 The Instance Code as defined by the Remote System, will be stored in NewBook configuration
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
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 currency availability element (days)

Availability Request / Availability Response (OTA_HotelAvailGetRQ/RS) Example

Request Example XML
									
										<OTA_HotelAvailGetRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2013-06-18T11:05:11+12:00" Version="1.0">
											<HotelAvailRequests>
												<HotelAvailRequest>
													<DateRange Start="2013-06-18" End="2013-07-10"/>
												</HotelAvailRequest>
											</HotelAvailRequests>
										</OTA_HotelAvailGetRQ>									
								
Response Example XML
									
										<OTA_HotelAvailGetRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2013-06-18T13:03:34+12:00" Version="1.0">
											<Success/>
											<AvailStatusMessages HotelCode="INSTANCE_CODE">
												<AvailStatusMessage BookingLimit="0">
													<StatusApplicationControl Start="2013-06-18" End="2013-06-23" InvTypeCode="2BPM" RatePlanCode="2BPM1"/>
													<RestrictionStatus Status="Open"/>
													<LengthsOfStay>
														<LengthOfStay MinMaxMessageType="SetMinLOS" Time="1"/>
													</LengthsOfStay>
												</AvailStatusMessage>
												<AvailStatusMessage BookingLimit="2">
													<StatusApplicationControl Start="2013-06-24" End="2013-07-10" InvTypeCode="2BPM" RatePlanCode="2BPM1"/>
													<RestrictionStatus Status="Open"/>
													<LengthsOfStay>
														<LengthOfStay MinMaxMessageType="SetMinLOS" Time="1"/>
													</LengthsOfStay>
												</AvailStatusMessage>
											</AvailStatusMessages>
										</OTA_HotelAvailGetRS>									
								
Rate Plan Request / Rate Plan Response (OTA_HotelRatePlanRQ/RS)

Used as Reference:

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

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

The Rate Plan Request / Response OTA Messages are used for retrieving Rates from NewBook. The message assumes a pull model.

The Response from NewBook will include the rates for the specified period and Channel Code.

Direction of Message

The 3rd Party Application sends Requests to NewBook and expects a Response

  • The initiating 3rd Party Application will send OTA_HotelRatePlanRQ
  • NewBook will acknowledge by sending back OTA_HotelRatePlanRS

If there are no Rates mapped or enabled for delivery through to 3rd Parties for the requested period, an error message is returned.



Request Usage Profile

Node No. (See Appendices) Description
DateRange@Start 1 The start of the date range to get availability, must be in the format YYYY-MM-DD
DateRange@End 1 The start of the date range to get availability, must be in the format YYYY-MM-DD

Response Usage Profile

Node No. (See Appendices) Description
AvailStatusMessages@HotelCode 1 The Instance Code as defined by the Remote System, will be stored in NewBook configuration
DestinationSystemCode 1 Booking Agent Code (see apendix)
RatePlan@RatePlanCode 1 The Rate Code for the current rate plan 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@InvTypeCode 1 The Room Code for the current availability 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

Rate Plan Request / Rate Plan Response (OTA_HotelRatePlanRQ/RS) Example

Request Example XML
									
										<OTA_HotelRatePlanRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2013-06-18T11:05:11+12:00" Version="1.0">
											<RatePlans>
												<RatePlan>
													<DateRange Start="2013-06-18" End="2013-07-10"/>
												</RatePlan>
											</RatePlans>
										</OTA_HotelRatePlanRQ>									
								
Response Example XML
									
										<OTA_HotelRatePlanRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2013-06-18T13:03:34+12:00" Version="1.0">
											<Success/>
											<RatePlans HotelCode="INSTANCE_CODE">
												<RatePlan RatePlanCode="BAR">
													<Description Name="Best Available Rate" />
													<DestinationSystemsCode>
														<DestinationSystemCode>NBO</DestinationSystemCode>
													</DestinationSystemsCode>
													<Rates>
													<Rate Start="2013-06-18" End="2013-06-31" InvTypeCode="1BE">
														<RateDescription Name="1 Bedroom" />
														<BaseByGuestAmts>
															<BaseByGuestAmt AmountAfterTax="130.00" CurrencyCode="AUD"/>
														</BaseByGuestAmts>
													</Rate>
													<Rate Start="2013-07-01" End="2013-07-10" InvTypeCode="1BE">
														<RateDescription Name="1 Bedroom" />
														<BaseByGuestAmts>
															<BaseByGuestAmt AmountAfterTax="140.00" CurrencyCode="AUD"/>
														</BaseByGuestAmts>
													</Rate>
													</Rates>
												</RatePlan>
											</RatePlans>
										</OTA_HotelRatePlanRS>									
								
Single 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.

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

Direction of Message

The 3rd Party Application sends requests to NewBook and expects a response

  • The initiating 3rd Party Application will send OTA_HotelAvailRQ
  • NewBook will respond with OTA_HotelAvailRS


Request Usage Profile

Node No. (See Appendices) 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 No. (See Appendices) 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@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 supplied separately
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
									
										<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>									
								
Response Example XML
									
										<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>									
								
Reservation Notification 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. The initiating 3rd Party Application may add its own data (such as its own confirmation ID) and include that data in the request.

Direction of Message

NewBook receives requests from 3rd Party Applications and issues responses appropriately:

  • The initiating 3rd Party Application will send OTA_HotelResNotifRQ
  • NewBook will acknowledge by sending back OTA_HotelResNotifRS


Request Usage Profile

Node No. (See Appendices) 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 apendix)
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/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 type of guest: 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 Inforamation 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
ResGuest@ArrivalTime 0-1 The estimated arrival time of the guest in the form HH:mm:ss
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 The Guest's Firstname
PersonName/Surname 1 The Guest's Surname/Family Name
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
  • 5: Mobile
  • 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 Booking/Deposit
DepositPayments/GuaranteePayment 1+ Contains payment information
GuaranteePayment/Description 1 Payment Description (good place to include any reference numbers)
GuaranteePayment/AmountPercent 1 Contains Payment Amount and Currency
AmountPercent@Amount 1 Contains the payment dollar amount in the format 1000.00
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 resversation reference details for the remote system
HotelReservationID@ResID_Type 1 Always '14'
HotelReservationID@ResID_Value 1 Reference number supplied 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 No. (See Appendices) 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 supplied by the NewBook prefixed with 'NB-'

Reservation Notification Request / Response (OTA_HotelResNotifRQ/RS) Example

Request Example XML
									
										<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="WTF-001"/>
													<RoomStays>
													<RoomStay RoomStayStatus="Reserved" IndexNumber="1">
														<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"/>
														</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" ArrivalTime="10:30:00">
														<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="001"/>
														</HotelReservationIDs>
														<Total AmountAfterTax="1189.95" CurrencyCode="AUD"/>
													</ResGlobalInfo>
												</HotelReservation>
											</HotelReservations>
										</OTA_HotelResNotifRQ>									
								
Response Example XML
									
										<OTA_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05">
											<Success/>
											<HotelReservations>
												<HotelReservation ResStatus="Book">
													<UniqueID Type="14" ID="WTF-001"/>
													<ResGlobalInfo>
														<HotelReservationIDs>
															<HotelReservationID ResID_Type="14" ResID_Value="NB-001"/>
														</HotelReservationIDs>
													</ResGlobalInfo>
												</HotelReservation>
											</HotelReservations>
										</OTA_HotelResNotifRS>									
								
Read 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 Contact Details, and or Arrival/Departure dates.

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.

Direction of Message

NewBook receives Requests (Notifications) from 3rd Party Applications and issues Responses appropriately:

  • The initiating 3rd Party Application will send OTA_ReadRQ
  • NewBook will acknowledge by sending back OTA_ReadRS


Request Usage Profile

Node No. (See Appendices) 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/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.
  • 5: Mobile
  • 3: Fax
Verification/Email 0-1 Contact email address for Guest

Response Usage Profile

Node No. (See Appendices) 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 apendix)
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@AmountAfterTax 1 The nightly amount after tax, please implement a separate Rate element each time this amount changes
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 type of guest: 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 apendix)
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
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/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 Inforamation about the Service
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
ResGuest@ArrivalTime 0-1 The estimated arrival time of the guest in the form HH:mm:ss
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 The Guest's Firstname
PersonName/Surname 1 The Guest's Surname/Family Name
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
  • 5: Mobile
  • 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 Booking/Deposit
DepositPayments/GuaranteePayment 1+ Contains payment information
GuaranteePayment/Description 1 Payment Description (good place to include any reference numbers)
GuaranteePayment/AmountPercent 1 Contains Payment Amount and Currency
AmountPercent@Amount 1 Contains the payment dollar amount in the format 1000.00
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 resversation 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 supplied by the Booking Agent
HotelReservationID@ResID_Source 1 Descriptive information regarding the ResID_Value, examples include.
"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@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

Read Request / Response (OTA_ReadRQ/RS) Example

Request Example XML
									
										<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2015-03-13T13:19:24+10:00">
											<ReadRequests>
												<ReadRequest>
													<Verification>
														<PersonName>
															<GivenName>John</GivenName>
															<Surname>Doe</Surname>
														</PersonName>
														<ReservationTimeSpan Start="2015-03-14" End="2015-03-15" />
														<Telephone PhoneNumber="0756554600"/>
														<Telephone PhoneNumber="0412345678" PhoneTechType="5" />
														<Email>john.doe@example.com</Email>
													</Verification>
												</ReadRequest>
											</ReadRequests>
										</OTA_ReadRQ>									
								
Response Example XML
									
										<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="AGENT_CODE-001"/>
													<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"/>
															</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>
																<ServiceDescription Name="Booking Fee"/>
															</ServiceDetails>
														</Service>
														<Service Quantity="1" ServiceRPH="2">
															<Price>
																<Total AmountAfterTax="220.00" CurrencyCode="AUD"/>
															</Price>
															<ServiceDetails>
																<ServiceDescription Name="Pet Fees"/>
															</ServiceDetails>
														</Service>
													</Services>
													<ResGuests>
														<ResGuest ResGuestRPH="1" ArrivalTime="10:30:00">
															<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="001" ResID_Source="NewBook" />
															<HotelReservationID ResID_Type="14" ResID_Value="001" ResID_Source="AGENT_NAME" />
															<HotelReservationID ResID_Type="18" ResID_Value="Powered Site 101" ResID_Source="Site" />
														</HotelReservationIDs>
														<Total AmountAfterTax="1327.50" CurrencyCode="AUD"/>
													</ResGlobalInfo>
												</HotelReservation>
											</ReservationsList>
										</OTA_ReadRS>									
								
Appendices

Table Legend Description

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

Constants

Error Types (EWT)

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

Charge Types (CHG)

Value Description
13 Complimentary
21 Per person per night
26 Per reservation/booking

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)