Changes for page 4. Hotel Search
Last modified by Giorgi Mdivnishvili on 2024/09/04 09:58
From version 1.1
edited by Giorgi Mdivnishvili
on 2023/11/28 17:31
on 2023/11/28 17:31
Change comment:
There is no comment for this version
To version 25.1
edited by Giorgi Mdivnishvili
on 2024/09/04 09:58
on 2024/09/04 09:58
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -Hotel Search 1 +4. Hotel Search - Content
-
... ... @@ -1,25 +1,285 @@ 1 +{{box cssClass="floatinginfobox" title="**Contents**"}} 1 1 2 2 4 +{{toc/}} 5 +{{/box}} 6 + 7 += Method Description = 8 + 9 + 3 3 With the parameters provided in GetHotels and GetCities reponse, it’s avaible to search hotels with the desired parameters in Hotels Search. 4 4 5 5 13 +endpoint : [[https:~~/~~/testapi.rustaronline.com/api/Hotels/Search>>url:https://testapi.rustaronline.com/api/Hotels/Search]] 6 6 7 - Requestexample:15 +Method POST 8 8 9 ->{ "MaxResultCount":50, <<< max result count in response "MaxHotelCount":10, <<< max hotel count with the cheapest to expensive "ProviderIds":[5], <<< Dynamic channel, which cheeks prices during search, if you change it to 13 request will be immediate, but prices wont be the latest and cheapest. "ContragentContactUID":"55a2fcfb-8378-4b73-ab1e-bc8e5c836f4e", "CheckInDate":"2023-12-25T00:00:00", "CheckOutDate":"2024-01-02T00:00:00", "Adults":1, "Children":0, "ChildrenAges":"", in case of several children, "5,10" numbers must be separated by comma "CountryMask":"AE", << country code 10 -((( 11 11 12 - "arrivalCities":[18 +== **Request example:** == 13 13 20 +{{code language="Json"}} 21 +{ 22 + "MaxResultCount":2, 23 + "MaxHotelCount":2, 24 + "contragentContactUID": "55a2fcfb-8378-4b73-ab1e-bc8e5c836f4e", 25 + "countryMask": "TR", 26 + "CheckInDate": "2024-05-06", 27 + "CheckOutDate": "2024-05-07", 28 + "Adults": 1, 29 + "Children": 0, 30 + "ChildrenAges": "", 31 + 32 + "arrivalCities": [ 14 14 { 34 + "cityUID": "e1344ba0-5273-4fc1-b6c4-72446260f430" 35 + 36 + } 37 + ] 38 +} 15 15 16 - "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2" << city UID where we are searching hotels40 +{{/code}} 17 17 18 18 19 - }43 +== Definition of Request Parameters == 20 20 21 - ] 45 +(% class="table-bordered" %) 46 +(% class="info" %)|**Parameter**|**Value**|**Description** 47 +|** "MaxResultCount"**|2,|Maximum number of results to display 48 +|** "MaxHotelCount"**|2,|Maximum number of hotels to display results 49 +|** "contragentContactUID"**| "55a2fcfb-8378-4b73-ab1e-bc8e5c836f4e",|A unique code assigned to each application user 50 +|** "countryMask"**| "TR",|Country code, which can be retrieved in [[Get Cities>>Get Cities]] method, in parameter [countrycode] 51 +|** "CheckInDate"**| "2024-05-06",|Check in date "YY-MM-DD" 52 +|** "CheckOutDate"**| "2024-05-07",|Check out date "YY-MM-DD" 53 +|** "Adults"**| 1,|number of Adults 54 +|** "Children"**| 0,|Number of children 55 +|** "ChildrenAges"**| "",|children ages, the must be separated with "," 56 +|** "cityUID"**| "e1344ba0-5273-4fc1-b6c4-72446260f430"|Code of the city, which is available in method [[Get Cities>>Get Cities]] in parameter [cityid] 22 22 23 23 59 +(% class="wikigeneratedid" %) 60 +In case there is need to display hotels in whole country, no mater cities, it's possible to remove "arrivalCities" parameter. 61 + 62 + 63 +== Response Example == 64 + 65 +{{code language="json"}} 66 +{ 67 + "result": [ 68 + { 69 + "resultID": 1656436810005000001, 70 + "hotelID": 871186, 71 + "providerID": 5, 72 + "roomCategoryCode": "ECO", 73 + "roomCategoryName": "Economic Room", 74 + "mealPlanName": "BB", 75 + "placementType": 1, 76 + "placementTypeName": "1 Adult", 77 + "priceCode": "BASERATE BB ECO", 78 + "priceCurrency": "EUR", 79 + "priceCurrencySrc": "EUR", 80 + "availability": 3, 81 + "availableRoomsCount": 1, 82 + "totalSellPriceSrc": 40.70, 83 + "totalSellPrice": 40.70, 84 + "totalPriceSurcharge": 0.00, 85 + "cancellationPolicyDescription": "Cancellation Policy: Non refundable", 86 + "cancellationPolicy": { 87 + "noShowChargeValue": 100.00, 88 + "noShowChargeValueType": "%", 89 + "earlyDepartureChargeValue": 100.00, 90 + "earlyDepartureChargeValueType": "%", 91 + "conditions": [ 92 + { 93 + "timeunits": 365, 94 + "timeunitType": "Day", 95 + "timeOffsetTypeName": "Before Arrival", 96 + "chargeValue": 100.00, 97 + "chargeValueType": "%" 98 + } 99 + ] 100 + }, 101 + "searchId": 1656436810, 102 + "hotelCode": "10b7bc34-2a03-495e-94bc-1092b07823f7", 103 + "id": 1656436810005000001, 104 + "hotel": { 105 + "hotelCode": "10b7bc34-2a03-495e-94bc-1092b07823f7", 106 + "hotelName": "Istanbul Holiday Hotel", 107 + "hotelClass": "***", 108 + "cityId": "e1344ba0-5273-4fc1-b6c4-72446260f430", 109 + "cityName": "Istanbul", 110 + "countryCode": "TR", 111 + "districtId": "6ca0ed7e-7412-4e45-85b5-dd0d74cabc62", 112 + "districtName": "Fatih", 113 + "note": "" 114 + }, 115 + "adults": 1, 116 + "children": 0, 117 + "childrenAges": "", 118 + "childrenExeptInfants": 0, 119 + "checkInDate": "2024-05-06T00:00:00", 120 + "checkOutDate": "2024-05-07T00:00:00", 121 + "includedExtrasAmount": 0, 122 + "extraServices": [] 123 + }, 124 + { 125 + "resultID": 1656436810005000003, 126 + "hotelID": 871186, 127 + "providerID": 5, 128 + "roomCategoryCode": "STANDART-2", 129 + "roomCategoryName": "Standart Double or Twin Room", 130 + "mealPlanName": "BB", 131 + "placementType": 1, 132 + "placementTypeName": "1 Adult", 133 + "priceCode": "BASERATE BB STANDART", 134 + "priceCurrency": "EUR", 135 + "priceCurrencySrc": "EUR", 136 + "availability": 3, 137 + "availableRoomsCount": 1, 138 + "totalSellPriceSrc": 53.90, 139 + "totalSellPrice": 53.90, 140 + "totalPriceSurcharge": 0.00, 141 + "cancellationPolicyDescription": "Cancellation Policy: Non refundable", 142 + "cancellationPolicy": { 143 + "noShowChargeValue": 100.00, 144 + "noShowChargeValueType": "%", 145 + "earlyDepartureChargeValue": 100.00, 146 + "earlyDepartureChargeValueType": "%", 147 + "conditions": [ 148 + { 149 + "timeunits": 365, 150 + "timeunitType": "Day", 151 + "timeOffsetTypeName": "Before Arrival", 152 + "chargeValue": 100.00, 153 + "chargeValueType": "%" 154 + } 155 + ] 156 + }, 157 + "searchId": 1656436810, 158 + "hotelCode": "10b7bc34-2a03-495e-94bc-1092b07823f7", 159 + "id": 1656436810005000003, 160 + "hotel": { 161 + "hotelCode": "10b7bc34-2a03-495e-94bc-1092b07823f7", 162 + "hotelName": "Istanbul Holiday Hotel", 163 + "hotelClass": "***", 164 + "cityId": "e1344ba0-5273-4fc1-b6c4-72446260f430", 165 + "cityName": "Istanbul", 166 + "countryCode": "TR", 167 + "districtId": "6ca0ed7e-7412-4e45-85b5-dd0d74cabc62", 168 + "districtName": "Fatih", 169 + "note": "" 170 + }, 171 + "adults": 1, 172 + "children": 0, 173 + "childrenAges": "", 174 + "childrenExeptInfants": 0, 175 + "checkInDate": "2024-05-06T00:00:00", 176 + "checkOutDate": "2024-05-07T00:00:00", 177 + "includedExtrasAmount": 0, 178 + "extraServices": [] 179 + } 180 + ], 181 + "error": false 24 24 } 183 +{{/code}} 184 + 185 + 186 +== Definition of Response Parameters == 187 + 188 + 189 + 190 +(% class="table-bordered" %) 191 +(% class="info" %)|**Parameter**|**value**|**Description** 192 +|**{**| | 193 +|** "resultID"**| 1656436810005000001,|Unique ID of the Result 194 +|** "hotelID"**| 871186,|Unique ID of the hotel 195 +|** "providerID"**| 5,|provider id - (system internal) 196 +|** "roomCategoryCode"**| "ECO",|Special code for Room Category type 197 +|** "roomCategoryName"**| "Economic Room",|Name of the Room Category Type - definition of the ** "roomCategoryCode"** 198 +|** "mealPlanName"**| "BB",|Meal Plan code 199 +|** "placementType"**| 1,|Placement type code - in this case 1 means single 200 +|** "placementTypeName"**| "1 Adult",|Placement type name - definition of the ** "placementType"** 201 +|** "priceCode"**| "BASERATE BB ECO",|price code for the current option 202 +|** "priceCurrency"**| "EUR",| 203 +|** "priceCurrencySrc"**| "EUR",| 204 +|** "availability"**| 3,|Availability 205 +|** "availableRoomsCount"**| 1,|Number of available rooms for the current type of options 206 +|** "totalSellPriceSrc"**| 40.70,| 207 +|** "totalSellPrice"**| 40.70,| 208 +|** "totalPriceSurcharge"**| 0.00,| 209 +|** "cancellationPolicyDescription"**| "Cancellation Policy Non refundable",|TEXT DESCRIPTION OF THE CANCELLATION POLICY 210 +|** "cancellationPolicy"**| {| 211 +|** "noShowChargeValue"**| 100.00,| 212 +|** "noShowChargeValueType"**| "%",| 213 +|** "earlyDepartureChargeValue"**| 100.00,| 214 +|** "earlyDepartureChargeValueType"**| "%",| 215 +|** "conditions"**| [| 216 +|** {**| | 217 +|** "timeunits"**| 365,| 218 +|** "timeunitType"**| "Day",| 219 +|** "timeOffsetTypeName"**| "Before Arrival",| 220 +|** "chargeValue"**| 100.00,| 221 +|** "chargeValueType"**| "%"| 222 +|** }**| | 223 +|** ]**| | 224 +|** },**| | 225 +|** "searchId"**| 1656436810,|search id of the hotel 226 +|** "hotelCode"**| "10b7bc34-2a03-495e-94bc-1092b07823f7",|Unique ID of the Hotel. Full List of the hotels is available in [[Get Hotels>>Get Hotels]] method 227 +|** "id"**| 1656436810005000001,| 228 +|** "hotel"**| {| 229 +|** "hotelCode"**| "10b7bc34-2a03-495e-94bc-1092b07823f7",|Unique ID of the Hotel. Full List of the hotels is available in [[Get Hotels>>Get Hotels]] method 230 +|** "hotelName"**| "Istanbul Holiday Hotel",|Full name of the Hotel 231 +|** "hotelClass"**| "~*~**",|Hotel Class in Stars 232 +|** "cityId"**| "e1344ba0-5273-4fc1-b6c4-72446260f430",|Code of the city where hotel is located, which is available in method [[Get Cities>>Get Cities]] in parameter [cityid] 233 +|** "cityName"**| "Istanbul",|Full Name of the City 234 +|** "countryCode"**| "TR",|Country code, which can be retrieved in [[Get Cities>>Get Cities]] method, in parameter [countrycode] 235 +|** "districtId"**| "6ca0ed7e-7412-4e45-85b5-dd0d74cabc62",|District unique code, where hotel is located. 236 +|** "districtName"**| "Fatih",|Full name of the District 237 +|** "note"**| ""|Hotel note - this is optional 238 +|** },**| | 239 +|** "adults"**| 1,|Number of the adults 240 +|** "children"**| 0,|Number of the children 241 +|** "childrenAges"**| "",|in case of children, here will be their ages 242 +|** "childrenExeptInfants"**| 0,| 243 +|** "checkInDate"**| "2024-05-06T00000",|date of the check in 244 +|** "checkOutDate"**| "2024-05-07T00000",|date of the check out 245 +|** "includedExtrasAmount"**| 0,| 246 +|** "extraServices"**| []| 247 +|** },**| | 248 + 249 + 250 + 251 +== Availability Filters == 252 + 253 + 254 +==== 1. **FreeSale Parameter** ==== 255 + 256 +* ((( 257 +**Description**: The FreeSale parameter controls whether the response should include only "FreeSale" offers or not. 258 + 259 +* **Case 1**: 260 +** When "FreeSale": true is passed, the response will return **only** hotels and offers that are available as "FreeSale". 261 +* **Case 2**: 262 +** When "FreeSale": false is passed, there is no restriction based on "FreeSale" status, and the system will return all offers. 263 +* **Default Behavior**: 264 +** If the FreeSale parameter is not passed, the system will treat it as false by default. 25 25 ))) 266 + 267 +==== 2. **OnRequest Parameter** ==== 268 + 269 +* ((( 270 +**Description**: The OnRequest parameter works in combination with the FreeSale parameter to filter the response based on availability status. 271 + 272 +* **Behavior**: 273 +** When "OnRequest": true is passed, the system will return offers that are either "OnRequest" or "FreeSale", depending on the value of the FreeSale parameter. 274 +))) 275 + 276 +==== 3. **Filter Configuration** ==== 277 + 278 +* **Note**: Whether the specific API endpoint or instance applies these filters depends on the system configuration. The ability to return only FreeSale offers or a combination of OnRequest and FreeSale is determined by the setup of each instance or endpoint. 279 + 280 +==== 4. **Example Usage** ==== 281 + 282 +* If "FreeSale": true is passed, the system returns only FreeSale offers. 283 +* If "FreeSale": false or the parameter is omitted, the system returns all offers, including both FreeSale and non-FreeSale offers. 284 + 285 +