Changes for page 1. SearchTourPackages

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

From version 21.1
edited by Giorgi Mdivnishvili
on 2024/01/10 17:51
Change comment: There is no comment for this version
To version 12.1
edited by Giorgi Mdivnishvili
on 2023/12/15 16:13
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -1. SearchTourPackages
1 +SearchTourPackages
Content
... ... @@ -6,15 +6,13 @@
6 6  
7 7  = Method Description =
8 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.
9 +The initial method of the integration process is authorization. You will be provided with a test user username and password to generate the access token that you will need to pass in all the following methods.
10 10  
11 -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 12  
13 -
14 14  == Endpoint URL - [POST] ==
15 15  
16 16  {{info}}
17 -[[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]]
15 +[[https:~~/~~/online-api.kazunion.com/api/TourPackages/SearchTourPackages>>https://online-api.kazunion.com/api/TourPackages/SearchTourPackages]]
18 18  {{/info}}
19 19  
20 20  == Request Parameters ==
... ... @@ -42,13 +42,13 @@
42 42   "tag": "string"
43 43   }
44 44   ],
45 - "checkInDate": "2023-12-14",
46 - "checkInDateTo": "2023-12-14",
47 - "checkOutDate": "2023-12-14",
43 + "checkInDate": "2023-12-14T13:43:54.766Z",
44 + "checkInDateTo": "2023-12-14T13:43:54.766Z",
45 + "checkOutDate": "2023-12-14T13:43:54.766Z",
48 48   "stayDays": 0,
49 49   "stayDaysTo": 0,
50 - "departureDate": "2023-12-14",
51 - "returnDate": "2023-12-14",
48 + "departureDate": "2023-12-14T13:43:54.766Z",
49 + "returnDate": "2023-12-14T13:43:54.766Z",
52 52   "airlineCode": "string",
53 53   "ticketType": "string",
54 54   "directFlightsOnly": true,
... ... @@ -87,65 +87,6 @@
87 87  {{/code}}
88 88  
89 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 149  == Response Body ==
150 150  
151 151  {{code language="json"}}
... ... @@ -325,156 +325,10 @@
325 325  {{/code}}
326 326  
327 327  
328 -== Response example ==
267 +=== example ===
329 329  
330 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 -}
270 +X
478 478  {{/code}}
479 479  
480 480  
... ... @@ -757,93 +757,4 @@
757 757  }
758 758  {{/success}}
759 759  
760 -
761 -== Definitions ==
762 -
763 -
764 -=== Paging and Caching ===
765 -
766 -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:
767 -
768 -
769 -==== first request ====
770 -
771 -{{code language="Json"}}
772 - {
773 - "pagingId": "",
774 - "pageNumber": 1,
775 - "pageRowCount":10
776 - }
777 -{{/code}}
778 -
779 -
780 -==== Request with caching ====
781 -
782 -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
783 -
784 -{{code language="Json"}}
785 - {
786 - "pagingId": "80",
787 - "pageNumber": 1,
788 - "pageRowCount":10
789 - }
790 -{{/code}}
791 -
792 -
793 -=== search parameter options ===
794 -
795 -in the request body it's available to filter search results with parameters. parameter examples:
796 -
797 -{{code language="Json"}}
798 - { "totalPriceFrom": 500,
799 - "totalPriceTo": 10000,
800 - "hotelTypes": [
801 - "CityHotel",
802 - "BeachHotel",
803 - "SecondLineBeach"
804 - ],
805 - "hotelClasses": [
806 - "1",
807 - "2",
808 - "3",
809 - "4",
810 - "5",
811 - "6"
812 - ],
813 - "hotelServices": [
814 - "HasAlcohol",
815 - "HasFreeWifi",
816 - "HasMetro",
817 - "HasPool",
818 - "HasMall"
819 - ],
820 - "mealPlans": [
821 - "RO",
822 - "BB",
823 - "HB",
824 - "FB",
825 - "AL"
826 - ]
827 -}
828 -{{/code}}
829 -
830 -
831 -
832 -== Important ==
833 -
834 -{{error}}
835 -It's Important to in every other request header, put Auth token
836 -
837 -**Key **- Authorization
838 -
839 -**Value **- Bearer Token what is given in this response.
840 -
841 -
842 -**also note in headers that:**
843 -
844 -Content-Type - application/json
845 -
846 -**Key - **X-nugios-timezone
847 -
848 -**Value **- 240
849 -{{/error}}
553 +