action viator_search_freetext { label: "/search/freetext" description: "Free text search\n- This service provides a **free text search across all products and destinations**\n- The `text` parameter is required\n- **Note:** results include a type indicator (`type`) that you can use to display each result appropriately based on its content\n" provider: viator method: POST path: "/search/freetext" encoding: json input: { type: "object" properties: { currencyCode: { type: "string" description: "**currency code** for the currency in which to display product pricing information" } destId: { type: "integer" description: "**unique numeric identifier** of the destination to search within \n- `destinationId` can be retrieved from the [/taxonomy/destinations](#operation/taxonomyDestinations) service\n" } searchTypes: { type: "array" description: "**array** of search domain specifiers where each item is *one of*:\n - `\"PRODUCT\"`: a tour / activity\n - `\"DESTINATION\"`: continent, country, city, region\n - `\"ATTRACTION\"`: an attraction within a destination (only available to partners with SEO access)\n - `\"RECOMMENDATION\"`: an attraction within a destination (only available to partners with SEO access)\n" items: { type: "string" enum: ["PRODUCT", "DESTINATION", "ATTRACTION", "RECOMMENDATION"] } } sortOrder: { type: "string" description: "**sort order** in which to return the results that is *one of*:\n\n - `'TOP_SELLERS'`: the top sellers\n - `'REVIEW_AVG_RATING_A'`: ascending by average traveler rating (low -> high)\n - `'REVIEW_AVG_RATING_D'`: descending by average traveler rating (high -> low)\n - `'PRICE_FROM_A'`: ascending by price (low -> high)\n - `'PRICE_FROM_D'`: descending by price (high -> low)\n" enum: ["TOP_SELLERS", "REVIEW_AVG_RATING_A", "REVIEW_AVG_RATING_D", "PRICE_FROM_A", "PRICE_FROM_D"] } text: { type: "string" description: "**text** to search for" } topX: { type: "string" description: "**start and end rows** to return in the format {start}-{end}\n- e.g. `'1-10'`, `'11-20'`\n\n**Note**: \n- the maximum number of rows per request is 100; therefore, `'100-400'` will return the same as `'100-200'`\n- if `topX` is not specified, the default is `'1-100'`\n" } } } output: { type: "object" } }