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.
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.
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.
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
Staging (development): https://testapi.newbook.cloud/ota
Please contact Newbook Support if you are unsure about which endpoint to use.
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.
In the case of an error Newbook and the 3rd Party Application will respond with XML structured as show in the example.
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 |
[email protected] | 1 | The Error Type |
[email protected] | 1 | OTA ERR Error Codes. |
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.
Or:
Node | Count | Description |
---|---|---|
EchoData | 1 | String data that is expected to be echoed back in the response message. |
Node | Count | Description |
---|---|---|
Success | 1 | Element exists only when request was successful |
EchoData | 1 | The original request EchoData content |
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.
Node | Count | Description |
---|---|---|
@HotelCode | 1 | This must match the InstanceToken that is provided with Authentication. |
Node | Count | Description |
---|---|---|
Success | 1 | Element exists only when request was successful |
[email protected] | 1 | This will match the InstanceToken provided |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 1 | Contains the InvTypeCode for Room Availability |
[email protected] | 1 | The maximum possible number of Rooms available (for this Room Type) |
[email protected] | 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. |
[email protected] | 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. |
[email protected] | 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. |
[email protected] | 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. |
[email protected] | 1 | The name of this Room Type |
[email protected] | 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 [email protected] 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 |
[email protected] | 1 | The ID of a Room |
[email protected] | 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 |
[email protected] | 1 | The width of the Room |
[email protected] | 1 | The legnth of the Room |
[email protected] | 1 | The height of the Room |
[email protected] | 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 |
[email protected] | 1 | Contains the Bed Type Code |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 0-1 | The total amount before tax of the Service |
[email protected] | 0-1 | The total amount after tax of the Service |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 0-1 | If the tax amount type is percentage, it contains the percentage value |
[email protected] | 0-1 | If the tax amount type is a fixed value, it contains the value |
[email protected] | 1 | The tax contribution, either inclusive or exclusive |
[email protected] | 1 | The Charge Unit Type Code |
[email protected] | 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 |
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.
Node | Count | Description |
---|---|---|
N/A |
Node | Count | Description |
---|---|---|
GetMappingRS / RoomTypes | 1 | Container for RoomType elements |
RoomTypes / RoomType | 0+ | Each distinct Room Type |
[email protected] | 1 | Room Code (for mapping/interchange purposes) of the Room Type |
[email protected] | 1 | Name of the Room Type |
RoomType / RatePlans | 1 | Container for RatePlan elements |
RatePlans / RatePlan | 0+ | Each distinct Rate Type |
[email protected] | 1 | Rate Plan Code (for mapping/interchange purposes) of the Rate Plan |
[email protected] | 1 | Name of the Rate Plan |
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.
Node | Count | Description |
---|---|---|
[email protected] | 1 | The Arrival date of the Booking, must be in the format YYYY-MMDD |
[email protected] | 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 |
[email protected] | 1 | The Rate Code of the desired RatePlan |
AvailRequestSegment / RoomStayCandidates | 1 | Contains the RoomStayCandidate elements |
RoomStayCandidates / RoomStayCandidate | 1+ | Contains the RoomTypeCode and GuestCounts information |
[email protected] | 1 | |
RoomStayCandidate / GuestCounts | 1 | Contains the GuestCount elements |
GuestCounts / GuestCount | 1+ | Contains the Number of Guests specified per AgeQualifyingCode |
[email protected] | 1 | Specifies the guest type for this GuestCount - uses OTA Spec for identifiers, will be one of three values:
|
[email protected] | 1 | The Number of Guests for the specified AgeQualifyingCode |
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 |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 1 | The start of the date range for the current rate element, in the format YYYY-MM-DD |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 1 | The Arrival Date for the particular RoomStay |
[email protected] | 1 | The Departure Date for the particular RoomStay |
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.
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>[email protected]</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 supply a ReservationTimeSpan to narrow the results:
<ReservationTimeSpan Start="2015-03-14" End="2015-03-15" />
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 |
[email protected]_Type | 1 | Always 14 for Reservation Type Code |
[email protected]_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 |
[email protected]_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 |
[email protected] | 0-1 | Specify the Arrival Date of the Booking |
[email protected] | 0-1 | Specify the Departure Date of the Booking |
Verification / Telephone | 0+ | Contact number/s for Guest |
[email protected] | 1 | Contains the Telephone Number |
[email protected] | 0-1 | The type of phone technology, if not provided it should be assumed as a land-line.
|
Verification / Email | 0-1 | Contact email address for Guest |
Node | Count | Description |
---|---|---|
[email protected] | 1 | Indicates the time the reservation was created in Newbook. |
HotelReservation / UniqueID | 1 | The Reservation reference for the Remote System |
[email protected] | 1 | Value is always '14' |
[email protected] | 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. |
[email protected] | 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 |
[email protected] | 1 | The Room Code of the Selected Room |
[email protected] | 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 |
[email protected] | 1 | The starting date of the rate in the form YYYY-MM-DD |
[email protected] | 1 | The ending date of the rate in the form YYYY-MM-DD |
Rate / Base | 1 | Specifies the per-night rate for the room |
[email protected] | 1 | CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked |
[email protected] | 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 AgeQualifyingCode (adult, child or infant) Adult count must always be sent |
[email protected] | 1 | Specifies the guest type for this GuestCount - uses OTA Spec for identifiers, will be one of three values
|
[email protected] | 1 | Number of Guests for the specified type (see above) |
RoomStay / TimeSpan | 1 | Contains the timespan which this RoomStay covers |
[email protected] | 1 | Check in date in the format YYYY-MM-DD |
[email protected] | 1 | Check out date in the format YYYY-MM-DD |
RoomStay / Discount | 0-1 | The discount granted to the booking, if any |
[email protected] | 1 | The dollar amount of the discount |
[email protected] | 1 | The identifying code of the discount. Will most often be empty |
[email protected] | 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 |
[email protected] | 1 | The total amount after tax |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 1 | The quantity of Services to bill the guest |
[email protected] | 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 |
[email protected] | 1 | The total amount after tax of the Service |
[email protected] | 1 | CurrencyCode uses ISO 4217 codes to indicate the currency of the Service used |
Service / ServiceDetails | 1 | Information about the Service |
[email protected] | 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 |
[email protected] | 1 | The name of the Service |
Reservation / ResGuests | 1 | Contains the ResGuest elements |
ResGuests / ResGuest | 1+ | Contains elements for the Guest information |
[email protected] | 1 | This value links the ResGuest to RoomStay(s) where possible. You can find the links in RoomStay/ResGuestRPHs |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 1 | Contains the Telephone Number |
[email protected] | 0-1 | The type of phone technology, if not provided it should be assumed as a land-line
|
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 |
[email protected] | 1 | Contains the Loyal Program Member ID |
[email protected] | 1 | Contains the name of the Loyalty Program |
[email protected] | 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 |
[email protected] | 1 | Credit Card Number |
[email protected] | 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 |
[email protected] | 1 | Contains the dollar amount in the format 1234.56 |
[email protected] | 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 |
[email protected]_Type | 1 | Either 14 – Reservation Type Code or 18 – Other Type Code |
[email protected]_Value | 1 | Reference number supplied by the Booking Agent |
[email protected]_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 |
[email protected] | 1 | The total amount after tax |
[email protected] | 1 | CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked |
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.
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. |
[email protected] | 1 | The Start Date for the test Availability and Rate Information push |
[email protected] | 1 | The End Date for the test Availability and Rate Information push |
Node | Count | Description |
---|---|---|
Success | 1 | Element only exists when request was successful |
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.
Node | Count | Description |
---|---|---|
[email protected] | 1 | Indicates the time the reservation was created in the Remote System |
[email protected] | 1 | Will always be one of the following:
|
HotelReservation / UniqueID | 1 | The Reservation reference for the Remote System |
[email protected] | 1 | Value is always '14' |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 1 | The unique identifier of this particular RoomType / RoomRate combination |
[email protected] | 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 |
[email protected] | 1 | Check in date in the format YYYY-MM-DD |
[email protected] | 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 |
[email protected] | 1 | The Room Code of the Selected Room |
[email protected] | 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 |
[email protected] | 1 | The starting date of the rate in the form YYYY-MM-DD |
[email protected] | 1 | The ending date of the rate in the form YYYY-MM-DD |
Rate / Base | 1 | Specifies the per-night rate for the room |
[email protected] | 1 | CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked |
[email protected] | 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. |
[email protected] | 1 | The amount to grant as the discount for the booking |
[email protected] | 0-1 | The code to record on the booking when the discount is applied (optional) |
[email protected] | 0-1 | True or false. Optional; default false. Whether or not the [email protected] has already been deducted from each Rate/[email protected] 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 [email protected] 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 [email protected] 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 |
[email protected] | 1 | The total amount after tax |
[email protected] | 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 |
[email protected] | 1 | Specifies the guest type for this GuestCount - uses OTA Spec for identifiers, will be one of three values:
|
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 1 | The quantity of Services to bill the guest |
[email protected] | 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 |
[email protected] | 1 | The total amount after tax of the Service |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 1 | This value links the ResGuest to RoomStay(s) where possible. You can find the links in RoomStay/ResGuestRPHs |
[email protected] | 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 |
[email protected] | 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 |
[email protected] | 1 | Contains the Telephone Number |
[email protected] | 0-1 | The type of phone technology, if not provided it should be assumed as a land-line
|
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 |
[email protected] | 1 | Contains the Loyal Program Member ID |
[email protected] | 1 | Contains the name of the Loyalty Program. Has an affect on Discounts - please see Discount/DiscountReason |
[email protected] | 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 |
[email protected] | 1 | Credit Card Number |
[email protected] | 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 |
[email protected] | 1 | Contains the dollar amount in the format 1234.56 |
[email protected] | 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 |
[email protected]_Type | 1 | Always "14" - The OTA code for "Reservation" |
[email protected]_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 |
[email protected] | 1 | The total amount after tax |
[email protected] | 1 | CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked |
Node | Count | Description |
---|---|---|
[email protected] | 1 | For reservations this status is always 'Book' |
[email protected] | 1 | Value is '14' |
[email protected] | 1 | Identifier of the reservation according to the Remote System |
[email protected]_Type | 1 | Value is '14' |
[email protected]_Value | 1 | Reference number supplied by Newbook |
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 supply 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 [email protected] 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.
Node | Count | Description |
---|---|---|
[email protected] | 1 | The Instance Code as defined by Newbook |
[email protected] | 1 | Number of Rooms available |
[email protected] | 1 | The start of the date range for the current availability element, in the format YYYY-MM-DD |
[email protected] | 1 | The end of the date range for the current availability element, in the format YYYY-MM-DD |
[email protected] | 1 | The Room Code for the current availability element |
[email protected] | 1 | The Rate Code for the current availability element |
[email protected] | 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. |
[email protected] | 1 | Controls the Stop Sell for the current availability element, can be either "Open" or "Close" |
[email protected] | 1 | "SetMinLOS" for minimum length of stay, or "SetMaxLOS" for maximum length of stay |
[email protected] | 1 | The minimum nights required to stay for the current availability element (days) |
Node | Count | Description |
---|---|---|
Success | 1 | Element only exists when request was successful |
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 supply 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.
Node | Count | Description |
---|---|---|
[email protected] | 1 | The Instance Code as defined by Newbook |
[email protected] | 1 | The Room Code for the current rate element |
[email protected] | 1 | The Rate Code for the current rate element |
DestinationSystemCode | 1 | The Room Code for the current rate element |
[email protected] | 1 | The start of the date range for the current rate element, in the format YYYY-MM-DD |
[email protected] | 1 | The end of the date range for the current rate element, in the format YYYY-MM-DD |
[email protected] | 1 | The Room Code for the current rate element |
[email protected] | 1 | The total amount after tax |
[email protected] | 1 | CurrencyCode uses ISO 4217 codes to indicate the currency of the rate that is being booked |
[email protected] | 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 |
[email protected] | 1 | The amount per additional guest after tax |
Node | Count | Description |
---|---|---|
Success | 1 | Element exists only when request was successful |
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 |
Value | Description |
---|---|
3 | Business Rule |
10 | Required field missing |
12 | Processing Exception |
13 | Application Error |
Value | Description |
---|---|
4 | Additions per stay |
21 | Per person per night |
24 | Per item |
Value | Description |
---|---|
all | Applies to both stay cost items and other items |
stay | Applies to stay cost items |
others | Applies to other items |
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 |
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 |
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 |
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 |
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) |
Would you like to integrate with Newbook? You can access the Newbook REST and OTA APIs by registering for a developers account with us. Just a few simple steps and you will be on your way to developing with us!
Have you already registered for a developers account with Newbook? Click login below to use our login form.