Changes for page 1. SearchTourPackages
Last modified by Giorgi Mdivnishvili on 2025/02/12 15:25
From version 14.1
edited by Giorgi Mdivnishvili
on 2023/12/26 14:25
on 2023/12/26 14:25
Change comment:
There is no comment for this version
To version 22.1
edited by Giorgi Mdivnishvili
on 2024/04/10 10:48
on 2024/04/10 10:48
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -6,13 +6,15 @@ 6 6 7 7 = Method Description = 8 8 9 -T he initial method of the integrationprocessisauthorization.Youwill be providedwithatestuser username andpasswordtonerate the accesstokenthatyouwillneed topassinallthefollowingmethods.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 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. 11 11 13 + 12 12 == Endpoint URL - [POST] == 13 13 14 14 {{info}} 15 -[[https:~~/~~/ online-api.kazunion.com/api/TourPackages/SearchTourPackages>>https://online-api.kazunion.com/api/TourPackages/SearchTourPackages]]17 +[[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]] 16 16 {{/info}} 17 17 18 18 == Request Parameters == ... ... @@ -40,13 +40,13 @@ 40 40 "tag": "string" 41 41 } 42 42 ], 43 - "checkInDate": "2023-12-14 T13:43:54.766Z",44 - "checkInDateTo": "2023-12-14 T13:43:54.766Z",45 - "checkOutDate": "2023-12-14 T13:43:54.766Z",45 + "checkInDate": "2023-12-14", 46 + "checkInDateTo": "2023-12-14", 47 + "checkOutDate": "2023-12-14", 46 46 "stayDays": 0, 47 47 "stayDaysTo": 0, 48 - "departureDate": "2023-12-14 T13:43:54.766Z",49 - "returnDate": "2023-12-14 T13:43:54.766Z",50 + "departureDate": "2023-12-14", 51 + "returnDate": "2023-12-14", 50 50 "airlineCode": "string", 51 51 "ticketType": "string", 52 52 "directFlightsOnly": true, ... ... @@ -755,3 +755,128 @@ 755 755 } 756 756 {{/success}} 757 757 760 + 761 +== Definitions == 762 + 763 + 764 +(% class="table-bordered" %) 765 +|=Field|=Type|=Description 766 +|departureCountryCode|string|The ISO 3166-1 alpha-2 country code for the departure country. For example, "KZ" for Kazakhstan. 767 +|departureCityUID|string|The unique identifier for the departure city. 768 +|arrivalCountryCode|string|The ISO 3166-1 alpha-2 country code for the arrival country. For example, "AE" for United Arab Emirates. 769 +|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. 770 +|checkInDate|string|The check-in date in ISO 8601 format. 771 +|checkInDateTo|string|The latest possible check-in date in ISO 8601 format. 772 +|stayDays|integer|The minimum number of days to stay. 773 +|stayDaysTo|integer|The maximum number of days to stay. 774 +|airlineCode|string|The code of the airline. This field can be empty. 775 +|ticketType|string|The type of the ticket. This field can be empty. 776 +|directFlightsOnly|boolean|Indicates whether to search for direct flights only. 777 +|longConnectTime|boolean|Indicates whether to include flights with long connection times. 778 +|adults|integer|The number of adults. 779 +|children|integer|The number of children. 780 +|childrenAges|array|An array of integers, each representing the age of a child. 781 +|extendedSearch|boolean|Indicates whether to perform an extended search. 782 +|totalPriceFrom|float|The minimum total price. 783 +|totalPriceTo|float|The maximum total price. 784 +|recommended|boolean|Indicates whether to include recommended packages. 785 +|popular|boolean|Indicates whether to include popular packages. 786 +|freeSale|boolean|Indicates whether to include free sale packages. 787 +|groupByHotel|boolean|Indicates whether to group the results by hotel. 788 +|hotelCodes|array|An array of strings, each representing a hotel code. This field can be empty. 789 +|mealPlans|array|An array of meal plans. This field can be empty. 790 +|hotelClasses|array|An array of hotel classes. This field can be empty. 791 +|hotelTypes|array|An array of hotel types. This field can be empty. 792 +|hotelServices|array|An array of hotel services. This field can be empty. 793 +|pagingId|string|The paging ID for paginated results. This field can be empty. 794 +|pageNumber|integer|The page number for paginated results. 795 +|pageRowCount|integer|The number of rows per page for paginated results. 796 + 797 +=== === 798 + 799 +=== Paging and Caching === 800 + 801 +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: 802 + 803 + 804 +==== first request ==== 805 + 806 +{{code language="Json"}} 807 + { 808 + "pagingId": "", 809 + "pageNumber": 1, 810 + "pageRowCount":10 811 + } 812 +{{/code}} 813 + 814 + 815 +==== Request with caching ==== 816 + 817 +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 818 + 819 +{{code language="Json"}} 820 + { 821 + "pagingId": "80", 822 + "pageNumber": 1, 823 + "pageRowCount":10 824 + } 825 +{{/code}} 826 + 827 + 828 +=== search parameter options === 829 + 830 +in the request body it's available to filter search results with parameters. parameter examples: 831 + 832 +{{code language="Json"}} 833 + { "totalPriceFrom": 500, 834 + "totalPriceTo": 10000, 835 + "hotelTypes": [ 836 + "CityHotel", 837 + "BeachHotel", 838 + "SecondLineBeach" 839 + ], 840 + "hotelClasses": [ 841 + "1", 842 + "2", 843 + "3", 844 + "4", 845 + "5", 846 + "6" 847 + ], 848 + "hotelServices": [ 849 + "HasAlcohol", 850 + "HasFreeWifi", 851 + "HasMetro", 852 + "HasPool", 853 + "HasMall" 854 + ], 855 + "mealPlans": [ 856 + "RO", 857 + "BB", 858 + "HB", 859 + "FB", 860 + "AL" 861 + ] 862 +} 863 +{{/code}} 864 + 865 + 866 + 867 +== Important == 868 + 869 +{{error}} 870 +It's Important to in every other request header, put Auth token 871 + 872 +**Key **- Authorization 873 + 874 +**Value **- Bearer Token what is given in this response. 875 + 876 + 877 +**also note in headers that:** 878 + 879 +Content-Type - application/json 880 + 881 +**Key - **X-nugios-timezone 882 + 883 +**Value **- 240 884 +{{/error}}