Last modified by Giorgi Mdivnishvili on 2024/07/11 12:45

From version 14.1
edited by Giorgi Mdivnishvili
on 2024/04/11 17:40
Change comment: There is no comment for this version
To version 16.1
edited by Giorgi Mdivnishvili
on 2024/04/15 18:39
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -779,7 +779,6 @@
779 779  |pageRowCount|Integer|No|The number of results to return per page. For example, 1 to return 1 result per page.
780 780  |searchCurrency|String|No|The currency in which the search results should be displayed. For example, "USD" for United States Dollar.
781 781  
782 -
783 783  === **Response Parameters** ===
784 784  
785 785  (% class="table-bordered" %)
... ... @@ -860,7 +860,6 @@
860 860  |totalCount|Number|The total count of packages. This is the total number of packages in all pages of results.
861 861  |error|Boolean|A boolean indicating whether there was an error. If true, it means that there was an error in retrieving the packages.
862 862  
863 -
864 864  ==== first request ====
865 865  
866 866  {{code language="Json"}}
... ... @@ -887,6 +887,56 @@
887 887  {{/code}}
888 888  
889 889  
888 +**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.
889 +
890 +**Initial Request:**
891 +
892 +* **Purpose**: The first request initiates the paging process and is designed to fetch the initial set of data without utilizing a pagingId.
893 +* **Parameters**:
894 +** pagingId: Should be set to an empty string ("") to indicate that this is the initial request.
895 +** pageNumber: Indicates the specific page of data to retrieve, starting with 1.
896 +** pageRowCount: Specifies the number of results to be included on each page.
897 +
898 +**Example - First Request**:
899 +
900 +{{{{
901 + "pagingId": "",
902 +  "pageNumber": 1,
903 +  "pageRowCount": 10
904 +}
905 +}}}
906 +
907 +
908 +**Subsequent Requests with Caching:**
909 +
910 +* **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.
911 +* **Cache Utilization**:
912 +** Upon receiving a response, a pagingId value is provided. This pagingId should be used in subsequent requests to reference the cached data.
913 +** To navigate through the dataset, adjust the pageNumber while keeping the pagingId constant.
914 +** To refresh the dataset and clear the cache, initiate a new request without a pagingId.
915 +
916 +**Example - Request with Caching**:
917 +
918 +{{{ {
919 + "pagingId": "80",
920 + "pageNumber": 2, // Adjusted to fetch the next page
921 + "pageRowCount": 10
922 + }
923 +}}}
924 +
925 +
926 +**Cache Management:**
927 +
928 +* 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.
929 +
930 +**Implementation Notes**:
931 +
932 +* The paging and caching mechanism significantly enhances data retrieval efficiency by minimizing server load and optimizing response times.
933 +* Developers should ensure that the pagingId is correctly managed between requests to maintain session continuity and data consistency.
934 +
935 +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.
936 +
937 +
890 890  === search parameter options ===
891 891  
892 892  in the request body it's available to filter search results with parameters. parameter examples:
... ... @@ -943,3 +943,14 @@
943 943  
944 944  Incorporating these headers with their respective values is essential for the successful processing of your API requests.
945 945  {{/error}}
994 +
995 +
996 +
997 +(% class="box errormessage" %)
998 +(((
999 +Tour package requirements can vary based on the destination country, necessitating the inclusion of additional mandatory services such as Visa, Insurance, and Tour Code. 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:
1000 +
1001 +[[image:https://xwiki.nugios.com/xwiki/bin/download/APIs/Online%20API/TourPackages/WebHome/1713191255012-154.png?rev=1.1||alt="1713191255012-154.png"]]
1002 +
1003 +in the given example it means that insurance service is mandatory for the tourpackage
1004 +)))