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
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
on 2023/12/15 16:13
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - 1.SearchTourPackages1 +SearchTourPackages - Content
-
... ... @@ -6,15 +6,13 @@ 6 6 7 7 = Method Description = 8 8 9 -To ur packagemean,tour withhotelandflighttogether.Usingthismethod givesdataaboutfullpackage availabilitywith flightand 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:~~/~~/in tegration.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 +