Wiki source code of 1. SearchTourPackages

Version 29.1 by Giorgi Mdivnishvili on 2024/04/11 11:35

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2
3
4 {{toc/}}
5 {{/box}}
6
7 = Method Description =
8
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
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.
12
13
14 == Endpoint URL - [POST] ==
15
16 {{info}}
17 [[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]]
18 {{/info}}
19
20 == Request Parameters ==
21
22 (% class="box infomessage" %)
23 (((
24 None 
25 )))
26
27
28 == Request Body ==
29
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}}
88
89
90 == Request example ==
91
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 }
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 === ===
867
868 === Paging and Caching ===
869
870 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:
871
872
873 ==== first request ====
874
875 {{code language="Json"}}
876 {
877 "pagingId": "",
878 "pageNumber": 1,
879 "pageRowCount":10
880 }
881 {{/code}}
882
883 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.
884
885
886 ==== Request with caching ====
887
888 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": "",
889
890 {{code language="Json"}}
891 {
892 "pagingId": "80",
893 "pageNumber": 1,
894 "pageRowCount":10
895 }
896 {{/code}}
897
898
899 === Search parameter options ===
900
901 in the request body it's available to filter search results with parameters. parameter examples:
902
903 {{code language="Json"}}
904 { "totalPriceFrom": 500,
905 "totalPriceTo": 10000,
906 "hotelTypes": [
907 "CityHotel",
908 "BeachHotel",
909 "SecondLineBeach"
910 ],
911 "hotelClasses": [
912 "1",
913 "2",
914 "3",
915 "4",
916 "5",
917 "6"
918 ],
919 "hotelServices": [
920 "HasAlcohol",
921 "HasFreeWifi",
922 "HasMetro",
923 "HasPool",
924 "HasMall"
925 ],
926 "mealPlans": [
927 "RO",
928 "BB",
929 "HB",
930 "FB",
931 "AL"
932 ]
933 }
934 {{/code}}
935
936
937
938 == Important ==
939
940 {{error}}
941 It's Important to in every other request header, put Auth token
942
943 **Key **- Authorization
944
945 **Value **- Bearer Token what is given in this response.
946
947
948 **also note in headers that:**
949
950 Content-Type - application/json
951
952 **Key - **X-nugios-timezone
953
954 **Value **- 240
955 {{/error}}