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
Change comment: There is no comment for this version
To version 23.1
edited by Giorgi Mdivnishvili
on 2024/04/10 10:50
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -6,13 +6,15 @@
6 6  
7 7  = Method Description =
8 8  
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.
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-14T13:43:54.766Z",
44 - "checkInDateTo": "2023-12-14T13:43:54.766Z",
45 - "checkOutDate": "2023-12-14T13: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-14T13:43:54.766Z",
49 - "returnDate": "2023-12-14T13: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,132 @@
755 755  }
756 756  {{/success}}
757 757  
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 +Request Parameters
801 +
802 +
803 +=== Paging and Caching ===
804 +
805 +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:
806 +
807 +
808 +==== first request ====
809 +
810 +{{code language="Json"}}
811 + {
812 + "pagingId": "",
813 + "pageNumber": 1,
814 + "pageRowCount":10
815 + }
816 +{{/code}}
817 +
818 +
819 +==== Request with caching ====
820 +
821 +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
822 +
823 +{{code language="Json"}}
824 + {
825 + "pagingId": "80",
826 + "pageNumber": 1,
827 + "pageRowCount":10
828 + }
829 +{{/code}}
830 +
831 +
832 +=== search parameter options ===
833 +
834 +in the request body it's available to filter search results with parameters. parameter examples:
835 +
836 +{{code language="Json"}}
837 + { "totalPriceFrom": 500,
838 + "totalPriceTo": 10000,
839 + "hotelTypes": [
840 + "CityHotel",
841 + "BeachHotel",
842 + "SecondLineBeach"
843 + ],
844 + "hotelClasses": [
845 + "1",
846 + "2",
847 + "3",
848 + "4",
849 + "5",
850 + "6"
851 + ],
852 + "hotelServices": [
853 + "HasAlcohol",
854 + "HasFreeWifi",
855 + "HasMetro",
856 + "HasPool",
857 + "HasMall"
858 + ],
859 + "mealPlans": [
860 + "RO",
861 + "BB",
862 + "HB",
863 + "FB",
864 + "AL"
865 + ]
866 +}
867 +{{/code}}
868 +
869 +
870 +
871 +== Important ==
872 +
873 +{{error}}
874 +It's Important to in every other request header, put Auth token
875 +
876 +**Key **- Authorization
877 +
878 +**Value **- Bearer Token what is given in this response.
879 +
880 +
881 +**also note in headers that:**
882 +
883 +Content-Type - application/json
884 +
885 +**Key - **X-nugios-timezone
886 +
887 +**Value **- 240
888 +{{/error}}