General
What is the post URL that we should use?
For the TEST / DEMO environment, the post URL is: www.stubademo.com/RXLStagingServices/ASMX/XmlService.asmx
For the LIVE environment, the post URL will be issued by our team as part of your API details. If you need to reconfirm your live URL, please contact techsupport@stuba.com
What interface version are we using? What versions are supported?
You should contact our team to determine which interface version is the default and which versions are supported.
Specifying an unsupported version in a request will lead to the response “InvalidRequest: API Version no longer supported”. To continue using our services please upgrade to version 1.28. Should you require assistance with the upgrades, you may contact us at techsupport@stuba.com
What are the various methods or operations provided in the booking flow?
AvailabilitySearch – Provides real time prices and availability.
BookingCreate (prepare mode) – Provides a recheck on prices and availability of selected hotel room(s). Provides the cancellation policy and hotel notes, applicable to a hotel room.
BookingCreate (confirm mode) – Confirms a booking with Stuba.
BookingCancel – Cancels a booking made with Stuba. It cancels all rooms under the booking reference.
BookingQuery – Retrieve details of a booking confirmed with Stuba
BookingHCNQuery – Retrieves the hotel confirmation number for any booking arriving in the next 7 days
Can you give us some sample requests and responses?
Sample requests and responses can be located within our Hotel Booking API V1.28 documentation by selecting each operation that is supported. Once you are logged into the Stuba integration portal you can also download a Postman collection from the dashboard for all supported operations.
What are the values that we should use for Org, User, Password?
The Stuba connectivity team will have provided you with an AgencyId, User Name and Password to access the Stuba test environment / demo system. These will consist of:
URL – POST URL
Org – AgencyId
User – UserName
Password – Password
Default Currency – The billing currency as agreed during the setup of your account
Likewise, for the live environment credentials will be distributed by the connectivity team upon completion of the go-live certification process.
We get no response or an HTTP error?
In this case your requests are not even reaching Stuba’s system, so we aren’t able to give detailed error messages. Try the following:
• Confirm that you are posting the request to the correct URL. Please check the correct URLs at the start of the integration process.
• Check that the URL you’re using does not include a version number (see below).
• Ensure that you are using the correct credentials and correct currency code that is configured for your account.
• Check that your requests include a ‘Content-type: text/xml’ header.
• If using SOAP, ensure that your requests include a ‘SOAPAction’ header.
Stuba has a versioning system which allows us to upgrade the system without affecting current users. Internally this generates URLs which look like: www.stubademo.com/RXLStagingServicesV123/ASMX/XmlService.asmx
The “V123” part is a version number and should not be used in your requests. Instead you should send requests like: www.stubademo.com/RXLStagingServices/ASMX/XmlService.asmx
Content / Data
Where should I download the Stuba test regions and hotels from?
You need to log into our developer site and visit the Dashboard where you will find “Region Content Download” and “Hotel Content Download”.
How should we map the Stuba regions and hotels?
Details of how to approach this can be located in the static data section of our integration website.
What is the format of the hotel static data file?
The hotel static data is provided in XML format – one file for each hotel. Each file is named by the Hotel Id. Please refer to the static data section for further details.
Are all details of the hotel provided?
Yes, all hotel details including hotel type, address, description, photos, amenities, etc.
The hotel photo URLs look incomplete – how do I obtain the images?
Please use the prefix http://api.stuba.com for the photo URLs provided in the hotel static data. E.g. http://api.stuba.com/RXLImages/1163/324524/Main_324524.jpg
How should we display the hotel details on our website?
You can store the hotel static data files in a folder on your server and then load the required file/s based on the hotel Id/s.
Alternatively, you can store the hotel content in your database and pick up the relevant data from there.
Do you provide a static list of room types and meal types?
The room types and meal types for our product are obtained dynamically from the hotel when a search is made. We do not have a static list of rooms and meals.
When do we get access to the live static data and inventory?
Updated process needs to be added
Search
Can you provide us with the currency codes that we can use in the requests?
You must only use the currency that is configured for your account with Stuba. You will be provided with the currency code for your account as part of your credentials. We do not currently support searching and booking in multiple currencies.
Is nationality required? Do you provide a list of valid nationality codes?
Yes, the nationality is mandatory. Some hotels have different rates and conditions for different nationalities. Some hotels are also not available for certain nationalities. To avoid issues, it is mandatory that the nationality of the guest is specified in the availability search request.
Please download the list of nationality codes from the Dashboard page found when you log in to the Stuba Integration Portal.
Why are hotel details not included in AvailabiltySearch response?
For optimal performance Stuba only includes dynamic information like, rates, room type & meal type in our AvailabilitySearch responses. All other product details can be located from our static data using the HotelId’s included in the response.
If you require details that are not present in the responses, please contact techsupport@stuba.com so that our team can assist you.
What is the maximum number of rooms supported? What is the maximum pax allowed in each room?
Stuba supports searches for up to max. 5 rooms. In a room, up to 6 adults and 3 children can be specified.
Is it possible to filter out data for 4 star properties only?
Stuba specializes and provides 3 star and higher properties only. The availability search provides a filter for ‘MinStars’. This filter will ensure that only the specified minimum star and higher properties are returned. If the value specified is 4, you will get results for 4 and 5 star properties. Details of how to implement this filter can be located within the AvailabilitySearch section of our API documentation.
Our website specialises in apartments. Is it possible to obtain only apartments?
Stuba can provide you the list of apartments, which can be imported into your system and used for filtering out the apartments. You can also send a search request with a set of apartment IDs to Stuba.
Can we select multiple hotels and search these hotels together at the same time?
Yes, you can search by multiple hotel IDs in the same search request. This functionality is available from version 1.26 onwards. Please refer to AvailabilitySearch section of our API documentation for details.
Availability searches are slow for us. Can we speed them up?
Ensure you are using HTTP compression on your requests. This offers very significant speed improvements. The API specifications document contains details on how to enable this in the Getting Started section.
If you continue to face slow availability searches, please share some example requests with techsupport@stuba.com and we will be happy to help.
We get no results for our search?
There are a few likely reasons like:
• You have requested overly specific search criteria – Be careful specifying hotel types, room types and meal types since the available options may vary from region to region. Also note that specifying a hotel name requires an exact match, so specifying e.g. ‘Hilton Hotel’ will not match ‘Hilton’ in our system. If you think this might be the cause of your problem, try resubmitting the same search and omit the ‘HotelSearchCriteria’ node completely, this will ensure you get all results for that search.
• You have specified invalid dates – these could be too close to the present time, too far in the future, or in the wrong season for the hotels / regions you’re interested in. For example, some beach resorts may have no winter availability, and ski resorts no summer availability.
• You have specified too short a timeout. If the time taken to respond is close to the timeout you have specified, then Stuba may be unable to return any results in time. Please try removing or extending the timeout.
• There may just be no availability in that region. This is more likely in smaller regions.
• The test environment you are running against may not support the destination you are searching.
If none of the above steps solves your problem, please contact techsupport@stuba.com
What is a ‘hotelQuoteId’?
It’s a reference to the quote of the hotel. This is being used by Stuba for its internal tracking purpose only.
What is a Quote Id? What is the validity period of a quote?
A ‘Result Id’ is provided for every unique room and meal combination result in AvailabilitySearch responses. This ‘Result Id’ must be provided in the ‘BookingCreate’ request to move forwards with the booking process. This ‘Result Id’ is the QuoteId and is valid for a maximum of 20 minutes.
Why is the meal type missing on some quotes?
When a quote has no meal type, it means that the quote is for a ‘room only’ option.
What are the different prices that are provided?
By default, the net or gross price for each room and price for each pax / guest is provided. Whether these prices are net or gross will be determined by what was agreed with your account manager during your account setup. If you no longer have this information, please contact techsupport@stuba.com and our team will be happy to help.
What is CancellationPolicyStatus?
This is an indication of the cancellation policy status of the room. The possible values are Refundable, Nonrefundable & Unknown. You will find an ‘Unknown’ status in the AvailabilitySearch response, if we have not been provided the cancellation condition at this stage. Please note that this is indicative information only for quick reference. The full cancellation policy and charges must be picked from the BookingCreate – ‘prepare’ response.
Book
How do we recheck the prices and availability before confirming the booking?
The ‘BookingCreate’ operation including CommitLevel ‘prepare’ is used to reconfirm the availability and prices of a selected room. This should be done twice in the booking process, once to retrieve essential information and cancellation policy so these can be confirmed by you before committing to the booking and a second time as part of the booking confirmation process.
What are the valid Guest Titles?
The valid Guest Titles are Mr, Miss, Mrs, Mstr and Ms
Our website accepts only the lead pax/guest name. Are all guest names required in the ‘BookingCreate’ request?
You can send through the lead pax/guest name. For the other guest names, please send through unique names such as ‘GuestOne’, ‘GuestTwo’, etc. Duplicate names, numeric and special characters are not allowed in the pax/guest names and may lead to an error message when attempting to proceed with booking.
How should we make payments to Stuba for API bookings?
Stuba does not accept credit cards in the booking request, if you are currently paying Stuba by Credit card please contact your account manager to discuss alternative payment options. On your website, you may collect payment from the guest by credit card through your payment gateway, however this information does not need to be shared with Stuba. Stuba will invoice you separately for the bookings done via our API and these are to be paid in line with the commercial agreement between us.
How should we send across special requests such as extra bed, non-smoking room, etc. for our bookings?
Currently, Stuba does not support special requests in the API booking journey. To submit special requests, please login to www.stuba.com and visit the ‘Manage Bookings’ section, select your booking and then add requests using the ‘Need help with this booking?’ options.
Booking operations are slow for us. Can we speed them up?
No. The time spent in booking operations is almost always time spent waiting for Stuba’s hotel partners to confirm the booking. There is no scope for us to cut this short. Please ensure that you either do not have a timeout value for Booking – ‘confirm’ operations or this is set to 120 seconds. If this is not the case, it could cause the booking to be timed out early at your end and subsequently the booking gets confirmed by the hotel leaving you liable for the booking.
How should we handle error 7001 – QuotePriceChanged?
This error occurs if the price of a quote changes between the availability search and the booking request being submitted. In this case, you may perform another availability search and try the booking again with the new quote Id at the new price.
What does a ‘Quote is no longer valid’ mean?
This error occurs if the availability linked to that quote changes between the availability search and the booking request being submitted. In this case, you may perform another availability search and try the booking again with the new quote Id at the new price.
What is QuoteRefreshStatus?
It is important to find out if the original quote that was provided is still valid or not. In version 1.28 of our API this can be identified quickly using the QuoteRefreshStatus tag in the BookingCreate operation responses. The possible status values are – ok, pricechanged or unavailable.
If the status is ‘ok’, you can proceed to the next step.
If the status is ‘pricechanged’, it means that the price is different than the one you got earlier. You may proceed to the next step only if the price change is acceptable to you.
If the status is ‘unavailable’, you cannot proceed to the next step as the room is no longer available.
Does Stuba have a web panel where we can see our bookings?
Yes, bookings made via our API can be viewed in the “Manage Bookings” section of the Stuba web panel by logging in with your website credentials. The test system web panel URL is www.stubademo.com and the live system panel URL is www.stuba.com
Does Stuba provide vouchers for bookings made via the API?
Stuba provides vouchers for bookings made with us via our API. For this, please go to the ‘Manage Bookings’ section on www.stuba.com. Alternatively, you may generate your own vouchers by using the Stuba booking reference after confirming the booking with Stuba. All booking details required to generate your own vouchers can be retrieved via our API using the BookingQuery operation and our hotel details static data.
Should you wish to include an emergency contact number on your vouchers, this information is available from your dedicated account manager.
Why should we send two BookingCreate – ‘prepare’ requests to Stuba?
The first call to BookingCreate – ‘prepare’ is to ensure that the user is informed of the cancellation policy and hotel notes before they proceed to the next step. We recommend implementing this before the user enters their names to ensure that the rate remains available.
The second call to BookingCreate – ‘prepare’ should be done as part of the booking confirmation stage before you accept payment from the customer and confirm the booking. This is to ensure availability hasn’t changed and that the guests are not charged for rooms which are sold out or where the price has changed.
Cancel
How does Stuba provide the cancellation policy applicable to hotel room(s)?
Stuba provides the cancellation policy in the response to the BookingCreate request in ‘prepare’ & ‘confirm’ mode. You can also check the cancellation policy of an existing booking using the BookingQuery operation.
Some cancellation fee elements have no date specified. How should we interpret the cancellation policy?
If no date is present, it means that the cancellation fees are applicable from the date of booking confirmation. Where there are multiple cancellation fee elements with the same dates but different cancellation fees, please only use the highest cancellation fee amount.
For multiple cancellation fee elements with the same cancellations fees but different dates, please use the earliest date.
Here are some examples that demonstrate the basic structure for the cancellation policies returned by the Stuba API, but not all the possible formats as these are specific to the quote ID being booked.
Example 1:
<CanxFees> <Fee from="2019-05-09T00:00:00"> <Amount amt="278.2000" /> </Fee> </CanxFees>
Interpretation: Cancellation fees of 278.20 apply if the room is cancelled after 9/5/19 00:00 GMT
Example 2:
<CanxFees> <Fee from="2019-05-09T00:00:00"> <Amount amt="278.2000" /> </Fee> <Fee from="2019-05-30T00:00:00"> <Amount amt="328.1000" /> </Fee> <Fee from="2019-06-02T00:00:00"> <Amount amt="440.8000" /> </Fee> </CanxFees>
Interpretation: Cancellation fees of 278.20 apply if the room is cancelled after 09/05/19 00:00
Cancellation fees of 328.10 apply if the room is cancelled after 30/05/19 00:00
Cancellation fees of 440.80 apply if the room is cancelled after 02/06/19 00:00
Example 3:
<CanxFees> <Fee> <Amount amt="278.2000" /> </Fee> </CanxFees>
Interpretation: Cancellation fees of 278.20 apply from the time of booking
Example 4:
<CanxFees> <Fee> <Amount amt="125.870000"/> </Fee> <Fee> <Amount amt="629.3500"/> </Fee> </CanxFees>
Interpretation: Cancellation fees of 629.35 apply from the time of booking
Example 5:
<CanxFees> <Fee> <Amount amt="160.00000000000000000000000005" /> </Fee> <Fee from="2025-01-10T00:00:00"> <Amount amt="160.00000000000000000000000005" /> </Fee> <Fee from="2019-08-12T00:00:00"> <Amount amt="1120.00" /> </Fee> </CanxFees>
Interpretation: Cancellation fees of 160.00 apply from the time of booking
Cancellation fees of 1120.00 apply if the room is cancelled after 12/08/19 00:00
Example 6:
<CanxFees> <Fee from="2023-08-17T00:00:00+01:00"> <Amount amt="64.259999999999999999999999994" /> </Fee> <Fee from="2023-08-18T00:00:00+01:00"> <Amount amt="192.78" /> </Fee> <Fee from="2023-08-18T00:00:00"> <Amount amt="64.259999999999999999999999994" /> </Fee> </CanxFees>
Interpretation: Cancellation fees of 64.26 apply from 17/08/23
Cancellation fees of 192.78 apply if the room is cancelled after 18/08/23 00:00
Does Stuba support room based cancellations or booking based cancellations?
Stuba’s API supports only booking based cancellations. If a booking contains more than one room, on cancellation of that booking, all the rooms will be cancelled. If you need to cancel only one room on a booking with multiple rooms, please go to the ‘Manage Bookings’ section on www.stuba.com, select your booking and then add requests using the ‘Need help with this booking?’ options.