Wiki source code of SearchTourPackages - Basic version
Version 2.1 by Giorgi Mdivnishvili on 2024/04/11 09:31
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | {{box cssClass="floatinginfobox" title="**Contents**"}} |
![]() |
2.1 | 2 | |
3 | |||
![]() |
1.1 | 4 | {{toc/}} |
5 | {{/box}} | ||
6 | |||
![]() |
2.1 | 7 | = Method Description = |
![]() |
1.1 | 8 | |
![]() |
2.1 | 9 | Tour package mean, tour with hotel and flight together. Using this method gives data about full package availability with flight and hotel options. |
![]() |
1.1 | 10 | |
![]() |
2.1 | 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. |
![]() |
1.1 | 12 | |
13 | |||
![]() |
2.1 | 14 | == Endpoint URL - [POST] == |
![]() |
1.1 | 15 | |
![]() |
2.1 | 16 | {{info}} |
17 | [[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]] | ||
18 | {{/info}} | ||
![]() |
1.1 | 19 | |
![]() |
2.1 | 20 | == Request Parameters == |
![]() |
1.1 | 21 | |
![]() |
2.1 | 22 | (% class="box infomessage" %) |
23 | ((( | ||
24 | None | ||
25 | ))) | ||
![]() |
1.1 | 26 | |
27 | |||
![]() |
2.1 | 28 | == Request Body == |
![]() |
1.1 | 29 | |
![]() |
2.1 | 30 | {{code language="Json"}} |
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 | } | ||
87 | {{/code}} | ||
![]() |
1.1 | 88 | |
89 | |||
![]() |
2.1 | 90 | == Request example == |
![]() |
1.1 | 91 | |
![]() |
2.1 | 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, | ||
![]() |
1.1 | 110 | |
![]() |
2.1 | 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 | } | ||
146 | {{/code}} | ||
147 | |||
148 | |||
149 | == Response Body == | ||
150 | |||
151 | {{code language="json"}} | ||
152 | { | ||
153 | "error": true, | ||
154 | "errorCode": "string", | ||
155 | "errorDescription": "string", | ||
156 | "userErrorDescription": "string", | ||
157 | "packages": [ | ||
158 | { | ||
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, | ||
193 | "hasFreeWifi": true, | ||
194 | "hasMetro": true, | ||
195 | "hasPool": true, | ||
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 | } | ||
325 | {{/code}} | ||
326 | |||
327 | |||
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 | |||
481 | === Schema === | ||
482 | |||
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 | |||
577 | }] | ||
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 | } | ||
879 | {{/code}} | ||
880 | |||
881 | |||
882 | ==== Request with caching ==== | ||
883 | |||
884 | 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 | ||
885 | |||
886 | {{code language="Json"}} | ||
887 | { | ||
888 | "pagingId": "80", | ||
889 | "pageNumber": 1, | ||
890 | "pageRowCount":10 | ||
891 | } | ||
892 | {{/code}} | ||
893 | |||
894 | |||
895 | === search parameter options === | ||
896 | |||
897 | in the request body it's available to filter search results with parameters. parameter examples: | ||
898 | |||
899 | {{code language="Json"}} | ||
900 | { "totalPriceFrom": 500, | ||
901 | "totalPriceTo": 10000, | ||
902 | "hotelTypes": [ | ||
903 | "CityHotel", | ||
904 | "BeachHotel", | ||
905 | "SecondLineBeach" | ||
906 | ], | ||
907 | "hotelClasses": [ | ||
908 | "1", | ||
909 | "2", | ||
910 | "3", | ||
911 | "4", | ||
912 | "5", | ||
913 | "6" | ||
914 | ], | ||
915 | "hotelServices": [ | ||
916 | "HasAlcohol", | ||
917 | "HasFreeWifi", | ||
918 | "HasMetro", | ||
919 | "HasPool", | ||
920 | "HasMall" | ||
921 | ], | ||
922 | "mealPlans": [ | ||
923 | "RO", | ||
924 | "BB", | ||
925 | "HB", | ||
926 | "FB", | ||
927 | "AL" | ||
928 | ] | ||
929 | } | ||
930 | {{/code}} | ||
931 | |||
932 | |||
933 | |||
934 | == Important == | ||
935 | |||
936 | {{error}} | ||
937 | It's Important to in every other request header, put Auth token | ||
938 | |||
939 | **Key **- Authorization | ||
940 | |||
941 | **Value **- Bearer Token what is given in this response. | ||
942 | |||
943 | |||
944 | **also note in headers that:** | ||
945 | |||
946 | Content-Type - application/json | ||
947 | |||
948 | **Key - **X-nugios-timezone | ||
949 | |||
950 | **Value **- 240 | ||
951 | {{/error}} |