Changes for page 1. SearchTourPackages

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

From version 24.1
edited by Giorgi Mdivnishvili
on 2024/04/10 10:56
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,198 +757,4 @@
757 757  }
758 758  {{/success}}
759 759  
760 -
761 -== Definitions ==
762 -
763 -Request Parameters
764 -
765 -(% class="table-bordered" %)
766 -|=Field|=Type|=Description
767 -|departureCountryCode|string|The ISO 3166-1 alpha-2 country code for the departure country. For example, "KZ" for Kazakhstan.
768 -|departureCityUID|string|The unique identifier for the departure city.
769 -|arrivalCountryCode|string|The ISO 3166-1 alpha-2 country code for the arrival country. For example, "AE" for United Arab Emirates.
770 -|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.
771 -|checkInDate|string|The check-in date in ISO 8601 format.
772 -|checkInDateTo|string|The latest possible check-in date in ISO 8601 format.
773 -|stayDays|integer|The minimum number of days to stay.
774 -|stayDaysTo|integer|The maximum number of days to stay.
775 -|airlineCode|string|The code of the airline. This field can be empty.
776 -|ticketType|string|The type of the ticket. This field can be empty.
777 -|directFlightsOnly|boolean|Indicates whether to search for direct flights only.
778 -|longConnectTime|boolean|Indicates whether to include flights with long connection times.
779 -|adults|integer|The number of adults.
780 -|children|integer|The number of children.
781 -|childrenAges|array|An array of integers, each representing the age of a child.
782 -|extendedSearch|boolean|Indicates whether to perform an extended search.
783 -|totalPriceFrom|float|The minimum total price.
784 -|totalPriceTo|float|The maximum total price.
785 -|recommended|boolean|Indicates whether to include recommended packages.
786 -|popular|boolean|Indicates whether to include popular packages.
787 -|freeSale|boolean|Indicates whether to include free sale packages.
788 -|groupByHotel|boolean|Indicates whether to group the results by hotel.
789 -|hotelCodes|array|An array of strings, each representing a hotel code. This field can be empty.
790 -|mealPlans|array|An array of meal plans. This field can be empty.
791 -|hotelClasses|array|An array of hotel classes. This field can be empty.
792 -|hotelTypes|array|An array of hotel types. This field can be empty.
793 -|hotelServices|array|An array of hotel services. This field can be empty.
794 -|pagingId|string|The paging ID for paginated results. This field can be empty.
795 -|pageNumber|integer|The page number for paginated results.
796 -|pageRowCount|integer|The number of rows per page for paginated results.
797 -
798 -
799 -(% class="wikigeneratedid" %)
800 -Response Parameters
801 -
802 -
803 -
804 -
805 -(% class="table-bordered" %)
806 -|=Field|=Type|=Description
807 -|packages|array|An array of packages available. Each package contains:
808 -|cacheKey|string|A unique identifier for the cache.
809 -|id|string|A unique identifier for the package.
810 -|priceCurrency|string|The currency in which the price is displayed.
811 -|totalPrice|float|The total price of the package.
812 -|agentCommissionPercent|float|The commission percentage for the agent.
813 -|agentCommissionAmount|float|The commission amount for the agent.
814 -|includedExtrasAmount|integer|The amount of extras included in the package.
815 -|priceDifference|integer|The difference in price from the original price.
816 -|hotel|object|An object containing details about the hotel.
817 -|hotelPriceId|string|A unique identifier for the hotel price.
818 -|providerId|integer|A unique identifier for the provider.
819 -|hotelName|string|The name of the hotel.
820 -|hotelCode|string|A unique code for the hotel.
821 -|nigths|integer|The number of nights for the stay.
822 -|mealPlan|string|The meal plan for the stay.
823 -|hotelClass|string|The class or rating of the hotel.
824 -|availabilityType|string|The availability type of the hotel.
825 -|availableRoomsCount|integer|The number of available rooms in the hotel.
826 -|fewRooms|boolean|Indicates whether there are few rooms left.
827 -|roomCategoryCode|string|A unique code for the room category.
828 -|roomCategoryName|string|The name of the room category.
829 -|placementTypeName|string|The name of the placement type.
830 -|checkInDate|string|The check-in date in ISO 8601 format.
831 -|checkOutDate|string|The check-out date in ISO 8601 format.
832 -|adults|integer|The number of adults for the stay.
833 -|children|integer|The number of children for the stay.
834 -|districtUID|string|A unique identifier for the district.
835 -|districtName|string|The name of the district.
836 -|cityUID|string|A unique identifier for the city.
837 -|cityName|string|The name of the city.
838 -|countryCode|string|The ISO 3166-1 alpha-2 country code.
839 -|countryName|string|The name of the country.
840 -|hasAlcohol|boolean|Indicates whether the hotel serves alcohol.
841 -|hasFreeWifi|boolean|Indicates whether the hotel offers free Wi-Fi.
842 -|hasMetro|boolean|Indicates whether the hotel is near a metro station.
843 -|hasPool|boolean|Indicates whether the hotel has a pool.
844 -|hasMall|boolean|Indicates whether the hotel is near a shopping mall.
845 -|cancellationPolicyDescription|string|The description of the cancellation policy.
846 -|cancellationPolicy|object|An object containing details about the cancellation policy.
847 -|flight|object|An object containing details about the flight.
848 -|id|string|A unique identifier for the flight.
849 -|departureDate|string|The departure date in ISO 8601 format.
850 -|returnDate|string|The return date in ISO 8601 format.
851 -|departureTicketsLeft|integer|The number of departure tickets left.
852 -|returnTicketsLeft|integer|The number of return tickets left.
853 -|departureAvailabilityType|string|The availability type of the departure flight.
854 -|returnAvailabilityType|string|The availability type of the return flight.
855 -|isTwoWay|boolean|Indicates whether the flight is two-way.
856 -|sameBaggageForAll|boolean|Indicates whether the same baggage is applicable for all passengers.
857 -|totalBaggage|boolean|Indicates whether total baggage is included.
858 -|departureSegments|array|An array of objects, each representing a departure segment.
859 -|returnSegments|array|An array of objects, each representing a return segment.
860 -|passengers|array|An array of objects, each representing a passenger.
861 -|extraServices|array|An array of extra services included in the package.
862 -|insurancePrice|object|An object containing details about the insurance price.
863 -|pagingId|string|The paging ID for paginated results.
864 -|pageNumber|integer|The page number for paginated results.
865 -|pageCount|integer|The total number of pages.
866 -|totalCount|integer|The total count of packages.
867 -|error|boolean|Indicates whether there was an error.
868 -
869 -=== Paging and Caching ===
870 -
871 -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:
872 -
873 -
874 -==== first request ====
875 -
876 -{{code language="Json"}}
877 - {
878 - "pagingId": "",
879 - "pageNumber": 1,
880 - "pageRowCount":10
881 - }
882 -{{/code}}
883 -
884 -
885 -==== Request with caching ====
886 -
887 -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
888 -
889 -{{code language="Json"}}
890 - {
891 - "pagingId": "80",
892 - "pageNumber": 1,
893 - "pageRowCount":10
894 - }
895 -{{/code}}
896 -
897 -
898 -=== search parameter options ===
899 -
900 -in the request body it's available to filter search results with parameters. parameter examples:
901 -
902 -{{code language="Json"}}
903 - { "totalPriceFrom": 500,
904 - "totalPriceTo": 10000,
905 - "hotelTypes": [
906 - "CityHotel",
907 - "BeachHotel",
908 - "SecondLineBeach"
909 - ],
910 - "hotelClasses": [
911 - "1",
912 - "2",
913 - "3",
914 - "4",
915 - "5",
916 - "6"
917 - ],
918 - "hotelServices": [
919 - "HasAlcohol",
920 - "HasFreeWifi",
921 - "HasMetro",
922 - "HasPool",
923 - "HasMall"
924 - ],
925 - "mealPlans": [
926 - "RO",
927 - "BB",
928 - "HB",
929 - "FB",
930 - "AL"
931 - ]
932 -}
933 -{{/code}}
934 -
935 -
936 -
937 -== Important ==
938 -
939 -{{error}}
940 -It's Important to in every other request header, put Auth token
941 -
942 -**Key **- Authorization
943 -
944 -**Value **- Bearer Token what is given in this response.
945 -
946 -
947 -**also note in headers that:**
948 -
949 -Content-Type - application/json
950 -
951 -**Key - **X-nugios-timezone
952 -
953 -**Value **- 240
954 -{{/error}}
553 +