Changes for page SearchTourPackages - Basic Version
Last modified by Giorgi Mdivnishvili on 2024/07/11 12:45
From version 5.1
edited by Giorgi Mdivnishvili
on 2024/04/11 09:45
on 2024/04/11 09:45
Change comment:
There is no comment for this version
To version 11.1
edited by Giorgi Mdivnishvili
on 2024/04/11 16:44
on 2024/04/11 16:44
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -46,7 +46,35 @@ 46 46 } 47 47 {{/code}} 48 48 49 +== Request example for 2Adults 2Child == 49 49 51 +{{code language="Json"}} 52 +{ 53 + "departureCountryCode": "KZ", 54 + "departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8", 55 + "arrivalCountryCode": "AE", 56 + "adults": 2, 57 + "children": 2, 58 + "childrenAges": [ 59 + 4, 60 + 8 61 + ], 62 + "departureDate": "2024-05-26T00:00:00", 63 + "returnDate": "2024-06-02T00:00:00", 64 + "departureAndReturnDaysCount": 7, 65 + "checkInDate": "2024-05-26T00:00:00", 66 + "checkOutDate": "2024-06-02T00:00:00", 67 + "checkInAndCheckOutDaysCount": 7, 68 + "directFlightsOnly": true, 69 + "searchCurrency": "USD", 70 + 71 + "pagingId": "", 72 + "pageNumber": 1, 73 + "pageRowCount":5 74 +} 75 +{{/code}} 76 + 77 + 50 50 == Response Body == 51 51 52 52 {{code language="json"}} ... ... @@ -713,6 +713,7 @@ 713 713 714 714 === **Request Parameters ** === 715 715 744 +(% class="table-bordered" %) 716 716 |=Key|=Type|=Nullable|=Description 717 717 |departureCountryCode|String|No|The ISO 3166-1 alpha-2 code of the departure country. For example, "KZ" for Kazakhstan. 718 718 |departureCityUID|String (UUID)|No|The unique identifier of the departure city. This is a UUID, such as "f0ba6324-f337-405c-8cc7-23d62cf664e8". ... ... @@ -729,114 +729,90 @@ 729 729 |pageRowCount|Integer|No|The number of results to return per page. For example, 1 to return 1 result per page. 730 730 |searchCurrency|String|No|The currency in which the search results should be displayed. For example, "USD" for United States Dollar. 731 731 761 +=== === 732 732 733 -=== **Response Parameters** 763 +=== **Response Parameters** === 734 734 735 -=== Packages === 765 +(% class="table-bordered" %) 766 +|=Key|=Type|=Description 767 +|packages|Array|An array of travel packages. Each package includes various details about the package. 768 +|packages[].id|String|A unique identifier for the package. This is used to uniquely identify each package. 769 +|packages[].priceCurrency|String|The currency in which the price is denoted. This could be USD, EUR, etc. 770 +|packages[].totalPrice|Number|The total price of the package. This includes all costs associated with the package. 771 +|packages[].agentCommissionPercent|Number|The commission percentage for the agent. This is the percentage of the total price that the agent receives as commission. 772 +|packages[].agentCommissionAmount|Number|The commission amount for the agent. This is the actual amount the agent receives as commission. 773 +|packages[].includedExtrasAmount|Number|The amount for the included extras. This is the cost of any extra services included in the package. 774 +|packages[].priceDifference|Number|The price difference. This could be a discount or a price increase. 775 +|packages[].hotel|Object|An object containing details about the hotel included in the package. This includes information like the hotel name, class, availability, etc. 776 +|packages[].hotel.hotelPriceId|String|The price ID of the hotel. This is used to uniquely identify the price for the hotel. 777 +|packages[].hotel.hotelName|String|The name of the hotel. This is the actual name of the hotel. 778 +|packages[].hotel.hotelCode|String|The code of the hotel. This is a unique code used to identify the hotel. 779 +|packages[].hotel.nights|Number|The number of nights for the stay. This is the duration of the stay at the hotel. 780 +|packages[].hotel.mealPlan|String|The meal plan for the stay. This could be breakfast included, all inclusive, etc. 781 +|packages[].hotel.hotelClass|String|The class of the hotel. This could be 3-star, 4-star, 5-star, etc. 782 +|packages[].hotel.hotelColor|String|The color associated with the hotel. This could be used for categorization or visualization purposes. 783 +|packages[].hotel.availabilityType|String|The availability type of the hotel. This could be available, sold out, etc. 784 +|packages[].hotel.availableRoomsCount|Number|The count of available rooms. This is the number of rooms that are currently available at the hotel. 785 +|packages[].hotel.fewRooms|Boolean|A boolean indicating if there are few rooms left. If true, it means that there are only a few rooms left. 786 +|packages[].hotel.roomCategoryCode|String|The code of the room category. This is a unique code used to identify the room category. 787 +|packages[].hotel.roomCategoryName|String|The name of the room category. This is the actual name of the room category. 788 +|packages[].hotel.placementTypeName|String|The name of the placement type. This could be sea view, garden view, etc. 789 +|packages[].hotel.placementDescription|String|The description of the placement. This provides more details about the placement type. 790 +|packages[].hotel.checkInDate|String|The check-in date. This is the date when the stay at the hotel begins. 791 +|packages[].hotel.checkOutDate|String|The check-out date. This is the date when the stay at the hotel ends. 792 +|packages[].hotel.adults|Number|The number of adults. This is the number of adults that will be staying at the hotel. 793 +|packages[].hotel.children|Number|The number of children. This is the number of children that will be staying at the hotel. 794 +|packages[].hotel.districtUID|String|The UID of the district. This is a unique identifier for the district where the hotel is located. 795 +|packages[].hotel.districtName|String|The name of the district. This is the actual name of the district where the hotel is located. 796 +|packages[].hotel.cityUID|String|The UID of the city. This is a unique identifier for the city where the hotel is located. 797 +|packages[].hotel.cityName|String|The name of the city. This is the actual name of the city where the hotel is located. 798 +|packages[].hotel.countryCode|String|The code of the country. This is a unique code used to identify the country where the hotel is located. 799 +|packages[].hotel.countryName|String|The name of the country. This is the actual name of the country where the hotel is located. 800 +|packages[].hotel.hasAlcohol|Boolean|A boolean indicating if alcohol is available. If true, it means that alcohol is available at the hotel. 801 +|packages[].hotel.hasFreeWifi|Boolean|A boolean indicating if free Wi-Fi is available. If true, it means that free Wi-Fi is available at the hotel. 802 +|packages[].hotel.hasMetro|Boolean|A boolean indicating if metro is available. If true, it means that there is a metro station near the hotel. 803 +|packages[].hotel.hasPool|Boolean|A boolean indicating if a pool is available. If true, it means that the hotel has a pool. 804 +|packages[].hotel.hasMall|Boolean|A boolean indicating if a mall is available. If true, it means that there is a mall near the hotel. 805 +|packages[].hotel.infantMaxAge|Number|The maximum age for an infant. This is the maximum age at which a person is considered an infant. 806 +|packages[].hotel.childMinAge|Number|The minimum age for a child. This is the minimum age at which a person is considered a child. 807 +|packages[].hotel.childMaxAge|Number|The maximum age for a child. This is the maximum age at which a person is considered a child. 808 +|packages[].hotel.teenMinAge|Number|The minimum age for a teen. This is the minimum age at which a person is considered a teen. 809 +|packages[].hotel.teenMaxAge|Number|The maximum age for a teen. This is the maximum age at which a person is considered a teen. 810 +|packages[].hotel.adultMinAge|Number|The minimum age for an adult. This is the minimum age at which a person is considered an adult. 811 +|packages[].hotel.cancellationPolicyDescription|String|The description of the cancellation policy. This provides more details about the cancellation policy of the hotel. 812 +|packages[].hotel.cancellationPolicy|Object|An object containing details about the cancellation policy. This includes information like the cancellation deadline, cancellation fee, etc. 813 +|packages[].flight|Object|An object containing details about the flight included in the package. This includes information like the flight ID, departure date, return date, etc. 814 +|packages[].flight.id|String|The ID of the flight. This is used to uniquely identify the flight. 815 +|packages[].flight.departureDate|String|The departure date of the flight. This is the date when the flight departs. 816 +|packages[].flight.returnDate|String|The return date of the flight. This is the date when the flight returns. 817 +|packages[].flight.departureTicketsLeft|Number|The number of departure tickets left. This is the number of tickets that are still available for the departure flight. 818 +|packages[].flight.returnTicketsLeft|Number|The number of return tickets left. This is the number of tickets that are still available for the return flight. 819 +|packages[].flight.departureAvailabilityType|String|The availability type of the departure flight. This could be available, sold out, etc. 820 +|packages[].flight.returnAvailabilityType|String|The availability type of the return flight. This could be available, sold out, etc. 821 +|packages[].flight.isTwoWay|Boolean|A boolean indicating if the flight is two-way. If true, it means that the flight includes both departure and return. 822 +|packages[].flight.sameBaggageForAll|Boolean|A boolean indicating if the same baggage is for all. If true, it means that the same baggage allowance applies to all passengers. 823 +|packages[].flight.totalBaggage|Boolean|A boolean indicating if total baggage is included. If true, it means that the total baggage allowance is included in the price. 824 +|packages[].flight.isBlock|Boolean|A boolean indicating if the flight is blocked. If true, it means that the flight is currently blocked and cannot be booked. 825 +|packages[].flight.class|String|The class of the flight. This could be economy, business, first class, etc. 826 +|packages[].flight.departureSegments|Array|An array containing details about the departure segments. Each segment includes information like the departure airport, arrival airport, departure time, arrival time, etc. 827 +|packages[].flight.returnSegments|Array|An array containing details about the return segments. Each segment includes information like the departure airport, arrival airport, departure time, arrival time, etc. 828 +|packages[].flight.passengers|Array|An array containing details about the passengers. Each passenger includes information like the passenger type, baggage allowance, etc. 829 +|packages[].extraServices|Array|An array of any extra services included in the package. Each service includes information like the service name, service price, etc. 830 +|packages[].insurancePrice|Object|An object containing details about the insurance price included in the package. This includes information like the insurance type, insurance price, etc. 831 +|packages[].cacheKey|String|The cache key. This is used to cache the package details for faster retrieval. 832 +|packages[].sortCheckInOut|String|The check-in and check-out dates for sorting. This is used to sort the packages based on the check-in and check-out dates. 833 +|packages[].sortAirline|String|The airline for sorting. This is used to sort the packages based on the airline. 834 +|packages[].sortHotelName|String|The hotel name for sorting. This is used to sort the packages based on the hotel name. 835 +|packages[].sortDetails|String|The details for sorting. This is used to sort the packages based on various details. 836 +|packages[].sortPlacement|String|The placement for sorting. This is used to sort the packages based on the placement. 837 +|pagingId|String|An identifier for the page. This is used to uniquely identify each page of results. 838 +|pageNumber|Number|The current page number. This is the number of the current page of results. 839 +|pageCount|Number|The total number of pages. This is the total number of pages of results. 840 +|totalCount|Number|The total count of packages. This is the total number of packages in all pages of results. 841 +|error|Boolean|A boolean indicating whether there was an error. If true, it means that there was an error in retrieving the packages. 736 736 737 -|=Field|=Type|=Description 738 -|id|string|Unique identifier for the package 739 -|priceCurrency|string|Currency for the price 740 -|totalPrice|number|Total price of the package 741 -|agentCommissionPercent|number|Commission percentage for the agent 742 -|agentCommissionAmount|number|Commission amount for the agent 743 -|includedExtrasAmount|integer|Amount of included extras 744 -|priceDifference|integer|Price difference 745 -|hotel|object|Details about the hotel 746 -|flight|object|Details about the flight 747 -|extraServices|array|Extra services included in the package 748 -|insurancePrice|object|Details about the insurance price 749 -|cacheKey|string|Cache key 750 -|sortCheckInOut|string|Sorting parameter based on check-in and check-out dates 751 -|sortAirline|string|Sorting parameter based on airline 752 -|sortHotelName|string|Sorting parameter based on hotel name 753 -|sortDetails|string|Sorting parameter based on details 754 -|sortPlacement|string|Sorting parameter based on placement 843 +==== ==== 755 755 756 -=== Hotel === 757 - 758 -|=Field|=Type|=Description 759 -|hotelPriceId|string|Unique identifier for the hotel price 760 -|hotelName|string|Name of the hotel 761 -|hotelCode|string|Code of the hotel 762 -|nights|integer|Number of nights 763 -|mealPlan|string|Meal plan 764 -|hotelClass|string|Class of the hotel 765 -|hotelColor|string|Color associated with the hotel 766 -|availabilityType|string|Availability type of the hotel 767 -|availableRoomsCount|integer|Number of available rooms 768 -|fewRooms|boolean|Whether there are few rooms left 769 -|roomCategoryCode|string|Code of the room category 770 -|roomCategoryName|string|Name of the room category 771 -|placementTypeName|string|Name of the placement type 772 -|placementDescription|string|Description of the placement 773 -|checkInDate|string|Check-in date 774 -|checkOutDate|string|Check-out date 775 -|adults|integer|Number of adults 776 -|children|integer|Number of children 777 -|districtUID|string|Unique identifier for the district 778 -|districtName|string|Name of the district 779 -|cityUID|string|Unique identifier for the city 780 -|cityName|string|Name of the city 781 -|countryCode|string|Country code 782 -|countryName|string|Name of the country 783 -|hasAlcohol|boolean|Whether the hotel has alcohol 784 -|hasFreeWifi|boolean|Whether the hotel has free Wi-Fi 785 -|hasMetro|boolean|Whether the hotel is near a metro 786 -|hasPool|boolean|Whether the hotel has a pool 787 -|hasMall|boolean|Whether the hotel is near a mall 788 -|infantMaxAge|number|Maximum age for an infant 789 -|childMinAge|number|Minimum age for a child 790 -|childMaxAge|number|Maximum age for a child 791 -|teenMinAge|number|Minimum age for a teen 792 -|teenMaxAge|number|Maximum age for a teen 793 -|adultMinAge|number|Minimum age for an adult 794 -|cancellationPolicyDescription|string|Description of the cancellation policy 795 -|cancellationPolicy|object|Details about the cancellation policy 796 - 797 -=== Flight === 798 - 799 -|=Field|=Type|=Description 800 -|id|string|Unique identifier for the flight 801 -|departureDate|string|Departure date 802 -|returnDate|string|Return date 803 -|departureTicketsLeft|integer|Number of departure tickets left 804 -|returnTicketsLeft|integer|Number of return tickets left 805 -|departureAvailabilityType|string|Availability type for the departure 806 -|returnAvailabilityType|string|Availability type for the return 807 -|isTwoWay|boolean|Whether the flight is two-way 808 -|sameBaggageForAll|boolean|Whether the same baggage is for all 809 -|totalBaggage|boolean|Whether the total baggage is included 810 -|isBlock|boolean|Whether the flight is blocked 811 -|class|string|Class of the flight 812 -|departureSegments|array|Details about the departure segments 813 -|returnSegments|array|Details about the return segments 814 -|passengers|array|Details about the passengers 815 - 816 -=== InsurancePrice === 817 - 818 -|=Field|=Type|=Description 819 -|name|string|Name of the insurance 820 -|price|number|Price of the insurance 821 -|actualStartDate|string|Start date of the insurance 822 -|actualEndDate|string|End date of the insurance 823 -|optional|boolean|Whether the insurance is optional 824 -|includedInPackagePrice|boolean|Whether the insurance is included in the package price 825 - 826 -=== Paging === 827 - 828 -|=Field|=Type|=Description 829 -|pagingId|string|Unique identifier for the paging 830 -|pageNumber|integer|Current page number 831 -|pageCount|integer|Total number of pages 832 -|totalCount|integer|Total count of items 833 -|error|boolean|Whether there is an error 834 - 835 -=== Paging and Caching === 836 - 837 -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: 838 - 839 - 840 840 ==== first request ==== 841 841 842 842 {{code language="Json"}} ... ... @@ -847,10 +847,12 @@ 847 847 } 848 848 {{/code}} 849 849 855 +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. 850 850 857 + 851 851 ==== Request with caching ==== 852 852 853 -a s we receiveresponse, in the end we can see pagingId- number, chich we can use for caching, andthenjust switch pagenumbers.for cleaning cache, it's important to make new request without pagingID860 +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": "", 854 854 855 855 {{code language="Json"}} 856 856 { ... ... @@ -903,18 +903,18 @@ 903 903 == Important == 904 904 905 905 {{error}} 906 - It'sImportant to in every otherrequestheader, put Auth token913 +=== Implementing Authorization in Subsequent Requests === 907 907 908 - **Key**-Authorization915 +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: 909 909 910 -**Value **- Bearer Token what is given in this response. 917 +* **Header Key:** Authorization 918 +* **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. 911 911 920 +Additionally, to ensure your requests are properly formatted and recognized, include the following headers: 912 912 913 -**also note in headers that:** 922 +* **Content-Type:** Specify this header as application/json to indicate the format of the request body. 923 +* **Header Key:** X-nugios-timezone 924 +* **Header Value:** 240 - Adjust this value to match your local timezone offset in minutes. 914 914 915 -Content-Type - application/json 916 - 917 -**Key - **X-nugios-timezone 918 - 919 -**Value **- 240 926 +Incorporating these headers with their respective values is essential for the successful processing of your API requests. 920 920 {{/error}}