Accom Offers API
The Accom Offers API provides real-time pricing and availability for TUI hotel-only products to third-party agents and partners. Consumers can search by destination and date through the TUI API gateway and receive current accommodation offers.
API Endpoints
| Environment | URL |
|---|---|
| PROD | https://prod.api.tui/accomOffers/accomOffers_v1 |
API Methods
Method: GET
{ "accomOffersRequest": {
"maxResultCount": 0,
"brandName": "First Choice",
"checkInDate": "2020-06-04",
"duration": {
"numOfDays": 7
},
"destination": [{
"regionName": "Canary Islands"
}],
"boardBasisCode": "AI",
"isFlexible": true,
"numOfAdults": 6,
"numOfChild": 3,
"childAgeOnReturn": [7, 1, 0],
"numOfRooms": 3,
"roomAllocation": [{
"roomNumber": 1,
"numOfAdults": 2,
"numOfChild": 2
},
{
"roomNumber": 2,
"numOfAdults": 2,
"numOfChild": 1
},
{
"roomNumber": 3,
"numOfAdults": 2,
"numOfChild": 0
}]
}
}
HTTP Headers
| Header Name | Value | Inbound/Outbound | Description |
|---|---|---|---|
| x-api-key | <your-api-key> | Inbound | Your unique key authorisation to access the accomOffers API |
| Accept | application/json;accomOffers;version=1.0 / |
Inbound / Outbound | Version of accomOffers API invoked. If specified as / then the latest accomOffers API version will be called. |
Search Input Parameters
Search parameters should be submitted in the same order and are case sensitive.
| Field | Description | Format | Example | |
|---|---|---|---|---|
| maxResultCount | Maximum number of offers to be returned. | Number | @100 | |
| brandName | The two TUI Brands supported. TUI UK, First Choice. Currently we don’t support Hotel Only products for the TUI Ireland brand. | String Enumerated | TUI UK | |
| checkInDate | Hotel Only package start date. ISO Date format i.e., yyyy-mm-dd | Date | 2020-04-18 | |
| duration | numOfDays | Package duration | Number | 7 |
| destination | regionCode | TUI Specific 6 digit region code | String | 000154 |
| regionName | Region Name | String | Algarve | |
| resortCode | TUI Specific 6 digit resort code | String | 000172 | |
| resortName | Resort Name | String | Albuferia | |
| destinationCode | TUI Specific 6 digit destination code | String | ||
| destinationName | Destination Name | String | ||
| accomId | TUI Specific 6 digit accommodation Id | String | 000091 | |
| accomName | TUI Accommodation Name | String | Aparthotel Brisa Sol | |
| boardBasisCode | Search by different boardBasisCode supported by TUI. Multiple Board basis can be selected. Hotels with the specified board basis will be returned. | String Enumerated | HB | |
| isFlexible | Indicator to denote whether the search to be flexible or exact. If selected true then API will search for holidays +/- 3days from the given check-in-date. | Boolean | FALSE | |
| numOfAdults | Number of travelling passengers whose age is greater than or equal to 18. | Number | 4 | |
| numOfChild | Number of travelling passengers whose age is less than 18 at the time of travelling. | Number | 2 | |
| childAgeOnReturn | Array of numbers to capture the age of every child travelling. | Number Array | [10,12] | |
| numOfRooms | Number of required rooms. | Number | ||
| roomAllocation | roomNumber | Number of the room. Starting from 1 in sequential order. | Number | |
| numOfAdults | Number of travelling passengers whose Age is >= 18 in each room. Kindly note, it is mandatory to have atleast 1 adult per room. | Number | ||
| numOfChild | Number of travelling passengers whose Age is < 18 in each room. | Number |
Response Parameters
Every response includes a standard HTTP status code. A successful request returns 200 OK; failed requests return an appropriate 4xx or 5xx code together with any available error details.
| Field | Description | Format | Example | ||
|---|---|---|---|---|---|
| offersAvailable | Number of offers returned by TUI. | Number | 100 | ||
| maxResultCount | Maximum number of offers to be returned as specified in the request. | Number | 100 | ||
| party | numOfAdults | Number of travelling passengers whose age is equal to or greater than 18 years. | Number | 6 | |
| numOfChild | Number of travelling passengers whose age is less than 18 years and greater than 2 years. | Number | 2 | ||
| numOfInfants | Number of travelling passengers whose age is less than 2 years. | Number | 1 | ||
| accommodationOffers | contentItem | name | Brand Logo | String | |
| url | URL for the brand selected | String | https://www.tui-brandnet.com/static/system/modules/com.tui.brandnet.bootstrap/1.3.0/resources/img/logo.svg | ||
| accomId | 6 digit TUI accommodation Id | String | 000091 | ||
| accomCode | 8 digit alphanumeric code for every accomId | String | ESTF0025 | ||
| accomName | Hotel name as displayed on our website | String | Hotel H10 Conquistador | ||
| accomOverview | Short description of the accommodation | String | There are five restaurants – including four à la cartes – and two swimming pools. There’s no shortage of things to do, either, with hard surface tennis courts and nightly live shows by the pool in summer. | ||
| packageID | An internal unique ID created by TUI to identify the accommodation | String | 002558ESTF0025TW014692779/3/1984/7 | ||
| brandCode | Internal code referred by TUI for every brand we support such as TUI UK, First Choice | String | T | ||
| brandName | TUI's brand name | String | TUI UK | ||
| checkInDate | Date | String | 2020-04-26 | ||
| duration | numOfDays | Number of days in hotel | Number | 7 | |
| prices | currencyCode | Currency code returned in the offer | String | GBP | |
| currencyName | Name of the currency returned for every offer | String | Sterling Pounds | ||
| totalPrice | Total price of the offer | String | 768.3 | ||
| totalPricePerPerson | Price of the offer displayed per travelling passenger | String | 100 | ||
| deposit | Deposit of the offer | String | 100 | ||
| discount | Discount offered by TUI for the offer | String | 75 | ||
| discountPerPerson | Discount offered by TUI for the offer per travelling passenger | String | 20 | ||
| freeChildIncluded | This flag indicates whether the offer includes a free child or not. | Boolean | True | ||
| location | continent | Name of the continent where the accommodation belongs to | String | Europe | |
| countryCode | Country code | String | TUR | ||
| countryName | Country name | String | Turkey | ||
| regionCode | Region to which the accommodation belongs to | String | |||
| regionName | Name of the region | String | |||
| resortCode | Resort to which the accommodation belongs to | String | |||
| resortName | Name of the resort | String | |||
| destinationCode | Destination code | String | 001387 | ||
| destinationName | Destination name | String | Antalya | ||
| address | line1 | Address Line 1 | String | 23 SEABREEZE LN | |
| line2 | Address Line 2 | String | |||
| line3 | Address Line 3 | String | |||
| line4 | Address Line 4 | String | |||
| postalCode | Postal Code | String | LU2 9TN | ||
| phone | Phone | String | +34 (0)925555176 | ||
| fax | Fax | String | +34 (0)922753086 | ||
| String | |||||
| longitude | Longitude of the Hotel | String | 30.726529773 | ||
| latitude | Latitude of the Hotel | String | 36.864297068 | ||
| locationInformation | Location information about the Hotel | String | Set on the seafront with a bathing platform|3km from resort centre|15km from Antalya airport|13 km from Antalya bus terminal | ||
| rating | Hotel rating | String | 4 | ||
| facilityOverview | Hotel Facilities Overview | String | There are two big pools at this place, including one with a VIP island reserved for Privilege guests. Kids get a pool to themselves, too. When it comes to food, there's a buffet venue and four à la carte restaurants. As for entertainment, a packed after-dark programme is laid on, which includes the likes of salsa demos, tribute acts and Brazilian dance shows." | ||
| usps | Unique selling points of the Hotel or Accommodation with "|" as delimeter | String | On the seafront|Great food scene|5 restaurants | ||
| contentItem | name | Name of the Deep linking URL to our website for booking i.e., Accommodation overview page | String | ||
| url | Deep linking URL to our website for booking | String | https://www.firstchoice.co.uk/holiday/bookaccommodation?productCode=002558&tab=overview&noOfAdults=2&noOfChildren=0&childrenAge=&duration=7&flexibleDays=3&flexibility=true&noOfSeniors=0&when=07-06-2020&pkg=4692779/3/1984/7&units[]=002558:HOTEL&packageId=002558ESTF0025TW014692779/3/1984/7&index=1&multiSelect=true&brandType=F&isVilla=false&searchType=aosearch&finPos=1&bb=AI&price=tp | ||
| accomUnits | roomCode | TUI Specific Room Codes | String | TW01 | |
| roomName | Room description | String | Twin Room with Balcony | ||
| name | Name of the Deep linking URL to our website for booking i.e., Accommodation overview page | String | |||
| boardBasisCode | Board Basis Name | String | Bed and Breakfast | ||
| maxOccupants | Maximum number of passengers that can be allocated for the selected room | String | 5 | ||
| amenities | Room Amenities seperated by "|" | String | |||
| contentItem | name | Name of the Content published like "Room Image URL" | String | Air-conditioning|Balcony|Bath|1 Extra Bed In Bedroom|Shower|WC | |
| url | Image URL | String | https://cdn.content.tuigroup.com/adamtui/2016_10/1_10/8ba7c259-cfe0-4d17-8cde-a69200a85626/TUR_ANT_2004WebOriginalCompressed.jpg?i10c=img.resize(width:1080);img.crop(width:1080%2Cheight:608) |
Error Messages
In addition to the standard HTTP response code, failed API calls contain error information in the message body. Gateway errors generally relate to access control or an invalid API key, while API-generated errors describe invalid request content or downstream processing failures.
| Error Code | Error Message |
|---|---|
| E001 | Accommodation Check In Date must be selected |
| E002 | You can not search for accommodations offers with out any adults |
| E003 | Age of All children must be specified |
| E004 | Child Age must be less than 18 years |
| E005 | Only 9 Passengers are currently supported for Web bookings |
| E006 | For legal reasons, the number of infants needs to be same or less than number of adults |
| E007 | |
| E008 | Please specify valid duration for your package |
| E009 | Unknown collection name |
| E010 | Invalid Board Basis code |
| E011 | Invalid Brand Name |
| E012 | Currently we don’t support accommodation Only packages for TUI Ireland brand |
| E013 | Mismatch in the number of travelling passengers and rooms allocation. Please correct the data |
| E014 | Request timed out before search results returned |
| E015 | Unable to connect to search service |
| E016 | Not Active |
| E017 | No Matching accoms |
| E018 | Request not supported |
| E019 | Invalid Parameter |
Support
For support, contact TIBCO Operations Support.
