Changes for page 1. SearchHotelPrices

Last modified by Giorgi Mdivnishvili on 2024/11/06 10:47

From version 3.1
edited by Giorgi Mdivnishvili
on 2023/12/14 12:16
Change comment: There is no comment for this version
To version 10.1
edited by Giorgi Mdivnishvili
on 2024/01/09 07:17
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -SearchHotelPrices
1 +1. SearchHotelPrices
Content
... ... @@ -9,10 +9,10 @@
9 9  The initial method of the integration process is authorization. You will be provided with a test user username and password to generate the access token that you will need to pass in all the following methods.
10 10  
11 11  
12 -== Endpoint URL - [GET] ==
12 +== Endpoint URL - [POST] ==
13 13  
14 14  {{info}}
15 -[[http:~~/~~/online-api.kazunion.com/api/Catalogue/GetHotels>>http://online-api.kazunion.com/api/Catalogue/GetHotels]]
15 +[[https:~~/~~/integration.kazunion.com/api/OnlyHotelPackages/SearchHotelPrices>>https://integration.kazunion.com/api/OnlyHotelPackages/SearchHotelPrices]]
16 16  {{/info}}
17 17  
18 18  
... ... @@ -211,127 +211,189 @@
211 211  
212 212  === Schema ===
213 213  
214 -{{code language="none"}}
214 +{{success}}
215 215  SearchOnlyHotelPackagesResponse{
216 -packages [
217 -nullable: true
218 -OnlyHotelPackage{
219 -id string
220 -nullable: true
221 -priceCurrency string
222 -nullable: true
223 -totalPrice number($double)
224 -agentCommissionPercent number($double)
225 -agentCommissionAmount number($double)
226 -hotel PackageHotel{
227 -hotelPriceId string
228 -nullable: true
229 -providerId integer($int32)
230 -hotelName string
231 -nullable: true
232 -hotelCode string
233 -nullable: true
234 -nigths integer($int32)
235 -mealPlan string
236 -nullable: true
237 -hotelClass string
238 -nullable: true
239 -availabilityType RoomAvailabilityTypeEnumstring
240 -Enum:
241 -[ OnRequest, FreeSale, StopSale ]
242 -availableRoomsCount integer($int32)
243 -fewRooms boolean
244 -roomCategoryCode string
245 -nullable: true
246 -roomCategoryName string
247 -nullable: true
248 -placementTypeName string
249 -nullable: true
250 -placementDescription string
251 -nullable: true
252 -checkInDate string($date-time)
253 -checkOutDate string($date-time)
254 -adults integer($int32)
255 -children integer($int32)
256 -districtUID string($uuid)
257 -nullable: true
258 -districtName string
259 -nullable: true
260 -cityUID string($uuid)
261 -nullable: true
262 -cityName string
263 -nullable: true
264 -countryCode string
265 -nullable: true
266 -countryName string
267 -nullable: true
268 -hasAlcohol boolean
269 -hasFreeWifi boolean
270 -hasMetro boolean
271 -hasPool boolean
272 -hasMall boolean
273 -cancellationPolicyDescription string
274 -nullable: true
275 -cancellationPolicy CancellationPolicyExchange{
276 -cancellationPolicyCode string
277 -nullable: true
278 -noShowChargeValue number($double)
279 -nullable: true
280 -noShowChargeValueType string
281 -nullable: true
282 -earlyDepartureChargeValue number($double)
283 -nullable: true
284 -earlyDepartureChargeValueType string
285 -nullable: true
286 -conditions [
287 -nullable: true
288 -CancellationPolicyConditionExchange{
289 -timeunits integer($int32)
290 -timeunitType string
291 -nullable: true
292 -timeOffsetTypeName string
293 -nullable: true
294 -chargeValue number($double)
295 -nullable: true
296 -chargeValueType string
297 -nullable: true
216 +
217 +|packages|[
218 +nullable: trueOnlyHotelPackage{(((
219 +|id|string
220 +nullable: true
221 +|priceCurrency|string
222 +nullable: true
223 +|totalPrice|number($double)
224 +|agentCommissionPercent|number($double)
225 +|agentCommissionAmount|number($double)
226 +|hotel|PackageHotel{(((
227 +|hotelPriceId|string
228 +nullable: true
229 +|providerId|integer($int32)
230 +|hotelName|string
231 +nullable: true
232 +|hotelCode|string
233 +nullable: true
234 +|nigths|integer($int32)
235 +|mealPlan|string
236 +nullable: true
237 +|hotelClass|string
238 +nullable: true
239 +|availabilityType|RoomAvailabilityTypeEnumstringEnum:
240 +[ OnRequest, FreeSale, StopSale ]
241 +|availableRoomsCount|integer($int32)
242 +|fewRooms|boolean
243 +|roomCategoryCode|string
244 +nullable: true
245 +|roomCategoryName|string
246 +nullable: true
247 +|placementTypeName|string
248 +nullable: true
249 +|placementDescription|string
250 +nullable: true
251 +|checkInDate|string($date-time)
252 +|checkOutDate|string($date-time)
253 +|adults|integer($int32)
254 +|children|integer($int32)
255 +|districtUID|string($uuid)
256 +nullable: true
257 +|districtName|string
258 +nullable: true
259 +|cityUID|string($uuid)
260 +nullable: true
261 +|cityName|string
262 +nullable: true
263 +|countryCode|string
264 +nullable: true
265 +|countryName|string
266 +nullable: true
267 +|hasAlcohol|boolean
268 +|hasFreeWifi|boolean
269 +|hasMetro|boolean
270 +|hasPool|boolean
271 +|hasMall|boolean
272 +|cancellationPolicyDescription|string
273 +nullable: true
274 +|cancellationPolicy|CancellationPolicyExchange{(((
275 +|cancellationPolicyCode|string
276 +nullable: true
277 +|noShowChargeValue|number($double)
278 +nullable: true
279 +|noShowChargeValueType|string
280 +nullable: true
281 +|earlyDepartureChargeValue|number($double)
282 +nullable: true
283 +|earlyDepartureChargeValueType|string
284 +nullable: true
285 +|conditions|[
286 +nullable: trueCancellationPolicyConditionExchange{(((
287 +|timeunits|integer($int32)
288 +|timeunitType|string
289 +nullable: true
290 +|timeOffsetTypeName|string
291 +nullable: true
292 +|chargeValue|number($double)
293 +nullable: true
294 +|chargeValueType|string
295 +nullable: true
296 +
298 298  }]
298 +)))
299 +
299 299  }
301 +)))
302 +
300 300  }
301 -extraServices [
302 -nullable: true
303 -HotelExtraServiceBase{
304 -extraServiceCode string
305 -nullable: true
306 -extraServiceTypeCode string
307 -nullable: true
308 -isMandatory integer($int32)
309 -extraServiceName string
310 -nullable: true
311 -minimalServiceAmount number($double)
312 -includedPriceCode string
313 -nullable: true
314 -prices [
315 -nullable: true
316 -HotelExtraServicePriceBase{
317 -extraServicePriceCode string
318 -nullable: true
319 -displayName string
320 -nullable: true
321 -restrictionInfo string
322 -nullable: true
323 -additionalInfo string
324 -nullable: true
325 -price number($double)
326 -extraPrice number($double)
327 -currency string
328 -nullable: true
304 +)))
305 +|extraServices|[
306 +nullable: trueHotelExtraServiceBase{(((
307 +|extraServiceCode|string
308 +nullable: true
309 +|extraServiceTypeCode|string
310 +nullable: true
311 +|isMandatory|integer($int32)
312 +|extraServiceName|string
313 +nullable: true
314 +|minimalServiceAmount|number($double)
315 +|includedPriceCode|string
316 +nullable: true
317 +|prices|[
318 +nullable: trueHotelExtraServicePriceBase{(((
319 +|extraServicePriceCode|string
320 +nullabletrue
321 +|displayName|string
322 +nullabletrue
323 +|restrictionInfo|string
324 +nullabletrue
325 +|additionalInfo|string
326 +nullable: true
327 +|price|number($double)
328 +|extraPrice|number($double)
329 +|currency|string
330 +nullabletrue
331 +
329 329  }]
333 +)))
334 +
330 330  }]
336 +)))
337 +
331 331  }]
332 -pagingId string
333 -nullable: true
334 -pageNumber integer($int64)
335 -pageCount integer($int64)
339 +)))
340 +|pagingId|string
341 +nullable: true
342 +|pageNumber|integer($int64)
343 +|pageCount|integer($int64)
344 +
336 336  }
346 +{{/success}}
347 +
348 +
349 +== Definitions ==
350 +
351 +
352 +=== Paging and Caching ===
353 +
354 +During the first request, Paging id must be  empty like this  ( "pagingId": "",)  pagenumber is the number of the page, pagerowcount means number of the given result in one page. So in the first request we can search like this:
355 +
356 +
357 +==== first request ====
358 +
359 +{{code language="Json"}}
360 + {
361 + "pagingId": "",
362 + "pageNumber": 1,
363 + "pageRowCount":10
364 + }
337 337  {{/code}}
366 +
367 +
368 +==== Request with caching ====
369 +
370 +as we receive response, in the end we can see pagingId- number, chich we can use for caching, and then just switch pagenumbers. for cleaning cache, it's important to make new request without pagingID
371 +
372 +{{code language="Json"}}
373 + {
374 + "pagingId": "80",
375 + "pageNumber": 1,
376 + "pageRowCount":10
377 + }
378 +{{/code}}
379 +
380 +
381 +
382 +== Important ==
383 +
384 +{{error}}
385 +It's Important to in every other request header, put Auth token
386 +
387 +**Key **- Authorization
388 +
389 +**Value **- Bearer Token what is given in this response.
390 +
391 +
392 +**also note in headers that:**
393 +
394 +Content-Type - application/json
395 +
396 +**Key - **X-nugios-timezone
397 +
398 +**Value **- 240
399 +{{/error}}