Version 10.1 by Giorgi Mdivnishvili on 2024/04/11 11:32

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 example ==
29
30 {{code language="Json"}}
31 {
32 "departureCountryCode": "KZ",
33 "departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8",
34 "arrivalCountryCode": "AE",
35 "adults": 2,
36 "children": 0,
37 "departureDate": "2024-05-25T00:00:00",
38 "returnDate": "2024-06-01T00:00:00",
39 "departureAndReturnDaysCount": 7,
40 "checkInDate": "2024-05-25T00:00:00",
41 "checkOutDate": "2024-06-01T00:00:00",
42 "checkInAndCheckOutDaysCount": 7,
43 "directFlightsOnly": true,
44 "pageRowCount": 25,
45 "searchCurrency": "USD"
46 }
47 {{/code}}
48
49 == Request example for 2Adults 2Child ==
50
51 {{code language="Json"}}
52 {
53 "departureCountryCode": "KZ",
54 "departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8",
55 "arrivalCountryCode": "AE",
56 "adults": 2,
57 "children": 2,
58 "childrenAges": [
59 4,
60 8
61 ],
62 "departureDate": "2024-05-26T00:00:00",
63 "returnDate": "2024-06-02T00:00:00",
64 "departureAndReturnDaysCount": 7,
65 "checkInDate": "2024-05-26T00:00:00",
66 "checkOutDate": "2024-06-02T00:00:00",
67 "checkInAndCheckOutDaysCount": 7,
68 "directFlightsOnly": true,
69 "searchCurrency": "USD",
70
71 "pagingId": "",
72 "pageNumber": 1,
73 "pageRowCount":5
74 }
75 {{/code}}
76
77
78 == Response Body ==
79
80 {{code language="json"}}
81 {
82 "error": true,
83 "errorCode": "string",
84 "errorDescription": "string",
85 "userErrorDescription": "string",
86 "packages": [
87 {
88 "cacheKey": "string",
89 "id": "string",
90 "priceCurrency": "string",
91 "totalPrice": 0,
92 "agentCommissionPercent": 0,
93 "agentCommissionAmount": 0,
94 "includedExtrasAmount": 0,
95 "priceDifference": 0,
96 "hotel": {
97 "hotelPriceId": "string",
98 "providerId": 0,
99 "hotelName": "string",
100 "hotelCode": "string",
101 "nigths": 0,
102 "mealPlan": "string",
103 "hotelClass": "string",
104 "availabilityType": "OnRequest",
105 "availableRoomsCount": 0,
106 "fewRooms": true,
107 "roomCategoryCode": "string",
108 "roomCategoryName": "string",
109 "placementTypeName": "string",
110 "placementDescription": "string",
111 "checkInDate": "2023-12-14T13:47:13.396Z",
112 "checkOutDate": "2023-12-14T13:47:13.396Z",
113 "adults": 0,
114 "children": 0,
115 "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
116 "districtName": "string",
117 "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
118 "cityName": "string",
119 "countryCode": "string",
120 "countryName": "string",
121 "hasAlcohol": true,
122 "hasFreeWifi": true,
123 "hasMetro": true,
124 "hasPool": true,
125 "hasMall": true,
126 "cancellationPolicyDescription": "string",
127 "cancellationPolicy": {
128 "cancellationPolicyCode": "string",
129 "noShowChargeValue": 0,
130 "noShowChargeValueType": "string",
131 "earlyDepartureChargeValue": 0,
132 "earlyDepartureChargeValueType": "string",
133 "conditions": [
134 {
135 "timeunits": 0,
136 "timeunitType": "string",
137 "timeOffsetTypeName": "string",
138 "chargeValue": 0,
139 "chargeValueType": "string"
140 }
141 ]
142 }
143 },
144 "flight": {
145 "id": "string",
146 "departureDate": "2023-12-14T13:47:13.396Z",
147 "returnDate": "2023-12-14T13:47:13.396Z",
148 "departureTicketsLeft": 0,
149 "returnTicketsLeft": 0,
150 "departureAvailabilityType": "OnRequest",
151 "returnAvailabilityType": "OnRequest",
152 "isTwoWay": true,
153 "departureSegments": [
154 {
155 "airlineCode": "string",
156 "airlineName": "string",
157 "flightCode": "string",
158 "class": "string",
159 "lugageWeight": 0,
160 "handLugageWeight": 0,
161 "departureFlightDate": "2023-12-14T13:47:13.396Z",
162 "departureCountryName": "string",
163 "departureCityName": "string",
164 "departureAirportCode": "string",
165 "departureAirportName": "string",
166 "departureTerminalCode": "string",
167 "arrivalFlightDate": "2023-12-14T13:47:13.396Z",
168 "arrivalCountryName": "string",
169 "arrivalCityName": "string",
170 "arrivalAirportCode": "string",
171 "arrivalAirportName": "string",
172 "arrivalTerminalCode": "string",
173 "flightDuration": "string",
174 "baggages": [
175 {
176 "baggageCode": "string",
177 "description": "string",
178 "price": 0,
179 "currency": "string",
180 "included": true
181 }
182 ]
183 }
184 ],
185 "returnSegments": [
186 {
187 "airlineCode": "string",
188 "airlineName": "string",
189 "flightCode": "string",
190 "class": "string",
191 "lugageWeight": 0,
192 "handLugageWeight": 0,
193 "departureFlightDate": "2023-12-14T13:47:13.396Z",
194 "departureCountryName": "string",
195 "departureCityName": "string",
196 "departureAirportCode": "string",
197 "departureAirportName": "string",
198 "departureTerminalCode": "string",
199 "arrivalFlightDate": "2023-12-14T13:47:13.396Z",
200 "arrivalCountryName": "string",
201 "arrivalCityName": "string",
202 "arrivalAirportCode": "string",
203 "arrivalAirportName": "string",
204 "arrivalTerminalCode": "string",
205 "flightDuration": "string",
206 "baggages": [
207 {
208 "baggageCode": "string",
209 "description": "string",
210 "price": 0,
211 "currency": "string",
212 "included": true
213 }
214 ]
215 }
216 ]
217 },
218 "extraServices": [
219 {
220 "extraServiceCode": "string",
221 "extraServiceTypeCode": "string",
222 "isMandatory": 0,
223 "extraServiceName": "string",
224 "minimalServiceAmount": 0,
225 "includedPriceCode": "string",
226 "prices": [
227 {
228 "extraServicePriceCode": "string",
229 "displayName": "string",
230 "restrictionInfo": "string",
231 "additionalInfo": "string",
232 "price": 0,
233 "extraPrice": 0,
234 "currency": "string"
235 }
236 ]
237 }
238 ],
239 "insurancePrice": {
240 "name": "string",
241 "price": 0,
242 "priceSurcarge": 0,
243 "actualStartDate": "2023-12-14T13:47:13.396Z",
244 "actualEndDate": "2023-12-14T13:47:13.396Z",
245 "optional": true,
246 "includedInPackagePrice": true
247 }
248 }
249 ],
250 "pagingId": "string",
251 "pageNumber": 0,
252 "pageCount": 0
253 }
254 {{/code}}
255
256
257 == Response example ==
258
259 {{code language="Json"}}
260 {
261 "packages": [
262 {
263 "id": "tour:556ce3c2-4062-4181-9970-f41e1aeb3b8b:ce81c22f-7d91-4237-9a2a-43c4c4bcb62f:1d8793e6-346e-4b5c-933f-3d8637684d7e",
264 "priceCurrency": "USD",
265 "totalPrice": 909.78,
266 "agentCommissionPercent": 0.0,
267 "agentCommissionAmount": 0.0,
268 "includedExtrasAmount": 0,
269 "priceDifference": 0,
270 "hotel": {
271 "hotelPriceId": "ce81c22f-7d91-4237-9a2a-43c4c4bcb62f",
272 "hotelName": "CityMax Sharjah",
273 "hotelCode": "CMAXBSHJNUG",
274 "nigths": 7,
275 "mealPlan": "BB",
276 "hotelClass": "3",
277 "hotelColor": "#228B22",
278 "availabilityType": "FreeSale",
279 "availableRoomsCount": 0,
280 "fewRooms": true,
281 "roomCategoryCode": "DBL",
282 "roomCategoryName": "Standard Room",
283 "placementTypeName": "2 Adults",
284 "placementDescription": "MARPROMDMC02/RUS",
285 "checkInDate": "2024-05-25T00:00:00.000",
286 "checkOutDate": "2024-06-01T00:00:00.000",
287 "adults": 2,
288 "children": 0,
289 "districtUID": "7ac1bbc8-59ea-4977-b272-ed8553f94f9b",
290 "districtName": "Sharjah",
291 "cityUID": "f78ac3bc-f040-46d0-8319-2c52083080a6",
292 "cityName": "Sharjah",
293 "countryCode": "AE",
294 "countryName": "United Arab Emirates",
295 "hasAlcohol": false,
296 "hasFreeWifi": true,
297 "hasMetro": false,
298 "hasPool": false,
299 "hasMall": true,
300 "infantMaxAge": 4.99,
301 "childMinAge": 5.0,
302 "childMaxAge": 11.99,
303 "teenMinAge": 0.0,
304 "teenMaxAge": 0.0,
305 "adultMinAge": 12.0,
306 "cancellationPolicyDescription": "Cancellation Policy: 2 Day Before Arrival: 1.00 Night, Early Departure: 1.00 Night, NoShow: 1.00 Night",
307 "cancellationPolicy": {
308 "noShowChargeValue": 1.0,
309 "noShowChargeValueType": "Night",
310 "earlyDepartureChargeValue": 1.0,
311 "earlyDepartureChargeValueType": "Night",
312 "conditions": [
313 {
314 "timeunits": 2,
315 "timeunitType": "Day",
316 "timeOffsetTypeName": "Before Arrival",
317 "chargeValue": 1.0,
318 "chargeValueType": "Night"
319 }
320 ]
321 }
322 },
323 "flight": {
324 "id": "1d8793e6-346e-4b5c-933f-3d8637684d7e",
325 "departureDate": "2024-05-25T00:00:00.000",
326 "returnDate": "2024-06-01T00:00:00.000",
327 "departureTicketsLeft": 48,
328 "returnTicketsLeft": 33,
329 "departureAvailabilityType": "FreeSale",
330 "returnAvailabilityType": "FreeSale",
331 "isTwoWay": true,
332 "sameBaggageForAll": false,
333 "totalBaggage": false,
334 "isBlock": true,
335 "class": "Economy",
336 "departureSegments": [
337 {
338 "airlineCode": "FZ",
339 "airlineName": "Fly Dubai",
340 "flightCode": "FZ1722",
341 "class": "Economy",
342 "lugageWeight": 20,
343 "handLugageWeight": 6,
344 "departureFlightDate": "2024-05-25T03:35:00.000",
345 "departureCountryName": "Kazakhstan",
346 "departureCityName": "Almaty",
347 "departureAirportCode": "ALA",
348 "departureAirportName": "Almaty Intl Airport",
349 "departureTerminalCode": "ALA",
350 "arrivalFlightDate": "2024-05-25T07:10:00.000",
351 "arrivalCountryName": "United Arab Emirates",
352 "arrivalCityName": "Dubai",
353 "arrivalAirportCode": "DXB",
354 "arrivalAirportName": "Dubai Intl Airport",
355 "arrivalTerminalCode": "DXB3",
356 "flightDuration": "5h 35m"
357 }
358 ],
359 "returnSegments": [
360 {
361 "airlineCode": "FZ",
362 "airlineName": "Fly Dubai",
363 "flightCode": "FZ1721",
364 "class": "Economy",
365 "lugageWeight": 20,
366 "handLugageWeight": 6,
367 "departureFlightDate": "2024-06-01T21:25:00.000",
368 "departureCountryName": "United Arab Emirates",
369 "departureCityName": "Dubai",
370 "departureAirportCode": "DXB",
371 "departureAirportName": "Dubai Intl Airport",
372 "departureTerminalCode": "DXB3",
373 "arrivalFlightDate": "2024-06-02T02:35:00.000",
374 "arrivalCountryName": "Kazakhstan",
375 "arrivalCityName": "Almaty",
376 "arrivalAirportCode": "ALA",
377 "arrivalAirportName": "Almaty Intl Airport",
378 "arrivalTerminalCode": "ALA",
379 "flightDuration": "3h 10m"
380 }
381 ],
382 "passengers": [
383 {
384 "id": "1d8793e6-346e-4b5c-933f-3d8637684d7e-A1",
385 "isAdult": true,
386 "selectedForwardBaggageCode": "INCLUDED",
387 "selectedBackwardBaggageCode": "INCLUDED",
388 "forwardBaggages": [
389 {
390 "baggageCode": "INCLUDED",
391 "description": "20 Kg Included",
392 "price": 0.0,
393 "currency": "USD",
394 "included": true
395 }
396 ],
397 "backwardBaggages": [
398 {
399 "baggageCode": "INCLUDED",
400 "description": "20 Kg Included",
401 "price": 0.0,
402 "currency": "USD",
403 "included": true
404 }
405 ]
406 },
407 {
408 "id": "1d8793e6-346e-4b5c-933f-3d8637684d7e-A2",
409 "isAdult": true,
410 "selectedForwardBaggageCode": "INCLUDED",
411 "selectedBackwardBaggageCode": "INCLUDED",
412 "forwardBaggages": [
413 {
414 "baggageCode": "INCLUDED",
415 "description": "20 Kg Included",
416 "price": 0.0,
417 "currency": "USD",
418 "included": true
419 }
420 ],
421 "backwardBaggages": [
422 {
423 "baggageCode": "INCLUDED",
424 "description": "20 Kg Included",
425 "price": 0.0,
426 "currency": "USD",
427 "included": true
428 }
429 ]
430 }
431 ]
432 },
433 "extraServices": [],
434 "insurancePrice": {
435 "name": "Medical INS (N10000)",
436 "price": 35.84,
437 "actualStartDate": "2024-05-25T00:00:00.000",
438 "actualEndDate": "2024-06-01T00:00:00.000",
439 "optional": false,
440 "includedInPackagePrice": true
441 },
442 "cacheKey": "bd7e9a28fb744528a2deb043f05e0502602ea56f943a4dc9805321db85d51137:{9}:i:1",
443 "sortCheckInOut": "25.05.2024-01.06.2024",
444 "sortAirline": "fly dubai",
445 "sortHotelName": "citymax sharjah",
446 "sortDetails": "bb",
447 "sortPlacement": "standard room 2 adults"
448 }
449 ],
450 "pagingId": "9",
451 "pageNumber": 1,
452 "pageCount": 883,
453 "totalCount": 883,
454 "error": false
455 }
456 {{/code}}
457
458
459 === Schema ===
460
461 {{success}}
462 SearchTourPackagesResponse{
463
464 |error|boolean
465 |errorCode|string
466 nullable: true
467 |errorDescription|string
468 nullable: true
469 |userErrorDescription|string
470 nullable: true
471 |packages|[
472 nullable: trueTourPackage{(((
473 |cacheKey|string
474 nullable: true
475 |id|string
476 nullable: true
477 |priceCurrency|string
478 nullable: true
479 |totalPrice|number($double)
480 |agentCommissionPercent|number($double)
481 |agentCommissionAmount|number($double)
482 |includedExtrasAmount|number($double)
483 |priceDifference|number($double)
484 |hotel|PackageHotel{(((
485 |hotelPriceId|string
486 nullable: true
487 |providerId|integer($int32)
488 |hotelName|string
489 nullable: true
490 |hotelCode|string
491 nullable: true
492 |nigths|integer($int32)
493 |mealPlan|string
494 nullable: true
495 |hotelClass|string
496 nullable: true
497 |availabilityType|RoomAvailabilityTypeEnumstringEnum:
498 [ OnRequest, FreeSale, StopSale ]
499 |availableRoomsCount|integer($int32)
500 |fewRooms|boolean
501 |roomCategoryCode|string
502 nullable: true
503 |roomCategoryName|string
504 nullable: true
505 |placementTypeName|string
506 nullable: true
507 |placementDescription|string
508 nullable: true
509 |checkInDate|string($date-time)
510 |checkOutDate|string($date-time)
511 |adults|integer($int32)
512 |children|integer($int32)
513 |districtUID|string($uuid)
514 nullable: true
515 |districtName|string
516 nullable: true
517 |cityUID|string($uuid)
518 nullable: true
519 |cityName|string
520 nullable: true
521 |countryCode|string
522 nullable: true
523 |countryName|string
524 nullable: true
525 |hasAlcohol|boolean
526 |hasFreeWifi|boolean
527 |hasMetro|boolean
528 |hasPool|boolean
529 |hasMall|boolean
530 |cancellationPolicyDescription|string
531 nullable: true
532 |cancellationPolicy|CancellationPolicyExchange{(((
533 |cancellationPolicyCode|string
534 nullable: true
535 |noShowChargeValue|number($double)
536 nullable: true
537 |noShowChargeValueType|string
538 nullable: true
539 |earlyDepartureChargeValue|number($double)
540 nullable: true
541 |earlyDepartureChargeValueType|string
542 nullable: true
543 |conditions|[
544 nullable: trueCancellationPolicyConditionExchange{(((
545 |timeunits|integer($int32)
546 |timeunitType|string
547 nullable: true
548 |timeOffsetTypeName|string
549 nullable: true
550 |chargeValue|number($double)
551 nullable: true
552 |chargeValueType|string
553 nullable: true
554
555 }]
556 )))
557
558 }
559 )))
560
561 }
562 )))
563 |flight|PackageFlight{(((
564 |id|string
565 nullable: true
566 |departureDate|string($date-time)
567 |returnDate|string($date-time)
568 nullable: true
569 |departureTicketsLeft|integer($int32)
570 |returnTicketsLeft|integer($int32)
571 |departureAvailabilityType|FlightAvailabilityTypestringEnum:
572 [ OnRequest, FreeSale, FewPlaces, StopSale ]
573 |returnAvailabilityType|FlightAvailabilityTypestringEnum:
574 [ OnRequest, FreeSale, FewPlaces, StopSale ]
575 |isTwoWay|boolean
576 |departureSegments|[
577 nullable: trueFlightSegment{(((
578 |airlineCode|string
579 nullable: true
580 |airlineName|string
581 nullable: true
582 |flightCode|string
583 nullable: true
584 |class|string
585 nullable: true
586 |lugageWeight|number($double)
587 |handLugageWeight|number($double)
588 |departureFlightDate|string($date-time)
589 |departureCountryName|string
590 nullable: true
591 |departureCityName|string
592 nullable: true
593 |departureAirportCode|string
594 nullable: true
595 |departureAirportName|string
596 nullable: true
597 |departureTerminalCode|string
598 nullable: true
599 |arrivalFlightDate|string($date-time)
600 |arrivalCountryName|string
601 nullable: true
602 |arrivalCityName|string
603 nullable: true
604 |arrivalAirportCode|string
605 nullable: true
606 |arrivalAirportName|string
607 nullable: true
608 |arrivalTerminalCode|string
609 nullable: true
610 |flightDuration|string
611 nullable: true
612 |baggages|[
613 nullable: trueBaggage{(((
614 |baggageCode|string
615 nullable: true
616 |description|string
617 nullable: true
618 |price|number($double)
619 |currency|string
620 nullable: true
621 |included|boolean
622
623 }]
624 )))
625
626 }]
627 )))
628 |returnSegments|[
629 nullable: trueFlightSegment{(((
630 |airlineCode|string
631 nullable: true
632 |airlineName|string
633 nullable: true
634 |flightCode|string
635 nullable: true
636 |class|string
637 nullable: true
638 |lugageWeight|number($double)
639 |handLugageWeight|number($double)
640 |departureFlightDate|string($date-time)
641 |departureCountryName|string
642 nullable: true
643 |departureCityName|string
644 nullable: true
645 |departureAirportCode|string
646 nullable: true
647 |departureAirportName|string
648 nullable: true
649 |departureTerminalCode|string
650 nullable: true
651 |arrivalFlightDate|string($date-time)
652 |arrivalCountryName|string
653 nullable: true
654 |arrivalCityName|string
655 nullable: true
656 |arrivalAirportCode|string
657 nullable: true
658 |arrivalAirportName|string
659 nullable: true
660 |arrivalTerminalCode|string
661 nullable: true
662 |flightDuration|string
663 nullable: true
664 |baggages|[
665 nullable: trueBaggage{(((
666 |baggageCode|string
667 nullable: true
668 |description|string
669 nullable: true
670 |price|number($double)
671 |currency|string
672 nullable: true
673 |included|boolean
674
675 }]
676 )))
677
678 }]
679 )))
680
681 }
682 )))
683 |extraServices|[
684 nullable: trueHotelExtraServiceBase{(((
685 |extraServiceCode|string
686 nullable: true
687 |extraServiceTypeCode|string
688 nullable: true
689 |isMandatory|integer($int32)
690 |extraServiceName|string
691 nullable: true
692 |minimalServiceAmount|number($double)
693 |includedPriceCode|string
694 nullable: true
695 |prices|[
696 nullable: trueHotelExtraServicePriceBase{(((
697 |extraServicePriceCode|string
698 nullable: true
699 |displayName|string
700 nullable: true
701 |restrictionInfo|string
702 nullable: true
703 |additionalInfo|string
704 nullable: true
705 |price|number($double)
706 |extraPrice|number($double)
707 |currency|string
708 nullable: true
709
710 }]
711 )))
712
713 }]
714 )))
715 |insurancePrice|InsurancePrice{(((
716 |name|string
717 nullable: true
718 |price|number($double)
719 |priceSurcarge|number($double)
720 |actualStartDate|string($date-time)
721 |actualEndDate|string($date-time)
722 |optional|boolean
723 |includedInPackagePrice|boolean
724
725 }
726 )))
727
728 }]
729 )))
730 |pagingId|string
731 nullable: true
732 |pageNumber|integer($int64)
733 |pageCount|integer($int64)
734
735 }
736 {{/success}}
737
738
739 == Definitions ==
740
741
742 === **Request Parameters ** ===
743
744 (% class="table-bordered" %)
745 |=Key|=Type|=Nullable|=Description
746 |departureCountryCode|String|No|The ISO 3166-1 alpha-2 code of the departure country. For example, "KZ" for Kazakhstan.
747 |departureCityUID|String (UUID)|No|The unique identifier of the departure city. This is a UUID, such as "f0ba6324-f337-405c-8cc7-23d62cf664e8".
748 |arrivalCountryCode|String|No|The ISO 3166-1 alpha-2 code of the arrival country. For example, "AE" for United Arab Emirates.
749 |adults|Integer|No|The number of adults for the trip. For example, 2 for two adults.
750 |children|Integer|No|The number of children for the trip. For example, 0 for no children.
751 |departureDate|String (date-time)|No|The departure date in ISO 8601 format. For example, "2024-05-25T00:00:00" for May 25, 2024.
752 |returnDate|String (date-time)|No|The return date in ISO 8601 format. For example, "2024-06-01T00:00:00" for June 1, 2024.
753 |departureAndReturnDaysCount|Integer|No|The total number of days for the departure and return trip. For example, 7 for a week-long trip.
754 |checkInDate|String (date-time)|No|The check-in date at the hotel in ISO 8601 format. For example, "2024-05-25T00:00:00" for May 25, 2024.
755 |checkOutDate|String (date-time)|No|The check-out date from the hotel in ISO 8601 format. For example, "2024-06-01T00:00:00" for June 1, 2024.
756 |checkInAndCheckOutDaysCount|Integer|No|The total number of days for the hotel stay. For example, 7 for a week-long stay.
757 |directFlightsOnly|Boolean|No|Whether to search for direct flights only. For example, true to only search for direct flights.
758 |pageRowCount|Integer|No|The number of results to return per page. For example, 1 to return 1 result per page.
759 |searchCurrency|String|No|The currency in which the search results should be displayed. For example, "USD" for United States Dollar.
760
761 === ===
762
763 === **Response Parameters** ===
764
765 (% class="table-bordered" %)
766 |=Key|=Type|=Description
767 |packages|Array|An array of travel packages. Each package includes various details about the package.
768 |packages[].id|String|A unique identifier for the package. This is used to uniquely identify each package.
769 |packages[].priceCurrency|String|The currency in which the price is denoted. This could be USD, EUR, etc.
770 |packages[].totalPrice|Number|The total price of the package. This includes all costs associated with the package.
771 |packages[].agentCommissionPercent|Number|The commission percentage for the agent. This is the percentage of the total price that the agent receives as commission.
772 |packages[].agentCommissionAmount|Number|The commission amount for the agent. This is the actual amount the agent receives as commission.
773 |packages[].includedExtrasAmount|Number|The amount for the included extras. This is the cost of any extra services included in the package.
774 |packages[].priceDifference|Number|The price difference. This could be a discount or a price increase.
775 |packages[].hotel|Object|An object containing details about the hotel included in the package. This includes information like the hotel name, class, availability, etc.
776 |packages[].hotel.hotelPriceId|String|The price ID of the hotel. This is used to uniquely identify the price for the hotel.
777 |packages[].hotel.hotelName|String|The name of the hotel. This is the actual name of the hotel.
778 |packages[].hotel.hotelCode|String|The code of the hotel. This is a unique code used to identify the hotel.
779 |packages[].hotel.nights|Number|The number of nights for the stay. This is the duration of the stay at the hotel.
780 |packages[].hotel.mealPlan|String|The meal plan for the stay. This could be breakfast included, all inclusive, etc.
781 |packages[].hotel.hotelClass|String|The class of the hotel. This could be 3-star, 4-star, 5-star, etc.
782 |packages[].hotel.hotelColor|String|The color associated with the hotel. This could be used for categorization or visualization purposes.
783 |packages[].hotel.availabilityType|String|The availability type of the hotel. This could be available, sold out, etc.
784 |packages[].hotel.availableRoomsCount|Number|The count of available rooms. This is the number of rooms that are currently available at the hotel.
785 |packages[].hotel.fewRooms|Boolean|A boolean indicating if there are few rooms left. If true, it means that there are only a few rooms left.
786 |packages[].hotel.roomCategoryCode|String|The code of the room category. This is a unique code used to identify the room category.
787 |packages[].hotel.roomCategoryName|String|The name of the room category. This is the actual name of the room category.
788 |packages[].hotel.placementTypeName|String|The name of the placement type. This could be sea view, garden view, etc.
789 |packages[].hotel.placementDescription|String|The description of the placement. This provides more details about the placement type.
790 |packages[].hotel.checkInDate|String|The check-in date. This is the date when the stay at the hotel begins.
791 |packages[].hotel.checkOutDate|String|The check-out date. This is the date when the stay at the hotel ends.
792 |packages[].hotel.adults|Number|The number of adults. This is the number of adults that will be staying at the hotel.
793 |packages[].hotel.children|Number|The number of children. This is the number of children that will be staying at the hotel.
794 |packages[].hotel.districtUID|String|The UID of the district. This is a unique identifier for the district where the hotel is located.
795 |packages[].hotel.districtName|String|The name of the district. This is the actual name of the district where the hotel is located.
796 |packages[].hotel.cityUID|String|The UID of the city. This is a unique identifier for the city where the hotel is located.
797 |packages[].hotel.cityName|String|The name of the city. This is the actual name of the city where the hotel is located.
798 |packages[].hotel.countryCode|String|The code of the country. This is a unique code used to identify the country where the hotel is located.
799 |packages[].hotel.countryName|String|The name of the country. This is the actual name of the country where the hotel is located.
800 |packages[].hotel.hasAlcohol|Boolean|A boolean indicating if alcohol is available. If true, it means that alcohol is available at the hotel.
801 |packages[].hotel.hasFreeWifi|Boolean|A boolean indicating if free Wi-Fi is available. If true, it means that free Wi-Fi is available at the hotel.
802 |packages[].hotel.hasMetro|Boolean|A boolean indicating if metro is available. If true, it means that there is a metro station near the hotel.
803 |packages[].hotel.hasPool|Boolean|A boolean indicating if a pool is available. If true, it means that the hotel has a pool.
804 |packages[].hotel.hasMall|Boolean|A boolean indicating if a mall is available. If true, it means that there is a mall near the hotel.
805 |packages[].hotel.infantMaxAge|Number|The maximum age for an infant. This is the maximum age at which a person is considered an infant.
806 |packages[].hotel.childMinAge|Number|The minimum age for a child. This is the minimum age at which a person is considered a child.
807 |packages[].hotel.childMaxAge|Number|The maximum age for a child. This is the maximum age at which a person is considered a child.
808 |packages[].hotel.teenMinAge|Number|The minimum age for a teen. This is the minimum age at which a person is considered a teen.
809 |packages[].hotel.teenMaxAge|Number|The maximum age for a teen. This is the maximum age at which a person is considered a teen.
810 |packages[].hotel.adultMinAge|Number|The minimum age for an adult. This is the minimum age at which a person is considered an adult.
811 |packages[].hotel.cancellationPolicyDescription|String|The description of the cancellation policy. This provides more details about the cancellation policy of the hotel.
812 |packages[].hotel.cancellationPolicy|Object|An object containing details about the cancellation policy. This includes information like the cancellation deadline, cancellation fee, etc.
813 |packages[].flight|Object|An object containing details about the flight included in the package. This includes information like the flight ID, departure date, return date, etc.
814 |packages[].flight.id|String|The ID of the flight. This is used to uniquely identify the flight.
815 |packages[].flight.departureDate|String|The departure date of the flight. This is the date when the flight departs.
816 |packages[].flight.returnDate|String|The return date of the flight. This is the date when the flight returns.
817 |packages[].flight.departureTicketsLeft|Number|The number of departure tickets left. This is the number of tickets that are still available for the departure flight.
818 |packages[].flight.returnTicketsLeft|Number|The number of return tickets left. This is the number of tickets that are still available for the return flight.
819 |packages[].flight.departureAvailabilityType|String|The availability type of the departure flight. This could be available, sold out, etc.
820 |packages[].flight.returnAvailabilityType|String|The availability type of the return flight. This could be available, sold out, etc.
821 |packages[].flight.isTwoWay|Boolean|A boolean indicating if the flight is two-way. If true, it means that the flight includes both departure and return.
822 |packages[].flight.sameBaggageForAll|Boolean|A boolean indicating if the same baggage is for all. If true, it means that the same baggage allowance applies to all passengers.
823 |packages[].flight.totalBaggage|Boolean|A boolean indicating if total baggage is included. If true, it means that the total baggage allowance is included in the price.
824 |packages[].flight.isBlock|Boolean|A boolean indicating if the flight is blocked. If true, it means that the flight is currently blocked and cannot be booked.
825 |packages[].flight.class|String|The class of the flight. This could be economy, business, first class, etc.
826 |packages[].flight.departureSegments|Array|An array containing details about the departure segments. Each segment includes information like the departure airport, arrival airport, departure time, arrival time, etc.
827 |packages[].flight.returnSegments|Array|An array containing details about the return segments. Each segment includes information like the departure airport, arrival airport, departure time, arrival time, etc.
828 |packages[].flight.passengers|Array|An array containing details about the passengers. Each passenger includes information like the passenger type, baggage allowance, etc.
829 |packages[].extraServices|Array|An array of any extra services included in the package. Each service includes information like the service name, service price, etc.
830 |packages[].insurancePrice|Object|An object containing details about the insurance price included in the package. This includes information like the insurance type, insurance price, etc.
831 |packages[].cacheKey|String|The cache key. This is used to cache the package details for faster retrieval.
832 |packages[].sortCheckInOut|String|The check-in and check-out dates for sorting. This is used to sort the packages based on the check-in and check-out dates.
833 |packages[].sortAirline|String|The airline for sorting. This is used to sort the packages based on the airline.
834 |packages[].sortHotelName|String|The hotel name for sorting. This is used to sort the packages based on the hotel name.
835 |packages[].sortDetails|String|The details for sorting. This is used to sort the packages based on various details.
836 |packages[].sortPlacement|String|The placement for sorting. This is used to sort the packages based on the placement.
837 |pagingId|String|An identifier for the page. This is used to uniquely identify each page of results.
838 |pageNumber|Number|The current page number. This is the number of the current page of results.
839 |pageCount|Number|The total number of pages. This is the total number of pages of results.
840 |totalCount|Number|The total count of packages. This is the total number of packages in all pages of results.
841 |error|Boolean|A boolean indicating whether there was an error. If true, it means that there was an error in retrieving the packages.
842
843 ==== ====
844
845 ==== first request ====
846
847 {{code language="Json"}}
848 {
849 "pagingId": "",
850 "pageNumber": 1,
851 "pageRowCount":10
852 }
853 {{/code}}
854
855 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.
856
857
858 ==== Request with caching ====
859
860 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": "",
861
862 {{code language="Json"}}
863 {
864 "pagingId": "80",
865 "pageNumber": 1,
866 "pageRowCount":10
867 }
868 {{/code}}
869
870
871 === search parameter options ===
872
873 in the request body it's available to filter search results with parameters. parameter examples:
874
875 {{code language="Json"}}
876 { "totalPriceFrom": 500,
877 "totalPriceTo": 10000,
878 "hotelTypes": [
879 "CityHotel",
880 "BeachHotel",
881 "SecondLineBeach"
882 ],
883 "hotelClasses": [
884 "1",
885 "2",
886 "3",
887 "4",
888 "5",
889 "6"
890 ],
891 "hotelServices": [
892 "HasAlcohol",
893 "HasFreeWifi",
894 "HasMetro",
895 "HasPool",
896 "HasMall"
897 ],
898 "mealPlans": [
899 "RO",
900 "BB",
901 "HB",
902 "FB",
903 "AL"
904 ]
905 }
906 {{/code}}
907
908
909
910 == Important ==
911
912 {{error}}
913 It's Important to in every other request header, put Auth token
914
915 **Key **- Authorization
916
917 **Value **- Bearer Token what is given in this response.
918
919
920 **also note in headers that:**
921
922 Content-Type - application/json
923
924 **Key - **X-nugios-timezone
925
926 **Value **- 240
927 {{/error}}