Changes for page 1. SearchTourPackages

Last modified by Giorgi Mdivnishvili on 2025/02/12 15:25

From version 2.1
edited by Giorgi Mdivnishvili
on 2023/12/14 17:43
Change comment: There is no comment for this version
To version 27.1
edited by Giorgi Mdivnishvili
on 2024/04/11 11:34
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -SearchTourPackages
1 +1. SearchTourPackages
Content
... ... @@ -6,26 +6,22 @@
6 6  
7 7  = Method Description =
8 8  
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.
9 +Tour package mean, tour with hotel and flight together. Using this method gives data about full package availability with flight and hotel options.
10 10  
11 +It's possible to receive data as current dates, also in date ranges using parameter  "stayDays": 0,   "stayDaysTo": 0. the maximum difference between the days can be 7. Below you can see examples.
11 11  
12 -== Endpoint URL - [GET] ==
13 13  
14 +== Endpoint URL - [POST] ==
15 +
14 14  {{info}}
15 -[[http:~~/~~/online-api.kazunion.com/api/Catalogue/GetHotels>>http://online-api.kazunion.com/api/Catalogue/GetHotels]]
17 +[[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]]
16 16  {{/info}}
17 17  
18 -
19 19  == Request Parameters ==
20 20  
21 21  (% class="box infomessage" %)
22 22  (((
23 -
24 -
25 -|**Key**|**Value**|**Request URL**
26 -|CountryCode|AE|[[http:~~/~~/online-api.kazunion.com/api/Catalogue/GetHotels?countryCode=AE>>http://online-api.kazunion.com/api/Catalogue/GetHotels?countryCode=AE]]
27 -
28 -
24 +None 
29 29  )))
30 30  
31 31  
... ... @@ -32,112 +32,926 @@
32 32  == Request Body ==
33 33  
34 34  {{code language="Json"}}
35 -none
31 +{
32 + "departureCountryCode": "string",
33 + "departureCityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
34 + "arrivalCountryCode": "string",
35 + "arrivalLocations": [
36 + {
37 + "type": "string",
38 + "parent": "string",
39 + "label": "string",
40 + "subLabel": "string",
41 + "value": "string",
42 + "tag": "string"
43 + }
44 + ],
45 + "checkInDate": "2023-12-14",
46 + "checkInDateTo": "2023-12-14",
47 + "checkOutDate": "2023-12-14",
48 + "stayDays": 0,
49 + "stayDaysTo": 0,
50 + "departureDate": "2023-12-14",
51 + "returnDate": "2023-12-14",
52 + "airlineCode": "string",
53 + "ticketType": "string",
54 + "directFlightsOnly": true,
55 + "longConnectTime": true,
56 + "adults": 0,
57 + "children": 0,
58 + "childrenAges": [
59 + 0
60 + ],
61 + "extendedSearch": true,
62 + "totalPriceFrom": 0,
63 + "totalPriceTo": 0,
64 + "recommended": true,
65 + "popular": true,
66 + "freeSale": true,
67 + "groupByHotel": true,
68 + "hotelCodes": [
69 + "string"
70 + ],
71 + "mealPlans": [
72 + "string"
73 + ],
74 + "hotelClasses": [
75 + "string"
76 + ],
77 + "hotelTypes": [
78 + "CityHotel"
79 + ],
80 + "hotelServices": [
81 + "HasAlcohol"
82 + ],
83 + "pagingId": "string",
84 + "pageNumber": 0,
85 + "pageRowCount": 0
86 +}
36 36  {{/code}}
37 37  
38 38  
39 -== Response Body ==
90 +== Request example ==
40 40  
41 -{{code language="json"}}
42 -[
43 - {
44 - "hotelCode": "string",
45 - "hotelName": "string",
46 - "hotelClass": "string",
47 - "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
48 - "countryCode": "string",
49 - "countryName": "string",
50 - "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
51 - "cityName": "string",
52 - "districtName": "string",
53 - "hotelType": "CityHotel",
54 - "latitude": "string",
55 - "longitude": "string",
56 - "hasAlcohol": true,
57 - "hasFreeWifi": true,
58 - "hasMetro": true,
59 - "hasPool": true,
60 - "hasMall": true
61 - }
62 -]
92 +{{code language="Json"}}
93 +{
94 + "departureCountryCode": "KZ",
95 + "departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8",
96 + "arrivalCountryCode": "AE",
97 + "arrivalLocations": [
98 + {
99 + "type": "city",
100 + "label": "Dubai",
101 + "value": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
102 + "tag": "Dubai"
103 + }
104 + ],
105 + "checkInDate": "2024-02-05T20:00:00.000Z",
106 + "checkInDateTo": "2024-02-10T20:00:00.000Z",
107 +
108 + "stayDays": 3,
109 + "stayDaysTo": 6,
110 +
111 + "airlineCode": "",
112 + "ticketType": "",
113 + "directFlightsOnly": true,
114 + "longConnectTime": true,
115 + "adults": 1,
116 + "children": 1,
117 + "childrenAges": [
118 + 2
119 + ],
120 + "extendedSearch": false,
121 + "totalPriceFrom": 100,
122 + "totalPriceTo": 15000,
123 + "recommended": true,
124 + "popular": true,
125 + "freeSale": true,
126 + "groupByHotel": true,
127 + "hotelCodes": [
128 +
129 + ],
130 + "mealPlans": [
131 +
132 + ],
133 + "hotelClasses": [
134 +
135 + ],
136 + "hotelTypes": [
137 +
138 + ],
139 + "hotelServices": [
140 +
141 + ],
142 + "pagingId": "",
143 + "pageNumber": 10,
144 + "pageRowCount": 10
145 +}
63 63  {{/code}}
64 64  
65 65  
66 -=== example ===
149 +== Response Body ==
67 67  
68 -{{code language="Json"}}
151 +{{code language="json"}}
69 69  {
70 - "hotelCode": "cfbca5b5-4090-4bcd-805a-463d83423b86",
71 - "hotelName": "Ramada Abu Dhabi Corniche",
72 - "hotelClass": "4",
73 - "cityUID": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d",
74 - "countryCode": "AE",
75 - "districtUID": "ee402984-6d1d-4fcf-915d-f31b14fa8b0f",
76 - "cityName": "Abu Dhabi",
77 - "districtName": "Abu Dhabi",
78 - "hotelType": "CityHotel",
79 - "latitude": "24.503759",
80 - "longitude": "54.374577",
81 - "hasAlcohol": false,
82 - "hasFreeWifi": true,
83 - "hasMetro": false,
84 - "hasPool": true,
85 - "hasMall": false
86 - },
153 + "error": true,
154 + "errorCode": "string",
155 + "errorDescription": "string",
156 + "userErrorDescription": "string",
157 + "packages": [
87 87   {
88 - "hotelCode": "c64b6082-2337-4519-8c33-4bcdef76b16b",
89 - "hotelName": "Emirates Palace Mandarin Oriental, Abu Dhabi",
90 - "hotelClass": "5",
91 - "cityUID": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d",
92 - "countryCode": "AE",
93 - "districtUID": "ee402984-6d1d-4fcf-915d-f31b14fa8b0f",
94 - "cityName": "Abu Dhabi",
95 - "districtName": "Abu Dhabi",
96 - "hotelType": "BeachHotel",
97 - "latitude": "24.461556",
98 - "longitude": "54.317404",
99 - "hasAlcohol": false,
159 + "cacheKey": "string",
160 + "id": "string",
161 + "priceCurrency": "string",
162 + "totalPrice": 0,
163 + "agentCommissionPercent": 0,
164 + "agentCommissionAmount": 0,
165 + "includedExtrasAmount": 0,
166 + "priceDifference": 0,
167 + "hotel": {
168 + "hotelPriceId": "string",
169 + "providerId": 0,
170 + "hotelName": "string",
171 + "hotelCode": "string",
172 + "nigths": 0,
173 + "mealPlan": "string",
174 + "hotelClass": "string",
175 + "availabilityType": "OnRequest",
176 + "availableRoomsCount": 0,
177 + "fewRooms": true,
178 + "roomCategoryCode": "string",
179 + "roomCategoryName": "string",
180 + "placementTypeName": "string",
181 + "placementDescription": "string",
182 + "checkInDate": "2023-12-14T13:47:13.396Z",
183 + "checkOutDate": "2023-12-14T13:47:13.396Z",
184 + "adults": 0,
185 + "children": 0,
186 + "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
187 + "districtName": "string",
188 + "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
189 + "cityName": "string",
190 + "countryCode": "string",
191 + "countryName": "string",
192 + "hasAlcohol": true,
100 100   "hasFreeWifi": true,
101 - "hasMetro": false,
194 + "hasMetro": true,
102 102   "hasPool": true,
103 - "hasMall": false
104 - },
196 + "hasMall": true,
197 + "cancellationPolicyDescription": "string",
198 + "cancellationPolicy": {
199 + "cancellationPolicyCode": "string",
200 + "noShowChargeValue": 0,
201 + "noShowChargeValueType": "string",
202 + "earlyDepartureChargeValue": 0,
203 + "earlyDepartureChargeValueType": "string",
204 + "conditions": [
205 + {
206 + "timeunits": 0,
207 + "timeunitType": "string",
208 + "timeOffsetTypeName": "string",
209 + "chargeValue": 0,
210 + "chargeValueType": "string"
211 + }
212 + ]
213 + }
214 + },
215 + "flight": {
216 + "id": "string",
217 + "departureDate": "2023-12-14T13:47:13.396Z",
218 + "returnDate": "2023-12-14T13:47:13.396Z",
219 + "departureTicketsLeft": 0,
220 + "returnTicketsLeft": 0,
221 + "departureAvailabilityType": "OnRequest",
222 + "returnAvailabilityType": "OnRequest",
223 + "isTwoWay": true,
224 + "departureSegments": [
225 + {
226 + "airlineCode": "string",
227 + "airlineName": "string",
228 + "flightCode": "string",
229 + "class": "string",
230 + "lugageWeight": 0,
231 + "handLugageWeight": 0,
232 + "departureFlightDate": "2023-12-14T13:47:13.396Z",
233 + "departureCountryName": "string",
234 + "departureCityName": "string",
235 + "departureAirportCode": "string",
236 + "departureAirportName": "string",
237 + "departureTerminalCode": "string",
238 + "arrivalFlightDate": "2023-12-14T13:47:13.396Z",
239 + "arrivalCountryName": "string",
240 + "arrivalCityName": "string",
241 + "arrivalAirportCode": "string",
242 + "arrivalAirportName": "string",
243 + "arrivalTerminalCode": "string",
244 + "flightDuration": "string",
245 + "baggages": [
246 + {
247 + "baggageCode": "string",
248 + "description": "string",
249 + "price": 0,
250 + "currency": "string",
251 + "included": true
252 + }
253 + ]
254 + }
255 + ],
256 + "returnSegments": [
257 + {
258 + "airlineCode": "string",
259 + "airlineName": "string",
260 + "flightCode": "string",
261 + "class": "string",
262 + "lugageWeight": 0,
263 + "handLugageWeight": 0,
264 + "departureFlightDate": "2023-12-14T13:47:13.396Z",
265 + "departureCountryName": "string",
266 + "departureCityName": "string",
267 + "departureAirportCode": "string",
268 + "departureAirportName": "string",
269 + "departureTerminalCode": "string",
270 + "arrivalFlightDate": "2023-12-14T13:47:13.396Z",
271 + "arrivalCountryName": "string",
272 + "arrivalCityName": "string",
273 + "arrivalAirportCode": "string",
274 + "arrivalAirportName": "string",
275 + "arrivalTerminalCode": "string",
276 + "flightDuration": "string",
277 + "baggages": [
278 + {
279 + "baggageCode": "string",
280 + "description": "string",
281 + "price": 0,
282 + "currency": "string",
283 + "included": true
284 + }
285 + ]
286 + }
287 + ]
288 + },
289 + "extraServices": [
290 + {
291 + "extraServiceCode": "string",
292 + "extraServiceTypeCode": "string",
293 + "isMandatory": 0,
294 + "extraServiceName": "string",
295 + "minimalServiceAmount": 0,
296 + "includedPriceCode": "string",
297 + "prices": [
298 + {
299 + "extraServicePriceCode": "string",
300 + "displayName": "string",
301 + "restrictionInfo": "string",
302 + "additionalInfo": "string",
303 + "price": 0,
304 + "extraPrice": 0,
305 + "currency": "string"
306 + }
307 + ]
308 + }
309 + ],
310 + "insurancePrice": {
311 + "name": "string",
312 + "price": 0,
313 + "priceSurcarge": 0,
314 + "actualStartDate": "2023-12-14T13:47:13.396Z",
315 + "actualEndDate": "2023-12-14T13:47:13.396Z",
316 + "optional": true,
317 + "includedInPackagePrice": true
318 + }
319 + }
320 + ],
321 + "pagingId": "string",
322 + "pageNumber": 0,
323 + "pageCount": 0
324 +}
105 105  {{/code}}
106 106  
107 107  
328 +== Response example ==
329 +
330 +{{code language="Json"}}
331 +{
332 + "packages": [
333 + {
334 + "cacheKey": "c705ab31e00e4f9a81c2fd46b2cdbb47f6fd9a6e16984236beb979b31aefafa4:{79}:i:10",
335 + "id": "tour:b01c168e-2ea7-4ea6-b6e0-55abb8cab0a0:da894a1e-88c0-4877-b216-0eeeabe186f3:4298d06f-4344-4a39-ad98-071b7760cf30",
336 + "priceCurrency": "USD",
337 + "totalPrice": 1033.53,
338 + "agentCommissionPercent": 0.0,
339 + "agentCommissionAmount": 0.0,
340 + "includedExtrasAmount": 0,
341 + "priceDifference": 0,
342 + "hotel": {
343 + "hotelPriceId": "da894a1e-88c0-4877-b216-0eeeabe186f3",
344 + "providerId": 13,
345 + "hotelName": "Mercure Dubai Barsha Heights Suites Apartments",
346 + "hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14",
347 + "nigths": 3,
348 + "mealPlan": "BB",
349 + "hotelClass": "4",
350 + "availabilityType": "FreeSale",
351 + "availableRoomsCount": 0,
352 + "fewRooms": true,
353 + "roomCategoryCode": "bc5f2224-bd4c-49b2-ab57-01eb7fa80d41",
354 + "roomCategoryName": "1 B/R Suite City View",
355 + "placementTypeName": "DBL",
356 + "checkInDate": "2024-02-09T20:00:00.000Z",
357 + "checkOutDate": "2024-02-12T20:00:00.000Z",
358 + "adults": 1,
359 + "children": 1,
360 + "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e",
361 + "districtName": "Al Barsha",
362 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
363 + "cityName": "Dubai",
364 + "countryCode": "AE",
365 + "countryName": "United Arab Emirates",
366 + "hasAlcohol": false,
367 + "hasFreeWifi": true,
368 + "hasMetro": true,
369 + "hasPool": true,
370 + "hasMall": false,
371 + "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %",
372 + "cancellationPolicy": {
373 + "noShowChargeValue": 100.0,
374 + "noShowChargeValueType": "%",
375 + "earlyDepartureChargeValue": 100.0,
376 + "earlyDepartureChargeValueType": "%",
377 + "conditions": [
378 + {
379 + "timeunits": 5,
380 + "timeunitType": "Day",
381 + "timeOffsetTypeName": "Before Arrival",
382 + "chargeValue": 100.0,
383 + "chargeValueType": "%"
384 + }
385 + ]
386 + }
387 + },
388 + "flight": {
389 + "id": "4298d06f-4344-4a39-ad98-071b7760cf30",
390 + "departureDate": "2024-02-09T20:00:00.000Z",
391 + "returnDate": "2024-02-12T20:00:00.000Z",
392 + "departureTicketsLeft": 7,
393 + "returnTicketsLeft": 7,
394 + "departureAvailabilityType": "FewPlaces",
395 + "returnAvailabilityType": "FewPlaces",
396 + "isTwoWay": true,
397 + "sameBaggageForAll": false,
398 + "totalBaggage": false,
399 + "departureSegments": [
400 + {
401 + "airlineCode": "KC",
402 + "airlineName": "Air Astana-",
403 + "flightCode": "KC897",
404 + "class": "econom",
405 + "lugageWeight": 20,
406 + "handLugageWeight": 6,
407 + "departureFlightDate": "2024-02-09T20:00:00.000Z",
408 + "departureCountryName": "Kazakhstan",
409 + "departureCityName": "Almaty",
410 + "departureAirportCode": "ALA",
411 + "departureAirportName": "Almaty Intl Airport",
412 + "departureTerminalCode": "ALA",
413 + "arrivalFlightDate": "2024-02-09T20:00:00.000Z",
414 + "arrivalCountryName": "United Arab Emirates",
415 + "arrivalCityName": "Dubai",
416 + "arrivalAirportCode": "DXB",
417 + "arrivalAirportName": "Dubai Intl Airport",
418 + "arrivalTerminalCode": "DXB1",
419 + "flightDuration": "0h 50m"
420 + }
421 + ],
422 + "returnSegments": [
423 + {
424 + "airlineCode": "KC",
425 + "airlineName": "Air Astana-",
426 + "flightCode": "KC900",
427 + "class": "econom",
428 + "lugageWeight": 20,
429 + "handLugageWeight": 6,
430 + "departureFlightDate": "2024-02-12T20:00:00.000Z",
431 + "departureCountryName": "United Arab Emirates",
432 + "departureCityName": "Dubai",
433 + "departureAirportCode": "DXB",
434 + "departureAirportName": "Dubai Intl Airport",
435 + "departureTerminalCode": "DXB1",
436 + "arrivalFlightDate": "2024-02-12T20:00:00.000Z",
437 + "arrivalCountryName": "Kazakhstan",
438 + "arrivalCityName": "Almaty",
439 + "arrivalAirportCode": "ALA",
440 + "arrivalAirportName": "Almaty Intl Airport",
441 + "arrivalTerminalCode": "ALA",
442 + "flightDuration": "8h 15m"
443 + }
444 + ],
445 + "passengers": [
446 + {
447 + "id": "42768722011000004-A1",
448 + "isAdult": true,
449 + "forwardBaggages": [],
450 + "backwardBaggages": []
451 + },
452 + {
453 + "id": "42768722011000004-C1",
454 + "isAdult": false,
455 + "forwardBaggages": [],
456 + "backwardBaggages": []
457 + }
458 + ]
459 + },
460 + "extraServices": [],
461 + "insurancePrice": {
462 + "name": "Medical INS (N10000)",
463 + "price": 17.92,
464 + "priceSurcarge": 0.0,
465 + "actualStartDate": "2024-02-09T20:00:00.000Z",
466 + "actualEndDate": "2024-02-12T20:00:00.000Z",
467 + "optional": false,
468 + "includedInPackagePrice": true
469 + }
470 + }
471 + ],
472 + "pagingId": "79",
473 + "pageNumber": 10,
474 + "pageCount": 2452,
475 + "totalCount": 2452,
476 + "error": false
477 +}
478 +{{/code}}
479 +
480 +
108 108  === Schema ===
109 109  
110 -{{code language="none"}}
111 -[Hotel{
112 -hotelCode string
113 -nullable: true
114 -hotelName string
115 -nullable: true
116 -hotelClass string
117 -nullable: true
118 -cityUID string($uuid)
119 -nullable: true
120 -countryCode string
121 -nullable: true
122 -countryName string
123 -nullable: true
124 -districtUID string($uuid)
125 -nullable: true
126 -cityName string
127 -nullable: true
128 -districtName string
129 -nullable: true
130 -hotelType HotelTypeEnumstring
131 -Enum:
132 -[ CityHotel, BeachHotel, SecondLineBeach ]
133 -latitude string
134 -nullable: true
135 -longitude string
136 -nullable: true
137 -hasAlcohol boolean
138 -hasFreeWifi boolean
139 -hasMetro boolean
140 -hasPool boolean
141 -hasMall boolean
483 +{{success}}
484 +SearchTourPackagesResponse{
485 +
486 +|error|boolean
487 +|errorCode|string
488 +nullable: true
489 +|errorDescription|string
490 +nullable: true
491 +|userErrorDescription|string
492 +nullable: true
493 +|packages|[
494 +nullable: trueTourPackage{(((
495 +|cacheKey|string
496 +nullable: true
497 +|id|string
498 +nullable: true
499 +|priceCurrency|string
500 +nullable: true
501 +|totalPrice|number($double)
502 +|agentCommissionPercent|number($double)
503 +|agentCommissionAmount|number($double)
504 +|includedExtrasAmount|number($double)
505 +|priceDifference|number($double)
506 +|hotel|PackageHotel{(((
507 +|hotelPriceId|string
508 +nullable: true
509 +|providerId|integer($int32)
510 +|hotelName|string
511 +nullable: true
512 +|hotelCode|string
513 +nullable: true
514 +|nigths|integer($int32)
515 +|mealPlan|string
516 +nullable: true
517 +|hotelClass|string
518 +nullable: true
519 +|availabilityType|RoomAvailabilityTypeEnumstringEnum:
520 +[ OnRequest, FreeSale, StopSale ]
521 +|availableRoomsCount|integer($int32)
522 +|fewRooms|boolean
523 +|roomCategoryCode|string
524 +nullable: true
525 +|roomCategoryName|string
526 +nullable: true
527 +|placementTypeName|string
528 +nullable: true
529 +|placementDescription|string
530 +nullable: true
531 +|checkInDate|string($date-time)
532 +|checkOutDate|string($date-time)
533 +|adults|integer($int32)
534 +|children|integer($int32)
535 +|districtUID|string($uuid)
536 +nullable: true
537 +|districtName|string
538 +nullable: true
539 +|cityUID|string($uuid)
540 +nullable: true
541 +|cityName|string
542 +nullable: true
543 +|countryCode|string
544 +nullable: true
545 +|countryName|string
546 +nullable: true
547 +|hasAlcohol|boolean
548 +|hasFreeWifi|boolean
549 +|hasMetro|boolean
550 +|hasPool|boolean
551 +|hasMall|boolean
552 +|cancellationPolicyDescription|string
553 +nullable: true
554 +|cancellationPolicy|CancellationPolicyExchange{(((
555 +|cancellationPolicyCode|string
556 +nullable: true
557 +|noShowChargeValue|number($double)
558 +nullable: true
559 +|noShowChargeValueType|string
560 +nullable: true
561 +|earlyDepartureChargeValue|number($double)
562 +nullable: true
563 +|earlyDepartureChargeValueType|string
564 +nullable: true
565 +|conditions|[
566 +nullable: trueCancellationPolicyConditionExchange{(((
567 +|timeunits|integer($int32)
568 +|timeunitType|string
569 +nullable: true
570 +|timeOffsetTypeName|string
571 +nullable: true
572 +|chargeValue|number($double)
573 +nullable: true
574 +|chargeValueType|string
575 +nullable: true
576 +
142 142  }]
578 +)))
579 +
580 +}
581 +)))
582 +
583 +}
584 +)))
585 +|flight|PackageFlight{(((
586 +|id|string
587 +nullable: true
588 +|departureDate|string($date-time)
589 +|returnDate|string($date-time)
590 +nullable: true
591 +|departureTicketsLeft|integer($int32)
592 +|returnTicketsLeft|integer($int32)
593 +|departureAvailabilityType|FlightAvailabilityTypestringEnum:
594 +[ OnRequest, FreeSale, FewPlaces, StopSale ]
595 +|returnAvailabilityType|FlightAvailabilityTypestringEnum:
596 +[ OnRequest, FreeSale, FewPlaces, StopSale ]
597 +|isTwoWay|boolean
598 +|departureSegments|[
599 +nullable: trueFlightSegment{(((
600 +|airlineCode|string
601 +nullable: true
602 +|airlineName|string
603 +nullable: true
604 +|flightCode|string
605 +nullable: true
606 +|class|string
607 +nullable: true
608 +|lugageWeight|number($double)
609 +|handLugageWeight|number($double)
610 +|departureFlightDate|string($date-time)
611 +|departureCountryName|string
612 +nullable: true
613 +|departureCityName|string
614 +nullable: true
615 +|departureAirportCode|string
616 +nullable: true
617 +|departureAirportName|string
618 +nullable: true
619 +|departureTerminalCode|string
620 +nullable: true
621 +|arrivalFlightDate|string($date-time)
622 +|arrivalCountryName|string
623 +nullable: true
624 +|arrivalCityName|string
625 +nullable: true
626 +|arrivalAirportCode|string
627 +nullable: true
628 +|arrivalAirportName|string
629 +nullable: true
630 +|arrivalTerminalCode|string
631 +nullable: true
632 +|flightDuration|string
633 +nullable: true
634 +|baggages|[
635 +nullable: trueBaggage{(((
636 +|baggageCode|string
637 +nullable: true
638 +|description|string
639 +nullable: true
640 +|price|number($double)
641 +|currency|string
642 +nullable: true
643 +|included|boolean
644 +
645 +}]
646 +)))
647 +
648 +}]
649 +)))
650 +|returnSegments|[
651 +nullable: trueFlightSegment{(((
652 +|airlineCode|string
653 +nullable: true
654 +|airlineName|string
655 +nullable: true
656 +|flightCode|string
657 +nullable: true
658 +|class|string
659 +nullable: true
660 +|lugageWeight|number($double)
661 +|handLugageWeight|number($double)
662 +|departureFlightDate|string($date-time)
663 +|departureCountryName|string
664 +nullable: true
665 +|departureCityName|string
666 +nullable: true
667 +|departureAirportCode|string
668 +nullable: true
669 +|departureAirportName|string
670 +nullable: true
671 +|departureTerminalCode|string
672 +nullable: true
673 +|arrivalFlightDate|string($date-time)
674 +|arrivalCountryName|string
675 +nullable: true
676 +|arrivalCityName|string
677 +nullable: true
678 +|arrivalAirportCode|string
679 +nullable: true
680 +|arrivalAirportName|string
681 +nullable: true
682 +|arrivalTerminalCode|string
683 +nullable: true
684 +|flightDuration|string
685 +nullable: true
686 +|baggages|[
687 +nullable: trueBaggage{(((
688 +|baggageCode|string
689 +nullable: true
690 +|description|string
691 +nullable: true
692 +|price|number($double)
693 +|currency|string
694 +nullable: true
695 +|included|boolean
696 +
697 +}]
698 +)))
699 +
700 +}]
701 +)))
702 +
703 +}
704 +)))
705 +|extraServices|[
706 +nullable: trueHotelExtraServiceBase{(((
707 +|extraServiceCode|string
708 +nullable: true
709 +|extraServiceTypeCode|string
710 +nullable: true
711 +|isMandatory|integer($int32)
712 +|extraServiceName|string
713 +nullable: true
714 +|minimalServiceAmount|number($double)
715 +|includedPriceCode|string
716 +nullable: true
717 +|prices|[
718 +nullable: trueHotelExtraServicePriceBase{(((
719 +|extraServicePriceCode|string
720 +nullable: true
721 +|displayName|string
722 +nullable: true
723 +|restrictionInfo|string
724 +nullable: true
725 +|additionalInfo|string
726 +nullable: true
727 +|price|number($double)
728 +|extraPrice|number($double)
729 +|currency|string
730 +nullable: true
731 +
732 +}]
733 +)))
734 +
735 +}]
736 +)))
737 +|insurancePrice|InsurancePrice{(((
738 +|name|string
739 +nullable: true
740 +|price|number($double)
741 +|priceSurcarge|number($double)
742 +|actualStartDate|string($date-time)
743 +|actualEndDate|string($date-time)
744 +|optional|boolean
745 +|includedInPackagePrice|boolean
746 +
747 +}
748 +)))
749 +
750 +}]
751 +)))
752 +|pagingId|string
753 +nullable: true
754 +|pageNumber|integer($int64)
755 +|pageCount|integer($int64)
756 +
757 +}
758 +{{/success}}
759 +
760 +
761 +== Definitions ==
762 +
763 +
764 +**Request Parameters **
765 +
766 +(% class="table-bordered" %)
767 +|=Field|=Type|=Description
768 +|departureCountryCode|string|The ISO 3166-1 alpha-2 country code for the departure country. For example, "KZ" for Kazakhstan.
769 +|departureCityUID|string|The unique identifier for the departure city.
770 +|arrivalCountryCode|string|The ISO 3166-1 alpha-2 country code for the arrival country. For example, "AE" for United Arab Emirates.
771 +|arrivalLocations|array|An array of objects, each representing an arrival location. Each object contains: type (string) - The type of the location. This can be "city". label (string) - The name of the location. value (string) - The unique identifier for the location. tag (string) - A tag for the location.
772 +|checkInDate|string|The check-in date in ISO 8601 format.
773 +|checkInDateTo|string|The latest possible check-in date in ISO 8601 format.
774 +|stayDays|integer|The minimum number of days to stay.
775 +|stayDaysTo|integer|The maximum number of days to stay.
776 +|airlineCode|string|The code of the airline. This field can be empty.
777 +|ticketType|string|The type of the ticket. This field can be empty.
778 +|directFlightsOnly|boolean|Indicates whether to search for direct flights only.
779 +|longConnectTime|boolean|Indicates whether to include flights with long connection times.
780 +|adults|integer|The number of adults.
781 +|children|integer|The number of children.
782 +|childrenAges|array|An array of integers, each representing the age of a child.
783 +|extendedSearch|boolean|Indicates whether to perform an extended search.
784 +|totalPriceFrom|float|The minimum total price.
785 +|totalPriceTo|float|The maximum total price.
786 +|recommended|boolean|Indicates whether to include recommended packages.
787 +|popular|boolean|Indicates whether to include popular packages.
788 +|freeSale|boolean|Indicates whether to include free sale packages.
789 +|groupByHotel|boolean|Indicates whether to group the results by hotel.
790 +|hotelCodes|array|An array of strings, each representing a hotel code. This field can be empty.
791 +|mealPlans|array|An array of meal plans. This field can be empty.
792 +|hotelClasses|array|An array of hotel classes. This field can be empty.
793 +|hotelTypes|array|An array of hotel types. This field can be empty.
794 +|hotelServices|array|An array of hotel services. This field can be empty.
795 +|pagingId|string|The paging ID for paginated results. This field can be empty.
796 +|pageNumber|integer|The page number for paginated results.
797 +|pageRowCount|integer|The number of rows per page for paginated results.
798 +
799 +(% class="wikigeneratedid" %)
800 +**Response Parameters**
801 +
802 +(% class="table-bordered" %)
803 +|=Field|=Type|=Description
804 +|packages|array|An array of packages available. Each package contains:
805 +|cacheKey|string|A unique identifier for the cache.
806 +|id|string|A unique identifier for the package.
807 +|priceCurrency|string|The currency in which the price is displayed.
808 +|totalPrice|float|The total price of the package.
809 +|agentCommissionPercent|float|The commission percentage for the agent.
810 +|agentCommissionAmount|float|The commission amount for the agent.
811 +|includedExtrasAmount|integer|The amount of extras included in the package.
812 +|priceDifference|integer|The difference in price from the original price.
813 +|hotel|object|An object containing details about the hotel.
814 +|hotelPriceId|string|A unique identifier for the hotel price.
815 +|providerId|integer|A unique identifier for the provider.
816 +|hotelName|string|The name of the hotel.
817 +|hotelCode|string|A unique code for the hotel.
818 +|nigths|integer|The number of nights for the stay.
819 +|mealPlan|string|The meal plan for the stay.
820 +|hotelClass|string|The class or rating of the hotel.
821 +|availabilityType|string|The availability type of the hotel.
822 +|availableRoomsCount|integer|The number of available rooms in the hotel.
823 +|fewRooms|boolean|Indicates whether there are few rooms left.
824 +|roomCategoryCode|string|A unique code for the room category.
825 +|roomCategoryName|string|The name of the room category.
826 +|placementTypeName|string|The name of the placement type.
827 +|checkInDate|string|The check-in date in ISO 8601 format.
828 +|checkOutDate|string|The check-out date in ISO 8601 format.
829 +|adults|integer|The number of adults for the stay.
830 +|children|integer|The number of children for the stay.
831 +|districtUID|string|A unique identifier for the district.
832 +|districtName|string|The name of the district.
833 +|cityUID|string|A unique identifier for the city.
834 +|cityName|string|The name of the city.
835 +|countryCode|string|The ISO 3166-1 alpha-2 country code.
836 +|countryName|string|The name of the country.
837 +|hasAlcohol|boolean|Indicates whether the hotel serves alcohol.
838 +|hasFreeWifi|boolean|Indicates whether the hotel offers free Wi-Fi.
839 +|hasMetro|boolean|Indicates whether the hotel is near a metro station.
840 +|hasPool|boolean|Indicates whether the hotel has a pool.
841 +|hasMall|boolean|Indicates whether the hotel is near a shopping mall.
842 +|cancellationPolicyDescription|string|The description of the cancellation policy.
843 +|cancellationPolicy|object|An object containing details about the cancellation policy.
844 +|flight|object|An object containing details about the flight.
845 +|id|string|A unique identifier for the flight.
846 +|departureDate|string|The departure date in ISO 8601 format.
847 +|returnDate|string|The return date in ISO 8601 format.
848 +|departureTicketsLeft|integer|The number of departure tickets left.
849 +|returnTicketsLeft|integer|The number of return tickets left.
850 +|departureAvailabilityType|string|The availability type of the departure flight.
851 +|returnAvailabilityType|string|The availability type of the return flight.
852 +|isTwoWay|boolean|Indicates whether the flight is two-way.
853 +|sameBaggageForAll|boolean|Indicates whether the same baggage is applicable for all passengers.
854 +|totalBaggage|boolean|Indicates whether total baggage is included.
855 +|departureSegments|array|An array of objects, each representing a departure segment.
856 +|returnSegments|array|An array of objects, each representing a return segment.
857 +|passengers|array|An array of objects, each representing a passenger.
858 +|extraServices|array|An array of extra services included in the package.
859 +|insurancePrice|object|An object containing details about the insurance price.
860 +|pagingId|string|The paging ID for paginated results.
861 +|pageNumber|integer|The page number for paginated results.
862 +|pageCount|integer|The total number of pages.
863 +|totalCount|integer|The total count of packages.
864 +|error|boolean|Indicates whether there was an error.
865 +
866 +=== Paging and Caching ===
867 +
868 +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:
869 +
870 +
871 +==== first request ====
872 +
873 +{{code language="Json"}}
874 + {
875 + "pagingId": "",
876 + "pageNumber": 1,
877 + "pageRowCount":10
878 + }
143 143  {{/code}}
880 +
881 +While making first search request, paging id should be empty,  "pageNumber":  and  "pageRowCount":10 means that, in response there will be returned maximum 10 packages per page.
882 +
883 +
884 +==== Request with caching ====
885 +
886 +after receiving response from first search request, in the end we can see pagingId- number, wchich we can use for caching, and (pageinatoin) for switch pagenumbers, and displaying results as we whant. For cleaning cache, it's important to make new request without cllear pagingID, like this  "pagingId": "",
887 +
888 +{{code language="Json"}}
889 + {
890 + "pagingId": "80",
891 + "pageNumber": 1,
892 + "pageRowCount":10
893 + }
894 +{{/code}}
895 +
896 +
897 +=== search parameter options ===
898 +
899 +in the request body it's available to filter search results with parameters. parameter examples:
900 +
901 +{{code language="Json"}}
902 + { "totalPriceFrom": 500,
903 + "totalPriceTo": 10000,
904 + "hotelTypes": [
905 + "CityHotel",
906 + "BeachHotel",
907 + "SecondLineBeach"
908 + ],
909 + "hotelClasses": [
910 + "1",
911 + "2",
912 + "3",
913 + "4",
914 + "5",
915 + "6"
916 + ],
917 + "hotelServices": [
918 + "HasAlcohol",
919 + "HasFreeWifi",
920 + "HasMetro",
921 + "HasPool",
922 + "HasMall"
923 + ],
924 + "mealPlans": [
925 + "RO",
926 + "BB",
927 + "HB",
928 + "FB",
929 + "AL"
930 + ]
931 +}
932 +{{/code}}
933 +
934 +
935 +
936 +== Important ==
937 +
938 +{{error}}
939 +It's Important to in every other request header, put Auth token
940 +
941 +**Key **- Authorization
942 +
943 +**Value **- Bearer Token what is given in this response.
944 +
945 +
946 +**also note in headers that:**
947 +
948 +Content-Type - application/json
949 +
950 +**Key - **X-nugios-timezone
951 +
952 +**Value **- 240
953 +{{/error}}