Changes for page 1. SearchTourPackages

Last modified by Giorgi Mdivnishvili on 2025/02/12 15:25

From version 28.1
edited by Giorgi Mdivnishvili
on 2024/04/11 11:35
Change comment: There is no comment for this version
To version 38.5
edited by Giorgi Mdivnishvili
on 2024/04/16 09:14
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -6,11 +6,32 @@
6 6  
7 7  = Method Description =
8 8  
9 -Tour package mean, tour with hotel and flight together. Using this method gives data about full package availability with flight and hotel options.
9 +Tour package mean, tour with hotel and flight  together In case of variation also with transfer option. Using this method gives data about full package availability with flight and hotel options.
10 10  
11 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 13  
14 +in more  details:
15 +
16 +A tour package encapsulates a bundled offering that includes both hotel accommodations and flight arrangements. In certain variations, it may also incorporate transfer options, providing a comprehensive travel solution. The method detailed herein facilitates the retrieval of data concerning the complete availability of such tour packages, including pertinent flight and hotel options.
17 +
18 +**Data Retrieval Parameters:**
19 +
20 +* **Parameter Usage**: To query package data, the system utilizes the following parameters within the request payload:
21 +** stayDays: Defines the minimum duration of stay (in days) as part of the tour package. The value is set to 0 by default, indicating no minimum duration constraint.
22 +** stayDaysTo: Specifies the maximum duration of stay (in days) allowable within the package offerings. A default value of 0 implies no maximum limit; however, the system enforces a maximum duration difference of 7 days between stayDays and stayDaysTo.
23 +
24 +**Constraints:**
25 +
26 +* The system imposes a constraint wherein the difference between stayDays and stayDaysTo cannot exceed 7 days. This limit is designed to refine search results and maintain query performance.
27 +
28 +**Example Requests:** Below are examples illustrating how to structure requests for retrieving tour package data, utilizing the stayDays and stayDaysTo parameters to define the desired range of stay durations.
29 +
30 +(Note: Actual example requests are not included in this response but should typically be provided here, showcasing the structure and format of API calls or query parameters used to fetch the tour package data.)
31 +
32 +This documentation aims to guide developers in effectively querying for tour package options, employing specified parameters to tailor the search according to the duration of stay requirements.
33 +
34 +
14 14  == Endpoint URL - [POST] ==
15 15  
16 16  {{info}}
... ... @@ -760,7 +760,6 @@
760 760  
761 761  == Definitions ==
762 762  
763 -
764 764  **Request Parameters **
765 765  
766 766  (% class="table-bordered" %)
... ... @@ -796,7 +796,6 @@
796 796  |pageNumber|integer|The page number for paginated results.
797 797  |pageRowCount|integer|The number of rows per page for paginated results.
798 798  
799 -
800 800  (% class="wikigeneratedid" %)
801 801  **Response Parameters**
802 802  
... ... @@ -864,14 +864,12 @@
864 864  |totalCount|integer|The total count of packages.
865 865  |error|boolean|Indicates whether there was an error.
866 866  
867 -=== ===
868 -
869 869  === Paging and Caching ===
870 870  
871 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 872  
873 873  
874 -==== first request ====
891 +==== First request ====
875 875  
876 876  {{code language="Json"}}
877 877   {
... ... @@ -897,8 +897,59 @@
897 897  {{/code}}
898 898  
899 899  
900 -=== search parameter options ===
917 +**Overview:** The Paging and Caching mechanism is designed to efficiently manage data retrieval in a paginated format. This mechanism is essential for handling large datasets by dividing the data into manageable pages, thereby optimizing the performance and scalability of data retrieval operations.
901 901  
919 +**Initial Request:**
920 +
921 +* **Purpose**: The first request initiates the paging process and is designed to fetch the initial set of data without utilizing a pagingId.
922 +* **Parameters**:
923 +** pagingId: Should be set to an empty string ("") to indicate that this is the initial request.
924 +** pageNumber: Indicates the specific page of data to retrieve, starting with 1.
925 +** pageRowCount: Specifies the number of results to be included on each page.
926 +
927 +**Example - First Request**:
928 +
929 +{{{{
930 + "pagingId": "",
931 +  "pageNumber": 1,
932 +  "pageRowCount": 10
933 +}
934 +}}}
935 +
936 +
937 +**Subsequent Requests with Caching:**
938 +
939 +* **Purpose**: Following the initial data retrieval, subsequent requests utilize the pagingId obtained from the previous response. This pagingId serves as a cache identifier, enabling the system to quickly access the relevant dataset and efficiently paginate through the data.
940 +* **Cache Utilization**:
941 +** Upon receiving a response, a pagingId value is provided. This pagingId should be used in subsequent requests to reference the cached data.
942 +** To navigate through the dataset, adjust the pageNumber while keeping the pagingId constant.
943 +** To refresh the dataset and clear the cache, initiate a new request without a pagingId.
944 +
945 +**Example - Request with Caching**:
946 +
947 +{{{ {
948 + "pagingId": "80",
949 + "pageNumber": 2, // Adjusted to fetch the next page
950 + "pageRowCount": 10
951 + }
952 +}}}
953 +
954 +
955 +**Cache Management:**
956 +
957 +* Clearing the cache and fetching a fresh set of data requires sending a new request with the pagingId parameter omitted or set to an empty string. This action resets the pagination and caching context.
958 +
959 +**Implementation Notes**:
960 +
961 +* The paging and caching mechanism significantly enhances data retrieval efficiency by minimizing server load and optimizing response times.
962 +* Developers should ensure that the pagingId is correctly managed between requests to maintain session continuity and data consistency.
963 +
964 +This documentation outlines the procedural framework for implementing a robust paging and caching strategy within data retrieval systems, detailing parameter usage and operational best practices for both initial and subsequent data fetch operations.
965 +
966 +
967 +
968 +=== Search parameter options ===
969 +
902 902  in the request body it's available to filter search results with parameters. parameter examples:
903 903  
904 904  {{code language="Json"}}
... ... @@ -939,18 +939,29 @@
939 939  == Important ==
940 940  
941 941  {{error}}
942 -It's Important to in every other request header, put Auth token
1010 +=== Implementing Authorization in Subsequent Requests ===
943 943  
944 -**Key **- Authorization
1012 +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:
945 945  
946 -**Value **- Bearer Token what is given in this response.
1014 +* **Header Key:** Authorization
1015 +* **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.
947 947  
1017 +Additionally, to ensure your requests are properly formatted and recognized, include the following headers:
948 948  
949 -**also note in headers that:**
1019 +* **Content-Type:** Specify this header as application/json to indicate the format of the request body.
1020 +* **Header Key:** X-nugios-timezone
1021 +* **Header Value:** 240 - Adjust this value to match your local timezone offset in minutes.
950 950  
951 -Content-Type - application/json
1023 +Incorporating these headers with their respective values is essential for the successful processing of your API requests.
1024 +{{/error}}
952 952  
953 -**Key - **X-nugios-timezone
954 954  
955 -**Value **- 240
956 -{{/error}}
1027 +
1028 +(% class="box errormessage" %)
1029 +(((
1030 +Tour package requirements can vary based on the destination country, necessitating the inclusion of additional mandatory services such as Visa, Insurance, etc. When querying for tour packages through the API, the response payload will dynamically include fields indicating whether these services are mandatory. For instance, the API may return a structure like this:
1031 +
1032 +[[image:https://xwiki.nugios.com/xwiki/bin/download/APIs/Online%20API/TourPackages/WebHome/1713191255012-154.png?rev=1.1||alt="1713191255012-154.png"]]
1033 +
1034 +in the given example it means that insurance service is mandatory for the tourpackage.
1035 +)))