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
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
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,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 +