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
Change comment: There is no comment for this version
To version 36.1
edited by Giorgi Mdivnishvili
on 2024/04/11 17:14
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -760,13 +760,114 @@
760 760  
761 761  == Definitions ==
762 762  
763 +**Request Parameters **
763 763  
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 +(% class="wikigeneratedid" %)
799 +**Response Parameters**
800 +
801 +(% class="table-bordered" %)
802 +|=Field|=Type|=Description
803 +|packages|array|An array of packages available. Each package contains:
804 +|cacheKey|string|A unique identifier for the cache.
805 +|id|string|A unique identifier for the package.
806 +|priceCurrency|string|The currency in which the price is displayed.
807 +|totalPrice|float|The total price of the package.
808 +|agentCommissionPercent|float|The commission percentage for the agent.
809 +|agentCommissionAmount|float|The commission amount for the agent.
810 +|includedExtrasAmount|integer|The amount of extras included in the package.
811 +|priceDifference|integer|The difference in price from the original price.
812 +|hotel|object|An object containing details about the hotel.
813 +|hotelPriceId|string|A unique identifier for the hotel price.
814 +|providerId|integer|A unique identifier for the provider.
815 +|hotelName|string|The name of the hotel.
816 +|hotelCode|string|A unique code for the hotel.
817 +|nigths|integer|The number of nights for the stay.
818 +|mealPlan|string|The meal plan for the stay.
819 +|hotelClass|string|The class or rating of the hotel.
820 +|availabilityType|string|The availability type of the hotel.
821 +|availableRoomsCount|integer|The number of available rooms in the hotel.
822 +|fewRooms|boolean|Indicates whether there are few rooms left.
823 +|roomCategoryCode|string|A unique code for the room category.
824 +|roomCategoryName|string|The name of the room category.
825 +|placementTypeName|string|The name of the placement type.
826 +|checkInDate|string|The check-in date in ISO 8601 format.
827 +|checkOutDate|string|The check-out date in ISO 8601 format.
828 +|adults|integer|The number of adults for the stay.
829 +|children|integer|The number of children for the stay.
830 +|districtUID|string|A unique identifier for the district.
831 +|districtName|string|The name of the district.
832 +|cityUID|string|A unique identifier for the city.
833 +|cityName|string|The name of the city.
834 +|countryCode|string|The ISO 3166-1 alpha-2 country code.
835 +|countryName|string|The name of the country.
836 +|hasAlcohol|boolean|Indicates whether the hotel serves alcohol.
837 +|hasFreeWifi|boolean|Indicates whether the hotel offers free Wi-Fi.
838 +|hasMetro|boolean|Indicates whether the hotel is near a metro station.
839 +|hasPool|boolean|Indicates whether the hotel has a pool.
840 +|hasMall|boolean|Indicates whether the hotel is near a shopping mall.
841 +|cancellationPolicyDescription|string|The description of the cancellation policy.
842 +|cancellationPolicy|object|An object containing details about the cancellation policy.
843 +|flight|object|An object containing details about the flight.
844 +|id|string|A unique identifier for the flight.
845 +|departureDate|string|The departure date in ISO 8601 format.
846 +|returnDate|string|The return date in ISO 8601 format.
847 +|departureTicketsLeft|integer|The number of departure tickets left.
848 +|returnTicketsLeft|integer|The number of return tickets left.
849 +|departureAvailabilityType|string|The availability type of the departure flight.
850 +|returnAvailabilityType|string|The availability type of the return flight.
851 +|isTwoWay|boolean|Indicates whether the flight is two-way.
852 +|sameBaggageForAll|boolean|Indicates whether the same baggage is applicable for all passengers.
853 +|totalBaggage|boolean|Indicates whether total baggage is included.
854 +|departureSegments|array|An array of objects, each representing a departure segment.
855 +|returnSegments|array|An array of objects, each representing a return segment.
856 +|passengers|array|An array of objects, each representing a passenger.
857 +|extraServices|array|An array of extra services included in the package.
858 +|insurancePrice|object|An object containing details about the insurance price.
859 +|pagingId|string|The paging ID for paginated results.
860 +|pageNumber|integer|The page number for paginated results.
861 +|pageCount|integer|The total number of pages.
862 +|totalCount|integer|The total count of packages.
863 +|error|boolean|Indicates whether there was an error.
864 +
764 764  === Paging and Caching ===
765 765  
766 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 767  
768 768  
769 -==== first request ====
870 +==== First request ====
770 770  
771 771  {{code language="Json"}}
772 772   {
... ... @@ -776,10 +776,12 @@
776 776   }
777 777  {{/code}}
778 778  
880 +While making first search request, paging id should be empty,  "pageNumber":  and  "pageRowCount":10 means that, in response there will be returned maximum 10 packages per page.
779 779  
882 +
780 780  ==== Request with caching ====
781 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
885 +after receiving response from first search request, in the end we can see pagingId- number, wchich we can use for caching, and (pageinatoin) for switch pagenumbers, and displaying results as we whant. For cleaning cache, it's important to make new request without cllear pagingID, like this  "pagingId": "",
783 783  
784 784  {{code language="Json"}}
785 785   {
... ... @@ -790,7 +790,7 @@
790 790  {{/code}}
791 791  
792 792  
793 -=== search parameter options ===
896 +=== Search parameter options ===
794 794  
795 795  in the request body it's available to filter search results with parameters. parameter examples:
796 796  
... ... @@ -832,18 +832,18 @@
832 832  == Important ==
833 833  
834 834  {{error}}
835 -It's Important to in every other request header, put Auth token
938 +=== Implementing Authorization in Subsequent Requests ===
836 836  
837 -**Key **- Authorization
940 +For every API request after the initial authentication, it's crucial to include the authorization token in the request header. This ensures your requests are authorized and can access the necessary resources. Here's how to properly include your token:
838 838  
839 -**Value **- Bearer Token what is given in this response.
942 +* **Header Key:** Authorization
943 +* **Header Value:** Bearer [Your Token Here] - Use the bearer token provided in the initial authentication response. The authorization type should be specified as Bearer Token.
840 840  
945 +Additionally, to ensure your requests are properly formatted and recognized, include the following headers:
841 841  
842 -**also note in headers that:**
947 +* **Content-Type:** Specify this header as application/json to indicate the format of the request body.
948 +* **Header Key:** X-nugios-timezone
949 +* **Header Value:** 240 - Adjust this value to match your local timezone offset in minutes.
843 843  
844 -Content-Type - application/json
845 -
846 -**Key - **X-nugios-timezone
847 -
848 -**Value **- 240
951 +Incorporating these headers with their respective values is essential for the successful processing of your API requests.
849 849  {{/error}}